@quadrats/react 0.6.7 → 0.7.1

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 (334) hide show
  1. package/_internal/index.cjs.js +42 -44
  2. package/_internal/renderer/composeRenderElementsBase.js +10 -10
  3. package/_internal/renderer/composeRenderLeafsBase.js +8 -8
  4. package/_internal/renderer/createRenderElementBase.js +6 -6
  5. package/_internal/renderer/createRenderElementsBase.js +8 -8
  6. package/_internal/renderer/createRenderMarkBase.js +10 -10
  7. package/blockquote/constants.js +5 -5
  8. package/blockquote/createReactBlockquote.d.ts +1 -1
  9. package/blockquote/createReactBlockquote.js +58 -58
  10. package/blockquote/defaultRenderBlockquoteElement.d.ts +2 -2
  11. package/blockquote/index.cjs.js +64 -71
  12. package/blockquote/jsx-serializer/createJsxSerializeBlockquote.d.ts +2 -2
  13. package/blockquote/jsx-serializer/createJsxSerializeBlockquote.js +3 -3
  14. package/blockquote/jsx-serializer/index.cjs.js +3 -5
  15. package/blockquote/jsx-serializer/typings.d.ts +1 -1
  16. package/blockquote/toolbar/BlockquoteToolbarIcon.d.ts +2 -2
  17. package/blockquote/toolbar/BlockquoteToolbarIcon.js +4 -4
  18. package/blockquote/toolbar/index.cjs.js +10 -16
  19. package/blockquote/toolbar/useBlockquoteTool.js +6 -6
  20. package/blockquote/typings.d.ts +1 -1
  21. package/bold/constants.js +5 -5
  22. package/bold/createReactBold.d.ts +1 -1
  23. package/bold/createReactBold.js +3 -3
  24. package/bold/defaultRenderBold.d.ts +2 -2
  25. package/bold/defaultRenderBold.js +1 -1
  26. package/bold/index.cjs.js +9 -15
  27. package/bold/jsx-serializer/createJsxSerializeBold.js +3 -3
  28. package/bold/jsx-serializer/index.cjs.js +3 -5
  29. package/components/Icon/index.d.ts +1 -1
  30. package/components/Icon/index.js +15 -15
  31. package/components/Portal/index.d.ts +1 -0
  32. package/components/Portal/index.js +3 -3
  33. package/components/Progress/index.js +10 -10
  34. package/components/Tooltip/calculatePosition.js +66 -66
  35. package/components/Tooltip/index.d.ts +2 -2
  36. package/components/Tooltip/index.js +109 -109
  37. package/components/Tooltip/typings.d.ts +4 -4
  38. package/components/index.cjs.js +203 -211
  39. package/configs/ConfigsProvider.d.ts +2 -2
  40. package/configs/ConfigsProvider.js +7 -7
  41. package/configs/index.cjs.js +38 -44
  42. package/configs/locale.js +3 -3
  43. package/configs/theme.js +28 -28
  44. package/core/components/DefaultElement.d.ts +2 -2
  45. package/core/components/DefaultLeaf.d.ts +2 -2
  46. package/core/components/Editable.d.ts +3 -3
  47. package/core/components/Editable.js +41 -42
  48. package/core/components/Quadrats.d.ts +3 -3
  49. package/core/components/Quadrats.js +7 -7
  50. package/core/composeHandlers.js +30 -30
  51. package/core/composeRenderElements.d.ts +1 -1
  52. package/core/composeRenderElements.js +5 -5
  53. package/core/composeRenderLeafs.js +5 -5
  54. package/core/createReactEditor.js +2 -2
  55. package/core/createRenderElement.d.ts +1 -1
  56. package/core/createRenderElement.js +2 -2
  57. package/core/createRenderElements.d.ts +1 -1
  58. package/core/createRenderElements.js +2 -2
  59. package/core/createRenderMark.js +2 -2
  60. package/core/index.d.ts +6 -4
  61. package/core/index.js +11 -0
  62. package/core/typings/descendant.d.ts +1 -1
  63. package/core/typings/handler.d.ts +7 -7
  64. package/core/typings/renderer.d.ts +5 -5
  65. package/core/typings/with.d.ts +2 -2
  66. package/divider/createReactDivider.d.ts +1 -1
  67. package/divider/createReactDivider.js +4 -4
  68. package/divider/defaultRenderDividerElement.d.ts +2 -2
  69. package/divider/defaultRenderDividerElement.js +2 -2
  70. package/divider/index.cjs.js +6 -12
  71. package/divider/jsx-serializer/createJsxSerializeDivider.d.ts +2 -2
  72. package/divider/jsx-serializer/createJsxSerializeDivider.js +3 -3
  73. package/divider/jsx-serializer/defaultRenderDividerElement.d.ts +2 -2
  74. package/divider/jsx-serializer/index.cjs.js +4 -10
  75. package/divider/jsx-serializer/typings.d.ts +1 -1
  76. package/divider/toolbar/DividerToolbarIcon.d.ts +2 -2
  77. package/divider/toolbar/DividerToolbarIcon.js +4 -4
  78. package/divider/toolbar/index.cjs.js +9 -15
  79. package/divider/toolbar/useDividerTool.js +5 -5
  80. package/divider/typings.d.ts +1 -1
  81. package/embed/components/VideoIframe.d.ts +2 -2
  82. package/embed/components/VideoIframe.js +8 -8
  83. package/embed/createReactEmbed.d.ts +1 -1
  84. package/embed/createReactEmbed.js +7 -7
  85. package/embed/createRenderEmbedElementBase.js +9 -9
  86. package/embed/hooks/useVideoIframeSize.js +19 -19
  87. package/embed/index.cjs.js +43 -49
  88. package/embed/jsx-serializer/createJsxSerializeEmbed.d.ts +1 -1
  89. package/embed/jsx-serializer/createJsxSerializeEmbed.js +6 -6
  90. package/embed/jsx-serializer/facebook/index.cjs.js +2 -4
  91. package/embed/jsx-serializer/index.cjs.js +6 -8
  92. package/embed/jsx-serializer/instagram/index.cjs.js +2 -4
  93. package/embed/jsx-serializer/twitter/index.cjs.js +2 -4
  94. package/embed/jsx-serializer/vimeo/index.cjs.js +2 -4
  95. package/embed/jsx-serializer/youtube/index.cjs.js +2 -4
  96. package/embed/renderers/facebook/components/Facebook.d.ts +2 -2
  97. package/embed/renderers/facebook/components/Facebook.js +11 -11
  98. package/embed/renderers/facebook/defaultRenderFacebookEmbedElement.d.ts +2 -2
  99. package/embed/renderers/facebook/index.cjs.js +12 -18
  100. package/embed/renderers/instagram/components/Instagram.d.ts +2 -2
  101. package/embed/renderers/instagram/components/Instagram.js +18 -18
  102. package/embed/renderers/instagram/defaultRenderInstagramEmbedElement.d.ts +2 -2
  103. package/embed/renderers/instagram/hooks/useLoadInstagramEmbedApi.js +22 -22
  104. package/embed/renderers/instagram/index.cjs.js +41 -47
  105. package/embed/renderers/podcast-apple/components/PodcastApple.d.ts +2 -2
  106. package/embed/renderers/podcast-apple/components/PodcastApple.js +6 -6
  107. package/embed/renderers/podcast-apple/defaultRenderPodcastAppleEmbedElement.d.ts +2 -2
  108. package/embed/renderers/podcast-apple/index.cjs.js +7 -13
  109. package/embed/renderers/spotify/components/Spotify.d.ts +2 -2
  110. package/embed/renderers/spotify/components/Spotify.js +10 -10
  111. package/embed/renderers/spotify/defaultRenderSpotifyEmbedElement.d.ts +2 -2
  112. package/embed/renderers/spotify/index.cjs.js +11 -17
  113. package/embed/renderers/twitter/components/Twitter.d.ts +2 -2
  114. package/embed/renderers/twitter/components/Twitter.js +5 -5
  115. package/embed/renderers/twitter/defaultRenderTwitterEmbedElement.d.ts +2 -2
  116. package/embed/renderers/twitter/hooks/useLoadTwitterEmbedApi.js +28 -28
  117. package/embed/renderers/twitter/index.cjs.js +34 -40
  118. package/embed/renderers/vimeo/defaultRenderVimeoEmbedElement.d.ts +2 -2
  119. package/embed/renderers/vimeo/index.cjs.js +1 -7
  120. package/embed/renderers/youtube/defaultRenderYoutubeEmbedElement.d.ts +2 -2
  121. package/embed/renderers/youtube/index.cjs.js +1 -7
  122. package/embed/toolbar/EmbedToolbarIcon.d.ts +2 -2
  123. package/embed/toolbar/EmbedToolbarIcon.js +4 -4
  124. package/embed/toolbar/index.cjs.js +16 -22
  125. package/embed/toolbar/useEmbedTool.js +12 -12
  126. package/embed/typings.d.ts +1 -1
  127. package/file-uploader/components/FileUploader.d.ts +2 -2
  128. package/file-uploader/components/FileUploader.js +7 -7
  129. package/file-uploader/createReactFileUploader.js +7 -7
  130. package/file-uploader/hooks/useFileUploader.js +7 -7
  131. package/file-uploader/index.cjs.js +22 -28
  132. package/file-uploader/toolbar/FileUploaderToolbarIcon.d.ts +2 -2
  133. package/file-uploader/toolbar/FileUploaderToolbarIcon.js +4 -4
  134. package/file-uploader/toolbar/index.cjs.js +9 -15
  135. package/file-uploader/toolbar/useFileUploaderTool.js +5 -5
  136. package/file-uploader/typings.d.ts +3 -3
  137. package/footnote/createReactFootnote.d.ts +1 -1
  138. package/footnote/createReactFootnote.js +6 -6
  139. package/footnote/defaultRenderFootnoteElement.d.ts +2 -2
  140. package/footnote/defaultRenderFootnoteElement.js +9 -9
  141. package/footnote/index.cjs.js +51 -57
  142. package/footnote/jsx-serializer/createJsxSerializeFootnote.d.ts +2 -2
  143. package/footnote/jsx-serializer/createJsxSerializeFootnote.js +4 -4
  144. package/footnote/jsx-serializer/defaultRenderFootnoteElement.d.ts +2 -2
  145. package/footnote/jsx-serializer/defaultRenderFootnoteElement.js +5 -5
  146. package/footnote/jsx-serializer/index.cjs.js +9 -15
  147. package/footnote/jsx-serializer/typings.d.ts +1 -1
  148. package/footnote/toolbar/FootnoteToolbarIcon.d.ts +2 -2
  149. package/footnote/toolbar/FootnoteToolbarIcon.js +4 -4
  150. package/footnote/toolbar/index.cjs.js +17 -23
  151. package/footnote/toolbar/useFootnoteTool.d.ts +1 -1
  152. package/footnote/toolbar/useFootnoteTool.js +13 -13
  153. package/footnote/typings.d.ts +1 -1
  154. package/footnote/useFootnotes.js +15 -15
  155. package/footnote/useFootnotesFromNodes.js +21 -21
  156. package/heading/constants.js +8 -8
  157. package/heading/createReactHeading.d.ts +1 -1
  158. package/heading/createReactHeading.js +37 -37
  159. package/heading/defaultRenderHeadingElement.d.ts +2 -2
  160. package/heading/defaultRenderHeadingElement.js +14 -14
  161. package/heading/index.cjs.js +59 -66
  162. package/heading/jsx-serializer/createJsxSerializeHeading.d.ts +2 -2
  163. package/heading/jsx-serializer/createJsxSerializeHeading.js +3 -3
  164. package/heading/jsx-serializer/index.cjs.js +3 -5
  165. package/heading/jsx-serializer/typings.d.ts +1 -1
  166. package/heading/toolbar/HeadingToolbarIcon.d.ts +2 -2
  167. package/heading/toolbar/HeadingToolbarIcon.js +4 -4
  168. package/heading/toolbar/index.cjs.js +10 -16
  169. package/heading/toolbar/useToggleHeadingTool.js +6 -6
  170. package/heading/typings.d.ts +1 -1
  171. package/highlight/constants.js +5 -5
  172. package/highlight/createReactHighlight.d.ts +1 -1
  173. package/highlight/createReactHighlight.js +3 -3
  174. package/highlight/defaultRenderHighlight.d.ts +2 -2
  175. package/highlight/defaultRenderHighlight.js +1 -1
  176. package/highlight/index.cjs.js +9 -15
  177. package/highlight/jsx-serializer/createJsxSerializeHighlight.d.ts +1 -1
  178. package/highlight/jsx-serializer/createJsxSerializeHighlight.js +4 -4
  179. package/highlight/jsx-serializer/index.cjs.js +4 -6
  180. package/image/components/Image.d.ts +2 -2
  181. package/image/components/Image.js +11 -11
  182. package/image/components/ImageCaption.d.ts +2 -2
  183. package/image/components/ImageCaption.js +13 -13
  184. package/image/components/ImageFigure.d.ts +2 -2
  185. package/image/components/ImageFigure.js +8 -8
  186. package/image/createReactImage.d.ts +1 -1
  187. package/image/createReactImage.js +94 -94
  188. package/image/defaultRenderImageElements.js +4 -4
  189. package/image/hooks/useImageResizer.js +89 -89
  190. package/image/image.css +1 -1
  191. package/image/index.cjs.js +219 -227
  192. package/image/jsx-serializer/createJsxSerializeImage.d.ts +2 -3
  193. package/image/jsx-serializer/createJsxSerializeImage.js +34 -34
  194. package/image/jsx-serializer/defaultRenderImageElements.js +4 -4
  195. package/image/jsx-serializer/index.cjs.js +38 -44
  196. package/image/jsx-serializer/typings.d.ts +1 -1
  197. package/image/typings.d.ts +3 -3
  198. package/index.cjs.js +103 -109
  199. package/index.js +3 -2
  200. package/input-block/components/InputBlock.d.ts +2 -2
  201. package/input-block/components/InputBlock.js +19 -19
  202. package/input-block/createReactInputBlock.d.ts +1 -1
  203. package/input-block/createReactInputBlock.js +10 -10
  204. package/input-block/hooks/useInputBlock.js +43 -43
  205. package/input-block/index.cjs.js +73 -79
  206. package/input-block/typings.d.ts +2 -2
  207. package/italic/constants.js +5 -5
  208. package/italic/createReactItalic.d.ts +1 -1
  209. package/italic/createReactItalic.js +3 -3
  210. package/italic/defaultRenderItalic.d.ts +2 -2
  211. package/italic/defaultRenderItalic.js +1 -1
  212. package/italic/index.cjs.js +9 -15
  213. package/italic/jsx-serializer/createJsxSerializeItalic.js +3 -3
  214. package/italic/jsx-serializer/index.cjs.js +3 -5
  215. package/jsx-serializer/createJsxSerializeElement.d.ts +1 -1
  216. package/jsx-serializer/createJsxSerializeElement.js +2 -2
  217. package/jsx-serializer/createJsxSerializeElements.d.ts +1 -1
  218. package/jsx-serializer/createJsxSerializeElements.js +2 -2
  219. package/jsx-serializer/createJsxSerializeMark.js +2 -2
  220. package/jsx-serializer/createJsxSerializer.js +42 -42
  221. package/jsx-serializer/index.cjs.js +48 -54
  222. package/jsx-serializer/typings.d.ts +5 -5
  223. package/line-break/commonBreak.js +26 -26
  224. package/line-break/createOnKeyDownBreak.js +41 -41
  225. package/line-break/createReactLineBreak.d.ts +1 -1
  226. package/line-break/createReactLineBreak.js +6 -6
  227. package/line-break/defaultRenderLineBreakElement.d.ts +2 -2
  228. package/line-break/index.cjs.js +75 -82
  229. package/line-break/jsx-serializer/createJsxSerializeLineBreak.d.ts +2 -2
  230. package/line-break/jsx-serializer/createJsxSerializeLineBreak.js +4 -4
  231. package/line-break/jsx-serializer/defaultRenderLineBreakElement.d.ts +2 -2
  232. package/line-break/jsx-serializer/defaultRenderLineBreakElement.js +1 -1
  233. package/line-break/jsx-serializer/index.cjs.js +6 -12
  234. package/line-break/jsx-serializer/typings.d.ts +1 -1
  235. package/line-break/renderLineBreakElementWithSymbol.d.ts +2 -2
  236. package/line-break/typings.d.ts +1 -1
  237. package/link/createReactLink.js +22 -22
  238. package/link/defaultRenderLinkElement.d.ts +2 -2
  239. package/link/defaultRenderLinkElement.js +7 -7
  240. package/link/index.cjs.js +29 -35
  241. package/link/jsx-serializer/createJsxSerializeLink.d.ts +2 -2
  242. package/link/jsx-serializer/createJsxSerializeLink.js +3 -3
  243. package/link/jsx-serializer/defaultRenderLinkElement.d.ts +2 -2
  244. package/link/jsx-serializer/index.cjs.js +4 -10
  245. package/link/jsx-serializer/typings.d.ts +1 -1
  246. package/link/toolbar/LinkToolbarIcon.d.ts +2 -2
  247. package/link/toolbar/LinkToolbarIcon.js +4 -4
  248. package/link/toolbar/UnlinkToolbarIcon.d.ts +2 -2
  249. package/link/toolbar/UnlinkToolbarIcon.js +4 -4
  250. package/link/toolbar/index.cjs.js +27 -33
  251. package/link/toolbar/useLinkTool.d.ts +1 -1
  252. package/link/toolbar/useLinkTool.js +14 -14
  253. package/link/toolbar/useUnlinkTool.js +5 -5
  254. package/link/typings.d.ts +1 -1
  255. package/list/createReactList.d.ts +1 -1
  256. package/list/createReactList.js +18 -18
  257. package/list/defaultRenderListElements.js +4 -4
  258. package/list/index.cjs.js +22 -28
  259. package/list/jsx-serializer/createJsxSerializeList.d.ts +2 -2
  260. package/list/jsx-serializer/createJsxSerializeList.js +8 -8
  261. package/list/jsx-serializer/index.cjs.js +8 -10
  262. package/list/jsx-serializer/typings.d.ts +1 -1
  263. package/list/toolbar/ListToolbarIcon.d.ts +2 -2
  264. package/list/toolbar/ListToolbarIcon.js +4 -4
  265. package/list/toolbar/index.cjs.js +10 -16
  266. package/list/toolbar/useListTool.js +6 -6
  267. package/list/typings.d.ts +2 -2
  268. package/package.json +10 -10
  269. package/paragraph/createRenderParagraphElement.d.ts +2 -2
  270. package/paragraph/createRenderParagraphElement.js +3 -3
  271. package/paragraph/defaultRenderParagraphElement.d.ts +2 -2
  272. package/paragraph/index.cjs.js +5 -11
  273. package/paragraph/jsx-serializer/createJsxSerializeParagraph.d.ts +2 -2
  274. package/paragraph/jsx-serializer/createJsxSerializeParagraph.js +3 -3
  275. package/paragraph/jsx-serializer/index.cjs.js +3 -5
  276. package/paragraph/jsx-serializer/typings.d.ts +1 -1
  277. package/paragraph/renderParagraphElementWithSymbol.d.ts +2 -2
  278. package/read-more/components/ReadMore.d.ts +2 -2
  279. package/read-more/components/ReadMore.js +6 -6
  280. package/read-more/createReactReadMore.d.ts +1 -1
  281. package/read-more/createReactReadMore.js +4 -4
  282. package/read-more/defaultRenderReadMoreElement.d.ts +2 -2
  283. package/read-more/index.cjs.js +11 -17
  284. package/read-more/jsx-serializer/createJsxSerializeReadMore.d.ts +2 -2
  285. package/read-more/jsx-serializer/createJsxSerializeReadMore.js +3 -3
  286. package/read-more/jsx-serializer/index.cjs.js +3 -5
  287. package/read-more/jsx-serializer/typings.d.ts +1 -1
  288. package/read-more/toolbar/ReadMoreToolbarIcon.d.ts +2 -2
  289. package/read-more/toolbar/ReadMoreToolbarIcon.js +4 -4
  290. package/read-more/toolbar/index.cjs.js +9 -15
  291. package/read-more/toolbar/useReadMoreTool.js +5 -5
  292. package/read-more/typings.d.ts +1 -1
  293. package/strikethrough/constants.js +5 -5
  294. package/strikethrough/createReactStrikethrough.d.ts +1 -1
  295. package/strikethrough/createReactStrikethrough.js +3 -3
  296. package/strikethrough/defaultRenderStrikethrough.d.ts +2 -2
  297. package/strikethrough/defaultRenderStrikethrough.js +1 -1
  298. package/strikethrough/index.cjs.js +9 -15
  299. package/strikethrough/jsx-serializer/createJsxSerializeStrikethrough.js +3 -3
  300. package/strikethrough/jsx-serializer/index.cjs.js +3 -5
  301. package/toggle-mark/createReactToggleMarkCreator.d.ts +2 -2
  302. package/toggle-mark/createReactToggleMarkCreator.js +14 -14
  303. package/toggle-mark/index.cjs.js +14 -20
  304. package/toggle-mark/jsx-serializer/createJsxSerializeToggleMarkCreator.d.ts +3 -3
  305. package/toggle-mark/jsx-serializer/createJsxSerializeToggleMarkCreator.js +2 -2
  306. package/toggle-mark/jsx-serializer/index.cjs.js +2 -4
  307. package/toggle-mark/jsx-serializer/typings.d.ts +1 -1
  308. package/toggle-mark/toolbar/ToggleMarkToolbarIcon.d.ts +2 -2
  309. package/toggle-mark/toolbar/ToggleMarkToolbarIcon.js +4 -4
  310. package/toggle-mark/toolbar/index.cjs.js +10 -16
  311. package/toggle-mark/toolbar/useToggleMarkTool.js +6 -6
  312. package/toggle-mark/typings.d.ts +2 -2
  313. package/toolbar/components/Toolbar.d.ts +1 -1
  314. package/toolbar/components/Toolbar.js +102 -102
  315. package/toolbar/components/ToolbarIcon.d.ts +2 -2
  316. package/toolbar/components/ToolbarIcon.js +6 -6
  317. package/toolbar/components/ToolbarInput.d.ts +2 -2
  318. package/toolbar/components/ToolbarInput.js +23 -23
  319. package/toolbar/constants.d.ts +2 -2
  320. package/toolbar/constants.js +3 -3
  321. package/toolbar/hooks/useStartToolInput.js +2 -2
  322. package/toolbar/index.cjs.js +137 -144
  323. package/toolbar/toolbar.css +1 -1
  324. package/toolbar/typings.d.ts +1 -1
  325. package/underline/constants.js +5 -5
  326. package/underline/createReactUnderline.d.ts +1 -1
  327. package/underline/createReactUnderline.js +3 -3
  328. package/underline/defaultRenderUnderline.d.ts +2 -2
  329. package/underline/defaultRenderUnderline.js +1 -1
  330. package/underline/index.cjs.js +9 -15
  331. package/underline/jsx-serializer/createJsxSerializeUnderline.js +3 -3
  332. package/underline/jsx-serializer/index.cjs.js +3 -5
  333. package/utils/composeRefs.js +29 -29
  334. package/utils/index.cjs.js +29 -31
