@zuzjs/ui 0.5.6 → 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 (190) hide show
  1. package/dist/comps/Accordion/index.d.ts +6 -0
  2. package/dist/comps/Accordion/index.js +12 -0
  3. package/dist/comps/Accordion/types.d.ts +10 -0
  4. package/dist/comps/Actionbar/index.d.ts +21 -0
  5. package/dist/comps/Actionbar/index.js +58 -0
  6. package/dist/comps/Actionbar/item.d.ts +6 -0
  7. package/dist/comps/Actionbar/item.js +7 -0
  8. package/dist/comps/Actionbar/types.d.ts +29 -0
  9. package/dist/comps/Actionbar/types.js +1 -0
  10. package/dist/comps/Avatar/index.d.ts +19 -0
  11. package/dist/comps/Avatar/index.js +35 -0
  12. package/dist/comps/Box/index.d.ts +7 -0
  13. package/dist/comps/{box.js → Box/index.js} +3 -2
  14. package/dist/comps/Button/index.d.ts +10 -0
  15. package/dist/comps/Button/index.js +12 -0
  16. package/dist/comps/CheckBox/index.d.ts +7 -0
  17. package/dist/comps/{checkbox.js → CheckBox/index.js} +10 -9
  18. package/dist/comps/CheckBox/types.d.ts +10 -0
  19. package/dist/comps/CheckBox/types.js +1 -0
  20. package/dist/comps/ContextMenu/index.d.ts +6 -0
  21. package/dist/comps/ContextMenu/index.js +37 -0
  22. package/dist/comps/ContextMenu/item.d.ts +3 -0
  23. package/dist/comps/ContextMenu/item.js +11 -0
  24. package/dist/comps/ContextMenu/types.d.ts +20 -0
  25. package/dist/comps/ContextMenu/types.js +1 -0
  26. package/dist/comps/Cover/index.d.ts +17 -0
  27. package/dist/comps/Cover/index.js +19 -0
  28. package/dist/comps/Drawer/index.d.ts +12 -0
  29. package/dist/comps/{drawer.js → Drawer/index.js} +8 -10
  30. package/dist/comps/{drawer.d.ts → Drawer/types.d.ts} +4 -5
  31. package/dist/comps/Drawer/types.js +1 -0
  32. package/dist/comps/{form.d.ts → Form/index.d.ts} +34 -10
  33. package/dist/comps/{form.js → Form/index.js} +11 -15
  34. package/dist/comps/Icon/index.d.ts +11 -0
  35. package/dist/comps/Icon/index.js +11 -0
  36. package/dist/comps/Image/index.d.ts +4 -0
  37. package/dist/comps/Image/index.js +9 -0
  38. package/dist/comps/Input/index.d.ts +8 -0
  39. package/dist/comps/Input/index.js +15 -0
  40. package/dist/comps/Label/index.d.ts +4 -0
  41. package/dist/comps/Label/index.js +9 -0
  42. package/dist/comps/Otp/index.d.ts +4 -0
  43. package/dist/comps/Otp/index.js +30 -0
  44. package/dist/comps/Overlay/index.d.ts +8 -0
  45. package/dist/comps/Overlay/index.js +12 -0
  46. package/dist/comps/Password/index.d.ts +4 -0
  47. package/dist/comps/Password/index.js +18 -0
  48. package/dist/comps/PinInput/index.d.ts +12 -0
  49. package/dist/comps/{otp → PinInput}/index.js +10 -18
  50. package/dist/comps/ProgressBar/index.d.ts +7 -0
  51. package/dist/comps/ProgressBar/index.js +21 -0
  52. package/dist/comps/ProgressBar/types.d.ts +9 -0
  53. package/dist/comps/ProgressBar/types.js +1 -0
  54. package/dist/comps/Search/index.d.ts +14 -0
  55. package/dist/comps/{search → Search}/index.js +9 -19
  56. package/dist/comps/Segmented/index.d.ts +26 -0
  57. package/dist/comps/{segmented → Segmented}/index.js +3 -9
  58. package/dist/comps/Segmented/item.d.ts +3 -0
  59. package/dist/comps/{segmented → Segmented}/item.js +3 -9
  60. package/dist/comps/Segmented/types.d.ts +31 -0
  61. package/dist/comps/Segmented/types.js +1 -0
  62. package/dist/comps/Select/index.d.ts +13 -0
  63. package/dist/comps/Select/index.js +56 -0
  64. package/dist/comps/Select/option.d.ts +2 -0
  65. package/dist/comps/Select/option.js +8 -0
  66. package/dist/comps/Select/optionItem.d.ts +3 -0
  67. package/dist/comps/Select/optionItem.js +6 -0
  68. package/dist/comps/Select/types.d.ts +52 -0
  69. package/dist/comps/Select/types.js +1 -0
  70. package/dist/comps/{sheet.d.ts → Sheet/index.d.ts} +16 -5
  71. package/dist/comps/Sheet/index.js +175 -0
  72. package/dist/comps/Span/index.d.ts +4 -0
  73. package/dist/comps/Span/index.js +10 -0
  74. package/dist/comps/Spinner/index.d.ts +21 -0
  75. package/dist/comps/Spinner/index.js +31 -0
  76. package/dist/comps/Switch/index.d.ts +7 -0
  77. package/dist/comps/Switch/index.js +8 -0
  78. package/dist/comps/TabView/index.d.ts +9 -0
  79. package/dist/comps/TabView/index.js +41 -0
  80. package/dist/comps/TabView/tab.d.ts +3 -0
  81. package/dist/comps/TabView/tab.js +9 -0
  82. package/dist/comps/{tabview.d.ts → TabView/types.d.ts} +10 -5
  83. package/dist/comps/TabView/types.js +1 -0
  84. package/dist/comps/Text/index.d.ts +11 -0
  85. package/dist/comps/Text/index.js +17 -0
  86. package/dist/comps/TextWheel/index.d.ts +8 -0
  87. package/dist/comps/{textwheel.js → TextWheel/index.js} +9 -9
  88. package/dist/comps/TextWheel/types.d.ts +10 -0
  89. package/dist/comps/TextWheel/types.js +1 -0
  90. package/dist/comps/Treeview/index.d.ts +11 -0
  91. package/dist/comps/{treeview → Treeview}/index.js +3 -3
  92. package/dist/comps/Treeview/item.d.ts +11 -0
  93. package/dist/comps/Treeview/item.js +26 -0
  94. package/dist/comps/{treeview/index.d.ts → Treeview/types.d.ts} +14 -5
  95. package/dist/comps/Treeview/types.js +1 -0
  96. package/dist/comps/index.d.ts +41 -0
  97. package/dist/comps/index.js +41 -0
  98. package/dist/comps/svgicons.d.ts +9 -2
  99. package/dist/comps/svgicons.js +8 -5
  100. package/dist/funs/index.d.ts +17 -17
  101. package/dist/funs/index.js +69 -69
  102. package/dist/hooks/index.d.ts +4 -3
  103. package/dist/hooks/index.js +6 -3
  104. package/dist/hooks/useBase.d.ts +8 -0
  105. package/dist/{comps/useBase/index.js → hooks/useBase.js} +23 -6
  106. package/dist/hooks/useContextMenu.d.ts +7 -0
  107. package/dist/hooks/useContextMenu.js +21 -0
  108. package/dist/hooks/useDrag.d.ts +10 -0
  109. package/dist/hooks/useDrag.js +45 -0
  110. package/dist/index.d.ts +5 -31
  111. package/dist/index.js +5 -32
  112. package/dist/styles.css +1 -1
  113. package/dist/types/index.d.ts +36 -20
  114. package/dist/types/interfaces.d.ts +45 -51
  115. package/package.json +3 -4
  116. package/dist/comps/accordion.d.ts +0 -12
  117. package/dist/comps/accordion.js +0 -10
  118. package/dist/comps/alert.d.ts +0 -15
  119. package/dist/comps/alert.js +0 -15
  120. package/dist/comps/animate.d.ts +0 -6
  121. package/dist/comps/animate.js +0 -8
  122. package/dist/comps/avatar.d.ts +0 -13
  123. package/dist/comps/avatar.js +0 -11
  124. package/dist/comps/base.d.ts +0 -15
  125. package/dist/comps/base.js +0 -68
  126. package/dist/comps/box.d.ts +0 -6
  127. package/dist/comps/button.d.ts +0 -7
  128. package/dist/comps/button.js +0 -19
  129. package/dist/comps/checkbox.d.ts +0 -18
  130. package/dist/comps/contextmenu.d.ts +0 -15
  131. package/dist/comps/contextmenu.js +0 -9
  132. package/dist/comps/cover.d.ts +0 -15
  133. package/dist/comps/cover.js +0 -31
  134. package/dist/comps/editor.d.ts +0 -12
  135. package/dist/comps/editor.js +0 -92
  136. package/dist/comps/grid/index.d.ts +0 -10
  137. package/dist/comps/grid/index.js +0 -16
  138. package/dist/comps/heading.d.ts +0 -8
  139. package/dist/comps/heading.js +0 -16
  140. package/dist/comps/icon.d.ts +0 -7
  141. package/dist/comps/icon.js +0 -23
  142. package/dist/comps/image.d.ts +0 -13
  143. package/dist/comps/image.js +0 -8
  144. package/dist/comps/input.d.ts +0 -6
  145. package/dist/comps/input.js +0 -19
  146. package/dist/comps/otp/index.d.ts +0 -6
  147. package/dist/comps/password.d.ts +0 -3
  148. package/dist/comps/password.js +0 -30
  149. package/dist/comps/progressbar.d.ts +0 -11
  150. package/dist/comps/progressbar.js +0 -14
  151. package/dist/comps/search/index.d.ts +0 -7
  152. package/dist/comps/segmented/index.d.ts +0 -46
  153. package/dist/comps/segmented/item.d.ts +0 -8
  154. package/dist/comps/select/index.d.ts +0 -15
  155. package/dist/comps/select/index.js +0 -79
  156. package/dist/comps/sheet.js +0 -229
  157. package/dist/comps/span.d.ts +0 -6
  158. package/dist/comps/span.js +0 -12
  159. package/dist/comps/spinner.d.ts +0 -16
  160. package/dist/comps/spinner.js +0 -42
  161. package/dist/comps/tabview.js +0 -64
  162. package/dist/comps/textwheel.d.ts +0 -15
  163. package/dist/comps/treeview/item.d.ts +0 -15
  164. package/dist/comps/treeview/item.js +0 -23
  165. package/dist/comps/useBase/base.types.d.ts +0 -80
  166. package/dist/comps/useBase/index.d.ts +0 -10
  167. package/dist/funs/lexer.d.ts +0 -3
  168. package/dist/funs/lexer.js +0 -37
  169. package/dist/hooks/useCompEditor.d.ts +0 -2
  170. package/dist/hooks/useCompEditor.js +0 -5
  171. package/dist/hooks/useInteractionObserver.d.ts +0 -8
  172. package/dist/hooks/useInteractionObserver.js +0 -21
  173. package/dist/hooks/usePubSub.d.ts +0 -3
  174. package/dist/hooks/usePubSub.js +0 -19
  175. package/dist/hooks/useSub.d.ts +0 -3
  176. package/dist/hooks/useSub.js +0 -17
  177. package/dist/hooks/useToast.d.ts +0 -2
  178. package/dist/hooks/useToast.js +0 -10
  179. package/dist/hooks/useWindowFocus.d.ts +0 -2
  180. package/dist/hooks/useWindowFocus.js +0 -11
  181. package/dist/media/edit-ui.d.ts +0 -2
  182. package/dist/media/edit-ui.js +0 -2
  183. package/dist/mixins.css +0 -1
  184. /package/dist/comps/{dialog.d.ts → Accordion/item.d.ts} +0 -0
  185. /package/dist/comps/{dialog.js → Accordion/item.js} +0 -0
  186. /package/dist/comps/{useBase/base.types.js → Accordion/types.js} +0 -0
  187. /package/dist/comps/{select/select.d.ts → TabView/head.d.ts} +0 -0
  188. /package/dist/comps/{select/select.js → TabView/head.js} +0 -0
  189. /package/dist/{hooks/usePub.d.ts → comps/TabView/item.d.ts} +0 -0
  190. /package/dist/{hooks/usePub.js → comps/TabView/item.js} +0 -0
