@bolio-ui/core 1.0.0

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 (381) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +71 -0
  3. package/dist/avatar/index.js +901 -0
  4. package/dist/badge/index.js +899 -0
  5. package/dist/bolio-ui-provider/index.js +1883 -0
  6. package/dist/breadcrumbs/index.js +985 -0
  7. package/dist/button/index.js +1358 -0
  8. package/dist/button-dropdown/index.js +1111 -0
  9. package/dist/button-group/index.js +782 -0
  10. package/dist/capacity/index.js +780 -0
  11. package/dist/card/index.js +1275 -0
  12. package/dist/checkbox/index.js +1042 -0
  13. package/dist/code/index.js +803 -0
  14. package/dist/col/index.js +90 -0
  15. package/dist/collapse/index.js +1158 -0
  16. package/dist/container/index.js +444 -0
  17. package/dist/css-baseline/index.js +348 -0
  18. package/dist/description/index.js +741 -0
  19. package/dist/display/index.js +745 -0
  20. package/dist/divider/index.js +767 -0
  21. package/dist/dot/index.js +755 -0
  22. package/dist/drawer/index.js +1513 -0
  23. package/dist/fieldset/index.js +1089 -0
  24. package/dist/grid/index.js +870 -0
  25. package/dist/image/index.js +1094 -0
  26. package/dist/index.js +9970 -0
  27. package/dist/input/index.js +1275 -0
  28. package/dist/keyboard/index.js +711 -0
  29. package/dist/link/index.js +863 -0
  30. package/dist/loading/index.js +765 -0
  31. package/dist/mdx-widgets/index.js +438 -0
  32. package/dist/modal/index.js +2220 -0
  33. package/dist/note/index.js +773 -0
  34. package/dist/page/index.js +928 -0
  35. package/dist/pagination/index.js +1201 -0
  36. package/dist/popover/index.js +1502 -0
  37. package/dist/progress/index.js +804 -0
  38. package/dist/radio/index.js +1028 -0
  39. package/dist/rating/index.js +912 -0
  40. package/dist/row/index.js +442 -0
  41. package/dist/section/index.js +733 -0
  42. package/dist/select/index.js +1865 -0
  43. package/dist/slider/index.js +1097 -0
  44. package/dist/snippet/index.js +1207 -0
  45. package/dist/spacer/index.js +692 -0
  46. package/dist/spinner/index.js +763 -0
  47. package/dist/styled-jsx.cjs.js +766 -0
  48. package/dist/tabs/index.js +1125 -0
  49. package/dist/tag/index.js +749 -0
  50. package/dist/text/index.js +830 -0
  51. package/dist/textarea/index.js +915 -0
  52. package/dist/themes/index.js +319 -0
  53. package/dist/toggle/index.js +852 -0
  54. package/dist/tooltip/index.js +1353 -0
  55. package/dist/use-all-themes/index.js +335 -0
  56. package/dist/use-body-scroll/index.js +173 -0
  57. package/dist/use-classes/index.js +55 -0
  58. package/dist/use-click-away/index.js +28 -0
  59. package/dist/use-clipboard/index.js +188 -0
  60. package/dist/use-current-state/index.js +90 -0
  61. package/dist/use-input/index.js +129 -0
  62. package/dist/use-keyboard/index.js +214 -0
  63. package/dist/use-media-query/index.js +495 -0
  64. package/dist/use-modal/index.js +114 -0
  65. package/dist/use-scale/index.js +673 -0
  66. package/dist/use-tabs/index.js +112 -0
  67. package/dist/use-theme/index.js +333 -0
  68. package/dist/use-toasts/index.js +236 -0
  69. package/esm/avatar/avatar-group.js +29 -0
  70. package/esm/avatar/avatar.js +107 -0
  71. package/esm/avatar/avatar.skeleton.js +21 -0
  72. package/esm/avatar/helpers.js +16 -0
  73. package/esm/avatar/index.js +4 -0
  74. package/esm/avatar/stories.js +113 -0
  75. package/esm/badge/badge-anchor.js +70 -0
  76. package/esm/badge/badge.js +58 -0
  77. package/esm/badge/index.js +4 -0
  78. package/esm/badge/stories.js +92 -0
  79. package/esm/bolio-ui-provider/bolio-ui-provider.js +62 -0
  80. package/esm/bolio-ui-provider/index.js +2 -0
  81. package/esm/bolio-ui-provider/theme-provider.js +47 -0
  82. package/esm/breadcrumbs/breadcrumbs-item.js +49 -0
  83. package/esm/breadcrumbs/breadcrumbs-separator.js +25 -0
  84. package/esm/breadcrumbs/breadcrumbs.js +47 -0
  85. package/esm/breadcrumbs/index.js +6 -0
  86. package/esm/breadcrumbs/stories.js +51 -0
  87. package/esm/button/button-icon.js +29 -0
  88. package/esm/button/button-loading.js +17 -0
  89. package/esm/button/button.drip.js +57 -0
  90. package/esm/button/button.js +146 -0
  91. package/esm/button/index.js +2 -0
  92. package/esm/button/stories.js +221 -0
  93. package/esm/button/styles.js +232 -0
  94. package/esm/button/utils.js +46 -0
  95. package/esm/button-dropdown/button-dropdown-context.js +11 -0
  96. package/esm/button-dropdown/button-dropdown-item.js +52 -0
  97. package/esm/button-dropdown/button-dropdown.js +111 -0
  98. package/esm/button-dropdown/icon.js +30 -0
  99. package/esm/button-dropdown/index.js +4 -0
  100. package/esm/button-dropdown/stories.js +92 -0
  101. package/esm/button-dropdown/styles.js +60 -0
  102. package/esm/button-group/button-group-context.js +9 -0
  103. package/esm/button-group/button-group.js +75 -0
  104. package/esm/button-group/index.js +2 -0
  105. package/esm/button-group/stories.js +66 -0
  106. package/esm/capacity/capacity.js +52 -0
  107. package/esm/capacity/index.js +2 -0
  108. package/esm/capacity/stories.js +55 -0
  109. package/esm/card/card-content.js +28 -0
  110. package/esm/card/card-footer.js +36 -0
  111. package/esm/card/card.js +68 -0
  112. package/esm/card/index.js +8 -0
  113. package/esm/card/stories.js +126 -0
  114. package/esm/card/styles.js +45 -0
  115. package/esm/checkbox/checkbox-context.js +10 -0
  116. package/esm/checkbox/checkbox-group.js +70 -0
  117. package/esm/checkbox/checkbox.icon.js +50 -0
  118. package/esm/checkbox/checkbox.js +114 -0
  119. package/esm/checkbox/index.js +4 -0
  120. package/esm/checkbox/stories.js +84 -0
  121. package/esm/checkbox/styles.js +34 -0
  122. package/esm/code/code.js +57 -0
  123. package/esm/code/index.js +2 -0
  124. package/esm/code/stories.js +53 -0
  125. package/esm/col/col.js +29 -0
  126. package/esm/col/index.js +2 -0
  127. package/esm/collapse/collapse-context.js +8 -0
  128. package/esm/collapse/collapse-group.js +75 -0
  129. package/esm/collapse/collapse-icon.js +28 -0
  130. package/esm/collapse/collapse.js +93 -0
  131. package/esm/collapse/index.js +4 -0
  132. package/esm/collapse/stories.js +48 -0
  133. package/esm/container/container.js +62 -0
  134. package/esm/container/index.js +2 -0
  135. package/esm/css-baseline/css-baseline.js +18 -0
  136. package/esm/css-baseline/index.js +1 -0
  137. package/esm/description/description.js +39 -0
  138. package/esm/description/index.js +2 -0
  139. package/esm/description/stories.js +23 -0
  140. package/esm/display/display.js +43 -0
  141. package/esm/display/index.js +2 -0
  142. package/esm/divider/divider.js +65 -0
  143. package/esm/divider/index.js +2 -0
  144. package/esm/divider/stories.js +41 -0
  145. package/esm/dot/dot.js +53 -0
  146. package/esm/dot/index.js +2 -0
  147. package/esm/dot/stories.js +40 -0
  148. package/esm/drawer/drawer-wrapper.js +86 -0
  149. package/esm/drawer/drawer.js +77 -0
  150. package/esm/drawer/helper.js +27 -0
  151. package/esm/drawer/index.js +8 -0
  152. package/esm/drawer/stories.js +79 -0
  153. package/esm/fieldset/fieldset-content.js +29 -0
  154. package/esm/fieldset/fieldset-context.js +9 -0
  155. package/esm/fieldset/fieldset-footer.js +30 -0
  156. package/esm/fieldset/fieldset-group.js +88 -0
  157. package/esm/fieldset/fieldset-subtitle.js +21 -0
  158. package/esm/fieldset/fieldset-title.js +23 -0
  159. package/esm/fieldset/fieldset.js +96 -0
  160. package/esm/fieldset/index.js +13 -0
  161. package/esm/fieldset/stories.js +72 -0
  162. package/esm/grid/basic-item.js +96 -0
  163. package/esm/grid/grid-container.js +46 -0
  164. package/esm/grid/grid-types.js +6 -0
  165. package/esm/grid/grid.js +37 -0
  166. package/esm/grid/index.js +4 -0
  167. package/esm/grid/stories.js +212 -0
  168. package/esm/icon/stories.js +36 -0
  169. package/esm/image/helpers.js +16 -0
  170. package/esm/image/image-browser-https-icon.js +23 -0
  171. package/esm/image/image-browser.js +86 -0
  172. package/esm/image/image.js +91 -0
  173. package/esm/image/image.skeleton.js +21 -0
  174. package/esm/image/index.js +4 -0
  175. package/esm/image/stories.js +73 -0
  176. package/esm/image/styles.js +15 -0
  177. package/esm/index.js +69 -0
  178. package/esm/input/index.js +6 -0
  179. package/esm/input/input-block-label.js +18 -0
  180. package/esm/input/input-icon-clear.js +47 -0
  181. package/esm/input/input-icon.js +19 -0
  182. package/esm/input/input-label.js +18 -0
  183. package/esm/input/input-props.js +12 -0
  184. package/esm/input/input.js +179 -0
  185. package/esm/input/password-icon.js +30 -0
  186. package/esm/input/password.js +66 -0
  187. package/esm/input/stories.js +113 -0
  188. package/esm/input/styles.js +41 -0
  189. package/esm/keyboard/index.js +2 -0
  190. package/esm/keyboard/keyboard.js +48 -0
  191. package/esm/keyboard/stories.js +43 -0
  192. package/esm/link/icon.js +30 -0
  193. package/esm/link/index.js +2 -0
  194. package/esm/link/link.js +50 -0
  195. package/esm/link/stories.js +59 -0
  196. package/esm/loading/index.js +2 -0
  197. package/esm/loading/loading.js +63 -0
  198. package/esm/loading/stories.js +75 -0
  199. package/esm/mdx-widgets/index.js +2 -0
  200. package/esm/mdx-widgets/mock-page.js +37 -0
  201. package/esm/mdx-widgets/parsed-codes/index.js +1 -0
  202. package/esm/mdx-widgets/parsed-codes/wait-time.js +13 -0
  203. package/esm/modal/index.js +10 -0
  204. package/esm/modal/modal-action.js +76 -0
  205. package/esm/modal/modal-actions.js +39 -0
  206. package/esm/modal/modal-content.js +28 -0
  207. package/esm/modal/modal-context.js +6 -0
  208. package/esm/modal/modal-subtitle.js +30 -0
  209. package/esm/modal/modal-title.js +30 -0
  210. package/esm/modal/modal-wrapper.js +80 -0
  211. package/esm/modal/modal.js +104 -0
  212. package/esm/modal/stories.js +165 -0
  213. package/esm/note/index.js +2 -0
  214. package/esm/note/note.js +71 -0
  215. package/esm/note/stories.js +68 -0
  216. package/esm/page/index.js +9 -0
  217. package/esm/page/page-content.js +26 -0
  218. package/esm/page/page-footer.js +25 -0
  219. package/esm/page/page-header.js +33 -0
  220. package/esm/page/page.js +88 -0
  221. package/esm/page/stories.js +54 -0
  222. package/esm/pagination/index.js +6 -0
  223. package/esm/pagination/pagination-context.js +8 -0
  224. package/esm/pagination/pagination-ellipsis.js +73 -0
  225. package/esm/pagination/pagination-item.js +50 -0
  226. package/esm/pagination/pagination-next.js +25 -0
  227. package/esm/pagination/pagination-pages.js +90 -0
  228. package/esm/pagination/pagination-previous.js +25 -0
  229. package/esm/pagination/pagination.js +105 -0
  230. package/esm/pagination/stories.js +49 -0
  231. package/esm/popover/index.js +5 -0
  232. package/esm/popover/popover-context.js +9 -0
  233. package/esm/popover/popover-item.js +65 -0
  234. package/esm/popover/popover.js +83 -0
  235. package/esm/popover/stories.js +84 -0
  236. package/esm/progress/index.js +2 -0
  237. package/esm/progress/progress.js +76 -0
  238. package/esm/progress/stories.js +114 -0
  239. package/esm/radio/index.js +7 -0
  240. package/esm/radio/radio-context.js +9 -0
  241. package/esm/radio/radio-description.js +30 -0
  242. package/esm/radio/radio-group.js +61 -0
  243. package/esm/radio/radio.js +123 -0
  244. package/esm/radio/stories.js +98 -0
  245. package/esm/radio/styles.js +41 -0
  246. package/esm/rating/index.js +2 -0
  247. package/esm/rating/rating-icon.js +20 -0
  248. package/esm/rating/rating.js +115 -0
  249. package/esm/rating/stories.js +72 -0
  250. package/esm/row/index.js +2 -0
  251. package/esm/row/row.js +60 -0
  252. package/esm/section/index.js +2 -0
  253. package/esm/section/section.js +30 -0
  254. package/esm/select/index.js +4 -0
  255. package/esm/select/select-context.js +9 -0
  256. package/esm/select/select-dropdown.js +41 -0
  257. package/esm/select/select-icon-clear.js +41 -0
  258. package/esm/select/select-icon.js +23 -0
  259. package/esm/select/select-input.js +34 -0
  260. package/esm/select/select-multiple-value.js +23 -0
  261. package/esm/select/select-option.js +100 -0
  262. package/esm/select/select.js +244 -0
  263. package/esm/select/stories.js +239 -0
  264. package/esm/select/styles.js +48 -0
  265. package/esm/shared/backdrop.js +77 -0
  266. package/esm/shared/css-transition.js +71 -0
  267. package/esm/shared/dropdown.js +109 -0
  268. package/esm/shared/ellipsis.js +15 -0
  269. package/esm/shared/expand.js +95 -0
  270. package/esm/shared/highlight.js +47 -0
  271. package/esm/slider/index.js +2 -0
  272. package/esm/slider/slider-dot.js +27 -0
  273. package/esm/slider/slider-mark.js +38 -0
  274. package/esm/slider/slider.js +163 -0
  275. package/esm/slider/stories.js +134 -0
  276. package/esm/slider/styles.js +27 -0
  277. package/esm/snippet/index.js +2 -0
  278. package/esm/snippet/snippet-icon.js +27 -0
  279. package/esm/snippet/snippet.js +100 -0
  280. package/esm/snippet/stories.js +133 -0
  281. package/esm/snippet/styles.js +58 -0
  282. package/esm/spacer/index.js +2 -0
  283. package/esm/spacer/spacer.js +28 -0
  284. package/esm/spacer/stories.js +54 -0
  285. package/esm/spinner/index.js +2 -0
  286. package/esm/spinner/spinner.js +46 -0
  287. package/esm/spinner/stories.js +13 -0
  288. package/esm/styled-jsx-server.es.js +5 -0
  289. package/esm/styled-jsx.es.js +757 -0
  290. package/esm/tabs/index.js +5 -0
  291. package/esm/tabs/stories.js +92 -0
  292. package/esm/tabs/tabs-context.js +8 -0
  293. package/esm/tabs/tabs-item.js +80 -0
  294. package/esm/tabs/tabs.js +151 -0
  295. package/esm/tag/index.js +2 -0
  296. package/esm/tag/stories.js +58 -0
  297. package/esm/tag/tag.js +86 -0
  298. package/esm/text/child.js +78 -0
  299. package/esm/text/index.js +2 -0
  300. package/esm/text/stories.js +104 -0
  301. package/esm/text/text.js +94 -0
  302. package/esm/textarea/index.js +2 -0
  303. package/esm/textarea/stories.js +104 -0
  304. package/esm/textarea/textarea.js +116 -0
  305. package/esm/themes/index.js +2 -0
  306. package/esm/themes/presets/dark.js +67 -0
  307. package/esm/themes/presets/default.js +67 -0
  308. package/esm/themes/presets/index.js +1 -0
  309. package/esm/themes/presets/shared.js +42 -0
  310. package/esm/themes/themes.js +89 -0
  311. package/esm/toggle/index.js +2 -0
  312. package/esm/toggle/stories.js +55 -0
  313. package/esm/toggle/styles.js +27 -0
  314. package/esm/toggle/toggle.js +82 -0
  315. package/esm/tooltip/helper.js +21 -0
  316. package/esm/tooltip/index.js +2 -0
  317. package/esm/tooltip/placement.js +160 -0
  318. package/esm/tooltip/stories.js +183 -0
  319. package/esm/tooltip/styles.js +18 -0
  320. package/esm/tooltip/tooltip-content.js +83 -0
  321. package/esm/tooltip/tooltip-icon.js +32 -0
  322. package/esm/tooltip/tooltip.js +132 -0
  323. package/esm/use-all-themes/all-themes-context.js +9 -0
  324. package/esm/use-all-themes/index.js +2 -0
  325. package/esm/use-body-scroll/index.js +2 -0
  326. package/esm/use-body-scroll/use-body-scroll.js +70 -0
  327. package/esm/use-classes/index.js +2 -0
  328. package/esm/use-classes/use-classes.js +41 -0
  329. package/esm/use-click-away/index.js +2 -0
  330. package/esm/use-click-away/use-click-away.js +22 -0
  331. package/esm/use-clipboard/index.js +2 -0
  332. package/esm/use-clipboard/use-clipboard.js +46 -0
  333. package/esm/use-current-state/index.js +2 -0
  334. package/esm/use-current-state/use-current-state.js +26 -0
  335. package/esm/use-input/index.js +2 -0
  336. package/esm/use-input/use-input.js +32 -0
  337. package/esm/use-keyboard/codes.js +97 -0
  338. package/esm/use-keyboard/helper.js +26 -0
  339. package/esm/use-keyboard/index.js +4 -0
  340. package/esm/use-keyboard/use-keyboard.js +79 -0
  341. package/esm/use-media-query/index.js +2 -0
  342. package/esm/use-media-query/use-media-query.js +90 -0
  343. package/esm/use-modal/index.js +2 -0
  344. package/esm/use-modal/use-modal.js +26 -0
  345. package/esm/use-scale/index.js +6 -0
  346. package/esm/use-scale/scale-context.js +37 -0
  347. package/esm/use-scale/utils.js +62 -0
  348. package/esm/use-scale/with-scale.js +114 -0
  349. package/esm/use-tabs/index.js +2 -0
  350. package/esm/use-tabs/use-tabs.js +24 -0
  351. package/esm/use-theme/index.js +2 -0
  352. package/esm/use-theme/theme-context.js +7 -0
  353. package/esm/use-toasts/helpers.js +72 -0
  354. package/esm/use-toasts/index.js +2 -0
  355. package/esm/use-toasts/toast-container.js +127 -0
  356. package/esm/use-toasts/toast-item.js +48 -0
  357. package/esm/use-toasts/use-toast.js +124 -0
  358. package/esm/utils/calculations.js +27 -0
  359. package/esm/utils/collections.js +138 -0
  360. package/esm/utils/color.js +43 -0
  361. package/esm/utils/layouts.js +82 -0
  362. package/esm/utils/prop-types.js +22 -0
  363. package/esm/utils/types.js +1 -0
  364. package/esm/utils/use-body-scroll.js +2 -0
  365. package/esm/utils/use-bolio-ui-context.js +27 -0
  366. package/esm/utils/use-click-anywhere.js +16 -0
  367. package/esm/utils/use-click-away.js +2 -0
  368. package/esm/utils/use-clipboard.js +2 -0
  369. package/esm/utils/use-context-state/create-bolio-ui-context.js +57 -0
  370. package/esm/utils/use-context-state/use-context-state.js +44 -0
  371. package/esm/utils/use-current-state.js +2 -0
  372. package/esm/utils/use-default-props.js +22 -0
  373. package/esm/utils/use-dom-observer.js +28 -0
  374. package/esm/utils/use-drag.js +75 -0
  375. package/esm/utils/use-portal.js +40 -0
  376. package/esm/utils/use-previous.js +11 -0
  377. package/esm/utils/use-real-shape.js +53 -0
  378. package/esm/utils/use-resize.js +21 -0
  379. package/esm/utils/use-ssr.js +20 -0
  380. package/esm/utils/use-warning.js +17 -0
  381. package/package.json +140 -0
