@zuzjs/ui 0.5.5 → 0.5.7

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 (194) hide show
  1. package/dist/bin.js +8 -2
  2. package/dist/comps/Accordion/index.d.ts +6 -0
  3. package/dist/comps/Accordion/index.js +12 -0
  4. package/dist/comps/Accordion/types.d.ts +10 -0
  5. package/dist/comps/Actionbar/index.d.ts +21 -0
  6. package/dist/comps/Actionbar/index.js +58 -0
  7. package/dist/comps/Actionbar/item.d.ts +6 -0
  8. package/dist/comps/Actionbar/item.js +7 -0
  9. package/dist/comps/Actionbar/types.d.ts +29 -0
  10. package/dist/comps/Actionbar/types.js +1 -0
  11. package/dist/comps/Avatar/index.d.ts +19 -0
  12. package/dist/comps/Avatar/index.js +35 -0
  13. package/dist/comps/Box/index.d.ts +7 -0
  14. package/dist/comps/Box/index.js +13 -0
  15. package/dist/comps/Button/index.d.ts +10 -0
  16. package/dist/comps/Button/index.js +12 -0
  17. package/dist/comps/CheckBox/index.d.ts +7 -0
  18. package/dist/comps/{checkbox.js → CheckBox/index.js} +10 -9
  19. package/dist/comps/CheckBox/types.d.ts +10 -0
  20. package/dist/comps/CheckBox/types.js +1 -0
  21. package/dist/comps/ContextMenu/index.d.ts +6 -0
  22. package/dist/comps/ContextMenu/index.js +37 -0
  23. package/dist/comps/ContextMenu/item.d.ts +3 -0
  24. package/dist/comps/ContextMenu/item.js +11 -0
  25. package/dist/comps/ContextMenu/types.d.ts +20 -0
  26. package/dist/comps/ContextMenu/types.js +1 -0
  27. package/dist/comps/Cover/index.d.ts +17 -0
  28. package/dist/comps/Cover/index.js +19 -0
  29. package/dist/comps/Drawer/index.d.ts +12 -0
  30. package/dist/comps/{drawer.js → Drawer/index.js} +8 -10
  31. package/dist/comps/{drawer.d.ts → Drawer/types.d.ts} +4 -5
  32. package/dist/comps/Drawer/types.js +1 -0
  33. package/dist/comps/{form.d.ts → Form/index.d.ts} +38 -10
  34. package/dist/comps/{form.js → Form/index.js} +64 -25
  35. package/dist/comps/Icon/index.d.ts +11 -0
  36. package/dist/comps/Icon/index.js +11 -0
  37. package/dist/comps/Image/index.d.ts +4 -0
  38. package/dist/comps/Image/index.js +9 -0
  39. package/dist/comps/Input/index.d.ts +8 -0
  40. package/dist/comps/Input/index.js +15 -0
  41. package/dist/comps/Label/index.d.ts +4 -0
  42. package/dist/comps/Label/index.js +9 -0
  43. package/dist/comps/Otp/index.d.ts +4 -0
  44. package/dist/comps/Otp/index.js +30 -0
  45. package/dist/comps/Overlay/index.d.ts +8 -0
  46. package/dist/comps/Overlay/index.js +12 -0
  47. package/dist/comps/Password/index.d.ts +4 -0
  48. package/dist/comps/Password/index.js +18 -0
  49. package/dist/comps/PinInput/index.d.ts +12 -0
  50. package/dist/comps/PinInput/index.js +42 -0
  51. package/dist/comps/ProgressBar/index.d.ts +7 -0
  52. package/dist/comps/ProgressBar/index.js +21 -0
  53. package/dist/comps/ProgressBar/types.d.ts +9 -0
  54. package/dist/comps/ProgressBar/types.js +1 -0
  55. package/dist/comps/Search/index.d.ts +14 -0
  56. package/dist/comps/Search/index.js +36 -0
  57. package/dist/comps/Segmented/index.d.ts +26 -0
  58. package/dist/comps/Segmented/index.js +53 -0
  59. package/dist/comps/Segmented/item.d.ts +3 -0
  60. package/dist/comps/Segmented/item.js +20 -0
  61. package/dist/comps/Segmented/types.d.ts +31 -0
  62. package/dist/comps/Segmented/types.js +1 -0
  63. package/dist/comps/Select/index.d.ts +13 -0
  64. package/dist/comps/Select/index.js +56 -0
  65. package/dist/comps/Select/option.d.ts +2 -0
  66. package/dist/comps/Select/option.js +8 -0
  67. package/dist/comps/Select/optionItem.d.ts +3 -0
  68. package/dist/comps/Select/optionItem.js +6 -0
  69. package/dist/comps/Select/types.d.ts +52 -0
  70. package/dist/comps/Select/types.js +1 -0
  71. package/dist/comps/Sheet/index.d.ts +37 -0
  72. package/dist/comps/Sheet/index.js +175 -0
  73. package/dist/comps/Span/index.d.ts +4 -0
  74. package/dist/comps/Span/index.js +10 -0
  75. package/dist/comps/Spinner/index.d.ts +21 -0
  76. package/dist/comps/Spinner/index.js +31 -0
  77. package/dist/comps/Switch/index.d.ts +7 -0
  78. package/dist/comps/Switch/index.js +8 -0
  79. package/dist/comps/TabView/index.d.ts +9 -0
  80. package/dist/comps/TabView/index.js +41 -0
  81. package/dist/comps/TabView/item.d.ts +0 -0
  82. package/dist/comps/TabView/item.js +1 -0
  83. package/dist/comps/TabView/tab.d.ts +3 -0
  84. package/dist/comps/TabView/tab.js +9 -0
  85. package/dist/comps/{tabview.d.ts → TabView/types.d.ts} +10 -5
  86. package/dist/comps/TabView/types.js +1 -0
  87. package/dist/comps/Text/index.d.ts +11 -0
  88. package/dist/comps/Text/index.js +17 -0
  89. package/dist/comps/TextWheel/index.d.ts +8 -0
  90. package/dist/comps/{textwheel.js → TextWheel/index.js} +9 -9
  91. package/dist/comps/TextWheel/types.d.ts +10 -0
  92. package/dist/comps/TextWheel/types.js +1 -0
  93. package/dist/comps/Treeview/index.d.ts +11 -0
  94. package/dist/comps/{treeview → Treeview}/index.js +3 -3
  95. package/dist/comps/Treeview/item.d.ts +11 -0
  96. package/dist/comps/Treeview/item.js +26 -0
  97. package/dist/comps/{treeview/index.d.ts → Treeview/types.d.ts} +14 -5
  98. package/dist/comps/Treeview/types.js +1 -0
  99. package/dist/comps/index.d.ts +41 -0
  100. package/dist/comps/index.js +41 -0
  101. package/dist/comps/svgicons.d.ts +10 -0
  102. package/dist/comps/svgicons.js +11 -0
  103. package/dist/funs/css.d.ts +3 -1
  104. package/dist/funs/css.js +55 -14
  105. package/dist/funs/events.d.ts +4 -2
  106. package/dist/funs/events.js +7 -7
  107. package/dist/funs/index.d.ts +22 -17
  108. package/dist/funs/index.js +84 -50
  109. package/dist/funs/stylesheet.js +1 -1
  110. package/dist/hooks/index.d.ts +5 -3
  111. package/dist/hooks/index.js +7 -3
  112. package/dist/hooks/useBase.d.ts +8 -0
  113. package/dist/{comps/useBase/index.js → hooks/useBase.js} +23 -6
  114. package/dist/hooks/useContextMenu.d.ts +7 -0
  115. package/dist/hooks/useContextMenu.js +21 -0
  116. package/dist/hooks/useDB.d.ts +25 -0
  117. package/dist/hooks/useDB.js +101 -0
  118. package/dist/hooks/useDrag.d.ts +10 -0
  119. package/dist/hooks/useDrag.js +45 -0
  120. package/dist/hooks/useIntersectionObserver.d.ts +1 -1
  121. package/dist/hooks/useIntersectionObserver.js +28 -11
  122. package/dist/index.d.ts +5 -26
  123. package/dist/index.js +5 -26
  124. package/dist/styles.css +1 -1
  125. package/dist/types/index.d.ts +36 -20
  126. package/dist/types/interfaces.d.ts +48 -29
  127. package/package.json +3 -4
  128. package/dist/comps/accordion.d.ts +0 -12
  129. package/dist/comps/accordion.js +0 -13
  130. package/dist/comps/alert.d.ts +0 -15
  131. package/dist/comps/alert.js +0 -15
  132. package/dist/comps/animate.d.ts +0 -6
  133. package/dist/comps/animate.js +0 -8
  134. package/dist/comps/avatar.d.ts +0 -13
  135. package/dist/comps/avatar.js +0 -11
  136. package/dist/comps/base.d.ts +0 -15
  137. package/dist/comps/base.js +0 -68
  138. package/dist/comps/box.d.ts +0 -3
  139. package/dist/comps/box.js +0 -15
  140. package/dist/comps/button.d.ts +0 -6
  141. package/dist/comps/button.js +0 -17
  142. package/dist/comps/checkbox.d.ts +0 -18
  143. package/dist/comps/contextmenu.d.ts +0 -15
  144. package/dist/comps/contextmenu.js +0 -9
  145. package/dist/comps/cover.d.ts +0 -15
  146. package/dist/comps/cover.js +0 -31
  147. package/dist/comps/editor.d.ts +0 -12
  148. package/dist/comps/editor.js +0 -92
  149. package/dist/comps/heading.d.ts +0 -7
  150. package/dist/comps/heading.js +0 -23
  151. package/dist/comps/icon.d.ts +0 -6
  152. package/dist/comps/icon.js +0 -20
  153. package/dist/comps/image.d.ts +0 -13
  154. package/dist/comps/image.js +0 -8
  155. package/dist/comps/input.d.ts +0 -3
  156. package/dist/comps/input.js +0 -9
  157. package/dist/comps/password.d.ts +0 -3
  158. package/dist/comps/password.js +0 -30
  159. package/dist/comps/progressbar.d.ts +0 -11
  160. package/dist/comps/progressbar.js +0 -14
  161. package/dist/comps/select.d.ts +0 -19
  162. package/dist/comps/select.js +0 -56
  163. package/dist/comps/sheet.d.ts +0 -25
  164. package/dist/comps/sheet.js +0 -202
  165. package/dist/comps/spinner.d.ts +0 -16
  166. package/dist/comps/spinner.js +0 -42
  167. package/dist/comps/tabview.js +0 -64
  168. package/dist/comps/textwheel.d.ts +0 -15
  169. package/dist/comps/treeview/item.d.ts +0 -15
  170. package/dist/comps/treeview/item.js +0 -23
  171. package/dist/comps/useBase/base.types.d.ts +0 -64
  172. package/dist/comps/useBase/index.d.ts +0 -10
  173. package/dist/funs/lexer.d.ts +0 -3
  174. package/dist/funs/lexer.js +0 -37
  175. package/dist/hooks/useCompEditor.d.ts +0 -2
  176. package/dist/hooks/useCompEditor.js +0 -5
  177. package/dist/hooks/useInteractionObserver.d.ts +0 -8
  178. package/dist/hooks/useInteractionObserver.js +0 -21
  179. package/dist/hooks/usePubSub.d.ts +0 -3
  180. package/dist/hooks/usePubSub.js +0 -19
  181. package/dist/hooks/useSub.d.ts +0 -3
  182. package/dist/hooks/useSub.js +0 -17
  183. package/dist/hooks/useToast.d.ts +0 -2
  184. package/dist/hooks/useToast.js +0 -10
  185. package/dist/hooks/useWindowFocus.d.ts +0 -2
  186. package/dist/hooks/useWindowFocus.js +0 -11
  187. package/dist/media/edit-ui.d.ts +0 -2
  188. package/dist/media/edit-ui.js +0 -2
  189. package/dist/mixins.css +0 -1
  190. /package/dist/comps/{dialog.d.ts → Accordion/item.d.ts} +0 -0
  191. /package/dist/comps/{dialog.js → Accordion/item.js} +0 -0
  192. /package/dist/comps/{useBase/base.types.js → Accordion/types.js} +0 -0
  193. /package/dist/{hooks/usePub.d.ts → comps/TabView/head.d.ts} +0 -0
  194. /package/dist/{hooks/usePub.js → comps/TabView/head.js} +0 -0