package/dist/index.d.ts CHANGED
@@ -1,34 +1,8 @@
1
- export { withZuz as css } from './funs';
1
+ export * from "./comps";
2
+ export { withCSS as css } from "./funs";
2
3
  export * from "./funs";
4
+ export { default as PubSub } from "./funs/events";
3
5
  export * from "./hooks";
6
+ export * from "./types";
4
7
  export * from "./types/enums";
5
- export { default as PubSub } from "./funs/events";
6
- export { default as Accordion } from "./comps/accordion";
7
- export { default as Alert } from "./comps/alert";
8
- export { default as Avatar } from "./comps/avatar";
9
- export { default as Box } from "./comps/box";
10
- export { default as Span } from "./comps/span";
11
- export { default as Button } from "./comps/button";
12
- export { default as CheckBox } from "./comps/checkbox";
13
- export { default as Switch } from "./comps/checkbox";
14
- export { default as ContextMenu } from "./comps/contextmenu";
15
- export { default as Cover } from "./comps/cover";
16
- export { default as Drawer } from "./comps/drawer";
17
- export { default as Form } from "./comps/form";
18
- export { default as Heading } from "./comps/heading";
19
- export { default as Text } from "./comps/heading";
20
- export { default as Icon } from "./comps/icon";
21
- export { default as Image } from "./comps/image";
22
- export { default as Input } from "./comps/input";
23
- export { default as Select } from "./comps/select";
24
- export { default as Sheet } from "./comps/sheet";
25
- export { default as Spinner } from "./comps/spinner";
26
- export { default as TabView } from "./comps/tabview";
27
- export { default as TextWheel } from "./comps/textwheel";
28
- export { default as TreeView } from "./comps/treeview";
29
- export { default as Grid } from "./comps/grid";
30
- export { default as PinInput } from "./comps/otp";
31
- export { default as Password } from "./comps/password";
32
- export { default as ProgressBar } from "./comps/progressbar";
33
- export { default as SearchBox } from "./comps/search";
34
- export { default as SelectTabs } from "./comps/segmented";
8
+ export * from "./types/interfaces";
package/dist/index.js CHANGED
@@ -1,35 +1,8 @@
1
- export { withZuz as css } from './funs';
1
+ export * from "./comps";
2
+ export { withCSS as css } from "./funs";
2
3
  export * from "./funs";
