@helpdice/ui 1.7.4 → 1.7.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 (306) 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 +2175 -22
  7. package/dist/PhoneInput/phone.d.ts +1 -1
  8. package/dist/Placeholder/index.js +2116 -254
  9. package/dist/auto-complete/index.js +2145 -652
  10. package/dist/avatar/index.js +2119 -333
  11. package/dist/badge/index.js +2117 -331
  12. package/dist/breadcrumbs/index.js +2126 -340
  13. package/dist/button/button.compact.d.ts +2 -0
  14. package/dist/button/index.js +2214 -342
  15. package/dist/button-dropdown/index.js +2120 -291
  16. package/dist/button-group/index.js +2117 -331
  17. package/dist/capacity/index.js +2117 -331
  18. package/dist/card/index.js +2127 -298
  19. package/dist/checkbox/index.js +2119 -290
  20. package/dist/code/index.js +2116 -297
  21. package/dist/collapse/index.js +2117 -475
  22. package/dist/description/index.js +2117 -331
  23. package/dist/display/index.js +2117 -331
  24. package/dist/divider/index.js +2118 -332
  25. package/dist/dot/index.js +2117 -331
  26. package/dist/drawer/index.js +2129 -439
  27. package/dist/fieldset/index.js +2121 -354
  28. package/dist/grid/index.js +2119 -333
  29. package/dist/image/index.js +2122 -336
  30. package/dist/index.d.ts +2 -14
  31. package/dist/index.js +3175 -1881
  32. package/dist/input/index.js +2125 -296
  33. package/dist/keyboard/index.js +2116 -297
  34. package/dist/link/index.js +2117 -331
  35. package/dist/list/index.js +2119 -333
  36. package/dist/loading/index.js +2117 -331
  37. package/dist/menu/index.js +77 -45
  38. package/dist/modal/index.js +2145 -452
  39. package/dist/note/index.js +2117 -331
  40. package/dist/page/index.js +2117 -331
  41. package/dist/pagination/index.js +2118 -351
  42. package/dist/popover/index.js +2123 -354
  43. package/dist/progress/index.js +2117 -331
  44. package/dist/radio/index.js +2120 -334
  45. package/dist/rating/index.js +2118 -332
  46. package/dist/row/index.js +2115 -296
  47. package/dist/select/index.js +2151 -688
  48. package/dist/slider/index.js +2123 -356
  49. package/dist/snippet/index.js +2118 -421
  50. package/dist/spacer/index.js +2115 -296
  51. package/dist/spinner/index.js +2117 -331
  52. package/dist/table/index.js +2341 -754
  53. package/dist/tabs/index.js +2123 -344
  54. package/dist/tag/index.js +2116 -254
  55. package/dist/text/index.js +2116 -297
  56. package/dist/textarea/index.js +2117 -288
  57. package/dist/toggle/index.js +2117 -331
  58. package/dist/tooltip/index.js +2120 -351
  59. package/dist/tree/index.js +2123 -459
  60. package/dist/use-input/index.js +2122 -24
  61. package/dist/use-modal/index.js +2122 -24
  62. package/dist/use-network-status/index.d.ts +2 -0
  63. package/dist/{use-current-state → use-network-status}/index.js +22 -15
  64. package/dist/use-network-status/use-netowork-status.d.ts +4 -0
  65. package/dist/use-scale/index.js +2115 -296
  66. package/dist/use-tabs/index.js +2122 -24
  67. package/dist/user/index.js +2123 -337
  68. package/esm/CurrencyInput/components/CurrencyInput.js +342 -0
  69. package/esm/CurrencyInput/components/CurrencyInputProps.js +1 -0
  70. package/esm/CurrencyInput/components/utils/addSeparators.js +7 -0
  71. package/esm/CurrencyInput/components/utils/cleanValue.js +69 -0
  72. package/esm/CurrencyInput/components/utils/escapeRegExp.js +8 -0
  73. package/esm/CurrencyInput/components/utils/fixedDecimalValue.js +29 -0
  74. package/esm/CurrencyInput/components/utils/formatValue.js +124 -0
  75. package/esm/CurrencyInput/components/utils/getLocaleConfig.js +47 -0
  76. package/esm/CurrencyInput/components/utils/getSuffix.js +10 -0
  77. package/esm/CurrencyInput/components/utils/index.js +8 -0
  78. package/esm/CurrencyInput/components/utils/isNumber.js +3 -0
  79. package/esm/CurrencyInput/components/utils/padTrimValue.js +27 -0
  80. package/esm/CurrencyInput/components/utils/parseAbbrValue.js +43 -0
  81. package/esm/CurrencyInput/components/utils/removeInvalidChars.js +10 -0
  82. package/esm/CurrencyInput/components/utils/removeSeparators.js +10 -0
  83. package/esm/CurrencyInput/components/utils/repositionCursor.js +35 -0
  84. package/esm/CurrencyInput/index.js +4 -0
  85. package/esm/LinearProgress/index.d.ts +2 -0
  86. package/esm/LinearProgress/index.js +2 -0
  87. package/esm/LinearProgress/linear-progress.d.ts +9 -0
  88. package/esm/LinearProgress/linear-progress.js +28 -0
  89. package/esm/Loadable/index.js +2 -0
  90. package/esm/PhoneInput/phone.d.ts +1 -1
  91. package/esm/PhoneInput/phone.js +23 -20
  92. package/esm/auto-complete/auto-complete-dropdown.js +1 -3
  93. package/esm/auto-complete/auto-complete-item.js +1 -3
  94. package/esm/auto-complete/auto-complete-searching.js +1 -1
  95. package/esm/auto-complete/auto-complete.js +1 -1
  96. package/esm/avatar/avatar-group.js +1 -2
  97. package/esm/avatar/avatar.js +1 -2
  98. package/esm/badge/badge.js +1 -2
  99. package/esm/breadcrumbs/breadcrumbs-item.js +1 -1
  100. package/esm/breadcrumbs/breadcrumbs-separator.js +1 -1
  101. package/esm/breadcrumbs/breadcrumbs.js +1 -1
  102. package/esm/button/button-icon.js +1 -1
  103. package/esm/button/button.compact.d.ts +2 -0
  104. package/esm/button/button.compact.js +94 -50
  105. package/esm/button/button.js +1 -2
  106. package/esm/button/utils.js +1 -1
  107. package/esm/button-dropdown/button-dropdown-item.js +1 -1
  108. package/esm/button-dropdown/button-dropdown.js +1 -2
  109. package/esm/button-group/button-group.js +1 -2
  110. package/esm/capacity/capacity.js +1 -2
  111. package/esm/card/card-content.js +1 -1
  112. package/esm/card/card-footer.js +1 -2
  113. package/esm/card/card.js +1 -2
  114. package/esm/carousal/Arrow.js +18 -0
  115. package/esm/carousal/Indicator.js +20 -0
  116. package/esm/carousal/Thumbs.js +302 -0
  117. package/esm/carousal/animations.js +162 -0
  118. package/esm/carousal/index.js +683 -0
  119. package/esm/carousal/types.js +1 -0
  120. package/esm/carousal/utils.js +49 -0
  121. package/esm/checkbox/checkbox-group.js +1 -1
  122. package/esm/checkbox/checkbox.icon.js +1 -1
  123. package/esm/checkbox/checkbox.js +1 -2
  124. package/esm/code/code.js +1 -1
  125. package/esm/collapse/collapse-group.js +1 -2
  126. package/esm/collapse/collapse.js +1 -4
  127. package/esm/description/description.js +1 -2
  128. package/esm/display/display.js +1 -2
  129. package/esm/divider/divider.js +1 -2
  130. package/esm/dot/dot.js +1 -2
  131. package/esm/drawer/drawer-wrapper.js +1 -3
  132. package/esm/drawer/drawer.js +1 -1
  133. package/esm/fieldset/fieldset-content.js +1 -1
  134. package/esm/fieldset/fieldset-footer.js +1 -1
  135. package/esm/fieldset/fieldset-group.js +1 -3
  136. package/esm/fieldset/fieldset-title.js +1 -1
  137. package/esm/fieldset/fieldset.js +1 -2
  138. package/esm/grid/basic-item.js +1 -2
  139. package/esm/grid/grid-container.js +1 -1
  140. package/esm/grid/grid.js +1 -1
  141. package/esm/image/image-browser.js +1 -2
  142. package/esm/image/image.js +1 -2
  143. package/esm/image/image.skeleton.js +1 -1
  144. package/esm/index.d.ts +2 -14
  145. package/esm/index.js +5 -9
  146. package/esm/input/input-block-label.js +1 -1
  147. package/esm/input/input-icon-clear.js +1 -2
  148. package/esm/input/input-label.js +1 -1
  149. package/esm/input/input.js +1 -2
  150. package/esm/keyboard/keyboard.js +1 -1
  151. package/esm/link/link.js +1 -2
  152. package/esm/list/list-item.js +1 -2
  153. package/esm/loading/loading.js +1 -2
  154. package/esm/modal/modal-action.js +1 -2
  155. package/esm/modal/modal-actions.js +1 -1
  156. package/esm/modal/modal-content.js +1 -1
  157. package/esm/modal/modal-subtitle.js +1 -1
  158. package/esm/modal/modal-title.js +1 -1
  159. package/esm/modal/modal-wrapper.js +1 -3
  160. package/esm/modal/modal.js +1 -1
  161. package/esm/note/note.js +1 -2
  162. package/esm/page/page-header.js +1 -1
  163. package/esm/page/page.js +1 -1
  164. package/esm/pagination/pagination-item.js +1 -2
  165. package/esm/pagination/pagination.js +1 -1
  166. package/esm/popover/popover-item.js +1 -2
  167. package/esm/popover/popover.js +1 -1
  168. package/esm/progress/progress.js +1 -2
  169. package/esm/radio/radio-description.js +1 -1
  170. package/esm/radio/radio-group.js +1 -1
  171. package/esm/radio/radio.js +1 -2
  172. package/esm/rating/rating.js +1 -2
  173. package/esm/row/row.js +1 -1
  174. package/esm/select/select-dropdown.js +1 -3
  175. package/esm/select/select-icon-clear.js +1 -1
  176. package/esm/select/select-multiple-value.js +1 -1
  177. package/esm/select/select-option.js +1 -3
  178. package/esm/select/select.js +9 -12
  179. package/esm/slider/slider-dot.js +1 -2
  180. package/esm/slider/slider-mark.js +1 -1
  181. package/esm/slider/slider.js +1 -3
  182. package/esm/snippet/snippet.js +1 -3
  183. package/esm/spinner/spinner.js +1 -2
  184. package/esm/table/table-body.js +1 -2
  185. package/esm/table/table-head.js +3 -2
  186. package/esm/tabs/tabs-item.js +1 -2
  187. package/esm/tabs/tabs.js +1 -3
  188. package/esm/tag/tag.js +1 -1
  189. package/esm/text/child.js +1 -1
  190. package/esm/textarea/textarea.js +1 -2
  191. package/esm/toggle/toggle.js +1 -2
  192. package/esm/tooltip/tooltip-content.js +1 -3
  193. package/esm/tooltip/tooltip-icon.js +1 -1
  194. package/esm/tooltip/tooltip.js +1 -1
  195. package/esm/tree/tree-file-icon.js +1 -1
  196. package/esm/tree/tree-file.js +1 -2
  197. package/esm/tree/tree-folder-icon.js +1 -1
  198. package/esm/tree/tree-folder.js +1 -3
  199. package/esm/tree/tree-status-icon.js +1 -1
  200. package/esm/tree/tree.js +1 -1
  201. package/esm/use-input/use-input.js +1 -1
  202. package/esm/use-modal/use-modal.js +1 -1
  203. package/esm/use-network-status/index.d.ts +2 -0
  204. package/esm/use-network-status/index.js +2 -0
  205. package/esm/use-network-status/use-netowork-status.d.ts +4 -0
  206. package/esm/use-network-status/use-netowork-status.js +29 -0
  207. package/esm/use-scale/with-scale.js +1 -1
  208. package/esm/use-tabs/use-tabs.js +1 -1
  209. package/esm/user/user.js +1 -2
  210. package/esm/utils/use-context-state/use-context-state.js +1 -1
  211. package/esm/utils/use-drag.js +1 -1
  212. package/package.json +12 -4
  213. package/dist/css-baseline/css-baseline.d.ts +0 -9
  214. package/dist/css-baseline/index.d.ts +0 -1
  215. package/dist/shared/backdrop.d.ts +0 -14
  216. package/dist/shared/css-transition.d.ts +0 -13
  217. package/dist/shared/dropdown.d.ts +0 -9
  218. package/dist/shared/ellipsis.d.ts +0 -6
  219. package/dist/shared/expand.d.ts +0 -7
  220. package/dist/shared/highlight.d.ts +0 -13
  221. package/dist/ui-provider/index.d.ts +0 -3
  222. package/dist/ui-provider/index.js +0 -2186
  223. package/dist/ui-provider/theme-provider.d.ts +0 -8
  224. package/dist/ui-provider/ui-provider.d.ts +0 -8
  225. package/dist/use-all-themes/all-themes-context.d.ts +0 -7
  226. package/dist/use-all-themes/index.d.ts +0 -3
  227. package/dist/use-all-themes/index.js +0 -311
  228. package/dist/use-classes/index.d.ts +0 -2
  229. package/dist/use-classes/index.js +0 -48
  230. package/dist/use-classes/use-classes.d.ts +0 -4
  231. package/dist/use-current-state/index.d.ts +0 -2
  232. package/dist/use-current-state/use-current-state.d.ts +0 -4
  233. package/dist/use-media-query/index.d.ts +0 -3
  234. package/dist/use-media-query/index.js +0 -444
  235. package/dist/use-media-query/use-media-query.d.ts +0 -12
  236. package/dist/use-theme/index.d.ts +0 -2
  237. package/dist/use-theme/index.js +0 -309
  238. package/dist/use-theme/theme-context.d.ts +0 -4
  239. package/dist/use-toasts/helpers.d.ts +0 -18
  240. package/dist/use-toasts/index.d.ts +0 -3
  241. package/dist/use-toasts/index.js +0 -204
  242. package/dist/use-toasts/toast-container.d.ts +0 -3
  243. package/dist/use-toasts/toast-item.d.ts +0 -8
  244. package/dist/use-toasts/use-toast.d.ts +0 -40
  245. package/dist/utils/use-current-state.d.ts +0 -2
  246. package/dist/utils/use-dom-observer.d.ts +0 -3
  247. package/dist/utils/use-hd-ui-context.d.ts +0 -16
  248. package/dist/utils/use-previous.d.ts +0 -2
  249. package/esm/captcha/index.js +0 -128
  250. package/esm/css-baseline/css-baseline.d.ts +0 -9
  251. package/esm/css-baseline/css-baseline.js +0 -23
  252. package/esm/css-baseline/index.d.ts +0 -1
  253. package/esm/css-baseline/index.js +0 -2
  254. package/esm/shared/backdrop.d.ts +0 -14
  255. package/esm/shared/backdrop.js +0 -66
  256. package/esm/shared/css-transition.d.ts +0 -13
  257. package/esm/shared/css-transition.js +0 -65
  258. package/esm/shared/dropdown.d.ts +0 -9
  259. package/esm/shared/dropdown.js +0 -99
  260. package/esm/shared/ellipsis.d.ts +0 -6
  261. package/esm/shared/ellipsis.js +0 -13
  262. package/esm/shared/expand.d.ts +0 -7
  263. package/esm/shared/expand.js +0 -86
  264. package/esm/shared/highlight.d.ts +0 -13
  265. package/esm/shared/highlight.js +0 -46
  266. package/esm/ui-provider/index.d.ts +0 -3
  267. package/esm/ui-provider/index.js +0 -4
  268. package/esm/ui-provider/theme-provider.d.ts +0 -8
  269. package/esm/ui-provider/theme-provider.js +0 -45
  270. package/esm/ui-provider/ui-provider.d.ts +0 -8
  271. package/esm/ui-provider/ui-provider.js +0 -55
  272. package/esm/use-all-themes/all-themes-context.d.ts +0 -7
  273. package/esm/use-all-themes/all-themes-context.js +0 -11
  274. package/esm/use-all-themes/index.d.ts +0 -3
  275. package/esm/use-all-themes/index.js +0 -2
  276. package/esm/use-classes/index.d.ts +0 -2
  277. package/esm/use-classes/index.js +0 -2
  278. package/esm/use-classes/use-classes.d.ts +0 -4
  279. package/esm/use-classes/use-classes.js +0 -34
  280. package/esm/use-current-state/index.d.ts +0 -2
  281. package/esm/use-current-state/index.js +0 -2
  282. package/esm/use-current-state/use-current-state.d.ts +0 -4
  283. package/esm/use-current-state/use-current-state.js +0 -23
  284. package/esm/use-media-query/index.d.ts +0 -3
  285. package/esm/use-media-query/index.js +0 -2
  286. package/esm/use-media-query/use-media-query.d.ts +0 -12
  287. package/esm/use-media-query/use-media-query.js +0 -81
  288. package/esm/use-theme/index.d.ts +0 -2
  289. package/esm/use-theme/index.js +0 -2
  290. package/esm/use-theme/theme-context.d.ts +0 -4
  291. package/esm/use-theme/theme-context.js +0 -9
  292. package/esm/use-toasts/helpers.d.ts +0 -18
  293. package/esm/use-toasts/helpers.js +0 -68
  294. package/esm/use-toasts/index.d.ts +0 -3
  295. package/esm/use-toasts/index.js +0 -2
  296. package/esm/use-toasts/toast-container.d.ts +0 -3
  297. package/esm/use-toasts/toast-container.js +0 -120
  298. package/esm/use-toasts/toast-item.d.ts +0 -8
  299. package/esm/use-toasts/toast-item.js +0 -45
  300. package/esm/use-toasts/use-toast.d.ts +0 -40
  301. package/esm/use-toasts/use-toast.js +0 -103
  302. package/esm/utils/use-current-state.d.ts +0 -2
  303. package/esm/utils/use-current-state.js +0 -2
  304. package/esm/utils/use-dom-observer.d.ts +0 -3
  305. package/esm/utils/use-hd-ui-context.d.ts +0 -16
  306. 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;