@@ -0,0 +1,1111 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var styledJsx_cjs = require('../styled-jsx.cjs.js');
6
+ var React = require('react');
7
+
8
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
+
10
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
11
+
12
+ function ownKeys(object, enumerableOnly) {
13
+ var keys = Object.keys(object);
14
+
15
+ if (Object.getOwnPropertySymbols) {
16
+ var symbols = Object.getOwnPropertySymbols(object);
17
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
18
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
19
+ })), keys.push.apply(keys, symbols);
20
+ }
21
+
22
+ return keys;
23
+ }
24
+
25
+ function _objectSpread2(target) {
26
+ for (var i = 1; i < arguments.length; i++) {
27
+ var source = null != arguments[i] ? arguments[i] : {};
28
+ i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
29
+ _defineProperty(target, key, source[key]);
30
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
31
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
32
+ });
33
+ }
34
+
35
+ return target;
36
+ }
37
+
38
+ function _typeof(obj) {
39
+ "@babel/helpers - typeof";
40
+
41
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
42
+ return typeof obj;
43
+ } : function (obj) {
44
+ return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
45
+ }, _typeof(obj);
46
+ }
47
+
48
+ function _defineProperty(obj, key, value) {
49
+ if (key in obj) {
50
+ Object.defineProperty(obj, key, {
51
+ value: value,
52
+ enumerable: true,
53
+ configurable: true,
54
+ writable: true
55
+ });
56
+ } else {
57
+ obj[key] = value;
58
+ }
59
+
60
+ return obj;
61
+ }
62
+
63
+ function _extends() {
64
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
65
+ for (var i = 1; i < arguments.length; i++) {
66
+ var source = arguments[i];
67
+
68
+ for (var key in source) {
69
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
70
+ target[key] = source[key];
71
+ }
72
+ }
73
+ }
74
+
75
+ return target;
76
+ };
77
+ return _extends.apply(this, arguments);
78
+ }
79
+
80
+ function _objectWithoutPropertiesLoose(source, excluded) {
81
+ if (source == null) return {};
82
+ var target = {};
83
+ var sourceKeys = Object.keys(source);
84
+ var key, i;
85
+
86
+ for (i = 0; i < sourceKeys.length; i++) {
87
+ key = sourceKeys[i];
88
+ if (excluded.indexOf(key) >= 0) continue;
89
+ target[key] = source[key];
90
+ }
91
+
92
+ return target;
93
+ }
94
+
95
+ function _objectWithoutProperties(source, excluded) {
96
+ if (source == null) return {};
97
+
98
+ var target = _objectWithoutPropertiesLoose(source, excluded);
99
+
100
+ var key, i;
101
+
102
+ if (Object.getOwnPropertySymbols) {
103
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
104
+
105
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
106
+ key = sourceSymbolKeys[i];
107
+ if (excluded.indexOf(key) >= 0) continue;
108
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
109
+ target[key] = source[key];
110
+ }
111
+ }
112
+
113
+ return target;
114
+ }
115
+
116
+ function _slicedToArray(arr, i) {
117
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
118
+ }
119
+
120
+ function _arrayWithHoles(arr) {
121
+ if (Array.isArray(arr)) return arr;
122
+ }
123
+
124
+ function _iterableToArrayLimit(arr, i) {
125
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
126
+
127
+ if (_i == null) return;
128
+ var _arr = [];
129
+ var _n = true;
130
+ var _d = false;
131
+
132
+ var _s, _e;
133
+
134
+ try {
135
+ for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
136
+ _arr.push(_s.value);
137
+
138
+ if (i && _arr.length === i) break;
139
+ }
140
+ } catch (err) {
141
+ _d = true;
142
+ _e = err;
143
+ } finally {
144
+ try {
145
+ if (!_n && _i["return"] != null) _i["return"]();
146
+ } finally {
147
+ if (_d) throw _e;
148
+ }
149
+ }
150
+
151
+ return _arr;
152
+ }
153
+
154
+ function _unsupportedIterableToArray(o, minLen) {
155
+ if (!o) return;
156
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
157
+ var n = Object.prototype.toString.call(o).slice(8, -1);
158
+ if (n === "Object" && o.constructor) n = o.constructor.name;
159
+ if (n === "Map" || n === "Set") return Array.from(o);
160
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
161
+ }
162
+
163
+ function _arrayLikeToArray(arr, len) {
164
+ if (len == null || len > arr.length) len = arr.length;
165
+
166
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
167
+
168
+ return arr2;
169
+ }
170
+
171
+ function _nonIterableRest() {
172
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
173
+ }
174
+
175
+ function _createForOfIteratorHelper(o, allowArrayLike) {
176
+ var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
177
+
178
+ if (!it) {
179
+ if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
180
+ if (it) o = it;
181
+ var i = 0;
182
+
183
+ var F = function () {};
184
+
185
+ return {
186
+ s: F,
187
+ n: function () {
188
+ if (i >= o.length) return {
189
+ done: true
190
+ };
191
+ return {
192
+ done: false,
193
+ value: o[i++]
194
+ };
195
+ },
196
+ e: function (e) {
197
+ throw e;
198
+ },
199
+ f: F
200
+ };
201
+ }
202
+
203
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
204
+ }
205
+
206
+ var normalCompletion = true,
207
+ didErr = false,
208
+ err;
209
+ return {
210
+ s: function () {
211
+ it = it.call(o);
212
+ },
213
+ n: function () {
214
+ var step = it.next();
215
+ normalCompletion = step.done;
216
+ return step;
217
+ },
218
+ e: function (e) {
219
+ didErr = true;
220
+ err = e;
221
+ },
222
+ f: function () {
223
+ try {
224
+ if (!normalCompletion && it.return != null) it.return();
225
+ } finally {
226
+ if (didErr) throw err;
227
+ }
228
+ }
229
+ };
230
+ }
231
+
232
+ var defaultFont = {
233
+ sans: '"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif',
234
+ mono: 'Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace',
235
+ prism: 'ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,"Liberation Mono", "Courier New", monospace'
236
+ };
237
+ var defaultBreakpoints = {
238
+ xs: {
239
+ min: '0',
240
+ max: '650px'
241
+ },
242
+ sm: {
243
+ min: '650px',
244
+ max: '900px'
245
+ },
246
+ md: {
247
+ min: '900px',
248
+ max: '1280px'
249
+ },
250
+ lg: {
251
+ min: '1280px',
252
+ max: '1920px'
253
+ },
254
+ xl: {
255
+ min: '1920px',
256
+ max: '10000px'
257
+ }
258
+ };
259
+ var defaultLayout = {
260
+ gap: '16pt',
261
+ gapNegative: '-16pt',
262
+ gapHalf: '8pt',
263
+ gapHalfNegative: '-8pt',
264
+ gapQuarter: '4pt',
265
+ gapQuarterNegative: '-4pt',
266
+ pageMargin: '16pt',
267
+ pageWidth: '900pt',
268
+ pageWidthWithMargin: '930pt',
269
+ breakpointMobile: defaultBreakpoints.xs.max,
270
+ breakpointTablet: defaultBreakpoints.sm.max,
271
+ radius: '6px',
272
+ unit: '16px'
273
+ };
274
+
275
+ var palette$1 = {
276
+ background: '#fff',
277
+ foreground: '#000',
278
+ accents_1: '#fafafa',
279
+ accents_2: '#eaeaea',
280
+ accents_3: '#999',
281
+ accents_4: '#888',
282
+ accents_5: '#666',
283
+ accents_6: '#444',
284
+ accents_7: '#333',
285
+ accents_8: '#111',
286
+ selection: '#cee4fe',
287
+ code: '#C25FFF',
288
+ border: '#eaeaea',
289
+ primary: '#0072F6',
290
+ primaryLight: '#96C1F3',
291
+ primaryLighter: '#CEE4FF',
292
+ primaryDark: '#00254E',
293
+ secondary: '#7828C9',
294
+ secondaryLighter: '#D1B1F1',
295
+ secondaryLight: '#EADCF9',
296
+ secondaryDark: '#290E45',
297
+ error: '#F31261',
298
+ errorLight: '#FAA8C6',
299
+ errorLighter: '#FDD8E6',
300
+ errorDark: '#4E041F',
301
+ success: '#17C965',
302
+ successLight: '#ADF5CD',
303
+ successLighter: '#DAFBE9',
304
+ successDark: '#06371C',
305
+ warning: '#F5A525',
306
+ warningLight: '#FBDBA8',
307
+ warningLighter: '#FDEFD9',
308
+ warningDark: '#4E3105',
309
+ info: '#06B7DC',
310
+ infoLighter: '#A5EEFE',
311
+ infoLight: '#D7F8FF',
312
+ infoDark: '#053B49',
313
+ purple: '#f81ce5',
314
+ alert: '#ff0080',
315
+ link: '#0070f3',
316
+ pre: '#363450'
317
+ };
318
+ var expressiveness$1 = {
319
+ linkStyle: 'none',
320
+ linkHoverStyle: 'none',
321
+ dropdownBoxShadow: '0 4px 4px 0 rgba(0, 0, 0, 0.02)',
322
+ scrollerStart: 'rgba(255, 255, 255, 1)',
323
+ scrollerEnd: 'rgba(255, 255, 255, 0)',
324
+ shadowSmall: '0 5px 10px rgba(0, 0, 0, 0.12)',
325
+ shadowMedium: '0 8px 30px rgba(0, 0, 0, 0.12)',
326
+ shadowLarge: '0 30px 60px rgba(0, 0, 0, 0.12)',
327
+ portalOpacity: 0.25
328
+ };
329
+ var font$1 = defaultFont;
330
+ var breakpoints$1 = defaultBreakpoints;
331
+ var layout$1 = defaultLayout;
332
+ var themes$1 = {
333
+ type: 'light',
334
+ font: font$1,
335
+ layout: layout$1,
336
+ palette: palette$1,
337
+ breakpoints: breakpoints$1,
338
+ expressiveness: expressiveness$1
339
+ };
340
+ var lightTheme = themes$1;
341
+
342
+ var palette = {
343
+ background: '#000',
344
+ foreground: '#fff',
345
+ accents_1: '#111',
346
+ accents_2: '#333',
347
+ accents_3: '#444',
348
+ accents_4: '#666',
349
+ accents_5: '#888',
350
+ accents_6: '#999',
351
+ accents_7: '#eaeaea',
352
+ accents_8: '#fafafa',
353
+ selection: '#f81ce5',
354
+ code: '#C25FFF',
355
+ border: '#333',
356
+ primary: '#0072F6',
357
+ primaryLight: '#96C1F3',
358
+ primaryLighter: '#CEE4FF',
359
+ primaryDark: '#00254E',
360
+ secondary: '#7828C9',
361
+ secondaryLighter: '#D1B1F1',
362
+ secondaryLight: '#EADCF9',
363
+ secondaryDark: '#290E45',
364
+ error: '#F31261',
365
+ errorLight: '#FAA8C6',
366
+ errorLighter: '#FDD8E6',
367
+ errorDark: '#4E041F',
368
+ success: '#17C965',
369
+ successLight: '#ADF5CD',
370
+ successLighter: '#DAFBE9',
371
+ successDark: '#06371C',
372
+ warning: '#F5A525',
373
+ warningLight: '#FBDBA8',
374
+ warningLighter: '#FDEFD9',
375
+ warningDark: '#4E3105',
376
+ info: '#06B7DC',
377
+ infoLighter: '#A5EEFE',
378
+ infoLight: '#D7F8FF',
379
+ infoDark: '#053B49',
380
+ purple: '#f81ce5',
381
+ alert: '#ff0080',
382
+ link: '#3291ff',
383
+ pre: '#363450'
384
+ };
385
+ var expressiveness = {
386
+ linkStyle: 'none',
387
+ linkHoverStyle: 'none',
388
+ dropdownBoxShadow: '0 0 0 1px #333',
389
+ scrollerStart: 'rgba(255, 255, 255, 1)',
390
+ scrollerEnd: 'rgba(255, 255, 255, 0)',
391
+ shadowSmall: '0 0 0 1px #333',
392
+ shadowMedium: '0 0 0 1px #333',
393
+ shadowLarge: '0 0 0 1px #333',
394
+ portalOpacity: 0.75
395
+ };
396
+ var font = defaultFont;
397
+ var breakpoints = defaultBreakpoints;
398
+ var layout = defaultLayout;
399
+ var themes = {
400
+ type: 'dark',
401
+ font: font,
402
+ layout: layout,
403
+ palette: palette,
404
+ breakpoints: breakpoints,
405
+ expressiveness: expressiveness
406
+ };
407
+ var darkTheme = themes;
408
+
409
+ var isObject = function isObject(target) {
410
+ return target && _typeof(target) === 'object';
411
+ };
412
+ var deepDuplicable = function deepDuplicable(source, target) {
413
+ if (!isObject(target) || !isObject(source)) return source;
414
+ var sourceKeys = Object.keys(source);
415
+ var result = {};
416
+
417
+ for (var _i = 0, _sourceKeys = sourceKeys; _i < _sourceKeys.length; _i++) {
418
+ var key = _sourceKeys[_i];
419
+ var sourceValue = source[key];
420
+ var targetValue = target[key];
421
+
422
+ if (Array.isArray(sourceValue) && Array.isArray(targetValue)) {
423
+ result[key] = targetValue.concat(sourceValue);
424
+ } else if (isObject(sourceValue) && isObject(targetValue)) {
425
+ result[key] = deepDuplicable(sourceValue, _objectSpread2({}, targetValue));
426
+ } else if (targetValue) {
427
+ result[key] = targetValue;
428
+ } else {
429
+ result[key] = sourceValue;
430
+ }
431
+ }
432
+
433
+ return result;
434
+ };
435
+
436
+ var getPresets = function getPresets() {
437
+ return [lightTheme, darkTheme];
438
+ };
439
+
440
+ var getPresetStaticTheme = function getPresetStaticTheme() {
441
+ return lightTheme;
442
+ };
443
+
444
+ var isAvailableThemeType = function isAvailableThemeType(type) {
445
+ if (!type) return false;
446
+ var presetThemes = getPresets();
447
+ var hasType = presetThemes.find(function (theme) {
448
+ return theme.type === type;
449
+ });
450
+ return !hasType;
451
+ };
452
+
453
+ var isPresetTheme = function isPresetTheme(themeOrType) {
454
+ if (!themeOrType) return false;
455
+ var isType = typeof themeOrType === 'string';
456
+ var type = isType ? themeOrType : themeOrType.type;
457
+ return !isAvailableThemeType(type);
458
+ };
459
+
460
+ var hasUserCustomTheme = function hasUserCustomTheme() {
461
+ var themes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
462
+ return !!themes.find(function (item) {
463
+ return isAvailableThemeType(item.type);
464
+ });
465
+ };
466
+
467
+ var create = function create(base, custom) {
468
+ if (!isAvailableThemeType(custom.type)) {
469
+ throw new Error('Duplicate or unavailable theme type');
470
+ }
471
+
472
+ return deepDuplicable(base, custom);
473
+ };
474
+
475
+ var createFromDark = function createFromDark(custom) {
476
+ return create(darkTheme, custom);
477
+ };
478
+
479
+ var createFromLight = function createFromLight(custom) {
480
+ return create(lightTheme, custom);
481
+ };
482
+
483
+ var Themes = {
484
+ isPresetTheme: isPresetTheme,
485
+ isAvailableThemeType: isAvailableThemeType,
486
+ hasUserCustomTheme: hasUserCustomTheme,
487
+ getPresets: getPresets,
488
+ getPresetStaticTheme: getPresetStaticTheme,
489
+ create: create,
490
+ createFromDark: createFromDark,
491
+ createFromLight: createFromLight
492
+ };
493
+ var Themes$1 = Themes;
494
+
495
+ var defaultTheme = Themes$1.getPresetStaticTheme();
496
+ var ThemeContext = /*#__PURE__*/React__default["default"].createContext(defaultTheme);
497
+ var useTheme$1 = function useTheme() {
498
+ return React__default["default"].useContext(ThemeContext);
499
+ };
500
+
501
+ var useTheme = useTheme$1;
502
+
503
+ var useClickAway = function useClickAway(ref, handler) {
504
+ var handlerRef = React.useRef(handler);
505
+ React.useEffect(function () {
506
+ handlerRef.current = handler;
507
+ }, [handler]);
508
+ React.useEffect(function () {
509
+ var callback = function callback(event) {
510
+ var el = ref.current;
511
+ if (!event || !el || el.contains(event.target)) return;
512
+ handlerRef.current(event);
513
+ };
514
+
515
+ document.addEventListener('click', callback);
516
+ return function () {
517
+ return document.removeEventListener('click', callback);
518
+ };
519
+ }, [ref]);
520
+ };
521
+
522
+ var useClickAway$1 = useClickAway;
523
+
524
+ var getColor = function getColor(palette, type) {
525
+ var disabled = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
526
+ var colors = {
527
+ "default": {
528
+ color: palette.accents_5,
529
+ bgColor: palette.background,
530
+ borderLeftColor: palette.accents_2,
531
+ hoverBgColor: palette.accents_1,
532
+ hoverBorder: palette.accents_2
533
+ },
534
+ primary: {
535
+ color: palette.background,
536
+ bgColor: palette.primary,
537
+ borderLeftColor: palette.primaryDark,
538
+ hoverBgColor: palette.primaryDark,
539
+ hoverBorder: palette.primaryDark
540
+ },
541
+ secondary: {
542
+ color: palette.background,
543
+ bgColor: palette.secondary,
544
+ borderLeftColor: palette.secondaryDark,
545
+ hoverBgColor: palette.secondaryDark,
546
+ hoverBorder: palette.secondaryDark
547
+ },
548
+ success: {
549
+ color: palette.background,
550
+ bgColor: palette.success,
551
+ borderLeftColor: palette.successDark,
552
+ hoverBgColor: palette.successDark,
553
+ hoverBorder: palette.successDark
554
+ },
555
+ warning: {
556
+ color: palette.background,
557
+ bgColor: palette.warning,
558
+ borderLeftColor: palette.warningDark,
559
+ hoverBgColor: palette.warningDark,
560
+ hoverBorder: palette.warningDark
561
+ },
562
+ error: {
563
+ color: palette.background,
564
+ bgColor: palette.error,
565
+ borderLeftColor: palette.errorDark,
566
+ hoverBgColor: palette.errorDark,
567
+ hoverBorder: palette.errorDark
568
+ },
569
+ info: {
570
+ color: palette.background,
571
+ bgColor: palette.info,
572
+ borderLeftColor: palette.infoDark,
573
+ hoverBgColor: palette.infoDark,
574
+ hoverBorder: palette.infoDark
575
+ }
576
+ };
577
+ if (disabled) return _objectSpread2(_objectSpread2({}, colors["default"]), {}, {
578
+ bgColor: palette.accents_1,
579
+ color: palette.accents_4
580
+ });
581
+ return type ? colors[type] : colors["default"];
582
+ };
583
+
584
+ function ButtonDropdownIcon(_ref) {
585
+ var color = _ref.color,
586
+ height = _ref.height;
587
+ return /*#__PURE__*/React__default["default"].createElement("svg", {
588
+ stroke: color,
589
+ style: {
590
+ color: color
591
+ },
592
+ viewBox: "0 0 24 24",
593
+ width: height,
594
+ height: height,
595
+ strokeWidth: "1",
596
+ strokeLinecap: "round",
597
+ strokeLinejoin: "round",
598
+ fill: "none",
599
+ shapeRendering: "geometricPrecision",
600
+ className: "jsx-3359574434"
601
+ }, /*#__PURE__*/React__default["default"].createElement("path", {
602
+ d: "M6 9l6 6 6-6",
603
+ className: "jsx-3359574434"
604
+ }), /*#__PURE__*/React__default["default"].createElement(styledJsx_cjs.style, {
605
+ id: "3359574434"
606
+ }, "svg.jsx-3359574434{-webkit-transform:scale(0.6);-ms-transform:scale(0.6);transform:scale(0.6);}"));
607
+ }
608
+
609
+ ButtonDropdownIcon.displayName = 'BolioUIButtonDropdownIcon';
610
+
611
+ var defaultContext$1 = {
612
+ type: 'default',
613
+ auto: false,
614
+ disabled: false,
615
+ loading: false
616
+ };
617
+ var ButtonDropdownContext = /*#__PURE__*/React__default["default"].createContext(defaultContext$1);
618
+ var useButtonDropdown = function useButtonDropdown() {
619
+ return React__default["default"].useContext(ButtonDropdownContext);
620
+ };
621
+
622
+ var ScalePropKeys = ['width', 'height', 'padding', 'margin', 'w', 'h', 'paddingLeft', 'paddingRight', 'paddingTop', 'paddingBottom', 'pl', 'pr', 'pt', 'pb', 'marginLeft', 'marginRight', 'marginTop', 'marginBottom', 'ml', 'mr', 'mt', 'mb', 'px', 'py', 'mx', 'my', 'font', 'unit', 'scale'];
623
+
624
+ var defaultDynamicLayoutPipe = function defaultDynamicLayoutPipe(scale1x) {
625
+ return "".concat(scale1x);
626
+ };
627
+
628
+ var defaultContext = {
629
+ getScaleProps: function getScaleProps() {
630
+ return undefined;
631
+ },
632
+ getAllScaleProps: function getAllScaleProps() {
633
+ return {};
634
+ },
635
+ SCALES: {
636
+ pl: defaultDynamicLayoutPipe,
637
+ pr: defaultDynamicLayoutPipe,
638
+ pb: defaultDynamicLayoutPipe,
639
+ pt: defaultDynamicLayoutPipe,
640
+ px: defaultDynamicLayoutPipe,
641
+ py: defaultDynamicLayoutPipe,
642
+ mb: defaultDynamicLayoutPipe,
643
+ ml: defaultDynamicLayoutPipe,
644
+ mr: defaultDynamicLayoutPipe,
645
+ mt: defaultDynamicLayoutPipe,
646
+ mx: defaultDynamicLayoutPipe,
647
+ my: defaultDynamicLayoutPipe,
648
+ width: defaultDynamicLayoutPipe,
649
+ height: defaultDynamicLayoutPipe,
650
+ font: defaultDynamicLayoutPipe
651
+ },
652
+ unit: '16px'
653
+ };
654
+ var ScaleContext = /*#__PURE__*/React__default["default"].createContext(defaultContext);
655
+ var useScale$1 = function useScale() {
656
+ return React__default["default"].useContext(ScaleContext);
657
+ };
658
+
659
+ var pickChild = function pickChild(children, targetChild) {
660
+ var target = [];
661
+ var withoutTargetChildren = React__default["default"].Children.map(children, function (item) {
662
+ if (! /*#__PURE__*/React__default["default"].isValidElement(item)) return item;
663
+
664
+ if (item.type === targetChild) {
665
+ target.push(item);
666
+ return null;
667
+ }
668
+
669
+ return item;
670
+ });
671
+ var targetChildren = target.length >= 0 ? target : undefined;
672
+ return [withoutTargetChildren, targetChildren];
673
+ };
674
+ var pickChildByProps = function pickChildByProps(children, key, value) {
675
+ var target = [];
676
+ var isArray = Array.isArray(value);
677
+ var withoutPropChildren = React__default["default"].Children.map(children, function (item) {
678
+ if (! /*#__PURE__*/React__default["default"].isValidElement(item)) return null;
679
+ if (!item.props) return item;
680
+
681
+ if (isArray) {
682
+ if (value.includes(item.props[key])) {
683
+ target.push(item);
684
+ return null;
685
+ }
686
+
687
+ return item;
688
+ }
689
+
690
+ if (item.props[key] === value) {
691
+ target.push(item);
692
+ return null;
693
+ }
694
+
695
+ return item;
696
+ });
697
+ var targetChildren = target.length >= 0 ? target : undefined;
698
+ return [withoutPropChildren, targetChildren];
699
+ };
700
+ var isCSSNumberValue = function isCSSNumberValue(value) {
701
+ return value !== undefined && !Number.isNaN(+value);
702
+ };
703
+
704
+ var generateGetScaleProps = function generateGetScaleProps(props) {
705
+ var getScaleProps = function getScaleProps(keyOrKeys) {
706
+ if (!Array.isArray(keyOrKeys)) return props[keyOrKeys];
707
+ var value = undefined;
708
+
709
+ var _iterator = _createForOfIteratorHelper(keyOrKeys),
710
+ _step;
711
+
712
+ try {
713
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
714
+ var key = _step.value;
715
+ var currentValue = props[key];
716
+
717
+ if (typeof currentValue !== 'undefined') {
718
+ value = currentValue;
719
+ }
720
+ }
721
+ } catch (err) {
722
+ _iterator.e(err);
723
+ } finally {
724
+ _iterator.f();
725
+ }
726
+
727
+ return value;
728
+ };
729
+
730
+ return getScaleProps;
731
+ };
732
+ var generateGetAllScaleProps = function generateGetAllScaleProps(props) {
733
+ var getAllScaleProps = function getAllScaleProps() {
734
+ var scaleProps = {};
735
+
736
+ var _iterator2 = _createForOfIteratorHelper(ScalePropKeys),
737
+ _step2;
738
+
739
+ try {
740
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
741
+ var key = _step2.value;
742
+ var value = props[key];
743
+
744
+ if (typeof value !== 'undefined') {
745
+ scaleProps[key] = value;
746
+ }
747
+ }
748
+ } catch (err) {
749
+ _iterator2.e(err);
750
+ } finally {
751
+ _iterator2.f();
752
+ }
753
+
754
+ return scaleProps;
755
+ };
756
+
757
+ return getAllScaleProps;
758
+ };
759
+
760
+ var _excluded$3 = ["children"],
761
+ _excluded2 = ["paddingLeft", "pl", "paddingRight", "pr", "paddingTop", "pt", "paddingBottom", "pb", "marginTop", "mt", "marginRight", "mr", "marginBottom", "mb", "marginLeft", "ml", "px", "py", "mx", "my", "width", "height", "font", "w", "h", "margin", "padding", "unit", "scale"];
762
+
763
+ var reduceScaleCoefficient = function reduceScaleCoefficient(scale) {
764
+ if (scale === 1) return scale;
765
+ var diff = Math.abs((scale - 1) / 2);
766
+ return scale > 1 ? 1 + diff : 1 - diff;
767
+ }; // eslint-disable-next-line @typescript-eslint/ban-types
768
+
769
+
770
+ var withScale = function withScale(Render) {
771
+ var ScaleFC = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
772
+ var _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12, _ref13, _ref14, _ref15, _ref16, _ref17, _ref18, _ref19, _ref20, _ref21, _ref22, _ref23, _ref24, _ref25, _ref26, _ref27, _ref28, _ref29, _ref30, _ref31, _ref32, _ref33;
773
+
774
+ var children = _ref.children,
775
+ props = _objectWithoutProperties(_ref, _excluded$3);
776
+
777
+ var _useTheme = useTheme(),
778
+ layout = _useTheme.layout;
779
+
780
+ var paddingLeft = props.paddingLeft,
781
+ pl = props.pl,
782
+ paddingRight = props.paddingRight,
783
+ pr = props.pr,
784
+ paddingTop = props.paddingTop,
785
+ pt = props.pt,
786
+ paddingBottom = props.paddingBottom,
787
+ pb = props.pb,
788
+ marginTop = props.marginTop,
789
+ mt = props.mt,
790
+ marginRight = props.marginRight,
791
+ mr = props.mr,
792
+ marginBottom = props.marginBottom,
793
+ mb = props.mb,
794
+ marginLeft = props.marginLeft,
795
+ ml = props.ml,
796
+ px = props.px,
797
+ py = props.py,
798
+ mx = props.mx,
799
+ my = props.my,
800
+ width = props.width,
801
+ height = props.height,
802
+ font = props.font,
803
+ w = props.w,
804
+ h = props.h,
805
+ margin = props.margin,
806
+ padding = props.padding,
807
+ _props$unit = props.unit,
808
+ unit = _props$unit === void 0 ? layout.unit : _props$unit,
809
+ _props$scale = props.scale,
810
+ scale = _props$scale === void 0 ? 1 : _props$scale,
811
+ innerProps = _objectWithoutProperties(props, _excluded2);
812
+
813
+ var makeScaleHandler = function makeScaleHandler(attrValue) {
814
+ return function (scale1x, defaultValue) {
815
+ // 0 means disable scale and the default value is 0
816
+ if (scale1x === 0) {
817
+ scale1x = 1;
818
+ defaultValue = defaultValue || 0;
819
+ }
820
+
821
+ var factor = reduceScaleCoefficient(scale) * scale1x;
822
+
823
+ if (typeof attrValue === 'undefined') {
824
+ if (typeof defaultValue !== 'undefined') return "".concat(defaultValue);
825
+ return "calc(".concat(factor, " * ").concat(unit, ")");
826
+ }
827
+
828
+ if (!isCSSNumberValue(attrValue)) return "".concat(attrValue);
829
+ var customFactor = factor * Number(attrValue);
830
+ return "calc(".concat(customFactor, " * ").concat(unit, ")");
831
+ };
832
+ };
833
+
834
+ var value = {
835
+ unit: unit,
836
+ SCALES: {
837
+ pt: makeScaleHandler((_ref2 = (_ref3 = paddingTop !== null && paddingTop !== void 0 ? paddingTop : pt) !== null && _ref3 !== void 0 ? _ref3 : py) !== null && _ref2 !== void 0 ? _ref2 : padding),
838
+ pr: makeScaleHandler((_ref4 = (_ref5 = paddingRight !== null && paddingRight !== void 0 ? paddingRight : pr) !== null && _ref5 !== void 0 ? _ref5 : px) !== null && _ref4 !== void 0 ? _ref4 : padding),
839
+ pb: makeScaleHandler((_ref6 = (_ref7 = paddingBottom !== null && paddingBottom !== void 0 ? paddingBottom : pb) !== null && _ref7 !== void 0 ? _ref7 : py) !== null && _ref6 !== void 0 ? _ref6 : padding),
840
+ pl: makeScaleHandler((_ref8 = (_ref9 = paddingLeft !== null && paddingLeft !== void 0 ? paddingLeft : pl) !== null && _ref9 !== void 0 ? _ref9 : px) !== null && _ref8 !== void 0 ? _ref8 : padding),
841
+ px: makeScaleHandler((_ref10 = (_ref11 = (_ref12 = (_ref13 = px !== null && px !== void 0 ? px : paddingLeft) !== null && _ref13 !== void 0 ? _ref13 : paddingRight) !== null && _ref12 !== void 0 ? _ref12 : pl) !== null && _ref11 !== void 0 ? _ref11 : pr) !== null && _ref10 !== void 0 ? _ref10 : padding),
842
+ py: makeScaleHandler((_ref14 = (_ref15 = (_ref16 = (_ref17 = py !== null && py !== void 0 ? py : paddingTop) !== null && _ref17 !== void 0 ? _ref17 : paddingBottom) !== null && _ref16 !== void 0 ? _ref16 : pt) !== null && _ref15 !== void 0 ? _ref15 : pb) !== null && _ref14 !== void 0 ? _ref14 : padding),
843
+ mt: makeScaleHandler((_ref18 = (_ref19 = marginTop !== null && marginTop !== void 0 ? marginTop : mt) !== null && _ref19 !== void 0 ? _ref19 : my) !== null && _ref18 !== void 0 ? _ref18 : margin),
844
+ mr: makeScaleHandler((_ref20 = (_ref21 = marginRight !== null && marginRight !== void 0 ? marginRight : mr) !== null && _ref21 !== void 0 ? _ref21 : mx) !== null && _ref20 !== void 0 ? _ref20 : margin),
845
+ mb: makeScaleHandler((_ref22 = (_ref23 = marginBottom !== null && marginBottom !== void 0 ? marginBottom : mb) !== null && _ref23 !== void 0 ? _ref23 : my) !== null && _ref22 !== void 0 ? _ref22 : margin),
846
+ ml: makeScaleHandler((_ref24 = (_ref25 = marginLeft !== null && marginLeft !== void 0 ? marginLeft : ml) !== null && _ref25 !== void 0 ? _ref25 : mx) !== null && _ref24 !== void 0 ? _ref24 : margin),
847
+ mx: makeScaleHandler((_ref26 = (_ref27 = (_ref28 = (_ref29 = mx !== null && mx !== void 0 ? mx : marginLeft) !== null && _ref29 !== void 0 ? _ref29 : marginRight) !== null && _ref28 !== void 0 ? _ref28 : ml) !== null && _ref27 !== void 0 ? _ref27 : mr) !== null && _ref26 !== void 0 ? _ref26 : margin),
848
+ my: makeScaleHandler((_ref30 = (_ref31 = (_ref32 = (_ref33 = my !== null && my !== void 0 ? my : marginTop) !== null && _ref33 !== void 0 ? _ref33 : marginBottom) !== null && _ref32 !== void 0 ? _ref32 : mt) !== null && _ref31 !== void 0 ? _ref31 : mb) !== null && _ref30 !== void 0 ? _ref30 : margin),
849
+ width: makeScaleHandler(width !== null && width !== void 0 ? width : w),
850
+ height: makeScaleHandler(height !== null && height !== void 0 ? height : h),
851
+ font: makeScaleHandler(font)
852
+ },
853
+ getScaleProps: generateGetScaleProps(props),
854
+ getAllScaleProps: generateGetAllScaleProps(props)
855
+ };
856
+ return /*#__PURE__*/React__default["default"].createElement(ScaleContext.Provider, {
857
+ value: value
858
+ }, /*#__PURE__*/React__default["default"].createElement(Render, _extends({}, innerProps, {
859
+ ref: ref
860
+ }), children));
861
+ });
862
+ ScaleFC.displayName = "Scale".concat(Render.displayName || 'Wrapper');
863
+ return ScaleFC;
864
+ };
865
+
866
+ var withScale$1 = withScale;
867
+
868
+ var useScale = useScale$1;
869
+
870
+ var classObjectToString = function classObjectToString(className) {
871
+ var keys = Object.keys(className);
872
+ var len = keys.length;
873
+ var str = '';
874
+
875
+ for (var index = 0; index < len; index++) {
876
+ var key = keys[index];
877
+ var val = className[keys[index]];
878
+ if (!val) continue;
879
+ str = str ? "".concat(str, " ").concat(String(key)) : String(key);
880
+ }
881
+
882
+ return str;
883
+ };
884
+
885
+ var isObjectClassName = function isObjectClassName(value) {
886
+ return _typeof(value) === 'object' && !Array.isArray(value);
887
+ };
888
+
889
+ var useClasses = function useClasses() {
890
+ var len = arguments.length;
891
+ var classes = '';
892
+ if (len === 0) return classes;
893
+
894
+ for (var index = 0; index < len; index++) {
895
+ var val = index < 0 || arguments.length <= index ? undefined : arguments[index];
896
+ if (!val) continue;
897
+
898
+ if (isObjectClassName(val)) {
899
+ classes += " ".concat(classObjectToString(val));
900
+ } else {
901
+ classes += " ".concat(String(val).trim());
902
+ }
903
+ }
904
+
905
+ return classes.trim();
906
+ };
907
+
908
+ var useClasses$1 = useClasses;
909
+
910
+ var _excluded$2 = ["children", "type", "color", "className", "spaceRatio"];
911
+
912
+ var getIconBgColor = function getIconBgColor(type, palette, color) {
913
+ var colors = {
914
+ "default": palette.accents_6,
915
+ primary: palette.primary,
916
+ secondary: palette.secondary,
917
+ success: palette.success,
918
+ warning: palette.warning,
919
+ error: palette.error,
920
+ info: palette.info
921
+ };
922
+ return color ? color : colors[type];
923
+ };
924
+
925
+ function LoadingComponent(_ref) {
926
+ var children = _ref.children,
927
+ _ref$type = _ref.type,
928
+ type = _ref$type === void 0 ? 'default' : _ref$type,
929
+ color = _ref.color,
930
+ _ref$className = _ref.className,
931
+ className = _ref$className === void 0 ? '' : _ref$className,
932
+ _ref$spaceRatio = _ref.spaceRatio,
933
+ spaceRatio = _ref$spaceRatio === void 0 ? 1 : _ref$spaceRatio,
934
+ props = _objectWithoutProperties(_ref, _excluded$2);
935
+
936
+ var theme = useTheme();
937
+
938
+ var _useScale = useScale(),
939
+ SCALES = _useScale.SCALES;
940
+
941
+ var classes = useClasses$1('loading-container', className);
942
+ var bgColor = React.useMemo(function () {
943
+ return getIconBgColor(type, theme.palette, color);
944
+ }, [type, theme.palette, color]);
945
+ return /*#__PURE__*/React__default["default"].createElement("div", _extends({}, props, {
946
+ className: styledJsx_cjs.style.dynamic([["3790031813", [SCALES.font(1), SCALES.width(1, '100%'), SCALES.height(1, '100%'), SCALES.pt(0), SCALES.pr(0), SCALES.pb(0), SCALES.pl(0), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), theme.palette.accents_5, bgColor, spaceRatio]]]) + " " + (props && props.className != null && props.className || classes || "")
947
+ }), /*#__PURE__*/React__default["default"].createElement("span", {
948
+ className: styledJsx_cjs.style.dynamic([["3790031813", [SCALES.font(1), SCALES.width(1, '100%'), SCALES.height(1, '100%'), SCALES.pt(0), SCALES.pr(0), SCALES.pb(0), SCALES.pl(0), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), theme.palette.accents_5, bgColor, spaceRatio]]]) + " " + "loading"
949
+ }, children && /*#__PURE__*/React__default["default"].createElement("label", {
950
+ className: styledJsx_cjs.style.dynamic([["3790031813", [SCALES.font(1), SCALES.width(1, '100%'), SCALES.height(1, '100%'), SCALES.pt(0), SCALES.pr(0), SCALES.pb(0), SCALES.pl(0), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), theme.palette.accents_5, bgColor, spaceRatio]]])
951
+ }, children), /*#__PURE__*/React__default["default"].createElement("i", {
952
+ className: styledJsx_cjs.style.dynamic([["3790031813", [SCALES.font(1), SCALES.width(1, '100%'), SCALES.height(1, '100%'), SCALES.pt(0), SCALES.pr(0), SCALES.pb(0), SCALES.pl(0), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), theme.palette.accents_5, bgColor, spaceRatio]]])
953
+ }), /*#__PURE__*/React__default["default"].createElement("i", {
954
+ className: styledJsx_cjs.style.dynamic([["3790031813", [SCALES.font(1), SCALES.width(1, '100%'), SCALES.height(1, '100%'), SCALES.pt(0), SCALES.pr(0), SCALES.pb(0), SCALES.pl(0), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), theme.palette.accents_5, bgColor, spaceRatio]]])
955
+ }), /*#__PURE__*/React__default["default"].createElement("i", {
956
+ className: styledJsx_cjs.style.dynamic([["3790031813", [SCALES.font(1), SCALES.width(1, '100%'), SCALES.height(1, '100%'), SCALES.pt(0), SCALES.pr(0), SCALES.pb(0), SCALES.pl(0), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), theme.palette.accents_5, bgColor, spaceRatio]]])
957
+ })), /*#__PURE__*/React__default["default"].createElement(styledJsx_cjs.style, {
958
+ id: "3790031813",
959
+ dynamic: [SCALES.font(1), SCALES.width(1, '100%'), SCALES.height(1, '100%'), SCALES.pt(0), SCALES.pr(0), SCALES.pb(0), SCALES.pl(0), SCALES.mt(0), SCALES.mr(0), SCALES.mb(0), SCALES.ml(0), theme.palette.accents_5, bgColor, spaceRatio]
960
+ }, ".loading-container.__jsx-style-dynamic-selector{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;font-size:".concat(SCALES.font(1), ";width:").concat(SCALES.width(1, '100%'), ";height:").concat(SCALES.height(1, '100%'), ";min-height:1em;padding:").concat(SCALES.pt(0), " ").concat(SCALES.pr(0), " ").concat(SCALES.pb(0), " ").concat(SCALES.pl(0), ";margin:").concat(SCALES.mt(0), " ").concat(SCALES.mr(0), " ").concat(SCALES.mb(0), " ").concat(SCALES.ml(0), ";}label.__jsx-style-dynamic-selector{margin-right:0.5em;color:").concat(theme.palette.accents_5, ";line-height:1;}label.__jsx-style-dynamic-selector *{margin:0;}.loading.__jsx-style-dynamic-selector{position:absolute;top:50%;left:50%;width:100%;height:100%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}i.__jsx-style-dynamic-selector{width:0.25em;height:0.25em;border-radius:50%;background-color:").concat(bgColor, ";margin:0 calc(0.25em / 2 * ").concat(spaceRatio, ");display:inline-block;-webkit-animation:loading-blink-__jsx-style-dynamic-selector 1.4s infinite both;animation:loading-blink-__jsx-style-dynamic-selector 1.4s infinite both;}i.__jsx-style-dynamic-selector:nth-child(2){-webkit-animation-delay:0.2s;animation-delay:0.2s;}i.__jsx-style-dynamic-selector:nth-child(3){-webkit-animation-delay:0.4s;animation-delay:0.4s;}@-webkit-keyframes loading-blink-__jsx-style-dynamic-selector{0%{opacity:0.2;}20%{opacity:1;}100%{opacity:0.2;}}@keyframes loading-blink-__jsx-style-dynamic-selector{0%{opacity:0.2;}20%{opacity:1;}100%{opacity:0.2;}}")));
961
+ }
962
+
963
+ LoadingComponent.displayName = 'BolioUILoading';
964
+ var Loading = withScale$1(LoadingComponent);
965
+ var Loading$1 = Loading;
966
+
967
+ var _excluded$1 = ["children", "onClick", "className", "main", "type"];
968
+
969
+ function ButtonDropdownItem(_ref) {
970
+ var children = _ref.children,
971
+ onClick = _ref.onClick,
972
+ _ref$className = _ref.className,
973
+ className = _ref$className === void 0 ? '' : _ref$className,
974
+ _ref$main = _ref.main,
975
+ main = _ref$main === void 0 ? false : _ref$main,
976
+ _ref$type = _ref.type,
977
+ selfType = _ref$type === void 0 ? 'default' : _ref$type,
978
+ props = _objectWithoutProperties(_ref, _excluded$1);
979
+
980
+ var theme = useTheme();
981
+
982
+ var _useButtonDropdown = useButtonDropdown(),
983
+ parentType = _useButtonDropdown.type,
984
+ disabled = _useButtonDropdown.disabled,
985
+ loading = _useButtonDropdown.loading;
986
+
987
+ var type = main ? parentType : selfType;
988
+ var colors = getColor(theme.palette, type, disabled);
989
+
990
+ var clickHandler = function clickHandler(event) {
991
+ if (disabled || loading) return;
992
+ onClick && onClick(event);
993
+ };
994
+
995
+ var cursor = React.useMemo(function () {
996
+ if (loading) return 'default';
997
+ return disabled ? 'not-allowed' : 'pointer';
998
+ }, [loading, disabled]);
999
+ return /*#__PURE__*/React__default["default"].createElement("button", _extends({
1000
+ onClick: clickHandler
1001
+ }, props, {
1002
+ className: styledJsx_cjs.style.dynamic([["3452455908", [cursor, colors.bgColor, colors.color, colors.hoverBorder, colors.hoverBgColor]]]) + " " + (props && props.className != null && props.className || className || "")
1003
+ }), loading ? /*#__PURE__*/React__default["default"].createElement(Loading$1, null) : children, /*#__PURE__*/React__default["default"].createElement(styledJsx_cjs.style, {
1004
+ id: "3452455908",
1005
+ dynamic: [cursor, colors.bgColor, colors.color, colors.hoverBorder, colors.hoverBgColor]
1006
+ }, "button.__jsx-style-dynamic-selector{position:relative;-webkit-appearance:button;text-rendering:auto;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;vertical-align:middle;text-align:center;cursor:".concat(cursor, ";box-sizing:border-box;margin:0;border:none;background-color:").concat(colors.bgColor, ";color:").concat(colors.color, ";width:100%;height:var(--bolio-ui-dropdown-height);min-width:var(--bolio-ui-dropdown-min-width);padding:var(--bolio-ui-dropdown-padding);font-size:var(--bolio-ui-dropdown-font-size);}button.__jsx-style-dynamic-selector:hover{border-color:").concat(colors.hoverBorder, ";background-color:").concat(colors.hoverBgColor, ";}")));
1007
+ }
1008
+
1009
+ ButtonDropdownItem.displayName = 'BolioUIButtonDropdownItem';
1010
+
1011
+ var _excluded = ["children", "type", "auto", "className", "disabled", "loading", "icon"];
1012
+
1013
+ var stopPropagation = function stopPropagation(event) {
1014
+ event.stopPropagation();
1015
+ event.nativeEvent.stopImmediatePropagation();
1016
+ };
1017
+
1018
+ function ButtonDropdownComponent(_ref) {
1019
+ var children = _ref.children,
1020
+ _ref$type = _ref.type,
1021
+ type = _ref$type === void 0 ? 'default' : _ref$type,
1022
+ _ref$auto = _ref.auto,
1023
+ auto = _ref$auto === void 0 ? false : _ref$auto,
1024
+ _ref$className = _ref.className,
1025
+ className = _ref$className === void 0 ? '' : _ref$className,
1026
+ _ref$disabled = _ref.disabled,
1027
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
1028
+ _ref$loading = _ref.loading,
1029
+ loading = _ref$loading === void 0 ? false : _ref$loading,
1030
+ icon = _ref.icon,
1031
+ props = _objectWithoutProperties(_ref, _excluded);
1032
+
1033
+ var _useScale = useScale(),
1034
+ SCALES = _useScale.SCALES;
1035
+
1036
+ var ref = React.useRef(null);
1037
+ var theme = useTheme();
1038
+ var colors = getColor(theme.palette, type);
1039
+ var itemChildren = pickChild(children, ButtonDropdownItem)[1];
1040
+
1041
+ var _pickChildByProps = pickChildByProps(itemChildren, 'main', true),
1042
+ _pickChildByProps2 = _slicedToArray(_pickChildByProps, 2),
1043
+ itemChildrenWithoutMain = _pickChildByProps2[0],
1044
+ mainItemChildren = _pickChildByProps2[1];
1045
+
1046
+ var _useState = React.useState(false),
1047
+ _useState2 = _slicedToArray(_useState, 2),
1048
+ visible = _useState2[0],
1049
+ setVisible = _useState2[1];
1050
+
1051
+ var clickHandler = React.useCallback(function (event) {
1052
+ event.preventDefault();
1053
+ stopPropagation(event);
1054
+ if (disabled || loading) return;
1055
+ setVisible(!visible);
1056
+ }, [disabled, loading, visible]);
1057
+ var initialValue = {
1058
+ type: type,
1059
+ auto: auto,
1060
+ disabled: disabled,
1061
+ loading: loading
1062
+ };
1063
+ var bgColor = React.useMemo(function () {
1064
+ if (disabled || loading) return theme.palette.accents_1;
1065
+ return visible ? colors.hoverBgColor : colors.bgColor;
1066
+ }, [disabled, loading, theme.palette.accents_1, visible, colors.hoverBgColor, colors.bgColor]);
1067
+ var paddingLeft = auto ? SCALES.pl(1.15) : SCALES.pl(1.375),
1068
+ paddingRight = auto ? SCALES.pr(1.15) : SCALES.pr(1.375);
1069
+ useClickAway$1(ref, function () {
1070
+ return setVisible(false);
1071
+ });
1072
+ return /*#__PURE__*/React__default["default"].createElement(ButtonDropdownContext.Provider, {
1073
+ value: initialValue
1074
+ }, /*#__PURE__*/React__default["default"].createElement("div", _extends({
1075
+ ref: ref,
1076
+ onClick: stopPropagation
1077
+ }, props, {
1078
+ className: styledJsx_cjs.style.dynamic([["2624345116", [theme.palette.border, theme.layout.radius, SCALES.height(2.5), auto ? 'min-content' : SCALES.width(10.5), SCALES.pt(0), paddingRight, SCALES.pb(0), paddingLeft, SCALES.font(0.875), theme.layout.radius, theme.layout.radius, theme.layout.radius, theme.layout.radius, SCALES.height(2.5), colors.color, bgColor, SCALES.height(2.5), colors.borderLeftColor, disabled || loading ? 'not-allowed' : 'pointer', colors.hoverBorder, colors.hoverBgColor, theme.layout.radius, theme.expressiveness.shadowLarge, theme.layout.gapHalf, theme.palette.background, theme.layout.radius, theme.layout.radius, theme.layout.radius, theme.layout.radius]]]) + " " + (props && props.className != null && props.className || useClasses$1('btn-dropdown', className) || "")
1079
+ }), mainItemChildren, /*#__PURE__*/React__default["default"].createElement("details", {
1080
+ open: visible,
1081
+ className: styledJsx_cjs.style.dynamic([["2624345116", [theme.palette.border, theme.layout.radius, SCALES.height(2.5), auto ? 'min-content' : SCALES.width(10.5), SCALES.pt(0), paddingRight, SCALES.pb(0), paddingLeft, SCALES.font(0.875), theme.layout.radius, theme.layout.radius, theme.layout.radius, theme.layout.radius, SCALES.height(2.5), colors.color, bgColor, SCALES.height(2.5), colors.borderLeftColor, disabled || loading ? 'not-allowed' : 'pointer', colors.hoverBorder, colors.hoverBgColor, theme.layout.radius, theme.expressiveness.shadowLarge, theme.layout.gapHalf, theme.palette.background, theme.layout.radius, theme.layout.radius, theme.layout.radius, theme.layout.radius]]])
1082
+ }, /*#__PURE__*/React__default["default"].createElement("summary", {
1083
+ onClick: clickHandler,
1084
+ className: styledJsx_cjs.style.dynamic([["2624345116", [theme.palette.border, theme.layout.radius, SCALES.height(2.5), auto ? 'min-content' : SCALES.width(10.5), SCALES.pt(0), paddingRight, SCALES.pb(0), paddingLeft, SCALES.font(0.875), theme.layout.radius, theme.layout.radius, theme.layout.radius, theme.layout.radius, SCALES.height(2.5), colors.color, bgColor, SCALES.height(2.5), colors.borderLeftColor, disabled || loading ? 'not-allowed' : 'pointer', colors.hoverBorder, colors.hoverBgColor, theme.layout.radius, theme.expressiveness.shadowLarge, theme.layout.gapHalf, theme.palette.background, theme.layout.radius, theme.layout.radius, theme.layout.radius, theme.layout.radius]]])
1085
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
1086
+ className: styledJsx_cjs.style.dynamic([["2624345116", [theme.palette.border, theme.layout.radius, SCALES.height(2.5), auto ? 'min-content' : SCALES.width(10.5), SCALES.pt(0), paddingRight, SCALES.pb(0), paddingLeft, SCALES.font(0.875), theme.layout.radius, theme.layout.radius, theme.layout.radius, theme.layout.radius, SCALES.height(2.5), colors.color, bgColor, SCALES.height(2.5), colors.borderLeftColor, disabled || loading ? 'not-allowed' : 'pointer', colors.hoverBorder, colors.hoverBgColor, theme.layout.radius, theme.expressiveness.shadowLarge, theme.layout.gapHalf, theme.palette.background, theme.layout.radius, theme.layout.radius, theme.layout.radius, theme.layout.radius]]]) + " " + "dropdown-box"
1087
+ }, icon ? /*#__PURE__*/React__default["default"].createElement("span", {
1088
+ style: {
1089
+ color: colors.color,
1090
+ height: SCALES.height(2.5),
1091
+ width: SCALES.height(2.5)
1092
+ },
1093
+ className: styledJsx_cjs.style.dynamic([["2624345116", [theme.palette.border, theme.layout.radius, SCALES.height(2.5), auto ? 'min-content' : SCALES.width(10.5), SCALES.pt(0), paddingRight, SCALES.pb(0), paddingLeft, SCALES.font(0.875), theme.layout.radius, theme.layout.radius, theme.layout.radius, theme.layout.radius, SCALES.height(2.5), colors.color, bgColor, SCALES.height(2.5), colors.borderLeftColor, disabled || loading ? 'not-allowed' : 'pointer', colors.hoverBorder, colors.hoverBgColor, theme.layout.radius, theme.expressiveness.shadowLarge, theme.layout.gapHalf, theme.palette.background, theme.layout.radius, theme.layout.radius, theme.layout.radius, theme.layout.radius]]]) + " " + "dropdown-icon"
1094
+ }, icon) : /*#__PURE__*/React__default["default"].createElement(ButtonDropdownIcon, {
1095
+ color: colors.color,
1096
+ height: SCALES.height(2.5)
1097
+ }))), /*#__PURE__*/React__default["default"].createElement("div", {
1098
+ className: styledJsx_cjs.style.dynamic([["2624345116", [theme.palette.border, theme.layout.radius, SCALES.height(2.5), auto ? 'min-content' : SCALES.width(10.5), SCALES.pt(0), paddingRight, SCALES.pb(0), paddingLeft, SCALES.font(0.875), theme.layout.radius, theme.layout.radius, theme.layout.radius, theme.layout.radius, SCALES.height(2.5), colors.color, bgColor, SCALES.height(2.5), colors.borderLeftColor, disabled || loading ? 'not-allowed' : 'pointer', colors.hoverBorder, colors.hoverBgColor, theme.layout.radius, theme.expressiveness.shadowLarge, theme.layout.gapHalf, theme.palette.background, theme.layout.radius, theme.layout.radius, theme.layout.radius, theme.layout.radius]]]) + " " + "content"
1099
+ }, itemChildrenWithoutMain)), /*#__PURE__*/React__default["default"].createElement(styledJsx_cjs.style, {
1100
+ id: "2624345116",
1101
+ dynamic: [theme.palette.border, theme.layout.radius, SCALES.height(2.5), auto ? 'min-content' : SCALES.width(10.5), SCALES.pt(0), paddingRight, SCALES.pb(0), paddingLeft, SCALES.font(0.875), theme.layout.radius, theme.layout.radius, theme.layout.radius, theme.layout.radius, SCALES.height(2.5), colors.color, bgColor, SCALES.height(2.5), colors.borderLeftColor, disabled || loading ? 'not-allowed' : 'pointer', colors.hoverBorder, colors.hoverBgColor, theme.layout.radius, theme.expressiveness.shadowLarge, theme.layout.gapHalf, theme.palette.background, theme.layout.radius, theme.layout.radius, theme.layout.radius, theme.layout.radius]
1102
+ }, ".btn-dropdown.__jsx-style-dynamic-selector{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;position:relative;box-sizing:border-box;border:1px solid ".concat(theme.palette.border, ";border-radius:").concat(theme.layout.radius, ";--bolio-ui-dropdown-height:").concat(SCALES.height(2.5), ";--bolio-ui-dropdown-min-width:").concat(auto ? 'min-content' : SCALES.width(10.5), ";--bolio-ui-dropdown-padding:").concat(SCALES.pt(0), " ").concat(paddingRight, " ").concat(SCALES.pb(0), " ").concat(paddingLeft, ";--bolio-ui-dropdown-font-size:").concat(SCALES.font(0.875), ";}.btn-dropdown.__jsx-style-dynamic-selector>button{border-top-left-radius:").concat(theme.layout.radius, ";border-bottom-left-radius:").concat(theme.layout.radius, ";}details.__jsx-style-dynamic-selector{border-top-right-radius:").concat(theme.layout.radius, ";border-bottom-right-radius:").concat(theme.layout.radius, ";overflow:hidden;}.dropdown-box.__jsx-style-dynamic-selector{height:").concat(SCALES.height(2.5), ";display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:auto;}summary.__jsx-style-dynamic-selector{box-sizing:border-box;-webkit-tap-highlight-color:transparent;list-style:none;outline:none;color:").concat(colors.color, ";background-color:").concat(bgColor, ";height:").concat(SCALES.height(2.5), ";border-left:1px solid ").concat(colors.borderLeftColor, ";cursor:").concat(disabled || loading ? 'not-allowed' : 'pointer', ";display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:auto;padding:0 1px;-webkit-transition:background 0.2s ease 0s,border-color 0.2s ease 0s;transition:background 0.2s ease 0s,border-color 0.2s ease 0s;}summary.__jsx-style-dynamic-selector:hover{border-color:").concat(colors.hoverBorder, ";background-color:").concat(colors.hoverBgColor, ";}.content.__jsx-style-dynamic-selector{position:absolute;right:0;left:0;z-index:90;width:100%;border-radius:").concat(theme.layout.radius, ";box-shadow:").concat(theme.expressiveness.shadowLarge, ";-webkit-transform:translateY(").concat(theme.layout.gapHalf, ");-ms-transform:translateY(").concat(theme.layout.gapHalf, ");transform:translateY(").concat(theme.layout.gapHalf, ");background-color:").concat(theme.palette.background, ";}.content.__jsx-style-dynamic-selector>button:first-of-type{border-top-left-radius:").concat(theme.layout.radius, ";border-top-right-radius:").concat(theme.layout.radius, ";}.content.__jsx-style-dynamic-selector>button:last-of-type{border-bottom-left-radius:").concat(theme.layout.radius, ";border-bottom-right-radius:").concat(theme.layout.radius, ";}.dropdown-icon.__jsx-style-dynamic-selector{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transform:scale(0.6);-ms-transform:scale(0.6);transform:scale(0.6);}"))));
1103
+ }
1104
+
1105
+ ButtonDropdownComponent.displayName = 'BolioUIButtonDropdown';
1106
+ var ButtonDropdown = withScale$1(ButtonDropdownComponent);
1107
+ var ButtonDropdown$1 = ButtonDropdown;
1108
+
1109
+ ButtonDropdown$1.Item = ButtonDropdownItem;
1110
+
1111
+ exports["default"] = ButtonDropdown$1;