package/dist/styles.css CHANGED
@@ -1 +1 @@
1
- *,*::before,*::after{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}button{user-select:none;cursor:pointer}input{user-select:none}input:-webkit-autofill{background-color:rgba(0,0,0,0) !important;-webkit-box-shadow:0 0 0px 1000px rgba(0,0,0,0) inset;box-shadow:0 0 0px 1000px rgba(0,0,0,0) inset}[aria-hidden=true]{user-select:none;pointer-events:none;cursor:auto}[popover]{margin:0;padding:0;border:0}:root{--basic: ease;--back: linear( 0, -0.0077 5.2%, -0.0452 16.98%, -0.0493 22.35%, -0.0418 25.57%, -0.0258 28.57%, -0.0007 31.42%, 0.0335 34.15%, 0.1242 39.03%, 0.2505 43.65%, 0.3844 47.35%, 0.656 53.68%, 0.81 58.37%, 0.9282 63.52%, 0.9719 66.23%, 1.0055 69.04%, 1.0255 71.4%, 1.0396 73.87%, 1.0477 76.48%, 1.05 79.27%, 1.0419 84.36%, 1.0059 95.49%, 1 );--expo: linear( 0, 0.0053 17.18%, 0.0195 26.59%, 0.0326 30.31%, 0.0506 33.48%, 0.0744 36.25%, 0.1046 38.71%, 0.1798 42.62%, 0.2846 45.93%, 0.3991 48.37%, 0.6358 52.29%, 0.765 55.45%, 0.8622 59.3%, 0.8986 61.51%, 0.9279 63.97%, 0.9481 66.34%, 0.9641 69.01%, 0.9856 75.57%, 0.9957 84.37%, 1 );--sine: linear( 0, 0.007 5.35%, 0.0282 10.75%, 0.0638 16.26%, 0.1144 21.96%, 0.1833 28.16%, 0.2717 34.9%, 0.6868 62.19%, 0.775 68.54%, 0.8457 74.3%, 0.9141 81.07%, 0.9621 87.52%, 0.9905 93.8%, 1 );--power: linear( 0, 0.0012 14.95%, 0.0089 22.36%, 0.0297 28.43%, 0.0668 33.43%, 0.0979 36.08%, 0.1363 38.55%, 0.2373 43.07%, 0.3675 47.01%, 0.5984 52.15%, 0.7121 55.23%, 0.8192 59.21%, 0.898 63.62%, 0.9297 66.23%, 0.9546 69.06%, 0.9733 72.17%, 0.9864 75.67%, 0.9982 83.73%, 1 );--circ: linear( -0, 0.0033 5.75%, 0.0132 11.43%, 0.0296 16.95%, 0.0522 22.25%, 0.0808 27.25%, 0.1149 31.89%, 0.1542 36.11%, 0.1981 39.85%, 0.2779 44.79%, 0.3654 48.15%, 0.4422 49.66%, 0.5807 50.66%, 0.6769 53.24%, 0.7253 55.37%, 0.7714 58.01%, 0.8142 61.11%, 0.8536 64.65%, 0.9158 72.23%, 0.9619 80.87%, 0.9904 90.25%, 1 );--bounce: linear( 0, 0.0039, 0.0157, 0.0352, 0.0625 9.09%, 0.1407, 0.25, 0.3908, 0.5625, 0.7654, 1, 0.8907, 0.8125 45.45%, 0.7852, 0.7657, 0.7539, 0.75, 0.7539, 0.7657, 0.7852, 0.8125 63.64%, 0.8905, 1 72.73%, 0.9727, 0.9532, 0.9414, 0.9375, 0.9414, 0.9531, 0.9726, 1, 0.9883, 0.9844, 0.9883, 1 );--elastic: linear( 0, 0.0009 8.51%, -0.0047 19.22%, 0.0016 22.39%, 0.023 27.81%, 0.0237 30.08%, 0.0144 31.81%, -0.0051 33.48%, -0.1116 39.25%, -0.1181 40.59%, -0.1058 41.79%, -0.0455, 0.0701 45.34%, 0.9702 55.19%, 1.0696 56.97%, 1.0987 57.88%, 1.1146 58.82%, 1.1181 59.83%, 1.1092 60.95%, 1.0057 66.48%, 0.986 68.14%, 0.9765 69.84%, 0.9769 72.16%, 0.9984 77.61%, 1.0047 80.79%, 0.9991 91.48%, 1 );--ease: var(--back);--spring: cubic-bezier(0.2, -0.36, 0, 1.46);--max-z-index: 2147483647;--zuz-shadow: 0px 0px 0px 1px #d4d4d4, 0px 0px 6px #ccc;--text-wheel-speed: 2;--text-wheel-transition: translate calc(var(--text-wheel-speed) * 1s) var(--ease);--checkbox-height: 24px;--checkbox-width: 42px;--checkbox-knob-size: 20px;--checkbox-knob-left: 2px;--checkbox-knob-top: 2px;--checkbox-knob-left-on: 18px;--checkbox-check-color: #fff;--checkbox-check-size: 13px;--checkbox-size: 17px;--checkbox-radius: 6px;--checkbox-checked: rgb(46, 161, 42);--checkbox-unchecked: rgb(203, 203, 203);--checkbox-thumb: #fff;--checkbox-thumb-shadow: #000;--checkbox-thumb-shadow-size: 2px;--select-width: auto;--select: #eee;--select-font-size: 16px;--select-hover: #e6e6e6;--select-options: #eee;--select-options-max-height: 400px;--select-options-top: 0.1rem;--select-options-padding: 4px;--select-option-color: #111;--select-option-hover: #ddd;--select-selected: #ccc;--select-padding: 6px 8px;--select-radius: 5px;--cover-bg: rgba(255,255,255,0.8);--cover-label: #111;--zuz-overlay: rgba(0, 0, 0, 0.7);--zuz-overlay-blur: 0;--drawer-color: #fff;--drawer-handle-color: #ccc;--drawer-radius-v: 0px;--drawer-radius-h: 0px;--drawer-shadow: var(--zuz-shadow);--tab-head: #fff;--tab-head-padding: 3px 3px 0px 3px;--tab-head-radius: 6px 6px 0px 0px;--tab: #eee;--tab-active: #ccc;--tab-active-color: #111;--tab-hover: #ddd;--tab-color: #111;--tab-radius: 5px 5px 0px 0px;--tab-padding: 5px 20px;--tab-body: #fff;--tab-body-radius: 0px 5px 5px 5px;--tab-body-padding: 0px;--tab-border: 1px #ddd solid;--sheet-bg: #fff;--sheet-shadow: var(--zuz-shadow);--sheet-body: #fff;--sheet-radius: 10px;--sheet-padding: 6px 12px;--sheet-head-padding: 10px;--sheet-body-padding: 10px;--sheet-footer: #ddd;--sheet-footer-padding: 10px;--sheet-action: #222;--sheet-action-color: #fff;--sheet-action-hover: #333;--sheet-action-radius: 7px;--sheet-action-padding: 7px 20px;--sheet-action-font-size: 16px;--sheet-action-font-weight: bold;--sheet-closer-color: #111;--sheet-closer-hover: rgba(255,255,255,0.2);--sheet-closer-opacity: 0.75;--sheet-closer-hover-opacity: 1;--sheet-font-size: 15px;--sheet-title-opacity: 0.75;--sheet-title-font-size: 16px;--sheet-closer-font-size: 36px;--sheet-error: #ff4747;--sheet-warn: #ffba00;--sheet-success: #23ac28;--context-z-index: 99;--context: #fff;--context-border: 0px;--context-radius: 10px;--context-padding: 10px;--context-shadow: var(--zuz-shadow);--context-seperator: #eee;--context-seperator-height: 1px;--context-seperator-margin: 3px 6px;--context-item-width: 220px;--context-item-padding: 6px 10px;--context-item-gap: 10px;--context-item-font-size: 15px;--context-item-radius: 5px;--context-item-icon-size: 18px;--context-item-hover: #eee;--treeview-gap: 6px;--treenode-gap: 2px;--treenode-arrow-btn-size: 20px;--treenode-arrow-icon-size: 12px;--treenode-arrow-icon-color: #111;--treenode-label-padding: 3px 6px;--treenode-label-radius: 3px 6px;--treenode-label-hover: #f1f1f1;--treenode-label-bg: transparent;--treenode-label-selected-bg: #eee;--treenode-label-selected-color: #111;--treenode-label-icon-color: #111;--treenode-label-icon-size: 15px;--treenode-label-color: #111;--treenode-label-size: 15px;--treenode-label-gap: 6px;--treenode-sub-margin: 20px;--progress-width: 100%;--progress-height: 6px;--progress-radius: 6px;--progress-track: #eee;--progress-bar: #111;--skeleton: #eee;--skeleton-radius: 7px;--shimmer: #ccc;--shimmer-width: 10%;--shimmer-angle: 120deg;--shimmer-text-angle: 45deg;--shimmer-speed: 2s;--shimmer-blur: 50px;--shimmer-offset: 0;--shimmer-flame: linear-gradient( var(--shimmer-text-angle), transparent, hsl(45 100% 60%),hsl(0 100% 50%), #000, transparent );--shimmer-aurora: linear-gradient( var(--shimmer-text-angle), transparent, #a960ee,#ff333d,#ffcb57,#90e0ff, transparent );--shimmer-classic: linear-gradient( var(--shimmer-text-angle), transparent, #fff,transparent );--alert-error: #ffd4d4;--alert-error-color: #ae1313;--alert-info: #bee3f8;--alert-info-color: #2b6cb0;--alert-warning: #feebc8;--alert-warning-color: #c05621;--alert-success: #c6f6d5;--alert-success-color: #2f855a;--alert-padding: 12px;--alert-radius: 10px;--alert-gap: 10px;--avatar-bg: #fff;--accordion: #fff;--accordion-label: #111;--accordion-radius: 5px;--accordion-border: 1px #ddd solid;--accordion-head: #fff;--accordion-head-padding: 10px;--accordion-head-font-size: 16px;--accordion-head-font-weight: normal;--accordion-head-arrow-size: 18px;--accordion-detail-padding: 10px;--password-toggle-radius: 5px;--password-toggle: #fff;--password-toggle-width: 40px;--password-toggle-border: 0px;--password-toggle-padding: 6px;--password-toggle-size: 20px;--password-toggle-color: #111}.flex{display:flex}.flex.cols{flex-direction:column}.flex.aic{align-items:center}.flex.aie{align-items:flex-end}.flex.jcc{justify-content:center}.flex.jce{justify-content:flex-end}.flex.jcs{justify-content:flex-start}.abs{position:absolute}.fixed{position:fixed}.fill{top:0px;left:0px;bottom:0px;right:0px}.fillx{top:-10px;left:-10px;bottom:-10px;right:-10px}.grid{display:grid}.nope{pointer-events:none}.nous{user-select:none}.rel{position:relative}.text-wrap,.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.input-with-error{box-shadow:inset 0px 0px 0px 1px #ff8b8b}button.ico-btn{gap:5px}button .b-label{flex:1}button .b-label:empty{display:none}.--password{overflow:hidden;width:100%}.--password .--toggle{width:var(--password-toggle-width);background:var(--password-toggle);border:var(--password-toggle-border);padding:var(--password-toggle-padding);right:2px;bottom:2px;top:2px;z-index:1;border-radius:var(--password-toggle-radius)}.--password .--toggle .b-label{line-height:0 !important}.--password .--toggle svg{width:var(--password-toggle-size);height:var(--password-toggle-size);transition:all .2s linear 0s}.--password .--toggle svg path{fill:var(--password-toggle-color)}.--password .--toggle:hover svg{transform:scale(1.1)}.--accordion{background:var(--accordion);border:var(--accordion-border);border-radius:var(--accordion-radius);overflow:hidden}.--accordion .--toggle{border:0px;background:var(--accordion-head);padding:var(--accordion-head-padding);border-radius:var(--accordian-radius)}.--accordion .--toggle .--label{flex:1;color:var(--accordion-label);font-size:var(--accordion-head-font-size);font-weight:var(--accordion-head-font-weight)}.--accordion .--toggle .--arrow{width:var(--accordion-head-arrow-size)}.--accordion .--detail{padding:var(--accordion-detail-padding)}@keyframes textshimmer{0%{background-position:-120% 0}50%,100%{background-position:120% 0}}.--shimmer{background-clip:text;color:rgba(0,0,0,0);animation:textshimmer calc(var(--shimmer-speed)*3) infinite both ease-in-out;background-repeat:no-repeat;background-size:10%;background-color:#222}.--shimmer.--classic{background-image:var(--shimmer-classic)}.--shimmer.--aurora{background-image:var(--shimmer-aurora)}.--shimmer.--flame{background-image:var(--shimmer-flame)}.--input.--otp{letter-spacing:1ch;font-feature-settings:"tnum";font-variant:tabular-nums;font-family:monospace;line-height:1;text-indent:1.45ch;clip-path:inset(0 1ch 0 1ch);height:2ch}.checkbox{height:var(--checkbox-size);width:var(--checkbox-size);cursor:pointer;border:1px var(--checkbox-unchecked) solid;border-radius:var(--checkbox-radius);overflow:hidden}.checkbox input[type=checkbox]{z-index:0;opacity:0}.checkbox:before{font-size:var(--checkbox-check-size);color:var(--checkbox-check-color);opacity:0}.checkbox.is-checked{background-color:var(--checkbox-checked);border:1px var(--checkbox-checked) solid}.checkbox.is-checked:before{opacity:1}.zuz-checkbox{height:var(--checkbox-height);width:var(--checkbox-width);cursor:pointer}.zuz-checkbox input[type=checkbox]{z-index:0;left:10px;top:10px;opacity:0}.zuz-checkbox:before{content:"";position:absolute;height:var(--checkbox-height);width:var(--checkbox-width);background:var(--checkbox-unchecked);border-radius:50px;z-index:1;transition:all .3s linear 0s}.zuz-checkbox:after{content:"";position:absolute;width:var(--checkbox-knob-size);height:var(--checkbox-knob-size);background:var(--checkbox-thumb);border-radius:50px;z-index:2;top:var(--checkbox-knob-top);left:var(--checkbox-knob-left);box-shadow:0px 0px --checkbox-thumb-shadow-size --checkbox-thumb-shadow;transition:all .75s var(--bounce) 0s}.zuz-checkbox.is-checked:before{box-shadow:inset 0px 0px 0px 15px var(--checkbox-checked)}.zuz-checkbox.is-checked:after{transform:translateX(var(--checkbox-knob-left-on))}@keyframes shimmering{0%{transform:translateX(-100%) rotate(var(--shimmer-angle))}20%{transform:translateX(100%) rotate(var(--shimmer-angle))}100%{transform:translateX(100%) rotate(var(--shimmer-angle))}}.--skeleton{overflow:hidden;border-radius:var(--skeleton-radius);height:1lh;background:var(--skeleton);position:relative}.--skeleton:after{content:"";position:absolute;top:0;left:0;right:0;height:100%;background-repeat:no-repeat;background-image:linear-gradient(90deg, var(--skeleton) 0%, var(--shimmer) 50%, var(--skeleton) 100%);transform:translateX(-100%) rotate(var(--shimmer-angle));animation-name:shimmering;animation-direction:var(--shimmer-direction);animation-duration:var(--shimmer-speed);animation-timing-function:ease-in-out;animation-iteration-count:infinite;filter:blur(var(--shimmer-blur))}.zuz-spinner{animation:spin infinite}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.zuz-cover{backdrop-filter:blur(4px);z-index:99999;gap:15px}.zuz-cover .label{font-size:14px;animation:breath 1s linear infinite}@keyframes breath{0%{opacity:.5}50%{opacity:1}100%{opacity:.5}}.zuz-toast,.zuz-sheet.toast-warn,.zuz-sheet.toast-success,.zuz-sheet.toast-error,.zuz-sheet.toast-default{border-radius:var(--sheet-radius);padding:var(--sheet-padding);font-size:var(--sheet-font-size);white-space:pre}.zuz-sheet{top:50%;left:50%;transform:translate(-50%, -50%);z-index:2147483645;transform-origin:top left;transition:all .5s cubic-bezier(0.2, -0.36, 0, 1.46) 0s}.zuz-sheet.wobble{transform-origin:inherit !important}.zuz-sheet.toast-default{background:#333;color:#fff;top:10px !important}.zuz-sheet.toast-error{background:var(--sheet-error);color:#fff;top:10px}.zuz-sheet.toast-success{background:var(--sheet-success);color:#fff;top:10px}.zuz-sheet.toast-warn{background:var(--sheet-warn);color:#111;top:10px}.zuz-sheet.toast-form{position:absolute !important}.zuz-sheet.toast-dialog{background:var(--sheet-bg);border-radius:var(--sheet-radius);box-shadow:var(--sheet-shadow)}.zuz-sheet .sheet-head{padding:var(--sheet-head-padding)}.zuz-sheet .sheet-head .sheet-title{flex:1;font-size:var(--sheet-title-font-size);opacity:var(--sheet-title-opacity);text-align:center;padding:0px 45px;display:flex;align-items:center;justify-content:center}.zuz-sheet .sheet-head .sheet-dot{flex:1}.zuz-sheet .sheet-head .sheet-closer{width:32px;height:32px;cursor:pointer;font-size:var(--sheet-closer-font-size);color:var(--sheet-closer-color);background:rgba(0,0,0,0);border:0px;line-height:0;padding:0px;font-weight:normal;border-radius:20px;opacity:var(--sheet-closer-opacity);top:15px;right:5px;transform:translateY(-50%);font-size:var(--sheet-closer-font-size)}.zuz-sheet .sheet-head .sheet-closer:hover{background:var(--sheet-closer-hover);opacity:var(--sheet-closer-hover-opacity)}.zuz-sheet .sheet-body{background:var(--sheet-body);padding:var(--sheet-body-padding)}.zuz-sheet .sheet-body.--no-action{border-radius:0px 0px var(--sheet-radius) var(--sheet-radius)}.zuz-sheet .sheet-footer{padding:var(--sheet-footer-padding);background:var(--sheet-footer);border-radius:0px 0px var(--sheet-radius) var(--sheet-radius)}.zuz-sheet .sheet-footer .sheet-action-btn{background:var(--sheet-action);color:var(--sheet-action-color);border-radius:var(--sheet-action-radius);padding:var(--sheet-action-padding);font-size:var(--sheet-action-font-size);font-weight:var(--sheet-action-font-weight);border:0px}.zuz-sheet .sheet-footer .sheet-action-btn:hover{background:var(--sheet-action-hover)}.zuz-sheet-overlay{background:rgba(0,0,0,.7);z-index:111;backdrop-filter:blur(10px)}.context-menu{z-index:var(--context-z-index);background:var(--context);border-radius:var(--context-radius);padding:var(--context-padding);box-shadow:var(--context-shadow)}.context-menu .context-line{height:var(--context-seperator-height);background:var(--context-seperator);margin:var(--context-seperator-margin)}.context-menu .context-menu-item{width:var(--context-item-width);padding:var(--context-item-padding);gap:var(--context-item-gap);cursor:pointer;font-size:var(--context-item-font-size);border-radius:var(--context-item-radius)}.context-menu .context-menu-item .ico{font-size:var(--context-item-icon-size)}.context-menu .context-menu-item:hover{background:var(--context-item-hover)}.zuz-select-wrap{width:var(--select-width);z-index:1}.zuz-select-wrap .zuz-select{width:100%;gap:5px;background:var(--select);border-radius:var(--select-radius);border:0px;padding:12px 15px;font-size:var(--select-font-size);box-shadow:var(--select-shadow)}.zuz-select-wrap .zuz-select:hover{background:var(--select-hover)}.zuz-select-wrap .zuz-select .zuz-selected{flex:1;text-align:left}.zuz-select-wrap .zuz-select-options{backdrop-filter:blur(10px) saturate(0);left:0;top:calc(100% + var(--select-options-top));width:100%;max-height:var(--select-options-max-height);overflow-x:hidden;gap:2px;background:var(--select-options);border-radius:var(--select-radius);padding:var(--select-options-padding);box-shadow:var(--select-options-shadow)}.zuz-select-wrap .zuz-select-options button{background:rgba(0,0,0,0);border:0px;text-align:left;color:var(--select-option-color);padding:var(--select-padding);border-radius:var(--select-radius);font-size:var(--select-font-size);white-space:pre}.zuz-select-wrap .zuz-select-options button:hover{background:var(--select-option-hover)}.zuz-select-wrap .zuz-select-options button.selected{background:var(--select-selected)}.zuz-select-wrap .zuz-select-options .--select-search{border:1px #ddd solid;padding:4px 8px;background:#eee;border-radius:10px;font-size:16px;color:#111;margin-bottom:4px}.zuz-overlay{background:var(--zuz-overlay);z-index:2147483645;backdrop-filter:blur(var(--zuz-overlay-blur))}.drawer-h,.zuz-drawer.drawer-right,.zuz-drawer.drawer-left{min-width:320px;max-width:90vw;top:0px;bottom:0px;border-radius:var(--drawer-radius-h)}.drawer-v,.zuz-drawer.drawer-bottom,.zuz-drawer.drawer-top{min-height:10vh;max-height:90vh;left:0px;right:0px;border-radius:var(--drawer-radius-v)}.zuz-drawer{background:var(--drawer-color);border:var(--drawer-border);box-shadow:var(--drawer-shadow);z-index:2147483646;overflow-x:hidden;overflow-y:auto}.zuz-drawer.drawer-left{left:0px}.zuz-drawer.drawer-right{right:0px}.zuz-drawer.drawer-top{top:0px}.zuz-drawer.drawer-bottom{bottom:0px}.zuz-drawer .drawer-handle{width:100px;height:6px;border-radius:10px;background:var(--drawer-handle-color);margin:12px auto 0px auto}.text-wheel{transform-style:flat}.text-wheel .wheel-char{font-variant:tabular-nums;overflow:hidden;height:1lh}.text-wheel .wheel-char .wheel-char-track{transition:var(--text-wheel-transition)}.text-wheel .wheel-char .wheel-char-track.wheel-track-down{translate:0 calc((10 - var(--v))*-1lh)}.text-wheel .wheel-char .wheel-char-track.wheel-track-up{translate:0 calc((var(--v) + 1)*-1lh)}.text-wheel .wheel-char .wheel-char-track span{height:1lh;transition:opacity .5s}.tabview .tab-head{gap:1px;background:var(--tab-head);padding:var(--tab-head-padding);border-radius:var(--tab-head-radius)}.tabview .tab-head .tab-label{flex:1;border:0px;background:var(--tab);border-radius:var(--tab-radius);padding:var(--tab-padding);color:var(--tab-color)}.tabview .tab-head .tab-label.active{color:var(--tab-active-color);background:var(--tab-active);transform:translateY(1px)}.tabview .tab-head .tab-label.active:hover{background:var(--tab-active)}.tabview .tab-head .tab-label:hover{background:var(--tab-hover)}.tabview .tab-content{border:var(--tab-border);overflow:hidden;border-radius:var(--tab-body-radius)}.tabview .tab-content .tabs-track{transform-style:flat}.tabview .tab-content .tab-body{width:100%;background:var(--tab-body);padding:var(--tab-body-padding);align-self:baseline}.treeview{gap:var(--treeview-gap)}.treeview .--node{gap:var(--treenode-gap);cursor:pointer}.treeview .--node .--node-aro-btn{width:var(--treenode-arrow-btn-size);height:var(--treenode-arrow-btn-size);border:0px;background:rgba(0,0,0,0);opacity:.6;transition:all .4s linear 0s}.treeview .--node .--node-aro-btn:hover{opacity:1}.treeview .--node .--node-aro-btn .--node-aro-icon{font-size:var(--treenode-arrow-icon-size);color:var(--treenode-arrow-icon-color)}.treeview .--node .--node-meta{background:rgba(0,0,0,0);gap:var(--treenode-label-gap);border:0px}.treeview .--node .--node-meta .--node-icon{font-size:var(--treenode-label-icon-size);color:var(--treenode-label-icon-color)}.treeview .--node .--node-meta .--node-label{background:var(--treenode-label-bg);color:var(--treenode-label-color);font-size:var(--treenode-label-size);padding:var(--treenode-label-padding);border-radius:var(--treenode-label-radius)}.treeview .--node .--node-meta:hover .--node-label{background:var(--treenode-label-hover)}.treeview .--node.--selected .--node-meta .--node-label{background:var(--treenode-label-selected-bg);color:var(--treenode-label-selected-color)}.treeview .--sub-node{margin-top:var(--treeview-gap);gap:var(--treeview-gap);padding-left:var(--treenode-sub-margin)}.--progress{background:var(--progress-track);width:var(--progress-width);height:var(--progress-height);border-radius:var(--progress-radius);overflow:hidden}.--progress .--bar{width:0%;height:var(--progress-heigt);border-radius:var(--progress-radius)}.comp-editor{top:10px;left:10px;border-radius:10px;z-index:var(--max-z-index)}.comp-editor .pencil{width:40px;height:40px;background:#fff;border-radius:50%;border:0px}.comp-editor .pencil img{width:50%}.comp-editor .pencil span{font-size:36px;color:#111;line-height:.8}.comp-editor .editor-props{background:#fff;border-radius:10px;left:60px;top:10px;width:350px;overflow:hidden;box-shadow:0px 0px 0px 1px #ccc,0px 0px 0px 5px #eaeaea}.comp-editor .editor-props .editor-head{background:#ddd;padding:4px 12px;font-size:14px}.comp-editor .editor-props .editor-head .head-label{flex:1}.comp-editor .editor-props .editor-head .head-action{display:flex;flex:1;gap:5px;align-items:flex-end;justify-content:flex-end}.comp-editor .editor-props .editor-head .head-action button{background:#333;border:0px;font-size:12px;color:#fff;font-weight:bold;padding:2px 10px;border-radius:10px}.comp-editor .editor-props .editor-head .head-action button:hover{background:#222}.comp-editor .editor-props .editor-body{padding:12px;max-height:70vh;overflow-x:hidden;overflow-y:auto;gap:5px}.comp-editor .editor-props .editor-body textarea{flex:1 1;width:100%;border:0px;background:#ebebeb;padding:15px;min-height:290px;color:#111;border-radius:10px;resize:none}.comp-editor .editor-props .editor-body .copy{top:20px;right:20px;z-index:2;border-radius:10px;border:0px;padding:3px 10px;background:var(--primary)}.comp-editor .editor-props .editor-body .group{margin-top:10px}.comp-editor .editor-props .editor-body .group .gprops{gap:5px}.comp-editor .editor-props .editor-body .group .glabel{background:#333;align-self:flex-start;font-weight:bold;font-size:12px;border-radius:5px 5px 0px 0px;padding:2px 5px;transform:translateX(5px);color:#f1f1f1}.comp-editor .editor-props .editor-body .gprop,.comp-editor .editor-props .editor-body .prop{flex:1;padding:6px 0px;font-size:13px;background:#f7f7f7;padding:5px 10px;border-radius:5px}.comp-editor .editor-props .editor-body .gprop .pop,.comp-editor .editor-props .editor-body .prop .pop{flex:1;white-space:pre}.comp-editor .editor-props .editor-body .gprop .pop:nth-child(2),.comp-editor .editor-props .editor-body .prop .pop:nth-child(2){align-items:flex-end;justify-content:flex-end}.comp-editor .editor-props .editor-body .gprop .pop input,.comp-editor .editor-props .editor-body .prop .pop input{flex:1;width:70px;max-width:70px;min-width:70px;border:0px;background:#777;padding:4px;border-radius:4px;margin-left:5px}.comp-editor .editor-props .editor-body .gprop .pop input[type=color],.comp-editor .editor-props .editor-body .prop .pop input[type=color]{background:rgba(0,0,0,0);border-radius:5px;padding:0px;appearance:none}.comp-editor .editor-props .editor-body .gprop .pop .l-k,.comp-editor .editor-props .editor-body .prop .pop .l-k{font-size:10px;color:#777}.--alert{padding:var(--alert-padding);border-radius:var(--alert-radius);gap:var(--alert-gap)}.--alert .--icon{width:20px;height:20px}.--alert .--meta{gap:2px}.--alert .--meta .--title.--tm{font-weight:bold}.--alert.--info{background:var(--alert-info);color:var(--alert-info-color)}.--alert.--info path{fill:var(--alert-info-color)}.--alert.--warning{background:var(--alert-warning);color:var(--alert-warning-color)}.--alert.--warning path{fill:var(--alert-warning-color)}.--alert.--error{background:var(--alert-error);color:var(--alert-error-color)}.--alert.--error path{fill:var(--alert-error-color)}.--alert.--success{background:var(--alert-success);color:var(--alert-success-color)}.--alert.--success path{fill:var(--alert-success-color)}.--avatar{background:var(--avatar-bg)}.--avatar.--circle{border-radius:50%}
1
+ *,*::before,*::after{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}button{user-select:none;cursor:pointer}input{user-select:none}input:-webkit-autofill{background-color:rgba(0,0,0,0) !important;-webkit-box-shadow:0 0 0px 1000px rgba(0,0,0,0) inset;box-shadow:0 0 0px 1000px rgba(0,0,0,0) inset}[aria-hidden=true]{user-select:none;pointer-events:none;cursor:auto}[popover]{margin:0;padding:0;border:0}:root{--basic: ease;--back: linear( 0, -0.0077 5.2%, -0.0452 16.98%, -0.0493 22.35%, -0.0418 25.57%, -0.0258 28.57%, -0.0007 31.42%, 0.0335 34.15%, 0.1242 39.03%, 0.2505 43.65%, 0.3844 47.35%, 0.656 53.68%, 0.81 58.37%, 0.9282 63.52%, 0.9719 66.23%, 1.0055 69.04%, 1.0255 71.4%, 1.0396 73.87%, 1.0477 76.48%, 1.05 79.27%, 1.0419 84.36%, 1.0059 95.49%, 1 );--expo: linear( 0, 0.0053 17.18%, 0.0195 26.59%, 0.0326 30.31%, 0.0506 33.48%, 0.0744 36.25%, 0.1046 38.71%, 0.1798 42.62%, 0.2846 45.93%, 0.3991 48.37%, 0.6358 52.29%, 0.765 55.45%, 0.8622 59.3%, 0.8986 61.51%, 0.9279 63.97%, 0.9481 66.34%, 0.9641 69.01%, 0.9856 75.57%, 0.9957 84.37%, 1 );--sine: linear( 0, 0.007 5.35%, 0.0282 10.75%, 0.0638 16.26%, 0.1144 21.96%, 0.1833 28.16%, 0.2717 34.9%, 0.6868 62.19%, 0.775 68.54%, 0.8457 74.3%, 0.9141 81.07%, 0.9621 87.52%, 0.9905 93.8%, 1 );--power: linear( 0, 0.0012 14.95%, 0.0089 22.36%, 0.0297 28.43%, 0.0668 33.43%, 0.0979 36.08%, 0.1363 38.55%, 0.2373 43.07%, 0.3675 47.01%, 0.5984 52.15%, 0.7121 55.23%, 0.8192 59.21%, 0.898 63.62%, 0.9297 66.23%, 0.9546 69.06%, 0.9733 72.17%, 0.9864 75.67%, 0.9982 83.73%, 1 );--circ: linear( -0, 0.0033 5.75%, 0.0132 11.43%, 0.0296 16.95%, 0.0522 22.25%, 0.0808 27.25%, 0.1149 31.89%, 0.1542 36.11%, 0.1981 39.85%, 0.2779 44.79%, 0.3654 48.15%, 0.4422 49.66%, 0.5807 50.66%, 0.6769 53.24%, 0.7253 55.37%, 0.7714 58.01%, 0.8142 61.11%, 0.8536 64.65%, 0.9158 72.23%, 0.9619 80.87%, 0.9904 90.25%, 1 );--bounce: linear( 0, 0.0039, 0.0157, 0.0352, 0.0625 9.09%, 0.1407, 0.25, 0.3908, 0.5625, 0.7654, 1, 0.8907, 0.8125 45.45%, 0.7852, 0.7657, 0.7539, 0.75, 0.7539, 0.7657, 0.7852, 0.8125 63.64%, 0.8905, 1 72.73%, 0.9727, 0.9532, 0.9414, 0.9375, 0.9414, 0.9531, 0.9726, 1, 0.9883, 0.9844, 0.9883, 1 );--elastic: linear( 0, 0.0009 8.51%, -0.0047 19.22%, 0.0016 22.39%, 0.023 27.81%, 0.0237 30.08%, 0.0144 31.81%, -0.0051 33.48%, -0.1116 39.25%, -0.1181 40.59%, -0.1058 41.79%, -0.0455, 0.0701 45.34%, 0.9702 55.19%, 1.0696 56.97%, 1.0987 57.88%, 1.1146 58.82%, 1.1181 59.83%, 1.1092 60.95%, 1.0057 66.48%, 0.986 68.14%, 0.9765 69.84%, 0.9769 72.16%, 0.9984 77.61%, 1.0047 80.79%, 0.9991 91.48%, 1 );--ease: var(--back);--spring: cubic-bezier(0.2, -0.36, 0, 1.46);--max-z-index: 2147483647;--zuz-shadow: 0px 0px 0px 1px #d4d4d4, 0px 0px 6px #ccc;--text-wheel-speed: 2;--text-wheel-transition: translate calc(var(--text-wheel-speed) * 1s) var(--ease);--checkbox-height: 24px;--checkbox-width: 42px;--checkbox-knob-size: 20px;--checkbox-knob-left: 2px;--checkbox-knob-top: 2px;--checkbox-knob-left-on: 18px;--checkbox-check-color: #fff;--checkbox-check-size: 13px;--checkbox-size: 20px;--checkbox-radius: 6px;--checkbox-checked: rgb(46, 161, 42);--checkbox-unchecked: rgb(203, 203, 203);--checkbox-thumb: #fff;--checkbox-thumb-shadow: #000;--checkbox-thumb-shadow-size: 2px;--cover-bg: rgba(255,255,255,0.8);--cover-label: #111;--zuz-overlay: rgba(0, 0, 0, 0.7);--zuz-overlay-blur: 0;--drawer-color: #fff;--drawer-handle-color: #ccc;--drawer-radius-v: 0px;--drawer-radius-h: 0px;--drawer-shadow: var(--zuz-shadow);--tab-head: #fff;--tab-head-padding: 3px 3px 0px 3px;--tab-head-radius: 6px 6px 0px 0px;--tab: #eee;--tab-active: #ccc;--tab-active-color: #111;--tab-hover: #ddd;--tab-color: #111;--tab-gap: 5px;--tab-label-size: 15px;--tab-icon-size: 15px;--tab-radius: 5px 5px 0px 0px;--tab-padding: 5px 20px;--tab-body: #fff;--tab-body-radius: 0px 5px 5px 5px;--tab-body-padding: 0px;--tab-border: 1px #ddd solid;--sheet-bg: #fff;--sheet-shadow: var(--zuz-shadow);--sheet-body: #fff;--sheet-radius: 10px;--sheet-padding: 6px 12px;--sheet-head-padding: 10px;--sheet-body-padding: 10px;--sheet-footer: #ddd;--sheet-footer-padding: 10px;--sheet-action: #222;--sheet-action-color: #fff;--sheet-action-hover: #333;--sheet-action-radius: 7px;--sheet-action-padding: 7px 20px;--sheet-action-font-size: 16px;--sheet-action-font-weight: bold;--sheet-closer-color: #111;--sheet-closer-hover: rgba(255,255,255,0.2);--sheet-closer-opacity: 0.75;--sheet-closer-hover-opacity: 1;--sheet-font-size: 15px;--sheet-title-opacity: 0.75;--sheet-title-font-size: 16px;--sheet-closer-font-size: 36px;--sheet-error: #ff4747;--sheet-warn: #ffba00;--sheet-success: #23ac28;--context-z-index: var(--max-z-index);--context: #fff;--context-border: 0px;--context-radius: 10px;--context-padding: 10px;--context-shadow: var(--zuz-shadow);--context-seperator: #eee;--context-seperator-height: 1px;--context-seperator-margin: 3px 6px;--context-item: #fff;--context-item-color: #111;--context-item-width: 220px;--context-item-padding: 6px 10px;--context-item-gap: 10px;--context-item-font-size: 15px;--context-item-radius: 5px;--context-item-icon-size: 18px;--context-item-hover: #eee;--treeview-gap: 6px;--treenode-gap: 2px;--treenode-arrow-btn-size: 20px;--treenode-arrow-btn-opacity: 1;--treenode-arrow-icon-size: 12px;--treenode-arrow-icon-color: #111;--treenode-label-padding: 3px 6px;--treenode-label-radius: 3px 6px;--treenode-label-hover: #f1f1f1;--treenode-label-bg: transparent;--treenode-label-selected-bg: #eee;--treenode-label-selected-color: #111;--treenode-label-icon-color: #111;--treenode-label-icon-size: 15px;--treenode-label-color: #111;--treenode-label-size: 15px;--treenode-label-gap: 6px;--treenode-sub-margin: 20px;--progress-width: 100%;--progress-height: 6px;--progress-radius: 6px;--progress-track: #eee;--progress-bar: #111;--skeleton: #eee;--skeleton-radius: 7px;--shimmer: #ccc;--shimmer-width: 10%;--shimmer-angle: 120deg;--shimmer-text-angle: 45deg;--shimmer-speed: 2s;--shimmer-blur: 50px;--shimmer-offset: 0;--shimmer-flame: linear-gradient( var(--shimmer-text-angle), transparent, hsl(45 100% 60%),hsl(0 100% 50%), #000, transparent );--shimmer-aurora: linear-gradient( var(--shimmer-text-angle), transparent, #a960ee,#ff333d,#ffcb57,#90e0ff, transparent );--shimmer-classic: linear-gradient( var(--shimmer-text-angle), transparent, #fff,transparent );--alert-error: #ffd4d4;--alert-error-color: #ae1313;--alert-info: #bee3f8;--alert-info-color: #2b6cb0;--alert-warning: #feebc8;--alert-warning-color: #c05621;--alert-success: #c6f6d5;--alert-success-color: #2f855a;--alert-padding: 12px;--alert-radius: 10px;--alert-gap: 10px;--avatar-bg: #fff;--accordion: #fff;--accordion-label: #111;--accordion-radius: 5px;--accordion-border: 1px #ddd solid;--accordion-head: #fff;--accordion-head-padding: 10px;--accordion-head-font-size: 16px;--accordion-head-font-weight: normal;--accordion-head-arrow-size: 18px;--accordion-detail-padding: 10px;--password-toggle-radius: 5px;--password-toggle: #fff;--password-toggle-width: 40px;--password-toggle-border: 0px;--password-toggle-padding: 6px;--password-toggle-size: 20px;--password-toggle-color: #111;--pin-radius: 4px;--pin-gap: 4px;--pin-shadow: inset 0px 0px 0px 2px #111;--pin-padding: 5px;--search-send-color: #111;--search-send-size: 25px;--search-send: #fff;--search-send-width: 40px;--search-send-padding: 5px;--search-send-radius: 5px;--search-send-border: 0px;--segmented: #eee;--segmented-radius: 8px;--segmented-padding: 2px;--segmented-border: 1px #ddd solid;--segment-item: transparent;--segment-item-radius: calc(var(--segmented-radius) - var(--segmented-padding));--segment-item-padding: 5px 12px;--segment-item-border: 0px;--segment-item-font-size: 15px;--segment-item-font-weight: normal;--segment-item-color: #111;--segment-item-active-color: #fff;--segment-tab: #fff;--segment-tab-radius: calc(var(--segmented-radius) - var(--segmented-padding));--segmented-speed: 0.5s;--select-width: auto;--select: #fff;--select-radius: 5px;--select-border: 1px #ddd solid;--select-padding: 6px 8px;--select-font-size: 16px;--select-z-index: 1;--select-gap: 5px;--select-arrow-size: 16px;--select-arrow-color: #111;--select-hover: #e6e6e6;--select-options: #eee;--select-options-max-height: 400px;--select-options-top: 0.1rem;--select-options-padding: 4px;--select-option-color: #111;--select-option-hover: #ddd;--select-option-padding: var(--select-padding);--select-option-radius: var(--select-radius);--select-selected: #ccc;--select-shadow: inherit;--select-search: #fff;--select-search-border: 1px #ddd solid;--select-search-padding: 4px 8px;--select-search-radius: 10px;--select-search-font-size: 15px;--select-search-color: #111;--select-search-margin-bottom: 4px;--tip-s: 0;--actionbar: #fff;--actionbar-radius: 50px;--actionbar-padding: 2px;--actionbar-shadow: 0px 0px 0px 1px #ccc, 0px 0px 8px #c0b0b0;--actionbar-gap: 2px;--actionbar-action-size: 40px;--actionbar-action: transparent;--actionbar-action-color: #111;--actionbar-action-hover: #ddd;--actionbar-action-selected: #eee;--actionbar-action-border: 0px;--actionbar-action-padding: 6px;--actionbar-action-radius: 20px;--actionbar-tooltip: #111;--actionbar-tooltip-padding: 2px 0px;--actionbar-tooltip-radius: 10px;--actionbar-tooltip-color: #fff;--actionbar-tooltip-speed: 0.05s;--actionbar-tooltip-track-speed: 0.3s}.flex{display:flex}.flex.cols{flex-direction:column}.flex.ass{align-self:flex-start}.flex.asc{align-self:center}.flex.ase{align-self:flex-end}.flex.aic{align-items:center}.flex.aie{align-items:flex-end}.flex.jcc{justify-content:center}.flex.jce{justify-content:flex-end}.flex.jcs{justify-content:flex-start}.abs{position:absolute}.fixed{position:fixed}.fill{top:0px;left:0px;bottom:0px;right:0px}.fillx{top:-10px;left:-10px;bottom:-10px;right:-10px}.grid{display:grid}.nope{pointer-events:none}.nous{user-select:none}.rel{position:relative}.text-wrap,.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.input-with-error{box-shadow:inset 0px 0px 0px 1px #ff8b8b}button.ico-btn{gap:5px}button .b-label{flex:1}button .b-label:empty{display:none}.--overlay{background:rgba(0,0,0,.7);z-index:var(--max-z-index);backdrop-filter:blur(10px)}.--otp{width:100%;gap:var(--pin-gap)}.--otp .--input{text-align:center;padding:var(--pin-padding) !important}.--otp .--input:not(:last-child),.--otp .--input:not(:first-child){border-radius:0px !important}.--otp .--input:first-child{border-radius:var(--pin-radius) 0px 0px var(--pin-radius) !important}.--otp .--input:last-child{border-radius:0px var(--pin-radius) var(--pin-radius) 0px !important}.--otp .--input:focus{box-shadow:var(--pin-shadow)}.--search{overflow:hidden}.--search .--send{width:var(--search-send-width);background:var(--search-send);padding:var(--search-send-padding);border:var(--search-send-border);right:2px;bottom:2px;top:2px;z-index:1;border-radius:var(--search-send-radius)}.--search .--send svg{width:var(--search-send-size);height:var(--search-send-size);transition:all .2s linear 0s}.--search .--send svg path{fill:var(--search-send-color)}.--password{overflow:hidden;width:100%}.--password .--toggle{width:var(--password-toggle-width);background:var(--password-toggle);border:var(--password-toggle-border);padding:var(--password-toggle-padding);right:2px;bottom:2px;top:2px;z-index:1;border-radius:var(--password-toggle-radius)}.--password .--toggle .b-label{line-height:0 !important}.--password .--toggle svg{width:var(--password-toggle-size);height:var(--password-toggle-size);transition:all .2s linear 0s}.--password .--toggle svg path{fill:var(--password-toggle-color)}.--password .--toggle:hover svg{transform:scale(1.1)}.--accordion{background:var(--accordion);border:var(--accordion-border);border-radius:var(--accordion-radius);overflow:hidden}.--accordion .--toggle{border:0px;background:var(--accordion-head);padding:var(--accordion-head-padding);border-radius:var(--accordian-radius);flex:1;width:100%}.--accordion .--toggle .--label{flex:1;color:var(--accordion-label);font-size:var(--accordion-head-font-size);font-weight:var(--accordion-head-font-weight)}.--accordion .--toggle .--arrow{width:var(--accordion-head-arrow-size)}.--accordion .--detail{padding:var(--accordion-detail-padding)}.--segmented{background:var(--segmented);border-radius:var(--segmented-radius);padding:var(--segmented-padding);border:var(--segmented-border);overflow:hidden}.--segmented .--segment-item{background:var(--segment-item);border-radius:var(--segment-item-radius);padding:var(--segment-item-padding);border:var(--segment-item-border);color:var(--segment-item-color);font-size:var(--segment-item-font-size);font-weight:var(--segment-item-font-weight);z-index:1;flex:1}.--segmented .--segment-item .--segment-label{white-space:pre;transition:all var(--segmented-speed) var(--ease) 0s}.--segmented .--segment-item.--segement-active{color:var(--segment-item-active-color)}.--segmented .--segment-tab{background:var(--segment-tab);border-radius:calc(var(--segmented-radius) - var(--segmented-padding));width:var(--w);transform:translateX(calc(var(--x) - var(--segmented-padding)));z-index:0;top:var(--segmented-padding);bottom:var(--segmented-padding);transition:all var(--segmented-speed) var(--ease) 0s}.--select{width:var(--select-width);z-index:var(--select-z-index)}.--select .--selected{width:100%;gap:var(--select-gap);background:var(--select);border-radius:var(--select-radius);border:var(--select-border);padding:var(--select-padding);font-size:var(--select-font-size);box-shadow:var(--select-shadow);line-height:1}.--select .--selected:hover{background:var(--select-hover)}.--select .--selected .--label{flex:1;text-align:left;color:var(--select-option-color)}.--select .--selected .--svg-arrow{width:var(--select-arrow-size)}.--select .--selected .--svg-arrow svg{fill:var(--select-arrow-color)}.--select .--options-list{backdrop-filter:blur(10px) saturate(0);left:0;top:calc(100% + var(--select-options-top));width:100%;max-height:var(--select-options-max-height);overflow-x:hidden;gap:2px;background:var(--select-options);border-radius:var(--select-radius);padding:var(--select-options-padding);box-shadow:var(--select-options-shadow)}.--select .--options-list .--select-search{border:var(--select-search-border);padding:var(--select-search-padding);background:var(--select-search);border-radius:var(--select-search-radius);font-size:var(--select-search-font-size);color:var(--select-search-color);margin-bottom:var(--select-search-margin-bottom)}.--select .--options-list button{background:rgba(0,0,0,0);border:0px;text-align:left;color:var(--select-option-color);padding:var(--select-option-padding);border-radius:var(--select-option-radius);font-size:var(--select-font-size);white-space:pre}.--select .--options-list button:hover{background:var(--select-option-hover)}.--select .--options-list button.selected{background:var(--select-selected)}@keyframes textshimmer{0%{background-position:-120% 0}50%,100%{background-position:120% 0}}.--shimmer{background-clip:text;color:rgba(0,0,0,0);animation:textshimmer calc(var(--shimmer-speed)*3) infinite both ease-in-out;background-repeat:no-repeat;background-size:10%;background-color:#222}.--shimmer.--classic{background-image:var(--shimmer-classic)}.--shimmer.--aurora{background-image:var(--shimmer-aurora)}.--shimmer.--flame{background-image:var(--shimmer-flame)}.--input.--otp{letter-spacing:1ch;font-feature-settings:"tnum";font-variant:tabular-nums;font-family:monospace;line-height:1;text-indent:1.45ch;clip-path:inset(0 1ch 0 1ch);height:2ch}.--checkbox{height:var(--checkbox-size);width:var(--checkbox-size);cursor:pointer;border:1px var(--checkbox-unchecked) solid;border-radius:var(--checkbox-radius);overflow:hidden}.--checkbox input[type=checkbox]{z-index:0;opacity:0}.--checkbox:before{font-size:var(--checkbox-check-size);color:var(--checkbox-check-color);opacity:0}.--checkbox.is-checked{background-color:var(--checkbox-checked);border:1px var(--checkbox-checked) solid}.--checkbox.is-checked:before{opacity:1}.--checkbox svg{fill:var(--checkbox-check-color)}.--switch{height:var(--checkbox-height);width:var(--checkbox-width);cursor:pointer}.--switch input[type=checkbox]{z-index:0;left:10px;top:10px;opacity:0}.--switch:before{content:"";position:absolute;height:var(--checkbox-height);width:var(--checkbox-width);background:var(--checkbox-unchecked);border-radius:50px;z-index:1;transition:all .3s linear 0s}.--switch:after{content:"";position:absolute;width:var(--checkbox-knob-size);height:var(--checkbox-knob-size);background:var(--checkbox-thumb);border-radius:50px;z-index:2;top:var(--checkbox-knob-top);left:var(--checkbox-knob-left);box-shadow:0px 0px --checkbox-thumb-shadow-size --checkbox-thumb-shadow;transition:all .75s var(--bounce) 0s}.--switch.is-checked:before{box-shadow:inset 0px 0px 0px 15px var(--checkbox-checked)}.--switch.is-checked:after{transform:translateX(var(--checkbox-knob-left-on))}@keyframes shimmering{0%{transform:translateX(-100%) rotate(var(--shimmer-angle))}20%{transform:translateX(100%) rotate(var(--shimmer-angle))}100%{transform:translateX(100%) rotate(var(--shimmer-angle))}}.--skeleton{overflow:hidden;border-radius:var(--skeleton-radius);height:1lh;background:var(--skeleton);position:relative}.--skeleton:after{content:"";position:absolute;top:0;left:0;right:0;height:100%;background-repeat:no-repeat;background-image:linear-gradient(90deg, var(--skeleton) 0%, var(--shimmer) 50%, var(--skeleton) 100%);transform:translateX(-100%) rotate(var(--shimmer-angle));animation-name:shimmering;animation-direction:var(--shimmer-direction);animation-duration:var(--shimmer-speed);animation-timing-function:ease-in-out;animation-iteration-count:infinite;filter:blur(var(--shimmer-blur))}.--spinner{animation:spin infinite}.--spinner.--simple{aspect-ratio:1}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.--cover{backdrop-filter:blur(4px);z-index:99999;gap:15px;pointer-events:auto}.--cover .label{font-size:14px;animation:breath 1s linear infinite}@keyframes breath{0%{opacity:.5}50%{opacity:1}100%{opacity:.5}}.--toast,.--sheet.--sheet-warn,.--sheet.--sheet-success,.--sheet.--sheet-error,.--sheet.--sheet-default{border-radius:var(--sheet-radius);padding:var(--sheet-padding);font-size:var(--sheet-font-size);white-space:pre}.--sheet{top:50%;left:50%;transform:translate(-50%, -50%);z-index:var(--max-z-index);transform-origin:top left;transition:all .5s cubic-bezier(0.2, -0.36, 0, 1.46) 0s}.--sheet.--wobble{transform-origin:inherit !important}.--sheet.--sheet-default{background:#333;color:#fff;top:10px !important}.--sheet.--sheet-error{background:var(--sheet-error);color:#fff;top:10px}.--sheet.--sheet-success{background:var(--sheet-success);color:#fff;top:10px}.--sheet.--sheet-warn{background:var(--sheet-warn);color:#111;top:10px}.--sheet.--sheet-form{position:absolute !important}.--sheet.--sheet-dialog{background:var(--sheet-bg);border-radius:var(--sheet-radius);box-shadow:var(--sheet-shadow)}.--sheet .--head{padding:var(--sheet-head-padding)}.--sheet .--head .--title{flex:1;font-size:var(--sheet-title-font-size);opacity:var(--sheet-title-opacity);text-align:center;padding:0px 45px;display:flex;align-items:center;justify-content:center}.--sheet .--head .--dot{flex:1}.--sheet .--head .--closer{width:32px;height:32px;cursor:pointer;font-size:var(--sheet-closer-font-size);color:var(--sheet-closer-color);background:rgba(0,0,0,0);border:0px;line-height:0;padding:0px;font-weight:normal;border-radius:20px;opacity:var(--sheet-closer-opacity);top:15px;right:5px;transform:translateY(-50%);font-size:var(--sheet-closer-font-size)}.--sheet .--head .--closer:hover{background:var(--sheet-closer-hover);opacity:var(--sheet-closer-hover-opacity)}.--sheet .--body{background:var(--sheet-body);padding:var(--sheet-body-padding)}.--sheet .--body.--no-action{border-radius:0px 0px var(--sheet-radius) var(--sheet-radius)}.--sheet .--footer{padding:var(--sheet-footer-padding);background:var(--sheet-footer);border-radius:0px 0px var(--sheet-radius) var(--sheet-radius)}.--sheet .--footer .--action{background:var(--sheet-action);color:var(--sheet-action-color);border-radius:var(--sheet-action-radius);padding:var(--sheet-action-padding);font-size:var(--sheet-action-font-size);font-weight:var(--sheet-action-font-weight);border:0px}.--sheet .--footer .--action:hover{background:var(--sheet-action-hover)}.--contextmenu{z-index:var(--context-z-index);background:var(--context);border-radius:var(--context-radius);padding:var(--context-padding);box-shadow:var(--context-shadow)}.--contextmenu .--line{height:var(--context-seperator-height);background:var(--context-seperator);margin:var(--context-seperator-margin)}.--contextmenu .--item{width:var(--context-item-width);padding:var(--context-item-padding);gap:var(--context-item-gap);cursor:pointer;font-size:var(--context-item-font-size);border-radius:var(--context-item-radius);background:var(--context-item);border:0px;color:var(--context-item-color)}.--contextmenu .--item .--ico{font-size:var(--context-item-icon-size)}.--contextmenu .--item .--label{color:var(--context-item-color)}.--contextmenu .--item:hover{background:var(--context-item-hover)}.drawer-h,.--drawer.--right,.--drawer.--left{min-width:320px;max-width:90vw;top:0px;bottom:0px;border-radius:var(--drawer-radius-h)}.drawer-v,.--drawer.--bottom,.--drawer.--top{min-height:10vh;max-height:90vh;left:0px;right:0px;border-radius:var(--drawer-radius-v)}.--drawer{background:var(--drawer-color);border:var(--drawer-border);box-shadow:var(--drawer-shadow);z-index:var(--max-z-index);overflow-x:hidden;overflow-y:auto}.--drawer.--left{left:0px}.--drawer.--right{right:0px}.--drawer.--top{top:0px}.--drawer.--bottom{bottom:0px}.--drawer .--handle{width:100px;height:6px;border-radius:10px;background:var(--drawer-handle-color);margin:12px auto 0px auto}.text-wheel{transform-style:flat}.text-wheel .wheel-char{font-variant:tabular-nums;overflow:hidden;height:1lh}.text-wheel .wheel-char .wheel-char-track{transition:var(--text-wheel-transition)}.text-wheel .wheel-char .wheel-char-track.wheel-track-down{translate:0 calc((10 - var(--v))*-1lh)}.text-wheel .wheel-char .wheel-char-track.wheel-track-up{translate:0 calc((var(--v) + 1)*-1lh)}.text-wheel .wheel-char .wheel-char-track span{height:1lh;transition:opacity .5s}.--tabview .--head{gap:1px;background:var(--tab-head);padding:var(--tab-head-padding);border-radius:var(--tab-head-radius)}.--tabview .--head .--tab{flex:1;border:0px;background:var(--tab);border-radius:var(--tab-radius);padding:var(--tab-padding);color:var(--tab-color);gap:var(--tab-gap)}.--tabview .--head .--tab.--active{color:var(--tab-active-color);background:var(--tab-active);transform:translateY(1px)}.--tabview .--head .--tab.--active:hover{background:var(--tab-active)}.--tabview .--head .--tab:hover{background:var(--tab-hover)}.--tabview .--body{border:var(--tab-border);overflow:hidden;border-radius:var(--tab-body-radius)}.--tabview .--body .--track{transform-style:flat}.--tabview .--body .--content{width:100%;background:var(--tab-body);padding:var(--tab-body-padding);align-self:baseline}.--treeview{gap:var(--treeview-gap);width:100%}.--treeview .--node{gap:var(--treenode-gap);cursor:pointer}.--treeview .--node .--node-aro-btn{width:var(--treenode-arrow-btn-size);height:var(--treenode-arrow-btn-size);border:0px;background:rgba(0,0,0,0);opacity:var(--treenode-arrow-btn-opacity);transition:all .4s linear 0s}.--treeview .--node .--node-aro-btn:hover{opacity:1}.--treeview .--node .--node-aro-btn .--node-aro-icon{font-size:var(--treenode-arrow-icon-size);color:var(--treenode-arrow-icon-color)}.--treeview .--node .--node-meta{background:rgba(0,0,0,0);gap:var(--treenode-label-gap);border:0px}.--treeview .--node .--node-meta .--node-icon{font-size:var(--treenode-label-icon-size);color:var(--treenode-label-icon-color)}.--treeview .--node .--node-meta .--node-label{background:var(--treenode-label-bg);color:var(--treenode-label-color);font-size:var(--treenode-label-size);padding:var(--treenode-label-padding);border-radius:var(--treenode-label-radius)}.--treeview .--node .--node-meta:hover .--node-label{background:var(--treenode-label-hover)}.--treeview .--node.--selected .--node-meta .--node-label{background:var(--treenode-label-selected-bg);color:var(--treenode-label-selected-color)}.--treeview .--sub-node{margin-top:var(--treeview-gap);gap:var(--treeview-gap);padding-left:var(--treenode-sub-margin)}.--progress{background:var(--progress-track);width:var(--progress-width);height:var(--progress-height);border-radius:var(--progress-radius);overflow:hidden}.--progress .--bar{width:0%;background:var(--progress-bar);height:var(--progress-height);border-radius:var(--progress-radius)}.comp-editor{top:10px;left:10px;border-radius:10px;z-index:var(--max-z-index)}.comp-editor .pencil{width:40px;height:40px;background:#fff;border-radius:50%;border:0px}.comp-editor .pencil img{width:50%}.comp-editor .pencil span{font-size:36px;color:#111;line-height:.8}.comp-editor .editor-props{background:#fff;border-radius:10px;left:60px;top:10px;width:350px;overflow:hidden;box-shadow:0px 0px 0px 1px #ccc,0px 0px 0px 5px #eaeaea}.comp-editor .editor-props .editor-head{background:#ddd;padding:4px 12px;font-size:14px}.comp-editor .editor-props .editor-head .head-label{flex:1}.comp-editor .editor-props .editor-head .head-action{display:flex;flex:1;gap:5px;align-items:flex-end;justify-content:flex-end}.comp-editor .editor-props .editor-head .head-action button{background:#333;border:0px;font-size:12px;color:#fff;font-weight:bold;padding:2px 10px;border-radius:10px}.comp-editor .editor-props .editor-head .head-action button:hover{background:#222}.comp-editor .editor-props .editor-body{padding:12px;max-height:70vh;overflow-x:hidden;overflow-y:auto;gap:5px}.comp-editor .editor-props .editor-body textarea{flex:1 1;width:100%;border:0px;background:#ebebeb;padding:15px;min-height:290px;color:#111;border-radius:10px;resize:none}.comp-editor .editor-props .editor-body .copy{top:20px;right:20px;z-index:2;border-radius:10px;border:0px;padding:3px 10px;background:var(--primary)}.comp-editor .editor-props .editor-body .group{margin-top:10px}.comp-editor .editor-props .editor-body .group .gprops{gap:5px}.comp-editor .editor-props .editor-body .group .glabel{background:#333;align-self:flex-start;font-weight:bold;font-size:12px;border-radius:5px 5px 0px 0px;padding:2px 5px;transform:translateX(5px);color:#f1f1f1}.comp-editor .editor-props .editor-body .gprop,.comp-editor .editor-props .editor-body .prop{flex:1;padding:6px 0px;font-size:13px;background:#f7f7f7;padding:5px 10px;border-radius:5px}.comp-editor .editor-props .editor-body .gprop .pop,.comp-editor .editor-props .editor-body .prop .pop{flex:1;white-space:pre}.comp-editor .editor-props .editor-body .gprop .pop:nth-child(2),.comp-editor .editor-props .editor-body .prop .pop:nth-child(2){align-items:flex-end;justify-content:flex-end}.comp-editor .editor-props .editor-body .gprop .pop input,.comp-editor .editor-props .editor-body .prop .pop input{flex:1;width:70px;max-width:70px;min-width:70px;border:0px;background:#777;padding:4px;border-radius:4px;margin-left:5px}.comp-editor .editor-props .editor-body .gprop .pop input[type=color],.comp-editor .editor-props .editor-body .prop .pop input[type=color]{background:rgba(0,0,0,0);border-radius:5px;padding:0px;appearance:none}.comp-editor .editor-props .editor-body .gprop .pop .l-k,.comp-editor .editor-props .editor-body .prop .pop .l-k{font-size:10px;color:#777}.--alert{padding:var(--alert-padding);border-radius:var(--alert-radius);gap:var(--alert-gap)}.--alert .--icon{width:20px;height:20px}.--alert .--meta{gap:2px}.--alert .--meta .--title.--tm{font-weight:bold}.--alert.--info{background:var(--alert-info);color:var(--alert-info-color)}.--alert.--info path{fill:var(--alert-info-color)}.--alert.--warning{background:var(--alert-warning);color:var(--alert-warning-color)}.--alert.--warning path{fill:var(--alert-warning-color)}.--alert.--error{background:var(--alert-error);color:var(--alert-error-color)}.--alert.--error path{fill:var(--alert-error-color)}.--alert.--success{background:var(--alert-success);color:var(--alert-success-color)}.--alert.--success path{fill:var(--alert-success-color)}.--avatar{overflow:hidden}.--avatar #squareRadiusClipPath{position:absolute;top:-1000000000;left:-1000000000;opacity:0}.--avatar img{background:var(--avatar-bg);width:100%;height:100%;display:block}.--avatar.--circle img{border-radius:50%}.--avatar.--square{clip-path:url(#squareRadiusClipPath);-webkit-clip-path:url(#squareRadiusClipPath)}.--actionbar{background:var(--actionbar);border-radius:var(--actionbar-radius);padding:var(--actionbar-padding);box-shadow:var(--actionbar-shadow);gap:var(--actionbar-gap)}.--actionbar .--action{color:var(--actionbar-action-color);width:var(--actionbar-action-size);height:var(--actionbar-action-size);background:var(--actionbar-action);border:var(--actionbar-action-border);padding:var(--actionbar-action-padding);border-radius:var(--actionbar-action-radius);flex:1}.--actionbar .--action svg{width:100%;height:100%}.--actionbar .--action img{width:100%;height:100%}.--actionbar .--action:hover{background:var(--actionbar-action-hover)}.--actionbar .--action.--selected{background:var(--actionbar-action-selected)}.--actionbar .--tip{--tip-width: calc( var(--tip-w) * 1ch + 6px );translate:calc(-50% + var(--tip-x)*1px) calc(-50% + var(--tip-y)*1px);bottom:60px;background:var(--actionbar-tooltip);padding:var(--actionbar-tooltip-padding);border-radius:var(--actionbar-tooltip-radius);color:var(--actionbar-tooltip-color);scale:var(--tip-s);transform-origin:center;width:var(--tip-width);transition:all var(--actionbar-tooltip-speed) linear 0s;overflow:hidden}.--actionbar .--tip .--track{width:calc(var(--tip-width)*var(--tip-l));translate:calc(var(--tip-m)*var(--tip-width)*-1) 0px;transition:all var(--actionbar-tooltip-track-speed) var(--spring) 0s}.--actionbar .--tip .--track .--lb{text-align:center;width:var(--tip-width)}.--zuzeditor{z-index:calc(var(--max-z-index) - 99)}.--draggable{cursor:grab}
@@ -1,29 +1,12 @@
1
- import { SORT } from "./enums";
1
+ import { ComponentPropsWithoutRef, ElementType } from "react";
2
+ import { SHIMMER, SORT } from "./enums";
3
+ import { animationProps, Skeleton } from "./interfaces";
2
4
  export type dynamicObject = {
3
5
  [x: string]: any;
4
6
  };
5
7
  export type stringObject = {
6
8
  [x: string]: string;
7
9
  };
8
- declare global {
9
- interface Object {
10
- is(v: any): boolean;
11
- typeof(v: any): boolean;
12
- equals(v: any): boolean;
13
- isNull(): boolean;
14
- isString(): boolean;
15
- isNumber(): boolean;
16
- isObject(): boolean;
17
- isArray(): boolean;
18
- isEmpty(): boolean;
19
- isNotEmpty(v: any): boolean;
20
- isEmail(v: any): boolean;
21
- isUrl(v: any): boolean;
22
- }
23
- }
24
- export type FormSubmitHandler = (formData: FormData) => void;
25
- export type FormInputs = HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;
26
- export type zuzProps = `as` | `css` | `hover` | `before` | `after`;
27
10
  export type sortOptions = {
28
11
  direction?: SORT;
29
12
  caseSensitive?: boolean;
@@ -31,3 +14,36 @@ export type sortOptions = {
31
14
  export type KeyBindings = {
32
15
  [key: string]: () => void;
33
16
  };
17
+ export interface FormatNumberParams {
18
+ number: number | string;
19
+ locale: string;
20
+ style?: `decimal` | `currency` | `percent`;
21
+ decimal?: number;
22
+ currency?: {
23
+ code: string;
24
+ style: `symbol` | `code` | `name`;
25
+ symbol?: string;
26
+ };
27
+ }
28
+ export type zuzProps = `as` | `css` | `hover` | `before` | `after`;
29
+ export interface ZuzProps {
30
+ /** Defines the React element or HTML tag to render */
31
+ /** CSS Styles, such as "w:100" for "width: 100px"; */
32
+ as?: string | string[];
33
+ /** Animation configuration using {@link animationProps} */
34
+ animate?: animationProps;
35
+ /** Skeleton placeholder configuration using {@link Skeleton} */
36
+ skeleton?: Skeleton;
37
+ /** Additional class names for styling the component */
38
+ className?: string;
39
+ /** Shimmer effect for loading state, using predefined {@link SHIMMER} options */
40
+ shimmer?: SHIMMER;
41
+ /** Props to remove after processing so it won't appear in DOM */
42
+ propsToRemove?: string[];
43
+ /** Makes Component Draggable */
44
+ draggable?: boolean;
45
+ }
46
+ export type Attach<T, U> = Omit<T, keyof U> & U;
47
+ export type BaseProps<T extends keyof JSX.IntrinsicElements> = ComponentPropsWithoutRef<T>;
48
+ export type Props<T extends ElementType> = ZuzProps & Omit<ComponentPropsWithoutRef<T>, keyof ZuzProps>;
49
+ export type FormInputs = HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;
@@ -1,40 +1,59 @@
1
- import { DetailedHTMLProps, HTMLAttributes } from "react";
2
- import { SKELETON, TRANSITION_CURVES, TRANSITIONS } from "./enums";
3
1
  import { dynamicObject } from ".";
4
- export interface Skeleton {
5
- enabled: boolean;
6
- type?: SKELETON;
7
- size?: number | string;
8
- width?: number | string;
9
- height?: number | string;
10
- radius?: number | string;
11
- }
12
- export interface BaseProps {
13
- as?: string;
14
- animate?: animationProps;
15
- editor?: boolean;
16
- skeleton?: Skeleton;
17
- }
2
+ import { SKELETON, TRANSITION_CURVES, TRANSITIONS } from "./enums";
3
+ /**
4
+ * `animationProps` defines the properties to control animation effects
5
+ * applied to elements. Supports transitions with timing configurations.
6
+ */
18
7
  export interface animationProps {
8
+ /**
9
+ * Specifies the type of transition to apply, based on predefined
10
+ * {@link TRANSITIONS}
11
+ */
19
12
  transition?: TRANSITIONS;
13
+ /** Starting style properties for the animation */
20
14
  from?: dynamicObject;
15
+ /** Target style properties after the animation completes */
21
16
  to?: dynamicObject;
17
+ /** Condition that determines when the animation should trigger */
22
18
  when?: boolean;
19
+ /** Duration of the animation in milliseconds */
23
20
  duration?: number;
21
+ /** Delay before the animation starts, in milliseconds */
24
22
  delay?: number;
23
+ /** Easing curve applied to the animation, as a string or {@link TRANSITION_CURVES} */
25
24
  curve?: string | TRANSITION_CURVES;
26
25
  }
27
- export interface FormatNumberParams {
28
- number: number | string;
29
- locale: string;
30
- style?: `decimal` | `currency` | `percent`;
31
- decimal?: number;
32
- currency?: {
33
- code: string;
34
- style: `symbol` | `code` | `name`;
35
- symbol?: string;
36
- };
37
- }
38
- export interface UIProps<T extends HTMLElement> extends DetailedHTMLProps<HTMLAttributes<T>, T> {
39
- [key: string]: any;
26
+ /**
27
+ * `Skeleton` defines properties for a skeleton loader, used to indicate
28
+ * loading states with placeholders.
29
+ */
30
+ export interface Skeleton {
31
+ /**
32
+ * Determines if the skeleton is enabled or disabled.
33
+ * @example
34
+ * enabled: true
35
+ */
36
+ enabled: boolean;
37
+ /** Skeleton type, based on predefined {@link SKELETON} options
38
+ * @example
39
+ * type: SKELETON.CIRCLE
40
+ */
41
+ type?: SKELETON;
42
+ /** General size of the skeleton, or can specify width/height separately
43
+ * @example
44
+ * size: 100 | 100px | 100%
45
+ */
46
+ size?: number | string;
47
+ /** Width of the skeleton placeholder
48
+ * @example
49
+ * width: 100 | 100px | 100%
50
+ */
51
+ width?: number | string;
52
+ /** Height of the skeleton placeholder
53
+ * @example
54
+ * height: 100 | 100px | 100%
55
+ */
56
+ height?: number | string;
57
+ /** Border radius for the skeleton, allowing rounded corners */
58
+ radius?: number | string;
40
59
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zuzjs/ui",
3
- "version": "0.5.5",
3
+ "version": "0.5.7",
4
4
  "keywords": [
5
5
  "react",
6
6
  "zuz",
@@ -18,14 +18,13 @@
18
18
  },
19
19
  "exports": {
20
20
  ".": "./dist/index.js",
21
- "./hooks": "./dist/hooks/index.js",
22
21
  "./styles": "./dist/styles.css"
23
22
  },
24
23
  "files": [
25
24
  "dist"
26
25
  ],
27
26
  "scripts": {
28
- "dev:css": "sass --watch --no-source-map src/scss:dist --style compressed",
27
+ "dev:css": "sass --watch --no-source-map --silence-deprecation=legacy-js-api src/scss:dist --style compressed",
29
28
  "dev:dist": "tsc -d -w -p tsconfig.json",
30
29
  "dev": "npm-run-all -p dev:*"
31
30
  },
@@ -45,7 +44,7 @@
45
44
  "picocolors": "^1.0.1",
46
45
  "react": "19.0.0-beta-26f2496093-20240514",
47
46
  "react-dom": "19.0.0-beta-26f2496093-20240514",
48
- "sass": "1.77.8"
47
+ "sass": "1.80.6"
49
48
  },
50
49
  "devDependencies": {
51
50
  "node-loader": "^2.0.0",
@@ -1,12 +0,0 @@
1
- import { ReactNode } from "react";
2
- import { BaseProps } from "../types/interfaces";
3
- export interface AccordionProps {
4
- message?: string;
5
- title: string | ReactNode | ReactNode[];
6
- }
7
- export interface AccordionHandler {
8
- open: () => void;
9
- close: () => void;
10
- }
11
- declare const Accordion: import("react").ForwardRefExoticComponent<AccordionProps & BaseProps & import("react").RefAttributes<AccordionHandler>>;
12
- export default Accordion;
@@ -1,13 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { forwardRef, useState } from "react";
3
- import With from "./base";
4
- const Icons = {
5
- ArrowDown: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", children: _jsx("path", { fill: "#292D32", d: "M17.919 8.18H6.079c-.96 0-1.44 1.16-.76 1.84l5.18 5.18c.83.83 2.18.83 3.01 0l1.97-1.97 3.21-3.21c.67-.68.19-1.84-.77-1.84z" }) }),
6
- ArrowUp: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", children: _jsx("path", { fill: "#292D32", d: "M18.68 13.978l-3.21-3.21-1.96-1.97a2.13 2.13 0 00-3.01 0l-5.18 5.18c-.68.68-.19 1.84.76 1.84h11.84c.96 0 1.44-1.16.76-1.84z" }) })
7
- };
8
- const Accordion = forwardRef((props, ref) => {
9
- const { title, message, ...rest } = props;
10
- const [visible, setVisible] = useState(false);
11
- return _jsxs(With, { className: `--accordion flex cols`, ...rest, children: [_jsxs(With, { onClick: (e) => setVisible(!visible), tag: `button`, className: `--toggle flex aic ${visible ? `--open` : ``}`.trim(), children: [_jsx(With, { tag: `h1`, className: `--label flex`, children: title }), _jsx(With, { className: `--arrow flex`, children: visible ? Icons.ArrowUp : Icons.ArrowDown })] }), visible && _jsx(With, { className: `--detail`, children: message })] });
12
- });
13
- export default Accordion;
@@ -1,15 +0,0 @@
1
- import { BaseProps } from "../types/interfaces";
2
- import { ALERT } from "../types/enums";
3
- export interface AlertProps {
4
- type?: ALERT;
5
- icon?: string;
6
- iconSize?: number;
7
- message?: string;
8
- title: string;
9
- }
10
- export interface AlertHandler {
11
- open: () => void;
12
- close: () => void;
13
- }
14
- declare const Alert: import("react").ForwardRefExoticComponent<AlertProps & BaseProps & import("react").RefAttributes<AlertHandler>>;
15
- export default Alert;
@@ -1,15 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { forwardRef } from "react";
3
- import { ALERT } from "../types/enums";
4
- import With from "./base";
5
- const Icons = {
6
- [ALERT.Info]: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", children: _jsx("path", { fill: "#292D32", d: "M21.56 10.738l-1.35-1.58c-.25-.3-.46-.86-.46-1.26v-1.7c0-1.06-.87-1.93-1.93-1.93h-1.7c-.4 0-.97-.21-1.27-.46l-1.58-1.35c-.69-.59-1.82-.59-2.51 0l-1.6 1.35c-.3.25-.86.46-1.26.46H6.17c-1.06 0-1.93.87-1.93 1.93v1.7c0 .39-.2.95-.45 1.25l-1.35 1.59c-.58.7-.58 1.82 0 2.5l1.35 1.59c.25.29.45.86.45 1.25v1.71c0 1.06.87 1.93 1.93 1.93h1.74c.39 0 .96.21 1.26.46l1.58 1.35c.69.59 1.82.59 2.51 0l1.58-1.35c.3-.25.86-.46 1.26-.46h1.7c1.06 0 1.93-.87 1.93-1.93v-1.7c0-.4.21-.96.46-1.26l1.35-1.58c.61-.68.61-1.81.02-2.51zm-10.31-2.61c0-.41.34-.75.75-.75s.75.34.75.75v4.83c0 .41-.34.75-.75.75s-.75-.34-.75-.75v-4.83zm.75 8.74c-.55 0-1-.45-1-1s.44-1 1-1c.55 0 1 .45 1 1s-.44 1-1 1z" }) }),
7
- [ALERT.Warning]: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", children: _jsx("path", { fill: "#292D32", d: "M19.51 5.85l-5.94-3.43c-.97-.56-2.17-.56-3.15 0L4.49 5.85a3.15 3.15 0 00-1.57 2.73v6.84c0 1.12.6 2.16 1.57 2.73l5.94 3.43c.97.56 2.17.56 3.15 0l5.94-3.43a3.15 3.15 0 001.57-2.73V8.58a3.192 3.192 0 00-1.58-2.73zm-8.26 1.9c0-.41.34-.75.75-.75s.75.34.75.75V13c0 .41-.34.75-.75.75s-.75-.34-.75-.75V7.75zm1.67 8.88c-.05.12-.12.23-.21.33a.99.99 0 01-1.09.21c-.13-.05-.23-.12-.33-.21-.09-.1-.16-.21-.22-.33a.986.986 0 01-.07-.38c0-.26.1-.52.29-.71.1-.09.2-.16.33-.21.37-.16.81-.07 1.09.21.09.1.16.2.21.33.05.12.08.25.08.38s-.03.26-.08.38z" }) }),
8
- [ALERT.Error]: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", children: _jsx("path", { d: "M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z" }) }),
9
- [ALERT.Success]: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", children: _jsx("path", { d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z" }) })
10
- };
11
- const Alert = forwardRef((props, ref) => {
12
- const { type, icon, title, message, iconSize, ...rest } = props;
13
- return _jsxs(With, { className: `--alert --${(type || ALERT.Info).toLowerCase()} flex aic`, ...rest, children: [_jsx(With, { className: `--icon icon-${icon || `auto-matic`}`, style: iconSize ? { width: iconSize, height: iconSize } : {}, children: !icon && Icons[type || ALERT.Info] }), _jsxs(With, { className: `--meta flex cols`, tag: `h1`, children: [_jsx(With, { className: `--title ${message ? `--tm` : ``}`, tag: `h1`, children: title || `Lorem ipsum dolor sit amet, consectetur adipiscing elit.` }), message && _jsx(With, { className: `--message`, tag: `h2`, children: message })] })] });
14
- });
15
- export default Alert;
@@ -1,6 +0,0 @@
1
- import { animationProps } from "../types/interfaces";
2
- declare const Animate: import("react").ForwardRefExoticComponent<{
3
- as?: string;
4
- animate?: animationProps;
5
- } & Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
6
- export default Animate;
@@ -1,8 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { forwardRef } from "react";
3
- import With from "./base";
4
- const Animate = forwardRef((props, ref) => {
5
- const { as, ...rest } = props;
6
- return _jsx(With, { as: as, ...rest, ref: ref });
7
- });
8
- export default Animate;
@@ -1,13 +0,0 @@
1
- import { BaseProps } from "../types/interfaces";
2
- import { AVATAR } from "../types/enums";
3
- export interface AvatarProps {
4
- type?: AVATAR;
5
- size?: number;
6
- src: string;
7
- crossOrigin?: 'anonymous' | 'use-credentials';
8
- referrerPolicy?: 'no-referrer' | 'no-referrer-when-downgrade' | 'origin' | 'origin-when-cross-origin' | 'same-origin' | 'strict-origin' | 'strict-origin-when-cross-origin' | 'unsafe-url';
9
- }
10
- export interface AvatarHandler {
11
- }
12
- declare const Avatar: import("react").ForwardRefExoticComponent<AvatarProps & BaseProps & import("react").RefAttributes<AvatarHandler>>;
13
- export default Avatar;
@@ -1,11 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { forwardRef } from "react";
3
- import { AVATAR } from "../types/enums";
4
- import With from "./base";
5
- import { useImage } from "../hooks";
6
- const Avatar = forwardRef((props, ref) => {
7
- const { src, size, type, crossOrigin, referrerPolicy, ...rest } = props;
8
- const [img, imgStatus, imgError] = useImage(src, crossOrigin, referrerPolicy);
9
- return _jsx(With, { tag: `img`, src: img, style: size ? { width: size, height: size } : {}, crossOrigin: crossOrigin, referrerPolicy: referrerPolicy, className: `--avatar --${(type || AVATAR.Circle).toLowerCase()}`, ...rest });
10
- });
11
- export default Avatar;
@@ -1,15 +0,0 @@
1
- import { ComponentPropsWithoutRef, ElementType } from "react";
2
- import { SHIMMER } from "../types/enums";
3
- import { animationProps, Skeleton } from "../types/interfaces";
4
- interface BaseProps<T extends ElementType> {
5
- tag?: T;
6
- as?: string | string[];
7
- animate?: animationProps;
8
- className?: string;
9
- propsToRemove?: string[];
10
- skeleton?: Skeleton;
11
- shimmer?: SHIMMER;
12
- }
13
- export type Props<T extends ElementType> = BaseProps<T> & Omit<ComponentPropsWithoutRef<T>, keyof BaseProps<T>>;
14
- declare const With: import("react").ForwardRefExoticComponent<Omit<Props<ElementType>, "ref"> & import("react").RefAttributes<Element>>;
15
- export default With;
@@ -1,68 +0,0 @@
1
- import { createElement, forwardRef } from "react";
2
- import { css, cleanProps } from "../funs";
3
- import { buildWithStyles, getAnimationCurve, getAnimationTransition } from "../funs/css";
4
- const buildSkeletonStyle = (s) => {
5
- const makeValue = (v, unit = `px`) => {
6
- return v ?
7
- `string` == typeof v ? v : `${v}${unit}`
8
- : `inherit`;
9
- };
10
- const style = {};
11
- if (s.radius) {
12
- style.borderRadius = makeValue(s.radius);
13
- }
14
- if (s.size) {
15
- style.width = style.minWidth = style.maxWidth = style.height = style.minHeight = style.maxHeight = makeValue(s.size);
16
- }
17
- else if (s.width || s.height) {
18
- if (s.width) {
19
- style.width = style.minWidth = style.maxWidth = makeValue(s.width);
20
- }
21
- if (s.height) {
22
- style.height = style.minHeight = style.maxHeight = makeValue(s.height);
23
- }
24
- }
25
- else {
26
- style.minWidth = style.minHeight = `100%`;
27
- }
28
- return style;
29
- };
30
- const With = forwardRef(({ tag, as, animate, className, propsToRemove, style, skeleton, ...rest }, ref) => {
31
- const Comp = tag || 'div';
32
- let cx = [];
33
- if (as) {
34
- cx = css().Build(`string` == typeof as ? as : as.join(` `)).cx;
35
- }
36
- const { transition, from, to, when, duration, delay, curve } = animate || {};
37
- let _style = {};
38
- const _transition = transition || (from && to) ? { transition: `all ${duration || `0.2`}s ${getAnimationCurve(curve)} ${delay || 0}s` } : {};
39
- if (undefined === when) {
40
- _style = transition ? getAnimationTransition(transition, true) : { ...from, ...to };
41
- }
42
- else if (true === when) {
43
- _style = transition ? getAnimationTransition(transition, false) : { ...(to || {}) };
44
- }
45
- else {
46
- _style = transition ? getAnimationTransition(transition, false, true) : from || {};
47
- }
48
- const { children, shimmer, ...restProps } = cleanProps(rest, propsToRemove ? [...propsToRemove, `skeleton`] : [`skeleton`]);
49
- return createElement(Comp, {
50
- style: {
51
- ...buildWithStyles(_style),
52
- ..._transition,
53
- ...style,
54
- ...(skeleton?.enabled ? buildSkeletonStyle(skeleton) : {})
55
- },
56
- className: [
57
- className,
58
- ...cx,
59
- skeleton?.enabled ? `--skeleton` : ``,
60
- shimmer ? `--shimmer --${shimmer.toLowerCase()}` : ``,
61
- ].join(' ').trim(),
62
- children: skeleton?.enabled ? ` `.repeat(6)
63
- : children,
64
- ...restProps,
65
- ref
66
- });
67
- });
68
- export default With;
@@ -1,3 +0,0 @@
1
- import { Props } from "./useBase/base.types";
2
- declare const Box: import("react").ForwardRefExoticComponent<Props<"div"> & import("react").RefAttributes<HTMLDivElement>>;
3
- export default Box;
package/dist/comps/box.js DELETED
@@ -1,15 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { forwardRef } from "react";
3
- import useBase from "./useBase";
4
- const Box = forwardRef((props, ref) => {
5
- const { className, style, rest } = useBase(props);
6
- return _jsx("div", { ref: ref, className: className, style: style, ...rest });
7
- });
8
- // export interface BoxProps extends Props<'div'> {}
9
- // const Box = forwardRef<HTMLDivElement, BoxProps>((props, ref ) => {
10
- // const { as, children, className, ...rest } = props
11
- // return <With className={className} as={as} {...rest} ref={ref}>
12
- // {children}
13
- // </With>
14
- // });
15
- export default Box;
@@ -1,6 +0,0 @@
1
- import { Props } from "./useBase/base.types";
2
- export interface ButtonProps extends Props<`button`> {
3
- icon?: string;
4
- }
5
- declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
6
- export default Button;
@@ -1,17 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { forwardRef } from "react";
3
- // import With, { Props } from "./base";
4
- import useBase from "./useBase";
5
- const Button = forwardRef((props, ref) => {
6
- const { icon, children, ...pops } = props;
7
- const { className, style, rest } = useBase(pops);
8
- return _jsxs("button", { className: `${className} flex aic ${icon ? `ico-btn` : ``}`, style: style, ref: ref, ...rest, children: [icon && _jsx("div", { ...{ className: `icon-${icon}` } }), _jsx("span", { ...{ className: `b-label` }, children: children })] });
9
- });
10
- // const Button = forwardRef<HTMLButtonElement, ButtonProps>((props, ref ) => {
11
- // const { as, icon, ...rest } = props;
12
- // return <With tag={`button`} as={as} className={`flex aic ${icon ? `ico-btn` : ``}`.trim()} {...rest} ref={ref}>
13
- // {icon && <With className={`icon-${icon}`} />}
14
- // <With tag={`span`} className={`b-label`}>{props.children}</With>
15
- // </With>
16
- // });
17
- export default Button;
@@ -1,18 +0,0 @@
1
- import { CHECKBOX } from "../types/enums";
2
- import { animationProps } from "../types/interfaces";
3
- export interface CheckboxProps {
4
- as?: string;
5
- type?: CHECKBOX;
6
- required?: boolean;
7
- name?: string;
8
- value?: string;
9
- checked?: boolean;
10
- onChange?: (checked: boolean, value: string | string[]) => void;
11
- animate?: animationProps;
12
- }
13
- export interface CheckboxHandler {
14
- setChecked: (mode: boolean, triggerChange?: boolean) => void;
15
- toggle: (triggerChange?: boolean) => void;
16
- }
17
- declare const CheckBox: import("react").ForwardRefExoticComponent<CheckboxProps & import("react").RefAttributes<CheckboxHandler>>;
18
- export default CheckBox;
@@ -1,15 +0,0 @@
1
- import { animationProps } from "../types/interfaces";
2
- export interface ContextMenuItem {
3
- label: string;
4
- labelColor?: string;
5
- icon?: string;
6
- iconColor?: string;
7
- className?: string;
8
- onSelect: () => void;
9
- }
10
- declare const ContextMenu: import("react").ForwardRefExoticComponent<{
11
- as?: string;
12
- items: ContextMenuItem[];
13
- animate?: animationProps;
14
- } & Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
15
- export default ContextMenu;
@@ -1,9 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { forwardRef } from "react";
3
- import With from "./base";
4
- const ContextMenu = forwardRef((props, ref) => {
5
- const { as, items, ...rest } = props;
6
- return _jsx(With, { as: as, className: `context-menu abs flex cols`, ...rest, ref: ref, children: items.map((item, index) => item.label == `-` ? _jsx(With, { as: `context-line` }, `${index}-line`) :
7
- _jsxs(With, { onClick: item.onSelect, as: `button`, className: `context-menu-item flex aic ${item.className || ``}`.trim(), children: [_jsx(With, { as: `div`, className: `ico icon-${item.icon}`.trim(), style: item.iconColor ? { color: item.iconColor } : {} }), _jsx(With, { as: `h1`, className: `flex aic`, style: item.labelColor ? { color: item.labelColor } : {}, children: item.label })] }, `item-${item.label.replace(/\s/g, `-`)}-${index}`)) });
8
- });
9
- export default ContextMenu;
@@ -1,15 +0,0 @@
1
- import { ComponentPropsWithoutRef } from "react";
2
- import { SpinnerProps } from "./spinner";
3
- import { animationProps } from "../types/interfaces";
4
- export interface CoverProps extends ComponentPropsWithoutRef<`div`> {
5
- tag?: string;
6
- message?: string;
7
- spinner?: SpinnerProps;
8
- color?: string;
9
- as?: string;
10
- animate?: animationProps;
11
- when?: boolean;
12
- hideMessage?: boolean;
13
- }
14
- declare const Cover: import("react").ForwardRefExoticComponent<CoverProps & import("react").RefAttributes<HTMLDivElement>>;
15
- export default Cover;