@helpdice/ui 1.7.5 → 1.7.8

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 (304) hide show
  1. package/dist/CurrencyInput/index.js +2981 -0
  2. package/dist/LinearProgress/index.d.ts +2 -0
  3. package/dist/{css-baseline → LinearProgress}/index.js +25 -317
  4. package/dist/LinearProgress/linear-progress.d.ts +9 -0
  5. package/dist/Loadable/index.js +570 -0
  6. package/dist/PhoneInput/index.js +2136 -314
  7. package/dist/Placeholder/index.js +2116 -254
  8. package/dist/auto-complete/index.js +2145 -652
  9. package/dist/avatar/index.js +2119 -333
  10. package/dist/badge/index.js +2117 -331
  11. package/dist/breadcrumbs/index.js +2126 -340
  12. package/dist/button/button.compact.d.ts +2 -0
  13. package/dist/button/index.js +2214 -342
  14. package/dist/button-dropdown/index.js +2120 -291
  15. package/dist/button-group/index.js +2117 -331
  16. package/dist/capacity/index.js +2117 -331
  17. package/dist/card/index.js +2127 -298
  18. package/dist/checkbox/index.js +2119 -290
  19. package/dist/code/index.js +2116 -297
  20. package/dist/collapse/index.js +2117 -475
  21. package/dist/description/index.js +2117 -331
  22. package/dist/display/index.js +2117 -331
  23. package/dist/divider/index.js +2118 -332
  24. package/dist/dot/index.js +2117 -331
  25. package/dist/drawer/index.js +2129 -439
  26. package/dist/fieldset/index.js +2121 -354
  27. package/dist/grid/index.js +2119 -333
  28. package/dist/image/index.js +2122 -336
  29. package/dist/index.d.ts +2 -14
  30. package/dist/index.js +3175 -1879
  31. package/dist/input/index.js +2125 -296
  32. package/dist/keyboard/index.js +2116 -297
  33. package/dist/link/index.js +2117 -331
  34. package/dist/list/index.js +2119 -333
  35. package/dist/loading/index.js +2117 -331
  36. package/dist/menu/index.js +77 -45
  37. package/dist/modal/index.js +2145 -452
  38. package/dist/note/index.js +2117 -331
  39. package/dist/page/index.js +2117 -331
  40. package/dist/pagination/index.js +2118 -351
  41. package/dist/popover/index.js +2123 -354
  42. package/dist/progress/index.js +2117 -331
  43. package/dist/radio/index.js +2120 -334
  44. package/dist/rating/index.js +2118 -332
  45. package/dist/row/index.js +2115 -296
  46. package/dist/select/index.js +2151 -688
  47. package/dist/slider/index.js +2123 -356
  48. package/dist/snippet/index.js +2118 -421
  49. package/dist/spacer/index.js +2115 -296
  50. package/dist/spinner/index.js +2117 -331
  51. package/dist/table/index.js +2341 -754
  52. package/dist/tabs/index.js +2123 -344
  53. package/dist/tag/index.js +2116 -254
  54. package/dist/text/index.js +2116 -297
  55. package/dist/textarea/index.js +2117 -288
  56. package/dist/toggle/index.js +2117 -331
  57. package/dist/tooltip/index.js +2120 -351
  58. package/dist/tree/index.js +2123 -459
  59. package/dist/use-input/index.js +2122 -24
  60. package/dist/use-modal/index.js +2122 -24
  61. package/dist/use-network-status/index.d.ts +2 -0
  62. package/dist/{use-current-state → use-network-status}/index.js +22 -15
  63. package/dist/use-network-status/use-netowork-status.d.ts +4 -0
  64. package/dist/use-scale/index.js +2115 -296
  65. package/dist/use-tabs/index.js +2122 -24
  66. package/dist/user/index.js +2123 -337
  67. package/esm/CurrencyInput/components/CurrencyInput.js +342 -0
  68. package/esm/CurrencyInput/components/CurrencyInputProps.js +1 -0
  69. package/esm/CurrencyInput/components/utils/addSeparators.js +7 -0
  70. package/esm/CurrencyInput/components/utils/cleanValue.js +69 -0
  71. package/esm/CurrencyInput/components/utils/escapeRegExp.js +8 -0
  72. package/esm/CurrencyInput/components/utils/fixedDecimalValue.js +29 -0
  73. package/esm/CurrencyInput/components/utils/formatValue.js +124 -0
  74. package/esm/CurrencyInput/components/utils/getLocaleConfig.js +47 -0
  75. package/esm/CurrencyInput/components/utils/getSuffix.js +10 -0
  76. package/esm/CurrencyInput/components/utils/index.js +8 -0
  77. package/esm/CurrencyInput/components/utils/isNumber.js +3 -0
  78. package/esm/CurrencyInput/components/utils/padTrimValue.js +27 -0
  79. package/esm/CurrencyInput/components/utils/parseAbbrValue.js +43 -0
  80. package/esm/CurrencyInput/components/utils/removeInvalidChars.js +10 -0
  81. package/esm/CurrencyInput/components/utils/removeSeparators.js +10 -0
  82. package/esm/CurrencyInput/components/utils/repositionCursor.js +35 -0
  83. package/esm/CurrencyInput/index.js +4 -0
  84. package/esm/LinearProgress/index.d.ts +2 -0
  85. package/esm/LinearProgress/index.js +2 -0
  86. package/esm/LinearProgress/linear-progress.d.ts +9 -0
  87. package/esm/LinearProgress/linear-progress.js +28 -0
  88. package/esm/Loadable/index.js +2 -0
  89. package/esm/PhoneInput/phone.js +22 -19
  90. package/esm/auto-complete/auto-complete-dropdown.js +1 -3
  91. package/esm/auto-complete/auto-complete-item.js +1 -3
  92. package/esm/auto-complete/auto-complete-searching.js +1 -1
  93. package/esm/auto-complete/auto-complete.js +1 -1
  94. package/esm/avatar/avatar-group.js +1 -2
  95. package/esm/avatar/avatar.js +1 -2
  96. package/esm/badge/badge.js +1 -2
  97. package/esm/breadcrumbs/breadcrumbs-item.js +1 -1
  98. package/esm/breadcrumbs/breadcrumbs-separator.js +1 -1
  99. package/esm/breadcrumbs/breadcrumbs.js +1 -1
  100. package/esm/button/button-icon.js +1 -1
  101. package/esm/button/button.compact.d.ts +2 -0
  102. package/esm/button/button.compact.js +94 -50
  103. package/esm/button/button.js +1 -2
  104. package/esm/button/utils.js +1 -1
  105. package/esm/button-dropdown/button-dropdown-item.js +1 -1
  106. package/esm/button-dropdown/button-dropdown.js +1 -2
  107. package/esm/button-group/button-group.js +1 -2
  108. package/esm/capacity/capacity.js +1 -2
  109. package/esm/card/card-content.js +1 -1
  110. package/esm/card/card-footer.js +1 -2
  111. package/esm/card/card.js +1 -2
  112. package/esm/carousal/Arrow.js +18 -0
  113. package/esm/carousal/Indicator.js +20 -0
  114. package/esm/carousal/Thumbs.js +302 -0
  115. package/esm/carousal/animations.js +162 -0
  116. package/esm/carousal/index.js +683 -0
  117. package/esm/carousal/types.js +1 -0
  118. package/esm/carousal/utils.js +49 -0
  119. package/esm/checkbox/checkbox-group.js +1 -1
  120. package/esm/checkbox/checkbox.icon.js +1 -1
  121. package/esm/checkbox/checkbox.js +1 -2
  122. package/esm/code/code.js +1 -1
  123. package/esm/collapse/collapse-group.js +1 -2
  124. package/esm/collapse/collapse.js +1 -4
  125. package/esm/description/description.js +1 -2
  126. package/esm/display/display.js +1 -2
  127. package/esm/divider/divider.js +1 -2
  128. package/esm/dot/dot.js +1 -2
  129. package/esm/drawer/drawer-wrapper.js +1 -3
  130. package/esm/drawer/drawer.js +1 -1
  131. package/esm/fieldset/fieldset-content.js +1 -1
  132. package/esm/fieldset/fieldset-footer.js +1 -1
  133. package/esm/fieldset/fieldset-group.js +1 -3
  134. package/esm/fieldset/fieldset-title.js +1 -1
  135. package/esm/fieldset/fieldset.js +1 -2
  136. package/esm/grid/basic-item.js +1 -2
  137. package/esm/grid/grid-container.js +1 -1
  138. package/esm/grid/grid.js +1 -1
  139. package/esm/image/image-browser.js +1 -2
  140. package/esm/image/image.js +1 -2
  141. package/esm/image/image.skeleton.js +1 -1
  142. package/esm/index.d.ts +2 -14
  143. package/esm/index.js +5 -9
  144. package/esm/input/input-block-label.js +1 -1
  145. package/esm/input/input-icon-clear.js +1 -2
  146. package/esm/input/input-label.js +1 -1
  147. package/esm/input/input.js +1 -2
  148. package/esm/keyboard/keyboard.js +1 -1
  149. package/esm/link/link.js +1 -2
  150. package/esm/list/list-item.js +1 -2
  151. package/esm/loading/loading.js +1 -2
  152. package/esm/modal/modal-action.js +1 -2
  153. package/esm/modal/modal-actions.js +1 -1
  154. package/esm/modal/modal-content.js +1 -1
  155. package/esm/modal/modal-subtitle.js +1 -1
  156. package/esm/modal/modal-title.js +1 -1
  157. package/esm/modal/modal-wrapper.js +1 -3
  158. package/esm/modal/modal.js +1 -1
  159. package/esm/note/note.js +1 -2
  160. package/esm/page/page-header.js +1 -1
  161. package/esm/page/page.js +1 -1
  162. package/esm/pagination/pagination-item.js +1 -2
  163. package/esm/pagination/pagination.js +1 -1
  164. package/esm/popover/popover-item.js +1 -2
  165. package/esm/popover/popover.js +1 -1
  166. package/esm/progress/progress.js +1 -2
  167. package/esm/radio/radio-description.js +1 -1
  168. package/esm/radio/radio-group.js +1 -1
  169. package/esm/radio/radio.js +1 -2
  170. package/esm/rating/rating.js +1 -2
  171. package/esm/row/row.js +1 -1
  172. package/esm/select/select-dropdown.js +1 -3
  173. package/esm/select/select-icon-clear.js +1 -1
  174. package/esm/select/select-multiple-value.js +1 -1
  175. package/esm/select/select-option.js +1 -3
  176. package/esm/select/select.js +9 -12
  177. package/esm/slider/slider-dot.js +1 -2
  178. package/esm/slider/slider-mark.js +1 -1
  179. package/esm/slider/slider.js +1 -3
  180. package/esm/snippet/snippet.js +1 -3
  181. package/esm/spinner/spinner.js +1 -2
  182. package/esm/table/table-body.js +1 -2
  183. package/esm/table/table-head.js +3 -2
  184. package/esm/tabs/tabs-item.js +1 -2
  185. package/esm/tabs/tabs.js +1 -3
  186. package/esm/tag/tag.js +1 -1
  187. package/esm/text/child.js +1 -1
  188. package/esm/textarea/textarea.js +1 -2
  189. package/esm/toggle/toggle.js +1 -2
  190. package/esm/tooltip/tooltip-content.js +1 -3
  191. package/esm/tooltip/tooltip-icon.js +1 -1
  192. package/esm/tooltip/tooltip.js +1 -1
  193. package/esm/tree/tree-file-icon.js +1 -1
  194. package/esm/tree/tree-file.js +1 -2
  195. package/esm/tree/tree-folder-icon.js +1 -1
  196. package/esm/tree/tree-folder.js +1 -3
  197. package/esm/tree/tree-status-icon.js +1 -1
  198. package/esm/tree/tree.js +1 -1
  199. package/esm/use-input/use-input.js +1 -1
  200. package/esm/use-modal/use-modal.js +1 -1
  201. package/esm/use-network-status/index.d.ts +2 -0
  202. package/esm/use-network-status/index.js +2 -0
  203. package/esm/use-network-status/use-netowork-status.d.ts +4 -0
  204. package/esm/use-network-status/use-netowork-status.js +29 -0
  205. package/esm/use-scale/with-scale.js +1 -1
  206. package/esm/use-tabs/use-tabs.js +1 -1
  207. package/esm/user/user.js +1 -2
  208. package/esm/utils/use-context-state/use-context-state.js +1 -1
  209. package/esm/utils/use-drag.js +1 -1
  210. package/package.json +12 -4
  211. package/dist/css-baseline/css-baseline.d.ts +0 -9
  212. package/dist/css-baseline/index.d.ts +0 -1
  213. package/dist/shared/backdrop.d.ts +0 -14
  214. package/dist/shared/css-transition.d.ts +0 -13
  215. package/dist/shared/dropdown.d.ts +0 -9
  216. package/dist/shared/ellipsis.d.ts +0 -6
  217. package/dist/shared/expand.d.ts +0 -7
  218. package/dist/shared/highlight.d.ts +0 -13
  219. package/dist/ui-provider/index.d.ts +0 -3
  220. package/dist/ui-provider/index.js +0 -2186
  221. package/dist/ui-provider/theme-provider.d.ts +0 -8
  222. package/dist/ui-provider/ui-provider.d.ts +0 -8
  223. package/dist/use-all-themes/all-themes-context.d.ts +0 -7
  224. package/dist/use-all-themes/index.d.ts +0 -3
  225. package/dist/use-all-themes/index.js +0 -311
  226. package/dist/use-classes/index.d.ts +0 -2
  227. package/dist/use-classes/index.js +0 -48
  228. package/dist/use-classes/use-classes.d.ts +0 -4
  229. package/dist/use-current-state/index.d.ts +0 -2
  230. package/dist/use-current-state/use-current-state.d.ts +0 -4
  231. package/dist/use-media-query/index.d.ts +0 -3
  232. package/dist/use-media-query/index.js +0 -444
  233. package/dist/use-media-query/use-media-query.d.ts +0 -12
  234. package/dist/use-theme/index.d.ts +0 -2
  235. package/dist/use-theme/index.js +0 -309
  236. package/dist/use-theme/theme-context.d.ts +0 -4
  237. package/dist/use-toasts/helpers.d.ts +0 -18
  238. package/dist/use-toasts/index.d.ts +0 -3
  239. package/dist/use-toasts/index.js +0 -204
  240. package/dist/use-toasts/toast-container.d.ts +0 -3
  241. package/dist/use-toasts/toast-item.d.ts +0 -8
  242. package/dist/use-toasts/use-toast.d.ts +0 -40
  243. package/dist/utils/use-current-state.d.ts +0 -2
  244. package/dist/utils/use-dom-observer.d.ts +0 -3
  245. package/dist/utils/use-hd-ui-context.d.ts +0 -16
  246. package/dist/utils/use-previous.d.ts +0 -2
  247. package/esm/captcha/index.js +0 -128
  248. package/esm/css-baseline/css-baseline.d.ts +0 -9
  249. package/esm/css-baseline/css-baseline.js +0 -23
  250. package/esm/css-baseline/index.d.ts +0 -1
  251. package/esm/css-baseline/index.js +0 -2
  252. package/esm/shared/backdrop.d.ts +0 -14
  253. package/esm/shared/backdrop.js +0 -66
  254. package/esm/shared/css-transition.d.ts +0 -13
  255. package/esm/shared/css-transition.js +0 -65
  256. package/esm/shared/dropdown.d.ts +0 -9
  257. package/esm/shared/dropdown.js +0 -99
  258. package/esm/shared/ellipsis.d.ts +0 -6
  259. package/esm/shared/ellipsis.js +0 -13
  260. package/esm/shared/expand.d.ts +0 -7
  261. package/esm/shared/expand.js +0 -86
  262. package/esm/shared/highlight.d.ts +0 -13
  263. package/esm/shared/highlight.js +0 -46
  264. package/esm/ui-provider/index.d.ts +0 -3
  265. package/esm/ui-provider/index.js +0 -4
  266. package/esm/ui-provider/theme-provider.d.ts +0 -8
  267. package/esm/ui-provider/theme-provider.js +0 -45
  268. package/esm/ui-provider/ui-provider.d.ts +0 -8
  269. package/esm/ui-provider/ui-provider.js +0 -55
  270. package/esm/use-all-themes/all-themes-context.d.ts +0 -7
  271. package/esm/use-all-themes/all-themes-context.js +0 -11
  272. package/esm/use-all-themes/index.d.ts +0 -3
  273. package/esm/use-all-themes/index.js +0 -2
  274. package/esm/use-classes/index.d.ts +0 -2
  275. package/esm/use-classes/index.js +0 -2
  276. package/esm/use-classes/use-classes.d.ts +0 -4
  277. package/esm/use-classes/use-classes.js +0 -34
  278. package/esm/use-current-state/index.d.ts +0 -2
  279. package/esm/use-current-state/index.js +0 -2
  280. package/esm/use-current-state/use-current-state.d.ts +0 -4
  281. package/esm/use-current-state/use-current-state.js +0 -23
  282. package/esm/use-media-query/index.d.ts +0 -3
  283. package/esm/use-media-query/index.js +0 -2
  284. package/esm/use-media-query/use-media-query.d.ts +0 -12
  285. package/esm/use-media-query/use-media-query.js +0 -81
  286. package/esm/use-theme/index.d.ts +0 -2
  287. package/esm/use-theme/index.js +0 -2
  288. package/esm/use-theme/theme-context.d.ts +0 -4
  289. package/esm/use-theme/theme-context.js +0 -9
  290. package/esm/use-toasts/helpers.d.ts +0 -18
  291. package/esm/use-toasts/helpers.js +0 -68
  292. package/esm/use-toasts/index.d.ts +0 -3
  293. package/esm/use-toasts/index.js +0 -2
  294. package/esm/use-toasts/toast-container.d.ts +0 -3
  295. package/esm/use-toasts/toast-container.js +0 -120
  296. package/esm/use-toasts/toast-item.d.ts +0 -8
  297. package/esm/use-toasts/toast-item.js +0 -45
  298. package/esm/use-toasts/use-toast.d.ts +0 -40
  299. package/esm/use-toasts/use-toast.js +0 -103
  300. package/esm/utils/use-current-state.d.ts +0 -2
  301. package/esm/utils/use-current-state.js +0 -2
  302. package/esm/utils/use-dom-observer.d.ts +0 -3
  303. package/esm/utils/use-hd-ui-context.d.ts +0 -16
  304. package/esm/utils/use-previous.d.ts +0 -2