4
+ export { default as PubSub } from "./funs/events";
3
5
  export * from "./hooks";
6
+ export * from "./types";
4
7
  export * from "./types/enums";
5
- export { default as PubSub } from "./funs/events";
6
- export { default as Accordion } from "./comps/accordion";
7
- export { default as Alert } from "./comps/alert";
8
- export { default as Avatar } from "./comps/avatar";
9
- export { default as Box } from "./comps/box";
10
- export { default as Span } from "./comps/span";
11
- export { default as Button } from "./comps/button";
12
- export { default as CheckBox } from "./comps/checkbox";
13
- export { default as Switch } from "./comps/checkbox";
14
- export { default as ContextMenu } from "./comps/contextmenu";
15
- export { default as Cover } from "./comps/cover";
16
- export { default as Drawer } from "./comps/drawer";
17
- export { default as Form } from "./comps/form";
18
- export { default as Heading } from "./comps/heading";
19
- export { default as Text } from "./comps/heading";
20
- export { default as Icon } from "./comps/icon";
21
- export { default as Image } from "./comps/image";
22
- export { default as Input } from "./comps/input";
23
- export { default as Select } from "./comps/select";
24
- export { default as Sheet } from "./comps/sheet";
25
- export { default as Spinner } from "./comps/spinner";
26
- export { default as TabView } from "./comps/tabview";
27
- export { default as TextWheel } from "./comps/textwheel";
28
- export { default as TreeView } from "./comps/treeview";
29
- // UI-Kit
30
- export { default as Grid } from "./comps/grid";
31
- export { default as PinInput } from "./comps/otp";
32
- export { default as Password } from "./comps/password";
33
- export { default as ProgressBar } from "./comps/progressbar";
34
- export { default as SearchBox } from "./comps/search";
35
- export { default as SelectTabs } from "./comps/segmented";
8
+ export * from "./types/interfaces";
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;--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;--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}.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}.--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)}.--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}.--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}.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;pointer-events:auto}.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-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,65 +1,59 @@
1
- import { DetailedHTMLProps, HTMLAttributes } from "react";
2
- import { SKELETON, TRANSITION_CURVES, TRANSITIONS } from "./enums";
3
1
  import { dynamicObject } from ".";