@@ -1,7 +1,5 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var tslib = require('tslib');
6
4
  var React = require('react');
7
5
  var ReactDOM = require('react-dom');
@@ -10,223 +8,217 @@ var reactTransitionGroup = require('react-transition-group');
10
8
  var utils = require('@quadrats/react/utils');
11
9
  var configs = require('@quadrats/react/configs');
12
10
 
13
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
14
-
15
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
16
- var ReactDOM__default = /*#__PURE__*/_interopDefaultLegacy(ReactDOM);
17
- var clsx__default = /*#__PURE__*/_interopDefaultLegacy(clsx);
18
-
19
- const svgBaseProps = {
20
- width: '1em',
21
- height: '1em',
22
- 'aria-hidden': true,
23
- focusable: false,
24
- };
25
- const Icon = React.forwardRef((_a, ref) => {
26
- var { children, style, icon, size = 1 } = _a, props = tslib.__rest(_a, ["children", "style", "icon", "size"]);
27
- if (!icon) {
28
- throw new Error('The icon definition is needed.');
29
- }
30
- const { definition } = icon;
31
- const svgProps = Object.assign(Object.assign(Object.assign(Object.assign({}, svgBaseProps), definition.svg), props), { style: Object.assign(Object.assign({}, style), { fontSize: `${size}em` }) });
32
- return (React__default.createElement("svg", Object.assign({}, svgProps, { ref: ref }),
33
- React__default.createElement("path", Object.assign({}, definition.path))));
11
+ const svgBaseProps = {
12
+ width: '1em',
13
+ height: '1em',
14
+ 'aria-hidden': true,
15
+ focusable: false,
16
+ };
17
+ const Icon = React.forwardRef((_a, ref) => {
18
+ var { children, style, icon, size = 1 } = _a, props = tslib.__rest(_a, ["children", "style", "icon", "size"]);
19
+ if (!icon) {
20
+ throw new Error('The icon definition is needed.');
21
+ }
22
+ const { definition } = icon;
23
+ const svgProps = Object.assign(Object.assign(Object.assign(Object.assign({}, svgBaseProps), definition.svg), props), { style: Object.assign(Object.assign({}, style), { fontSize: `${size}em` }) });
24
+ return (React.createElement("svg", Object.assign({}, svgProps, { ref: ref }),
25
+ React.createElement("path", Object.assign({}, definition.path))));
34
26
  });
35
27
 
36
- const Portal = ({ getContainer, children }) => {
37
- const container = getContainer ? getContainer() : document.body;
38
- return ReactDOM__default.createPortal(children, container);
28
+ const Portal = ({ getContainer, children }) => {
29
+ const container = getContainer ? getContainer() : document.body;
30
+ return ReactDOM.createPortal(children, container);
39
31
  };
40
32
 
41
- const Progress = React.forwardRef(function Progress(props, ref) {
42
- const { className, percentage = 0 } = props;
43
- const transform = `scaleX(${percentage / 100})`;
44
- const style = {
45
- transform,
46
- msTransform: transform,
47
- };
48
- return (React__default.createElement("span", { ref: ref, className: clsx__default('qdr-progress', className) },
49
- React__default.createElement("span", { className: "qdr-progress__backdrop" }),
50
- React__default.createElement("span", { className: "qdr-progress__track", style: style })));
33
+ const Progress = React.forwardRef(function Progress(props, ref) {
34
+ const { className, percentage = 0 } = props;
35
+ const transform = `scaleX(${percentage / 100})`;
36
+ const style = {
37
+ transform,
38
+ msTransform: transform,
39
+ };
40
+ return (React.createElement("span", { ref: ref, className: clsx('qdr-progress', className) },
41
+ React.createElement("span", { className: "qdr-progress__backdrop" }),
42
+ React.createElement("span", { className: "qdr-progress__track", style: style })));
51
43
  });
52
44
 
53
- function isContainerAsDocument(container) {
54
- return container === document.documentElement || container === document.body;
55
- }
56
- function getTargetRect(container, targetEl) {
57
- const triggerRect = targetEl.getBoundingClientRect();
58
- if (isContainerAsDocument(container)) {
59
- return triggerRect;
60
- }
61
- const containerRect = container.getBoundingClientRect();
62
- const { width, height } = triggerRect;
63
- const top = triggerRect.top - containerRect.top;
64
- const left = triggerRect.left - containerRect.left;
65
- return {
66
- width,
67
- height,
68
- top,
69
- bottom: top + height,
70
- left,
71
- right: left + width,
72
- };
73
- }
74
- function getScrollLeftAndTop(container) {
75
- const isAsDocument = isContainerAsDocument(container);
76
- return {
77
- scrollTop: isAsDocument ? document.documentElement.scrollTop + document.body.scrollTop : container.scrollTop,
78
- scrollLeft: isAsDocument ? document.documentElement.scrollLeft + document.body.scrollLeft : container.scrollLeft,
79
- };
80
- }
81
- function calculatePosition(props, triggerEl, popupEl) {
82
- const { placement, getContainer, horizontalOffset, verticalOffset, } = props;
83
- const isTop = placement.includes('top');
84
- const isBottom = placement.includes('bottom');
85
- const isLeft = placement.includes('left');
86
- const isRight = placement.includes('right');
87
- const container = getContainer();
88
- const triggerRect = getTargetRect(container, triggerEl);
89
- const { width: popupWidth, height: popupHeight } = popupEl.getBoundingClientRect();
90
- let { scrollTop: top, scrollLeft: left } = getScrollLeftAndTop(container);
91
- /**
92
- * position
93
- */
94
- if (isLeft) {
95
- left += triggerRect.left;
96
- }
97
- else if (isRight) {
98
- left += triggerRect.right - popupWidth;
99
- }
100
- else {
101
- left += triggerRect.left + (triggerRect.width - popupWidth) / 2;
102
- }
103
- if (isTop) {
104
- top += triggerRect.top - popupHeight;
105
- }
106
- else if (isBottom) {
107
- top += triggerRect.bottom;
108
- }
109
- else {
110
- top += triggerRect.top + (triggerRect.height - popupHeight) / 2;
111
- left += isLeft ? -popupWidth : popupWidth;
112
- }
113
- /**
114
- * offset
115
- */
116
- top += isTop ? -verticalOffset : verticalOffset;
117
- left += isLeft ? -horizontalOffset : horizontalOffset;
118
- return { top, left };
45
+ function isContainerAsDocument(container) {
46
+ return container === document.documentElement || container === document.body;
47
+ }
48
+ function getTargetRect(container, targetEl) {
49
+ const triggerRect = targetEl.getBoundingClientRect();
50
+ if (isContainerAsDocument(container)) {
51
+ return triggerRect;
52
+ }
53
+ const containerRect = container.getBoundingClientRect();
54
+ const { width, height } = triggerRect;
55
+ const top = triggerRect.top - containerRect.top;
56
+ const left = triggerRect.left - containerRect.left;
57
+ return {
58
+ width,
59
+ height,
60
+ top,
61
+ bottom: top + height,
62
+ left,
63
+ right: left + width,
64
+ };
65
+ }
66
+ function getScrollLeftAndTop(container) {
67
+ const isAsDocument = isContainerAsDocument(container);
68
+ return {
69
+ scrollTop: isAsDocument ? document.documentElement.scrollTop + document.body.scrollTop : container.scrollTop,
70
+ scrollLeft: isAsDocument ? document.documentElement.scrollLeft + document.body.scrollLeft : container.scrollLeft,
71
+ };
72
+ }
73
+ function calculatePosition(props, triggerEl, popupEl) {
74
+ const { placement, getContainer, horizontalOffset, verticalOffset, } = props;
75
+ const isTop = placement.includes('top');
76
+ const isBottom = placement.includes('bottom');
77
+ const isLeft = placement.includes('left');
78
+ const isRight = placement.includes('right');
79
+ const container = getContainer();
80
+ const triggerRect = getTargetRect(container, triggerEl);
81
+ const { width: popupWidth, height: popupHeight } = popupEl.getBoundingClientRect();
82
+ let { scrollTop: top, scrollLeft: left } = getScrollLeftAndTop(container);
83
+ /**
84
+ * position
85
+ */
86
+ if (isLeft) {
87
+ left += triggerRect.left;
88
+ }
89
+ else if (isRight) {
90
+ left += triggerRect.right - popupWidth;
91
+ }
92
+ else {
93
+ left += triggerRect.left + (triggerRect.width - popupWidth) / 2;
94
+ }
95
+ if (isTop) {
96
+ top += triggerRect.top - popupHeight;
97
+ }
98
+ else if (isBottom) {
99
+ top += triggerRect.bottom;
100
+ }
101
+ else {
102
+ top += triggerRect.top + (triggerRect.height - popupHeight) / 2;
103
+ left += isLeft ? -popupWidth : popupWidth;
104
+ }
105
+ /**
106
+ * offset
107
+ */
108
+ top += isTop ? -verticalOffset : verticalOffset;
109
+ left += isLeft ? -horizontalOffset : horizontalOffset;
110
+ return { top, left };
119
111
  }
120
112
 
121
- const clsPrefix = 'qdr-tooltip';
122
- const defaultTriggers = ['hover'];
123
- const defaultGetContainer = () => document.body;
124
- const defaultTransitionClassNames = {
125
- enter: `${clsPrefix}__fade--enter`,
126
- enterActive: `${clsPrefix}__fade--enter-active`,
127
- exit: `${clsPrefix}__fade--exit`,
128
- exitActive: `${clsPrefix}__fade--exit-active`,
129
- };
130
- /**
131
- * @todo
132
- * To implement all placement.
133
- * Extract Popup from Tooltip.
134
- */
135
- function Tooltip({ children, triggers = defaultTriggers, popup, getContainer = defaultGetContainer, placement = 'top', horizontalOffset = 0, verticalOffset = 0, transitionClassNames = defaultTransitionClassNames, mouseEnterDelay = 0, mouseLeaveDelay = 0.1, }) {
136
- const { props: themeProps } = React.useContext(configs.ThemeContext);
137
- const [visible, setVisible] = React.useState(false);
138
- const delayTimer = React.useRef(NaN);
139
- const clearDelayTimer = React.useCallback(() => {
140
- if (delayTimer.current) {
141
- window.clearTimeout(delayTimer.current);
142
- delayTimer.current = NaN;
143
- }
144
- }, []);
145
- const delaySetVisible = React.useCallback((setVisibleAction, delay) => {
146
- clearDelayTimer();
147
- if (delay) {
148
- delayTimer.current = window.setTimeout(() => {
149
- setVisible(setVisibleAction);
150
- clearDelayTimer();
151
- }, delay * 1000);
152
- }
153
- else {
154
- setVisible(setVisibleAction);
155
- }
156
- }, [clearDelayTimer]);
157
- const triggerRef = React.useRef(null);
158
- const popupRef = React.useRef(null);
159
- const [firstPlacement, secondPlacement] = placement.split('-');
160
- const child = React.Children.only(children);
161
- const triggerProps = {};
162
- const popupProps = {};
163
- if (triggers.includes('click')) {
164
- triggerProps.onClick = (event) => {
165
- var _a, _b;
166
- delaySetVisible((prevVisible) => !prevVisible, 0);
167
- (_b = (_a = child.props).onClick) === null || _b === void 0 ? void 0 : _b.call(_a, event);
168
- };
169
- }
170
- if (triggers.includes('hover')) {
171
- popupProps.onMouseEnter = clearDelayTimer;
172
- popupProps.onMouseLeave = (event) => {
173
- var _a;
174
- if (!(event.relatedTarget instanceof Node && ((_a = popupRef.current) === null || _a === void 0 ? void 0 : _a.contains(event.relatedTarget)))) {
175
- delaySetVisible(false, mouseLeaveDelay);
176
- }
177
- };
178
- triggerProps.onMouseEnter = (event) => {
179
- var _a, _b;
180
- delaySetVisible(true, mouseEnterDelay);
181
- (_b = (_a = child.props).onMouseEnter) === null || _b === void 0 ? void 0 : _b.call(_a, event);
182
- };
183
- triggerProps.onMouseLeave = (event) => {
184
- var _a, _b;
185
- delaySetVisible(false, mouseLeaveDelay);
186
- (_b = (_a = child.props).onMouseLeave) === null || _b === void 0 ? void 0 : _b.call(_a, event);
187
- };
188
- }
189
- const trigger = React.cloneElement(child, Object.assign(Object.assign({}, triggerProps), { ref: utils.composeRefs([triggerRef, child.ref]) }));
190
- React.useLayoutEffect(() => {
191
- const triggerEl = triggerRef.current;
192
- const popupEl = popupRef.current;
193
- if (!(visible && triggerEl && popupEl)) {
194
- return;
195
- }
196
- const { top, left } = calculatePosition({
197
- placement, getContainer, horizontalOffset, verticalOffset,
198
- }, triggerEl, popupEl);
199
- popupEl.style.top = `${top}px`;
200
- popupEl.style.left = `${left}px`;
201
- }, [visible, placement, getContainer, horizontalOffset, verticalOffset]);
202
- React.useLayoutEffect(() => {
203
- if (!visible) {
204
- return;
205
- }
206
- function clickOutSideHandler(event) {
207
- event.preventDefault();
208
- const popupEl = popupRef.current;
209
- const targetEl = event.target;
210
- const targetUnmount = targetEl.offsetParent === null;
211
- if (!((popupEl === null || popupEl === void 0 ? void 0 : popupEl.contains(targetEl)) || targetUnmount)) {
212
- setVisible(false);
213
- }
214
- }
215
- document.addEventListener('click', clickOutSideHandler);
216
- return () => {
217
- document.removeEventListener('click', clickOutSideHandler);
218
- };
219
- }, [visible]);
220
- return (React__default.createElement(React__default.Fragment, null,
221
- React__default.createElement(Portal, { getContainer: getContainer },
222
- React__default.createElement(reactTransitionGroup.CSSTransition, { in: visible, classNames: transitionClassNames, timeout: 200, unmountOnExit: true },
223
- React__default.createElement("div", { className: `${clsPrefix}__mask` },
224
- React__default.createElement("div", Object.assign({ className: clsx__default(themeProps.className, `${clsPrefix}__popup`, `${clsPrefix}__popup--${firstPlacement}`), ref: popupRef, style: themeProps.style }, popupProps),
225
- React__default.createElement("div", { className: clsx__default(`${clsPrefix}__arrow`, `${clsPrefix}__arrow--${firstPlacement}`, {
226
- [`${clsPrefix}__arrow--${placement}`]: secondPlacement,
227
- }) }),
228
- React__default.createElement("div", { className: `${clsPrefix}__content` }, popup))))),
229
- trigger));
113
+ const clsPrefix = 'qdr-tooltip';
114
+ const defaultTriggers = ['hover'];
115
+ const defaultGetContainer = () => document.body;
116
+ const defaultTransitionClassNames = {
117
+ enter: `${clsPrefix}__fade--enter`,
118
+ enterActive: `${clsPrefix}__fade--enter-active`,
119
+ exit: `${clsPrefix}__fade--exit`,
120
+ exitActive: `${clsPrefix}__fade--exit-active`,
121
+ };
122
+ /**
123
+ * @todo
124
+ * To implement all placement.
125
+ * Extract Popup from Tooltip.
126
+ */
127
+ function Tooltip({ children, triggers = defaultTriggers, popup, getContainer = defaultGetContainer, placement = 'top', horizontalOffset = 0, verticalOffset = 0, transitionClassNames = defaultTransitionClassNames, mouseEnterDelay = 0, mouseLeaveDelay = 0.1, }) {
128
+ const { props: themeProps } = React.useContext(configs.ThemeContext);
129
+ const [visible, setVisible] = React.useState(false);
130
+ const delayTimer = React.useRef(NaN);
131
+ const clearDelayTimer = React.useCallback(() => {
132
+ if (delayTimer.current) {
133
+ window.clearTimeout(delayTimer.current);
134
+ delayTimer.current = NaN;
135
+ }
136
+ }, []);
137
+ const delaySetVisible = React.useCallback((setVisibleAction, delay) => {
138
+ clearDelayTimer();
139
+ if (delay) {
140
+ delayTimer.current = window.setTimeout(() => {
141
+ setVisible(setVisibleAction);
142
+ clearDelayTimer();
143
+ }, delay * 1000);
144
+ }
145
+ else {
146
+ setVisible(setVisibleAction);
147
+ }
148
+ }, [clearDelayTimer]);
149
+ const triggerRef = React.useRef(null);
150
+ const popupRef = React.useRef(null);
151
+ const [firstPlacement, secondPlacement] = placement.split('-');
152
+ const child = React.Children.only(children);
153
+ const triggerProps = {};
154
+ const popupProps = {};
155
+ if (triggers.includes('click')) {
156
+ triggerProps.onClick = (event) => {
157
+ var _a, _b;
158
+ delaySetVisible(prevVisible => !prevVisible, 0);
159
+ (_b = (_a = child.props).onClick) === null || _b === void 0 ? void 0 : _b.call(_a, event);
160
+ };
161
+ }
162
+ if (triggers.includes('hover')) {
163
+ popupProps.onMouseEnter = clearDelayTimer;
164
+ popupProps.onMouseLeave = (event) => {
165
+ var _a;
166
+ if (!(event.relatedTarget instanceof Node && ((_a = popupRef.current) === null || _a === void 0 ? void 0 : _a.contains(event.relatedTarget)))) {
167
+ delaySetVisible(false, mouseLeaveDelay);
168
+ }
169
+ };
170
+ triggerProps.onMouseEnter = (event) => {
171
+ var _a, _b;
172
+ delaySetVisible(true, mouseEnterDelay);
173
+ (_b = (_a = child.props).onMouseEnter) === null || _b === void 0 ? void 0 : _b.call(_a, event);
174
+ };
175
+ triggerProps.onMouseLeave = (event) => {
176
+ var _a, _b;
177
+ delaySetVisible(false, mouseLeaveDelay);
178
+ (_b = (_a = child.props).onMouseLeave) === null || _b === void 0 ? void 0 : _b.call(_a, event);
179
+ };
180
+ }
181
+ const trigger = React.cloneElement(child, Object.assign(Object.assign({}, triggerProps), { ref: utils.composeRefs([triggerRef, child.ref]) }));
182
+ React.useLayoutEffect(() => {
183
+ const triggerEl = triggerRef.current;
184
+ const popupEl = popupRef.current;
185
+ if (!(visible && triggerEl && popupEl)) {
186
+ return;
187
+ }
188
+ const { top, left } = calculatePosition({
189
+ placement, getContainer, horizontalOffset, verticalOffset,
190
+ }, triggerEl, popupEl);
191
+ popupEl.style.top = `${top}px`;
192
+ popupEl.style.left = `${left}px`;
193
+ }, [visible, placement, getContainer, horizontalOffset, verticalOffset]);
194
+ React.useLayoutEffect(() => {
195
+ if (!visible) {
196
+ return;
197
+ }
198
+ function clickOutSideHandler(event) {
199
+ event.preventDefault();
200
+ const popupEl = popupRef.current;
201
+ const targetEl = event.target;
202
+ const targetUnmount = targetEl.offsetParent === null;
203
+ if (!((popupEl === null || popupEl === void 0 ? void 0 : popupEl.contains(targetEl)) || targetUnmount)) {
204
+ setVisible(false);
205
+ }
206
+ }
207
+ document.addEventListener('click', clickOutSideHandler);
208
+ return () => {
209
+ document.removeEventListener('click', clickOutSideHandler);
210
+ };
211
+ }, [visible]);
212
+ return (React.createElement(React.Fragment, null,
213
+ React.createElement(Portal, { getContainer: getContainer },
214
+ React.createElement(reactTransitionGroup.CSSTransition, { in: visible, classNames: transitionClassNames, timeout: 200, unmountOnExit: true },
215
+ React.createElement("div", { className: `${clsPrefix}__mask` },
216
+ React.createElement("div", Object.assign({ className: clsx(themeProps.className, `${clsPrefix}__popup`, `${clsPrefix}__popup--${firstPlacement}`), ref: popupRef, style: themeProps.style }, popupProps),
217
+ React.createElement("div", { className: clsx(`${clsPrefix}__arrow`, `${clsPrefix}__arrow--${firstPlacement}`, {
218
+ [`${clsPrefix}__arrow--${placement}`]: secondPlacement,
219
+ }) }),
220
+ React.createElement("div", { className: `${clsPrefix}__content` }, popup))))),
221
+ trigger));
230
222
  }
231
223
 
232
224
  exports.Icon = Icon;
@@ -1,4 +1,4 @@
1
- import { ReactNode } from 'react';
1
+ import React, { ReactNode } from 'react';
2
2
  import { Theme } from '@quadrats/theme';
3
3
  import { LocaleDefinition } from '@quadrats/locales';
4
4
  import { ThemeContextValue } from './theme';
@@ -14,5 +14,5 @@ export interface ConfigsProviderProps {
14
14
  */
15
15
  children: ReactNode | ((props: ConfigsProviderRenderProps) => ReactNode);
16
16
  }
17
- declare function ConfigsProvider({ theme, locale, children }: ConfigsProviderProps): JSX.Element;
17
+ declare function ConfigsProvider({ theme, locale, children }: ConfigsProviderProps): React.JSX.Element;
18
18
  export default ConfigsProvider;
@@ -3,13 +3,13 @@ import { enUS } from '@quadrats/locales';
3
3
  import { LocaleContext } from './locale.js';
4
4
  import { resolveThemeToProps, ThemeContext } from './theme.js';
5
5
 
6
- function ConfigsProvider({ theme, locale = enUS, children }) {
7
- const themeContext = useMemo(() => ({
8
- props: theme ? resolveThemeToProps(theme) : {},
9
- theme,
10
- }), [theme]);
11
- return (React.createElement(ThemeContext.Provider, { value: themeContext },
12
- React.createElement(LocaleContext.Provider, { value: locale }, typeof children === 'function' ? children({ theme: themeContext, locale }) : children)));
6
+ function ConfigsProvider({ theme, locale = enUS, children }) {
7
+ const themeContext = useMemo(() => ({
8
+ props: theme ? resolveThemeToProps(theme) : {},
9
+ theme,
10
+ }), [theme]);
11
+ return (React.createElement(ThemeContext.Provider, { value: themeContext },
12
+ React.createElement(LocaleContext.Provider, { value: locale }, typeof children === 'function' ? children({ theme: themeContext, locale }) : children)));
13
13
  }
14
14
 
15
15
  export { ConfigsProvider as default };
@@ -1,57 +1,51 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var React = require('react');
6
4
  var locales = require('@quadrats/locales');
7
5
  var utils = require('@quadrats/utils');
8
6
 
9
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
10
-
11
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
-
13
- const LocaleContext = React.createContext(locales.enUS);
14
- function useLocale() {
15
- return React.useContext(LocaleContext);
7
+ const LocaleContext = React.createContext(locales.enUS);
8
+ function useLocale() {
9
+ return React.useContext(LocaleContext);
16
10
  }
17
11
 
18
- const ThemeContext = React.createContext({
19
- props: {},
20
- });
21
- /**
22
- * Add prefix to theme name.
23
- */
24
- function addThemeNamePrefix(theme) {
25
- return `qdr-theme-${theme || 'qdr'}`;
26
- }
27
- function resolveThemeObjectToStyle(theme) {
28
- const cssProps = {};
29
- for (const name in theme) {
30
- cssProps[`--qdr-${utils.convertCamelToKebab(name)}`] = theme[name];
31
- }
32
- return cssProps;
33
- }
34
- function resolveThemeToProps(theme) {
35
- const props = {};
36
- if (typeof theme === 'string') {
37
- props.className = addThemeNamePrefix(theme);
38
- }
39
- else {
40
- props.style = resolveThemeObjectToStyle(theme);
41
- }
42
- return props;
43
- }
44
- function useTheme() {
45
- return React.useContext(ThemeContext);
12
+ const ThemeContext = React.createContext({
13
+ props: {},
14
+ });
15
+ /**
16
+ * Add prefix to theme name.
17
+ */
18
+ function addThemeNamePrefix(theme) {
19
+ return `qdr-theme-${theme || 'qdr'}`;
20
+ }
21
+ function resolveThemeObjectToStyle(theme) {
22
+ const cssProps = {};
23
+ for (const name in theme) {
24
+ cssProps[`--qdr-${utils.convertCamelToKebab(name)}`] = theme[name];
25
+ }
26
+ return cssProps;
27
+ }
28
+ function resolveThemeToProps(theme) {
29
+ const props = {};
30
+ if (typeof theme === 'string') {
31
+ props.className = addThemeNamePrefix(theme);
32
+ }
33
+ else {
34
+ props.style = resolveThemeObjectToStyle(theme);
35
+ }
36
+ return props;
37
+ }
38
+ function useTheme() {
39
+ return React.useContext(ThemeContext);
46
40
  }
47
41
 
48
- function ConfigsProvider({ theme, locale = locales.enUS, children }) {
49
- const themeContext = React.useMemo(() => ({
50
- props: theme ? resolveThemeToProps(theme) : {},
51
- theme,
52
- }), [theme]);
53
- return (React__default.createElement(ThemeContext.Provider, { value: themeContext },
54
- React__default.createElement(LocaleContext.Provider, { value: locale }, typeof children === 'function' ? children({ theme: themeContext, locale }) : children)));
42
+ function ConfigsProvider({ theme, locale = locales.enUS, children }) {
43
+ const themeContext = React.useMemo(() => ({
44
+ props: theme ? resolveThemeToProps(theme) : {},
45
+ theme,
46
+ }), [theme]);
47
+ return (React.createElement(ThemeContext.Provider, { value: themeContext },
48
+ React.createElement(LocaleContext.Provider, { value: locale }, typeof children === 'function' ? children({ theme: themeContext, locale }) : children)));
55
49
  }
56
50
 
57
51
  exports.ConfigsProvider = ConfigsProvider;
package/configs/locale.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { createContext, useContext } from 'react';
2
2
  import { enUS } from '@quadrats/locales';
3
3
 
4
- const LocaleContext = createContext(enUS);
5
- function useLocale() {
6
- return useContext(LocaleContext);
4
+ const LocaleContext = createContext(enUS);
5
+ function useLocale() {
6
+ return useContext(LocaleContext);
7
7
  }
8
8
 
9
9
  export { LocaleContext, useLocale };
package/configs/theme.js CHANGED
@@ -1,34 +1,34 @@
1
1
  import { createContext, useContext } from 'react';
2
2
  import { convertCamelToKebab } from '@quadrats/utils';
3
3
 
4
- const ThemeContext = createContext({
5
- props: {},
6
- });
7
- /**
8
- * Add prefix to theme name.
9
- */
10
- function addThemeNamePrefix(theme) {
11
- return `qdr-theme-${theme || 'qdr'}`;
12
- }
13
- function resolveThemeObjectToStyle(theme) {
14
- const cssProps = {};
15
- for (const name in theme) {
16
- cssProps[`--qdr-${convertCamelToKebab(name)}`] = theme[name];
17
- }
18
- return cssProps;
19
- }
20
- function resolveThemeToProps(theme) {
21
- const props = {};
22
- if (typeof theme === 'string') {
23
- props.className = addThemeNamePrefix(theme);
24
- }
25
- else {
26
- props.style = resolveThemeObjectToStyle(theme);
27
- }
28
- return props;
29
- }
30
- function useTheme() {
31
- return useContext(ThemeContext);
4
+ const ThemeContext = createContext({
5
+ props: {},
6
+ });
7
+ /**
8
+ * Add prefix to theme name.
9
+ */
10
+ function addThemeNamePrefix(theme) {
11
+ return `qdr-theme-${theme || 'qdr'}`;
12
+ }
13
+ function resolveThemeObjectToStyle(theme) {
14
+ const cssProps = {};
15
+ for (const name in theme) {
16
+ cssProps[`--qdr-${convertCamelToKebab(name)}`] = theme[name];
17
+ }
18
+ return cssProps;
19
+ }
20
+ function resolveThemeToProps(theme) {
21
+ const props = {};
22
+ if (typeof theme === 'string') {
23
+ props.className = addThemeNamePrefix(theme);
24
+ }
25
+ else {
26
+ props.style = resolveThemeObjectToStyle(theme);
27
+ }
28
+ return props;
29
+ }
30
+ function useTheme() {
31
+ return useContext(ThemeContext);
32
32
  }
33
33
 
34
34
  export { ThemeContext, addThemeNamePrefix, resolveThemeObjectToStyle, resolveThemeToProps, useTheme };
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import { RenderElementProps } from '../typings/renderer';
3
- declare const DefaultElement: ({ attributes, children }: RenderElementProps) => JSX.Element;
3
+ declare const DefaultElement: ({ attributes, children }: RenderElementProps) => React.JSX.Element;
4
4
  export default DefaultElement;