@@ -1,45 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
- /* "use client" */
4
-
5
- import React from 'react';
6
- import Themes from '../themes';
7
- import { ThemeContext } from '../use-theme/theme-context';
8
- import { AllThemesContext } from '../use-all-themes/all-themes-context';
9
- var ThemeProvider = function ThemeProvider(_ref) {
10
- var children = _ref.children,
11
- themeType = _ref.themeType,
12
- _ref$themes = _ref.themes,
13
- themes = _ref$themes === void 0 ? [] : _ref$themes;
14
- var _React$useState = React.useState({
15
- themes: Themes.getPresets()
16
- }),
17
- _React$useState2 = _slicedToArray(_React$useState, 2),
18
- allThemes = _React$useState2[0],
19
- setAllThemes = _React$useState2[1];
20
- var currentTheme = React.useMemo(function () {
21
- var theme = allThemes.themes.find(function (item) {
22
- return item.type === themeType;
23
- });
24
- if (theme) return theme;
25
- return Themes.getPresetStaticTheme();
26
- }, [allThemes, themeType]);
27
- React.useEffect(function () {
28
- if (!(themes !== null && themes !== void 0 && themes.length)) return;
29
- setAllThemes(function (last) {
30
- var safeThemes = themes.filter(function (item) {
31
- return Themes.isAvailableThemeType(item.type);
32
- });
33
- var nextThemes = Themes.getPresets().concat(safeThemes);
34
- return _extends({}, last, {
35
- themes: nextThemes
36
- });
37
- });
38
- }, [themes]);
39
- return /*#__PURE__*/React.createElement(AllThemesContext.Provider, {
40
- value: allThemes
41
- }, /*#__PURE__*/React.createElement(ThemeContext.Provider, {
42
- value: currentTheme
43
- }, children));
44
- };
45
- export default ThemeProvider;
@@ -1,8 +0,0 @@
1
- import React, { PropsWithChildren } from 'react';
2
- import { HUIThemes } from '../themes/presets';
3
- export type UiProviderProps = {
4
- themes?: Array<HUIThemes>;
5
- themeType?: string | 'dark' | 'light';
6
- };
7
- declare const HuiProvider: React.FC<PropsWithChildren<UiProviderProps>>;
8
- export default HuiProvider;
@@ -1,55 +0,0 @@
1
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
- /* "use client" */
3
-
4
- import React from 'react';
5
- import { HUIContent, defaultToastLayout } from '../utils/use-hd-ui-context';
6
- import ThemeProvider from './theme-provider';
7
- import useCurrentState from '../utils/use-current-state';
8
- import ToastContainer from '../use-toasts/toast-container';
9
- var HuiProvider = function HuiProvider(_ref) {
10
- var themes = _ref.themes,
11
- themeType = _ref.themeType,
12
- children = _ref.children;
13
- var _React$useState = React.useState(''),
14
- _React$useState2 = _slicedToArray(_React$useState, 2),
15
- lastUpdateToastId = _React$useState2[0],
16
- setLastUpdateToastId = _React$useState2[1];
17
- var _useCurrentState = useCurrentState([]),
18
- _useCurrentState2 = _slicedToArray(_useCurrentState, 3),
19
- toasts = _useCurrentState2[0],
20
- setToasts = _useCurrentState2[1],
21
- toastsRef = _useCurrentState2[2];
22
- var _useCurrentState3 = useCurrentState(defaultToastLayout),
23
- _useCurrentState4 = _slicedToArray(_useCurrentState3, 3),
24
- toastLayout = _useCurrentState4[0],
25
- setToastLayout = _useCurrentState4[1],
26
- toastLayoutRef = _useCurrentState4[2];
27
- var updateToasts = function updateToasts(fn) {
28
- var nextToasts = fn(toastsRef.current);
29
- setToasts(nextToasts);
30
- };
31
- var updateToastLayout = function updateToastLayout(fn) {
32
- var nextLayout = fn(toastLayoutRef.current);
33
- setToastLayout(nextLayout);
34
- };
35
- var updateLastToastId = function updateLastToastId(fn) {
36
- setLastUpdateToastId(fn());
37
- };
38
- var initialValue = React.useMemo(function () {
39
- return {
40
- toasts: toasts,
41
- toastLayout: toastLayout,
42
- updateToasts: updateToasts,
43
- lastUpdateToastId: lastUpdateToastId,
44
- updateToastLayout: updateToastLayout,
45
- updateLastToastId: updateLastToastId
46
- };
47
- }, [toasts, toastLayout, lastUpdateToastId]);
48
- return /*#__PURE__*/React.createElement(HUIContent.Provider, {
49
- value: initialValue
50
- }, /*#__PURE__*/React.createElement(ThemeProvider, {
51
- themes: themes,
52
- themeType: themeType
53
- }, children, /*#__PURE__*/React.createElement(ToastContainer, null)));
54
- };
55
- export default HuiProvider;
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
- import { HUIThemes } from '../themes/presets';
3
- export type AllThemesConfig = {
4
- themes: Array<HUIThemes>;
5
- };
6
- export declare const AllThemesContext: React.Context<AllThemesConfig>;
7
- export declare const useAllThemes: () => AllThemesConfig;
@@ -1,11 +0,0 @@
1
- /* "use client" */
2
-
3
- import React from 'react';
4
- import Themes from '../themes/themes';
5
- var defaultAllThemesConfig = {
6
- themes: Themes.getPresets()
7
- };
8
- export var AllThemesContext = /*#__PURE__*/React.createContext(defaultAllThemesConfig);
9
- export var useAllThemes = function useAllThemes() {
10
- return React.useContext(AllThemesContext);
11
- };
@@ -1,3 +0,0 @@
1
- import { useAllThemes } from './all-themes-context';
2
- export type { AllThemesConfig } from './all-themes-context';
3
- export default useAllThemes;
@@ -1,2 +0,0 @@
1
- import { useAllThemes } from './all-themes-context';
2
- export default useAllThemes;
@@ -1,2 +0,0 @@
1
- import { default as useClasses } from './use-classes';
2
- export default useClasses;
@@ -1,2 +0,0 @@
1
- import { default as useClasses } from './use-classes';
2
- export default useClasses;
@@ -1,4 +0,0 @@
1
- export type classNamesObject = Record<string, boolean | string | number | null | undefined>;
2
- export type className = string | classNamesObject | null | undefined | boolean | number;
3
- declare const useClasses: (...classNames: Array<className>) => string;
4
- export default useClasses;
@@ -1,34 +0,0 @@
1
- import _typeof from "@babel/runtime/helpers/esm/typeof";
2
- /* "use client" */
3
-
4
- var classObjectToString = function classObjectToString(className) {
5
- var keys = Object.keys(className);
6
- var len = keys.length;
7
- var str = '';
8
- for (var index = 0; index < len; index++) {
9
- var key = keys[index];
10
- var val = className[keys[index]];
11
- if (!val) continue;
12
- str = str ? "".concat(str, " ").concat(String(key)) : String(key);
13
- }
14
- return str;
15
- };
16
- var isObjectClassName = function isObjectClassName(value) {
17
- return _typeof(value) === 'object' && !Array.isArray(value);
18
- };
19
- var useClasses = function useClasses() {
20
- var len = arguments.length;
21
- var classes = '';
22
- if (len === 0) return classes;
23
- for (var index = 0; index < len; index++) {
24
- var val = index < 0 || arguments.length <= index ? undefined : arguments[index];
25
- if (!val) continue;
26
- if (isObjectClassName(val)) {
27
- classes += " ".concat(classObjectToString(val));
28
- } else {
29
- classes += " ".concat(String(val).trim());
30
- }
31
- }
32
- return classes.trim();
33
- };
34
- export default useClasses;
@@ -1,2 +0,0 @@
1
- import useCurrentState from './use-current-state';
2
- export default useCurrentState;
@@ -1,2 +0,0 @@
1
- import useCurrentState from './use-current-state';
2
- export default useCurrentState;
@@ -1,4 +0,0 @@
1
- import { Dispatch, MutableRefObject, SetStateAction } from 'react';
2
- export type CurrentStateType<S> = [S, Dispatch<SetStateAction<S>>, MutableRefObject<S>];
3
- declare const useCurrentState: <S>(initialState: S | (() => S)) => CurrentStateType<S>;
4
- export default useCurrentState;
@@ -1,23 +0,0 @@
1
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
- /* "use client" */
3
-
4
- import { useEffect, useRef, useState } from 'react';
5
- var useCurrentState = function useCurrentState(initialState) {
6
- var _useState = useState(function () {
7
- return typeof initialState === 'function' ? initialState() : initialState;
8
- }),
9
- _useState2 = _slicedToArray(_useState, 2),
10
- state = _useState2[0],
11
- setState = _useState2[1];
12
- var ref = useRef(initialState);
13
- useEffect(function () {
14
- ref.current = state;
15
- }, [state]);
16
- var setValue = function setValue(val) {
17
- var result = typeof val === 'function' ? val(ref.current) : val;
18
- ref.current = result;
19
- setState(result);
20
- };
21
- return [state, setValue, ref];
22
- };
23
- export default useCurrentState;
@@ -1,3 +0,0 @@
1
- import useMediaQuery from './use-media-query';
2
- export type { ResponsiveBreakpoint, ResponsiveOptions } from './use-media-query';
3
- export default useMediaQuery;
@@ -1,2 +0,0 @@
1
- import useMediaQuery from './use-media-query';
2
- export default useMediaQuery;
@@ -1,12 +0,0 @@
1
- declare const breakpoints: ["xs", "sm", "md", "lg", "xl", "mobile"];
2
- export type ResponsiveBreakpoint = typeof breakpoints[number];
3
- declare const matchType: ["up", "down", "default"];
4
- export type ResponsiveMatchType = typeof matchType[number];
5
- export type ResponsiveOptions = {
6
- match?: ResponsiveMatchType;
7
- ssrMatchMedia?: (query: string) => {
8
- matches: boolean;
9
- };
10
- };
11
- declare const useMediaQuery: (breakpoint: ResponsiveBreakpoint, options?: ResponsiveOptions) => boolean;
12
- export default useMediaQuery;
@@ -1,81 +0,0 @@
1
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
- /* "use client" */
3
-
4
- import { useEffect, useMemo, useState } from 'react';
5
- import useTheme from '../use-theme';
6
- import { tuple } from '../utils/prop-types';
7
- var breakpoints = tuple('xs', 'sm', 'md', 'lg', 'xl', 'mobile');
8
- var matchType = tuple('up', 'down', 'default');
9
- var defaultResponsiveOptions = {
10
- match: 'default'
11
- };
12
- var makeQueries = function makeQueries(bp, up, down) {
13
- var queryString = function queryString(item) {
14
- var upQuery = "(min-width: ".concat(item.min, ")");
15
- var downQuery = "(max-width: ".concat(item.max, ")");
16
- return up ? upQuery : down ? downQuery : "".concat(upQuery, " and ").concat(downQuery);
17
- };
18
- var xs = queryString(bp.xs);
19
- return {
20
- xs: xs,
21
- mobile: xs,
22
- sm: queryString(bp.sm),
23
- md: queryString(bp.md),
24
- lg: queryString(bp.lg),
25
- xl: queryString(bp.xl)
26
- };
27
- };
28
- var useMediaQuery = function useMediaQuery(breakpoint) {
29
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultResponsiveOptions;
30
- var _options$match = options.match,
31
- matchType = _options$match === void 0 ? 'default' : _options$match,
32
- _options$ssrMatchMedi = options.ssrMatchMedia,
33
- ssrMatchMedia = _options$ssrMatchMedi === void 0 ? null : _options$ssrMatchMedi;
34
- var supportMedia = typeof window !== 'undefined' && typeof window.matchMedia !== 'undefined';
35
- var theme = useTheme();
36
- var mediaQueries = useMemo(function () {
37
- var up = matchType === 'up';
38
- var down = matchType === 'down';
39
- return makeQueries(theme.breakpoints, up, down);
40
- }, [theme.breakpoints, options]);
41
- var query = useMemo(function () {
42
- return mediaQueries[breakpoint];
43
- }, [mediaQueries, breakpoint]);
44
- var matchQuery = function matchQuery(q) {
45
- return window.matchMedia(q);
46
- };
47
-
48
- /**
49
- * Do nothing in the server-side rendering.
50
- * If server match query fucntion is simulated, return user-defined value first.
51
- */
52
- var _useState = useState(function () {
53
- if (supportMedia) return matchQuery(query).matches;
54
- if (ssrMatchMedia && typeof ssrMatchMedia === 'function') {
55
- return ssrMatchMedia(query).matches;
56
- }
57
- return false;
58
- }),
59
- _useState2 = _slicedToArray(_useState, 2),
60
- state = _useState2[0],
61
- setState = _useState2[1];
62
- useEffect(function () {
63
- if (!supportMedia) return;
64
- var queryList = matchQuery(query);
65
- var update = function update() {
66
- return setState(matchQuery(query).matches);
67
- };
68
- update();
69
-
70
- /**
71
- * addListener is deprecated. EventTarget.addEventListener is recommended.
72
- * But in some old browsers, MediaQueryList does not inherit from EventTarget.
73
- */
74
- queryList.addListener(update);
75
- return function () {
76
- queryList.removeListener(update);
77
- };
78
- }, [supportMedia]);
79
- return state;
80
- };
81
- export default useMediaQuery;
@@ -1,2 +0,0 @@
1
- import { useTheme } from './theme-context';
2
- export default useTheme;
@@ -1,2 +0,0 @@
1
- import { useTheme } from './theme-context';
2
- export default useTheme;
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- import { HUIThemes } from '../themes/presets';
3
- export declare const ThemeContext: React.Context<HUIThemes>;
4
- export declare const useTheme: () => HUIThemes;
@@ -1,9 +0,0 @@
1
- /* "use client" */
2
-
3
- import React from 'react';
4
- import Themes from '../themes';
5
- var defaultTheme = Themes.getPresetStaticTheme();
6
- export var ThemeContext = /*#__PURE__*/React.createContext(defaultTheme);
7
- export var useTheme = function useTheme() {
8
- return React.useContext(ThemeContext);
9
- };
@@ -1,18 +0,0 @@
1
- import { Toast } from './use-toast';
2
- import React from 'react';
3
- import { HUIThemesPalette } from '../themes';
4
- import { NormalTypes } from '../utils/prop-types';
5
- export declare const makeToastActions: (actions: Toast["actions"], cancelHandle: () => void) => React.JSX.Element[] | null;
6
- export declare const getColors: (palette: HUIThemesPalette, type?: NormalTypes) => {
7
- bgColor: string;
8
- color: string;
9
- };
10
- declare const toastPlacement: ["topLeft", "topRight", "bottomLeft", "bottomRight"];
11
- export type ToastPlacement = typeof toastPlacement[number];
12
- export declare const isTopPlacement: (placement: ToastPlacement) => boolean;
13
- export declare const isLeftPlacement: (placement: ToastPlacement) => boolean;
14
- export declare const getTranslateByPlacement: (placement: ToastPlacement) => {
15
- enter: string;
16
- leave: string;
17
- };
18
- export {};
@@ -1,68 +0,0 @@
1
- import React from 'react';
2
- import Button from '../button';
3
- import { tuple } from '../utils/prop-types';
4
- export var makeToastActions = function makeToastActions(actions, cancelHandle) {
5
- var handler = function handler(event, userHandler) {
6
- userHandler && userHandler(event, cancelHandle);
7
- };
8
- if (!actions || !actions.length) return null;
9
- return actions.map(function (action, index) {
10
- return /*#__PURE__*/React.createElement(Button, {
11
- auto: true,
12
- scale: 1 / 3,
13
- font: "13px",
14
- color: action.passive ? 'default' : 'secondary',
15
- key: "action-".concat(index),
16
- onClick: function onClick(event) {
17
- return handler(event, action.handler);
18
- }
19
- }, action.name);
20
- });
21
- };
22
- export var getColors = function getColors(palette, type) {
23
- var colors = {
24
- "default": palette.background,
25
- secondary: palette.secondary,
26
- success: palette.success,
27
- warning: palette.warning,
28
- error: palette.error
29
- };
30
- var isDefault = !type || type === 'default';
31
- if (isDefault) return {
32
- bgColor: colors["default"],
33
- color: palette.foreground
34
- };
35
- /**
36
- * Prevent main color change in special types.
37
- * The color will only follow the theme when it is in the default type.
38
- */
39
- return {
40
- bgColor: colors[type],
41
- color: 'white'
42
- };
43
- };
44
- var toastPlacement = tuple('topLeft', 'topRight', 'bottomLeft', 'bottomRight');
45
- export var isTopPlacement = function isTopPlacement(placement) {
46
- return "".concat(placement).toLowerCase().startsWith('top');
47
- };
48
- export var isLeftPlacement = function isLeftPlacement(placement) {
49
- return "".concat(placement).toLowerCase().endsWith('left');
50
- };
51
- export var getTranslateByPlacement = function getTranslateByPlacement(placement) {
52
- var translateInByPlacement = {
53
- topLeft: 'translate(-60px, -60px)',
54
- topRight: 'translate(60px, -60px)',
55
- bottomLeft: 'translate(-60px, 60px)',
56
- bottomRight: 'translate(60px, 60px)'
57
- };
58
- var translateOutByPlacement = {
59
- topLeft: 'translate(-50px, 15px) scale(0.85)',
60
- topRight: 'translate(50px, 15px) scale(0.85)',
61
- bottomLeft: 'translate(-50px, -15px) scale(0.85)',
62
- bottomRight: 'translate(50px, -15px) scale(0.85)'
63
- };
64
- return {
65
- enter: translateInByPlacement[placement],
66
- leave: translateOutByPlacement[placement]
67
- };
68
- };
@@ -1,3 +0,0 @@
1
- import useToasts from './use-toast';
2
- export type { ToastAction, Toast, ToastTypes, ToastInput, ToastLayout } from './use-toast';
3
- export default useToasts;
@@ -1,2 +0,0 @@
1
- import useToasts from './use-toast';
2
- export default useToasts;
@@ -1,3 +0,0 @@
1
- import React from 'react';
2
- declare const ToastContainer: React.FC<React.PropsWithChildren<unknown>>;
3
- export default ToastContainer;
@@ -1,120 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
- import _JSXStyle from "../styled-jsx.es.js";
4
- /* "use client" */
5
-
6
- import React, { useEffect, useMemo } from 'react';
7
- import { createPortal } from 'react-dom';
8
- import usePortal from '../utils/use-portal';
9
- import useTheme from '../use-theme';
10
- import { useHUIContext } from '../utils/use-hd-ui-context';
11
- import ToastItem from './toast-item';
12
- import useClasses from '../use-classes';
13
- import { isLeftPlacement, isTopPlacement } from './helpers';
14
- import useCurrentState from '../utils/use-current-state';
15
- var ToastContainer = function ToastContainer() {
16
- var theme = useTheme();
17
- var portal = usePortal('toast');
18
- var _useCurrentState = useCurrentState(false),
19
- _useCurrentState2 = _slicedToArray(_useCurrentState, 3),
20
- setHovering = _useCurrentState2[1],
21
- hoveringRef = _useCurrentState2[2];
22
- var _useHUIContext = useHUIContext(),
23
- toasts = _useHUIContext.toasts,
24
- updateToasts = _useHUIContext.updateToasts,
25
- toastLayout = _useHUIContext.toastLayout,
26
- lastUpdateToastId = _useHUIContext.lastUpdateToastId;
27
- var memoizedLayout = useMemo(function () {
28
- return toastLayout;
29
- }, [toastLayout]);
30
- var toastElements = useMemo(function () {
31
- return toasts.map(function (toast) {
32
- return /*#__PURE__*/React.createElement(ToastItem, {
33
- toast: toast,
34
- layout: memoizedLayout,
35
- key: toast._internalIdent
36
- });
37
- });
38
- }, [toasts, memoizedLayout]);
39
- var classNames = useMemo(function () {
40
- return useClasses('toasts', {
41
- top: isTopPlacement(toastLayout.placement),
42
- left: isLeftPlacement(toastLayout.placement)
43
- });
44
- }, [memoizedLayout]);
45
- var hoverHandler = function hoverHandler(isHovering) {
46
- setHovering(isHovering);
47
- if (isHovering) {
48
- return updateToasts(function (last) {
49
- return last.map(function (toast) {
50
- if (!toast.visible) return toast;
51
- toast._timeout && window.clearTimeout(toast._timeout);
52
- return _extends({}, toast, {
53
- timeout: null
54
- });
55
- });
56
- });
57
- }
58
- updateToasts(function (last) {
59
- return last.map(function (toast, index) {
60
- if (!toast.visible) return toast;
61
- toast._timeout && window.clearTimeout(toast._timeout);
62
- return _extends({}, toast, {
63
- _timeout: function () {
64
- var timer = window.setTimeout(function () {
65
- toast.cancel();
66
- window.clearTimeout(timer);
67
- }, toast.delay + index * 100);
68
- return timer;
69
- }()
70
- });
71
- });
72
- });
73
- };
74
- useEffect(function () {
75
- var index = toasts.findIndex(function (r) {
76
- return r._internalIdent === lastUpdateToastId;
77
- });
78
- var toast = toasts[index];
79
- if (!toast || toast.visible || !hoveringRef.current) return;
80
- var hasVisible = toasts.find(function (r, i) {
81
- return i < index && r.visible;
82
- });
83
- if (hasVisible || !hoveringRef.current) return;
84
- hoverHandler(false);
85
- }, [toasts, lastUpdateToastId]);
86
- useEffect(function () {
87
- var timeout = null;
88
- var timer = window.setInterval(function () {
89
- if (toasts.length === 0) return;
90
- timeout = window.setTimeout(function () {
91
- var allInvisible = !toasts.find(function (r) {
92
- return r.visible;
93
- });
94
- allInvisible && updateToasts(function () {
95
- return [];
96
- });
97
- timeout && clearTimeout(timeout);
98
- }, 350);
99
- }, 5000);
100
- return function () {
101
- timer && clearInterval(timer);
102
- timeout && clearTimeout(timeout);
103
- };
104
- }, [toasts]);
105
- if (!portal) return null;
106
- if (!toasts || toasts.length === 0) return null;
107
- return /*#__PURE__*/createPortal(/*#__PURE__*/React.createElement("div", {
108
- onMouseEnter: function onMouseEnter() {
109
- return hoverHandler(true);
110
- },
111
- onMouseLeave: function onMouseLeave() {
112
- return hoverHandler(false);
113
- },
114
- className: _JSXStyle.dynamic([["622610754", [theme.layout.gap, theme.layout.gap, theme.layout.gap, theme.layout.gap]]]) + " " + (classNames || "")
115
- }, toastElements, /*#__PURE__*/React.createElement(_JSXStyle, {
116
- id: "622610754",
117
- dynamic: [theme.layout.gap, theme.layout.gap, theme.layout.gap, theme.layout.gap]
118
- }, ".toasts.__jsx-style-dynamic-selector{position:fixed;width:auto;max-width:100%;right:".concat(theme.layout.gap, ";bottom:").concat(theme.layout.gap, ";z-index:2000;-webkit-transition:all 400ms ease;transition:all 400ms ease;box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}.top.__jsx-style-dynamic-selector{bottom:unset;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;top:").concat(theme.layout.gap, ";}.left.__jsx-style-dynamic-selector{right:unset;left:").concat(theme.layout.gap, ";}"))), portal);
119
- };
120
- export default ToastContainer;
@@ -1,8 +0,0 @@
1
- import React from 'react';
2
- import type { Toast, ToastLayout } from './use-toast';
3
- export interface ToastItemProps {
4
- toast: Toast;
5
- layout: Required<ToastLayout>;
6
- }
7
- declare const ToastItem: React.FC<ToastItemProps>;
8
- export default ToastItem;
@@ -1,45 +0,0 @@
1
- import _JSXStyle from "../styled-jsx.es.js";
2
- /* "use client" */
3
-
4
- import React, { useMemo } from 'react';
5
- import useTheme from '../use-theme';
6
- import CssTransition from '../shared/css-transition';
7
- import { makeToastActions, getColors, getTranslateByPlacement } from './helpers';
8
- var ToastItem = /*#__PURE__*/React.memo(function (_ref) {
9
- var toast = _ref.toast,
10
- layout = _ref.layout;
11
- var theme = useTheme();
12
- var _useMemo = useMemo(function () {
13
- return getColors(theme.palette, toast.type);
14
- }, [theme.palette, toast.type]),
15
- color = _useMemo.color,
16
- bgColor = _useMemo.bgColor;
17
- var isReactNode = typeof toast.text !== 'string';
18
- var padding = layout.padding,
19
- margin = layout.margin,
20
- maxHeight = layout.maxHeight,
21
- maxWidth = layout.maxWidth,
22
- width = layout.width,
23
- placement = layout.placement;
24
- var _useMemo2 = useMemo(function () {
25
- return getTranslateByPlacement(placement);
26
- }, [placement]),
27
- enter = _useMemo2.enter,
28
- leave = _useMemo2.leave;
29
- return /*#__PURE__*/React.createElement(CssTransition, {
30
- name: "toast",
31
- visible: toast.visible,
32
- clearTime: 350
33
- }, /*#__PURE__*/React.createElement("div", {
34
- key: toast.id,
35
- className: _JSXStyle.dynamic([["1407001838", [width, maxWidth, maxHeight, theme.palette.foreground, bgColor, color, theme.layout.radius, theme.expressiveness.shadowSmall, theme.layout.gapHalf, enter, margin, padding, margin, padding, leave]]]) + " " + "toast"
36
- }, isReactNode ? toast.text : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
37
- className: _JSXStyle.dynamic([["1407001838", [width, maxWidth, maxHeight, theme.palette.foreground, bgColor, color, theme.layout.radius, theme.expressiveness.shadowSmall, theme.layout.gapHalf, enter, margin, padding, margin, padding, leave]]]) + " " + "message"
38
- }, toast.text), /*#__PURE__*/React.createElement("div", {
39
- className: _JSXStyle.dynamic([["1407001838", [width, maxWidth, maxHeight, theme.palette.foreground, bgColor, color, theme.layout.radius, theme.expressiveness.shadowSmall, theme.layout.gapHalf, enter, margin, padding, margin, padding, leave]]]) + " " + "action"
40
- }, makeToastActions(toast.actions, toast.cancel))), /*#__PURE__*/React.createElement(_JSXStyle, {
41
- id: "1407001838",
42
- dynamic: [width, maxWidth, maxHeight, theme.palette.foreground, bgColor, color, theme.layout.radius, theme.expressiveness.shadowSmall, theme.layout.gapHalf, enter, margin, padding, margin, padding, leave]
43
- }, ".toast.__jsx-style-dynamic-selector{width:".concat(width, ";max-width:").concat(maxWidth, ";max-height:").concat(maxHeight, ";display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:").concat(theme.palette.foreground, ";background-color:").concat(bgColor, ";color:").concat(color, ";border:0;border-radius:").concat(theme.layout.radius, ";opacity:1;box-shadow:").concat(theme.expressiveness.shadowSmall, ";-webkit-transition:all 350ms cubic-bezier(0.1,0.2,0.1,1);transition:all 350ms cubic-bezier(0.1,0.2,0.1,1);overflow:hidden;}.message.__jsx-style-dynamic-selector{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;font-size:0.875em;display:-webkit-box;word-break:break-all;padding-right:").concat(theme.layout.gapHalf, ";overflow:hidden;max-height:100%;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.1rem;}.toast-enter.__jsx-style-dynamic-selector{opacity:0;height:0;padding:0;margin:0;-webkit-transform:").concat(enter, ";-ms-transform:").concat(enter, ";transform:").concat(enter, ";}.toast-enter-active.__jsx-style-dynamic-selector{opacity:1;height:auto;margin:").concat(margin, ";padding:").concat(padding, ";-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0);}.toast-leave.__jsx-style-dynamic-selector{opacity:1;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0);height:auto;margin:").concat(margin, ";padding:").concat(padding, ";}.toast-leave-active.__jsx-style-dynamic-selector{opacity:0;-webkit-transform:").concat(leave, ";-ms-transform:").concat(leave, ";transform:").concat(leave, ";}"))));
44
- });
45
- export default ToastItem;