2
+ import { SKELETON, TRANSITION_CURVES, TRANSITIONS } from "./enums";
4
3
  /**
5
- * Configuration for a skeleton loading indicator.
4
+ * `animationProps` defines the properties to control animation effects
5
+ * applied to elements. Supports transitions with timing configurations.
6
6
  */
7
- export interface Skeleton {
8
- /**
9
- * Determines if the skeleton is enabled or disabled.
10
- */
11
- enabled: boolean;
12
- /**
13
- * The type of skeleton effect to apply. Optional.
14
- */
15
- type?: SKELETON;
16
- /**
17
- * The size of the skeleton element, which can be a number or string. Optional.
18
- */
19
- size?: number | string;
20
- /**
21
- * The width of the skeleton element, which can be a number or string. Optional.
22
- */
23
- width?: number | string;
24
- /**
25
- * The height of the skeleton element, which can be a number or string. Optional.
26
- */
27
- height?: number | string;
7
+ export interface animationProps {
28
8
  /**
29
- * The border radius of the skeleton element, which can be a number or string. Optional.
9
+ * Specifies the type of transition to apply, based on predefined
10
+ * {@link TRANSITIONS}
30
11
  */
31
- radius?: number | string;
32
- }
33
- export interface BaseProps {
34
- /** CSS Styles, such as "w:100" for "width: 100px"; */
35
- as?: string | string[];
36
- /** Animation configuration using {@link animationProps} */
37
- animate?: animationProps;
38
- /** Enables inline editor for current component */
39
- editor?: boolean;
40
- /** Skeleton placeholder configuration using {@link Skeleton} */
41
- skeleton?: Skeleton;
42
- }
43
- export interface animationProps {
44
12
  transition?: TRANSITIONS;
13
+ /** Starting style properties for the animation */
45
14
  from?: dynamicObject;
15
+ /** Target style properties after the animation completes */
46
16
  to?: dynamicObject;
17
+ /** Condition that determines when the animation should trigger */
47
18
  when?: boolean;
19
+ /** Duration of the animation in milliseconds */
48
20
  duration?: number;
21
+ /** Delay before the animation starts, in milliseconds */
49
22
  delay?: number;
23
+ /** Easing curve applied to the animation, as a string or {@link TRANSITION_CURVES} */
50
24
  curve?: string | TRANSITION_CURVES;
51
25
  }
52
- export interface FormatNumberParams {
53
- number: number | string;
54
- locale: string;
55
- style?: `decimal` | `currency` | `percent`;
56
- decimal?: number;
57
- currency?: {
58
- code: string;
59
- style: `symbol` | `code` | `name`;
60
- symbol?: string;
61
- };
62
- }
63
- export interface UIProps<T extends HTMLElement> extends DetailedHTMLProps<HTMLAttributes<T>, T> {
64
- [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;
65
59
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zuzjs/ui",
3
- "version": "0.5.6",
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,10 +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
- import SVGIcons from "./svgicons";
5
- const Accordion = forwardRef((props, ref) => {
6
- const { title, message, ...rest } = props;
7
- const [visible, setVisible] = useState(false);
8
- 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 ? SVGIcons.ArrowUp : SVGIcons.ArrowDown })] }), visible && _jsx(With, { className: `--detail`, children: message })] });
9
- });
10
- 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,6 +0,0 @@
1
- import { Props } from "./useBase/base.types";
2
- export interface BoxProps extends Props<'div'> {
3
- name?: string;
4
- }
5
- declare const Box: import("react").ForwardRefExoticComponent<BoxProps & import("react").RefAttributes<HTMLDivElement>>;
6
- export default Box;
@@ -1,7 +0,0 @@
1
- import { Props } from "./useBase/base.types";
2
- export interface ButtonProps extends Props<`button`> {
3
- icon?: string;
4
- withLabel?: boolean;
5
- }
6
- declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
7
- export default Button;