@quadrats/react 0.7.7 → 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 (418) hide show
  1. package/accordion/accordion.css +1 -0
  2. package/accordion/accordion.scss +81 -0
  3. package/accordion/components/Accordion.d.ts +9 -0
  4. package/accordion/components/Accordion.js +22 -0
  5. package/accordion/components/AccordionContent.d.ts +8 -0
  6. package/accordion/components/AccordionContent.js +24 -0
  7. package/accordion/components/AccordionTitle.d.ts +8 -0
  8. package/accordion/components/AccordionTitle.js +20 -0
  9. package/accordion/contexts/AccordionContext.d.ts +2 -0
  10. package/accordion/contexts/AccordionContext.js +5 -0
  11. package/accordion/createReactAccordion.d.ts +4 -0
  12. package/accordion/createReactAccordion.js +144 -0
  13. package/accordion/defaultRenderAccordionElements.d.ts +2 -0
  14. package/accordion/defaultRenderAccordionElements.js +12 -0
  15. package/accordion/hooks/useAccordion.d.ts +1 -0
  16. package/accordion/hooks/useAccordion.js +8 -0
  17. package/accordion/index.cjs.js +212 -0
  18. package/accordion/index.d.ts +8 -0
  19. package/accordion/index.js +10 -0
  20. package/accordion/jsx-serializer/createJsxSerializeAccordion.d.ts +5 -0
  21. package/accordion/jsx-serializer/createJsxSerializeAccordion.js +48 -0
  22. package/accordion/jsx-serializer/defaultRenderAccordionElements.d.ts +2 -0
  23. package/accordion/jsx-serializer/defaultRenderAccordionElements.js +16 -0
  24. package/accordion/jsx-serializer/index.cjs.js +64 -0
  25. package/accordion/jsx-serializer/index.d.ts +3 -0
  26. package/accordion/jsx-serializer/index.js +2 -0
  27. package/accordion/jsx-serializer/package.json +7 -0
  28. package/accordion/jsx-serializer/typings.d.ts +4 -0
  29. package/accordion/package.json +10 -0
  30. package/accordion/toolbar/AccordionToolbarIcon.d.ts +8 -0
  31. package/accordion/toolbar/AccordionToolbarIcon.js +12 -0
  32. package/accordion/toolbar/index.cjs.js +22 -0
  33. package/accordion/toolbar/index.d.ts +2 -0
  34. package/accordion/toolbar/index.js +2 -0
  35. package/accordion/toolbar/package.json +7 -0
  36. package/accordion/toolbar/useAccordionTool.d.ts +4 -0
  37. package/accordion/toolbar/useAccordionTool.js +10 -0
  38. package/accordion/typings.d.ts +25 -0
  39. package/align/constants.d.ts +8 -0
  40. package/align/constants.js +10 -0
  41. package/align/createReactAlign.d.ts +2 -0
  42. package/align/createReactAlign.js +26 -0
  43. package/align/index.cjs.js +39 -0
  44. package/align/index.d.ts +3 -0
  45. package/align/index.js +2 -0
  46. package/align/package.json +7 -0
  47. package/align/toolbar/AlignToolbarIcon.d.ts +10 -0
  48. package/align/toolbar/AlignToolbarIcon.js +12 -0
  49. package/align/toolbar/index.cjs.js +30 -0
  50. package/align/toolbar/index.d.ts +2 -0
  51. package/align/toolbar/index.js +2 -0
  52. package/align/toolbar/package.json +7 -0
  53. package/align/toolbar/useAlignTool.d.ts +6 -0
  54. package/align/toolbar/useAlignTool.js +18 -0
  55. package/align/typings.d.ts +17 -0
  56. package/blockquote/blockquote.css +1 -0
  57. package/blockquote/blockquote.scss +23 -0
  58. package/blockquote/defaultRenderBlockquoteElement.js +3 -1
  59. package/blockquote/index.cjs.js +3 -1
  60. package/blockquote/package.json +4 -1
  61. package/card/card.css +1 -0
  62. package/card/card.scss +243 -0
  63. package/card/components/Card.d.ts +15 -0
  64. package/card/components/Card.js +101 -0
  65. package/card/components/CardContents.d.ts +9 -0
  66. package/card/components/CardContents.js +18 -0
  67. package/card/components/CardImage.d.ts +9 -0
  68. package/card/components/CardImage.js +13 -0
  69. package/card/components/CardPlaceholder.d.ts +4 -0
  70. package/card/components/CardPlaceholder.js +21 -0
  71. package/card/createReactCard.d.ts +4 -0
  72. package/card/createReactCard.js +82 -0
  73. package/card/defaultRenderCardElements.d.ts +3 -0
  74. package/card/defaultRenderCardElements.js +14 -0
  75. package/card/index.cjs.js +234 -0
  76. package/card/index.d.ts +7 -0
  77. package/card/index.js +6 -0
  78. package/card/jsx-serializer/createJsxSerializeCard.d.ts +5 -0
  79. package/card/jsx-serializer/createJsxSerializeCard.js +48 -0
  80. package/card/jsx-serializer/defaultRenderCardElements.d.ts +2 -0
  81. package/card/jsx-serializer/defaultRenderCardElements.js +10 -0
  82. package/card/jsx-serializer/index.cjs.js +58 -0
  83. package/card/jsx-serializer/index.d.ts +3 -0
  84. package/card/jsx-serializer/index.js +2 -0
  85. package/card/jsx-serializer/package.json +7 -0
  86. package/card/jsx-serializer/typings.d.ts +9 -0
  87. package/card/package.json +10 -0
  88. package/card/toolbar/CardToolbarIcon.d.ts +8 -0
  89. package/card/toolbar/CardToolbarIcon.js +12 -0
  90. package/card/toolbar/index.cjs.js +66 -0
  91. package/card/toolbar/index.d.ts +2 -0
  92. package/card/toolbar/index.js +2 -0
  93. package/card/toolbar/package.json +7 -0
  94. package/card/toolbar/useCardTool.d.ts +4 -0
  95. package/card/toolbar/useCardTool.js +55 -0
  96. package/card/typings.d.ts +24 -0
  97. package/carousel/carousel.css +1 -0
  98. package/carousel/carousel.scss +356 -0
  99. package/carousel/components/Carousel.d.ts +15 -0
  100. package/carousel/components/Carousel.js +62 -0
  101. package/carousel/components/CarouselCaption.d.ts +9 -0
  102. package/carousel/components/CarouselCaption.js +12 -0
  103. package/carousel/components/CarouselImages.d.ts +9 -0
  104. package/carousel/components/CarouselImages.js +52 -0
  105. package/carousel/components/CarouselPlaceholder.d.ts +4 -0
  106. package/carousel/components/CarouselPlaceholder.js +17 -0
  107. package/carousel/contexts/CarouselContext.d.ts +2 -0
  108. package/carousel/contexts/CarouselContext.js +5 -0
  109. package/carousel/createReactCarousel.d.ts +4 -0
  110. package/carousel/createReactCarousel.js +82 -0
  111. package/carousel/defaultRenderCarouselElements.d.ts +3 -0
  112. package/carousel/defaultRenderCarouselElements.js +14 -0
  113. package/carousel/hooks/useCarousel.d.ts +1 -0
  114. package/carousel/hooks/useCarousel.js +8 -0
  115. package/carousel/index.cjs.js +232 -0
  116. package/carousel/index.d.ts +9 -0
  117. package/carousel/index.js +8 -0
  118. package/carousel/jsx-serializer/createJsxSerializeCarousel.d.ts +5 -0
  119. package/carousel/jsx-serializer/createJsxSerializeCarousel.js +48 -0
  120. package/carousel/jsx-serializer/defaultRenderCarouselElements.d.ts +2 -0
  121. package/carousel/jsx-serializer/defaultRenderCarouselElements.js +10 -0
  122. package/carousel/jsx-serializer/index.cjs.js +58 -0
  123. package/carousel/jsx-serializer/index.d.ts +3 -0
  124. package/carousel/jsx-serializer/index.js +2 -0
  125. package/carousel/jsx-serializer/package.json +7 -0
  126. package/carousel/jsx-serializer/typings.d.ts +9 -0
  127. package/carousel/package.json +10 -0
  128. package/carousel/toolbar/CarouselToolbarIcon.d.ts +8 -0
  129. package/carousel/toolbar/CarouselToolbarIcon.js +12 -0
  130. package/carousel/toolbar/index.cjs.js +57 -0
  131. package/carousel/toolbar/index.d.ts +2 -0
  132. package/carousel/toolbar/index.js +2 -0
  133. package/carousel/toolbar/package.json +7 -0
  134. package/carousel/toolbar/useCarouselTool.d.ts +4 -0
  135. package/carousel/toolbar/useCarouselTool.js +46 -0
  136. package/carousel/typings.d.ts +27 -0
  137. package/components/BaseField/index.d.ts +11 -0
  138. package/components/BaseField/index.js +17 -0
  139. package/components/Button/index.d.ts +14 -0
  140. package/components/Button/index.js +12 -0
  141. package/components/Hint/index.d.ts +15 -0
  142. package/components/Hint/index.js +30 -0
  143. package/components/ImageUploader/index.d.ts +25 -0
  144. package/components/ImageUploader/index.js +174 -0
  145. package/components/Input/index.d.ts +14 -0
  146. package/components/Input/index.js +24 -0
  147. package/components/Message/index.d.ts +18 -0
  148. package/components/Message/index.js +72 -0
  149. package/components/Modal/index.d.ts +28 -0
  150. package/components/Modal/index.js +61 -0
  151. package/components/Notifier/NotifierManager.d.ts +17 -0
  152. package/components/Notifier/NotifierManager.js +24 -0
  153. package/components/Notifier/createNotifier.d.ts +21 -0
  154. package/components/Notifier/createNotifier.js +60 -0
  155. package/components/Notifier/typings.d.ts +28 -0
  156. package/components/Progress/index.d.ts +1 -1
  157. package/components/Progress/index.js +12 -8
  158. package/components/SegmentedControl/index.d.ts +13 -0
  159. package/components/SegmentedControl/index.js +14 -0
  160. package/components/Textarea/index.d.ts +15 -0
  161. package/components/Textarea/index.js +24 -0
  162. package/components/Toggle/index.d.ts +8 -0
  163. package/components/Toggle/index.js +15 -0
  164. package/components/Transition/SlideFade.d.ts +20 -0
  165. package/components/Transition/SlideFade.js +91 -0
  166. package/components/Transition/Transition.d.ts +98 -0
  167. package/components/Transition/Transition.js +27 -0
  168. package/components/Transition/getTransitionStyleProps.d.ts +16 -0
  169. package/components/Transition/getTransitionStyleProps.js +25 -0
  170. package/components/Transition/useSetNodeTransition.d.ts +7 -0
  171. package/components/Transition/useSetNodeTransition.js +35 -0
  172. package/components/baseField.css +1 -0
  173. package/components/baseField.scss +34 -0
  174. package/components/button.css +1 -0
  175. package/components/button.scss +254 -0
  176. package/components/components.css +1 -0
  177. package/components/components.scss +12 -0
  178. package/components/hint.css +1 -0
  179. package/components/hint.scss +59 -0
  180. package/components/index.cjs.js +647 -11
  181. package/components/index.d.ts +12 -0
  182. package/components/index.js +11 -0
  183. package/components/input.css +1 -0
  184. package/components/input.scss +102 -0
  185. package/components/message.css +1 -0
  186. package/components/message.scss +57 -0
  187. package/components/modal.css +1 -0
  188. package/components/modal.scss +200 -0
  189. package/components/progress.css +1 -1
  190. package/components/progress.scss +32 -20
  191. package/components/segmentedControl.css +1 -0
  192. package/components/segmentedControl.scss +63 -0
  193. package/components/textarea.css +1 -0
  194. package/components/textarea.scss +104 -0
  195. package/components/toggle.css +1 -0
  196. package/components/toggle.scss +55 -0
  197. package/components/tooltip.css +1 -1
  198. package/components/tooltip.scss +1 -1
  199. package/core/components/Editable.js +22 -3
  200. package/core/components/Quadrats.d.ts +4 -1
  201. package/core/components/Quadrats.js +6 -2
  202. package/core/constants.d.ts +1 -0
  203. package/core/constants.js +3 -0
  204. package/core/contexts/composition/CompositionProvider.d.ts +8 -0
  205. package/core/contexts/composition/CompositionProvider.js +8 -0
  206. package/core/contexts/composition/composition.d.ts +7 -0
  207. package/core/contexts/composition/composition.js +11 -0
  208. package/core/contexts/message/MessageProvider.d.ts +5 -0
  209. package/core/contexts/message/MessageProvider.js +35 -0
  210. package/core/contexts/message/message.d.ts +10 -0
  211. package/core/contexts/message/message.js +10 -0
  212. package/core/contexts/modal/CardModal/CardModal.d.ts +28 -0
  213. package/core/contexts/modal/CardModal/CardModal.js +103 -0
  214. package/core/contexts/modal/CarouselModal/CarouselItem.d.ts +15 -0
  215. package/core/contexts/modal/CarouselModal/CarouselItem.js +56 -0
  216. package/core/contexts/modal/CarouselModal/CarouselModal.d.ts +11 -0
  217. package/core/contexts/modal/CarouselModal/CarouselModal.js +174 -0
  218. package/core/contexts/modal/CarouselModal/FilesDropZone.d.ts +13 -0
  219. package/core/contexts/modal/CarouselModal/FilesDropZone.js +64 -0
  220. package/core/contexts/modal/ConfirmModal/ConfirmModal.d.ts +14 -0
  221. package/core/contexts/modal/ConfirmModal/ConfirmModal.js +21 -0
  222. package/core/contexts/modal/EmbedModal/EmbedModal.d.ts +11 -0
  223. package/core/contexts/modal/EmbedModal/EmbedModal.js +25 -0
  224. package/core/contexts/modal/ModalProvider.d.ts +8 -0
  225. package/core/contexts/modal/ModalProvider.js +66 -0
  226. package/core/contexts/modal/modal.d.ts +24 -0
  227. package/core/contexts/modal/modal.js +15 -0
  228. package/core/index.d.ts +8 -1
  229. package/divider/defaultRenderDividerElement.d.ts +1 -1
  230. package/divider/defaultRenderDividerElement.js +2 -3
  231. package/divider/divider.css +1 -0
  232. package/divider/divider.scss +9 -0
  233. package/divider/index.cjs.js +2 -3
  234. package/divider/jsx-serializer/defaultRenderDividerElement.js +2 -1
  235. package/divider/jsx-serializer/index.cjs.js +2 -1
  236. package/divider/package.json +4 -1
  237. package/editable.css +1 -1
  238. package/editable.scss +5 -6
  239. package/embed/components/VideoIframe.d.ts +3 -2
  240. package/embed/components/VideoIframe.js +2 -1
  241. package/embed/createReactEmbed.js +4 -1
  242. package/embed/createRenderEmbedElementBase.js +3 -1
  243. package/embed/embed.css +1 -0
  244. package/embed/embed.scss +234 -0
  245. package/embed/index.cjs.js +8 -2
  246. package/embed/jsx-serializer/youtube/index.cjs.js +1 -10
  247. package/embed/jsx-serializer/youtube/index.d.ts +1 -1
  248. package/embed/jsx-serializer/youtube/index.js +1 -1
  249. package/embed/package.json +4 -1
  250. package/embed/renderers/base/components/BaseEmbedElement.d.ts +21 -0
  251. package/embed/renderers/base/components/BaseEmbedElement.js +62 -0
  252. package/embed/renderers/base/index.cjs.js +65 -0
  253. package/embed/renderers/base/index.d.ts +1 -0
  254. package/embed/renderers/base/index.js +1 -0
  255. package/embed/renderers/base/package.json +7 -0
  256. package/embed/renderers/facebook/components/Facebook.d.ts +3 -2
  257. package/embed/renderers/facebook/components/Facebook.js +18 -11
  258. package/embed/renderers/facebook/defaultRenderFacebookEmbedElement.d.ts +2 -0
  259. package/embed/renderers/facebook/defaultRenderFacebookEmbedElement.js +42 -2
  260. package/embed/renderers/facebook/index.cjs.js +61 -12
  261. package/embed/renderers/facebook/index.d.ts +1 -1
  262. package/embed/renderers/facebook/index.js +1 -1
  263. package/embed/renderers/instagram/components/Instagram.d.ts +3 -2
  264. package/embed/renderers/instagram/components/Instagram.js +22 -11
  265. package/embed/renderers/instagram/defaultRenderInstagramEmbedElement.d.ts +2 -0
  266. package/embed/renderers/instagram/defaultRenderInstagramEmbedElement.js +42 -2
  267. package/embed/renderers/instagram/index.cjs.js +65 -12
  268. package/embed/renderers/instagram/index.d.ts +1 -1
  269. package/embed/renderers/instagram/index.js +1 -1
  270. package/embed/renderers/podcast-apple/components/PodcastApple.d.ts +3 -2
  271. package/embed/renderers/podcast-apple/components/PodcastApple.js +2 -1
  272. package/embed/renderers/podcast-apple/defaultRenderPodcastAppleEmbedElement.d.ts +2 -0
  273. package/embed/renderers/podcast-apple/defaultRenderPodcastAppleEmbedElement.js +35 -2
  274. package/embed/renderers/podcast-apple/index.cjs.js +38 -2
  275. package/embed/renderers/podcast-apple/index.d.ts +1 -1
  276. package/embed/renderers/podcast-apple/index.js +1 -1
  277. package/embed/renderers/spotify/components/Spotify.d.ts +3 -2
  278. package/embed/renderers/spotify/components/Spotify.js +3 -1
  279. package/embed/renderers/spotify/defaultRenderSpotifyEmbedElement.d.ts +2 -0
  280. package/embed/renderers/spotify/defaultRenderSpotifyEmbedElement.js +32 -2
  281. package/embed/renderers/spotify/index.cjs.js +36 -2
  282. package/embed/renderers/spotify/index.d.ts +1 -1
  283. package/embed/renderers/spotify/index.js +1 -1
  284. package/embed/renderers/twitter/components/Twitter.d.ts +3 -2
  285. package/embed/renderers/twitter/components/Twitter.js +14 -2
  286. package/embed/renderers/twitter/defaultRenderTwitterEmbedElement.d.ts +2 -0
  287. package/embed/renderers/twitter/defaultRenderTwitterEmbedElement.js +42 -2
  288. package/embed/renderers/twitter/index.cjs.js +57 -3
  289. package/embed/renderers/twitter/index.d.ts +1 -1
  290. package/embed/renderers/twitter/index.js +1 -1
  291. package/embed/renderers/vimeo/defaultRenderVimeoEmbedElement.d.ts +2 -0
  292. package/embed/renderers/vimeo/defaultRenderVimeoEmbedElement.js +26 -2
  293. package/embed/renderers/vimeo/index.cjs.js +27 -1
  294. package/embed/renderers/vimeo/index.d.ts +1 -1
  295. package/embed/renderers/vimeo/index.js +1 -1
  296. package/embed/renderers/youtube/defaultRenderYoutubeEmbedElement.d.ts +2 -0
  297. package/embed/renderers/youtube/defaultRenderYoutubeEmbedElement.js +26 -2
  298. package/embed/renderers/youtube/index.cjs.js +27 -1
  299. package/embed/renderers/youtube/index.d.ts +1 -1
  300. package/embed/renderers/youtube/index.js +1 -1
  301. package/embed/toolbar/EmbedToolbarIcon.d.ts +3 -6
  302. package/embed/toolbar/EmbedToolbarIcon.js +2 -2
  303. package/embed/toolbar/index.cjs.js +98 -13
  304. package/embed/toolbar/useEmbedTool.d.ts +1 -3
  305. package/embed/toolbar/useEmbedTool.js +96 -11
  306. package/embed/typings.d.ts +1 -0
  307. package/file-uploader/components/FileUploader.js +1 -2
  308. package/file-uploader/createReactFileUploader.js +4 -1
  309. package/file-uploader/defaultRenderFileUploaderElement.js +1 -1
  310. package/file-uploader/file-uploader.css +1 -1
  311. package/file-uploader/file-uploader.scss +0 -20
  312. package/file-uploader/index.cjs.js +5 -3
  313. package/file-uploader/toolbar/index.cjs.js +4 -1
  314. package/file-uploader/toolbar/useFileUploaderTool.d.ts +1 -1
  315. package/file-uploader/toolbar/useFileUploaderTool.js +4 -1
  316. package/file-uploader/typings.d.ts +6 -1
  317. package/footnote/defaultRenderFootnoteElement.js +1 -1
  318. package/footnote/index.cjs.js +1 -1
  319. package/footnote/jsx-serializer/defaultRenderFootnoteElement.js +1 -1
  320. package/footnote/jsx-serializer/index.cjs.js +1 -1
  321. package/footnote/toolbar/index.cjs.js +1 -1
  322. package/footnote/toolbar/useFootnoteTool.js +1 -1
  323. package/heading/defaultRenderHeadingElement.js +2 -1
  324. package/heading/heading.css +1 -0
  325. package/heading/heading.scss +53 -0
  326. package/heading/index.cjs.js +2 -1
  327. package/heading/package.json +4 -1
  328. package/image/components/Image.js +51 -10
  329. package/image/components/ImageCaption.js +6 -4
  330. package/image/components/ImagePlaceholder.d.ts +4 -0
  331. package/image/components/ImagePlaceholder.js +11 -0
  332. package/image/createReactImage.js +13 -13
  333. package/image/image.css +1 -1
  334. package/image/image.scss +61 -6
  335. package/image/index.cjs.js +97 -45
  336. package/image/index.d.ts +1 -0
  337. package/image/index.js +1 -0
  338. package/image/jsx-serializer/defaultRenderImageElements.js +2 -1
  339. package/image/jsx-serializer/index.cjs.js +2 -1
  340. package/image/jsx-serializer/typings.d.ts +2 -0
  341. package/image/typings.d.ts +2 -0
  342. package/index.cjs.js +555 -6
  343. package/index.js +9 -3
  344. package/input-block/components/InputBlock.js +19 -9
  345. package/input-block/defaultRenderInputBlockElement.js +1 -1
  346. package/input-block/hooks/useInputBlock.d.ts +2 -0
  347. package/input-block/hooks/useInputBlock.js +16 -8
  348. package/input-block/index.cjs.js +35 -17
  349. package/input-block/input-block.css +1 -0
  350. package/input-block/input-block.scss +38 -0
  351. package/input-block/package.json +4 -1
  352. package/line-break/line-break.scss +0 -2
  353. package/list/createReactList.js +11 -1
  354. package/list/index.cjs.js +15 -5
  355. package/list/list.css +1 -0
  356. package/list/list.scss +43 -0
  357. package/list/package.json +4 -1
  358. package/package.json +11 -8
  359. package/paragraph/createReactParagraph.d.ts +2 -0
  360. package/paragraph/createReactParagraph.js +8 -0
  361. package/paragraph/createRenderParagraphElement.d.ts +1 -1
  362. package/paragraph/defaultRenderParagraphElement.d.ts +3 -1
  363. package/paragraph/defaultRenderParagraphElement.js +4 -1
  364. package/paragraph/index.cjs.js +15 -2
  365. package/paragraph/index.d.ts +1 -0
  366. package/paragraph/index.js +1 -0
  367. package/paragraph/paragraph.css +1 -1
  368. package/paragraph/paragraph.scss +7 -2
  369. package/paragraph/renderParagraphElementWithSymbol.d.ts +3 -1
  370. package/paragraph/renderParagraphElementWithSymbol.js +4 -1
  371. package/paragraph/toolbar/ParagraphToolbarIcon.d.ts +8 -0
  372. package/paragraph/toolbar/ParagraphToolbarIcon.js +12 -0
  373. package/paragraph/toolbar/index.cjs.js +23 -0
  374. package/paragraph/toolbar/index.d.ts +2 -0
  375. package/paragraph/toolbar/index.js +2 -0
  376. package/paragraph/toolbar/package.json +7 -0
  377. package/paragraph/toolbar/useToggleParagraphTool.d.ts +5 -0
  378. package/paragraph/toolbar/useToggleParagraphTool.js +11 -0
  379. package/read-more/components/ReadMore.js +5 -3
  380. package/read-more/index.cjs.js +5 -3
  381. package/read-more/read-more.css +1 -1
  382. package/read-more/read-more.scss +27 -20
  383. package/toolbar/components/InlineToolbar.d.ts +18 -0
  384. package/toolbar/components/InlineToolbar.js +27 -0
  385. package/toolbar/components/Toolbar.js +23 -6
  386. package/toolbar/components/ToolbarGroupIcon.d.ts +7 -0
  387. package/toolbar/components/ToolbarGroupIcon.js +80 -0
  388. package/toolbar/components/ToolbarIcon.d.ts +3 -1
  389. package/toolbar/components/ToolbarIcon.js +24 -6
  390. package/toolbar/components/toolbarIconName.d.ts +2 -0
  391. package/toolbar/components/toolbarIconName.js +86 -0
  392. package/toolbar/contexts/toolbar.d.ts +7 -0
  393. package/toolbar/contexts/toolbar.js +10 -0
  394. package/toolbar/contexts/toolbarMenu.d.ts +6 -0
  395. package/toolbar/contexts/toolbarMenu.js +11 -0
  396. package/toolbar/hooks/useAutoGroupIcons.d.ts +12 -0
  397. package/toolbar/hooks/useAutoGroupIcons.js +68 -0
  398. package/toolbar/index.cjs.js +300 -12
  399. package/toolbar/index.d.ts +2 -0
  400. package/toolbar/index.js +2 -0
  401. package/toolbar/toolbar.css +1 -1
  402. package/toolbar/toolbar.scss +191 -43
  403. package/utils/index.cjs.js +153 -0
  404. package/utils/index.d.ts +6 -0
  405. package/utils/index.js +6 -0
  406. package/utils/removePreviousElement.d.ts +9 -0
  407. package/utils/removePreviousElement.js +38 -0
  408. package/utils/upload.d.ts +11 -0
  409. package/utils/upload.js +57 -0
  410. package/utils/useClickAway.d.ts +5 -0
  411. package/utils/useClickAway.js +23 -0
  412. package/utils/useDocumentEvents.d.ts +5 -0
  413. package/utils/useDocumentEvents.js +21 -0
  414. package/utils/useIsomorphicLayoutEffect.d.ts +2 -0
  415. package/utils/useIsomorphicLayoutEffect.js +9 -0
  416. package/utils/usePreviousValue.d.ts +1 -0
  417. package/utils/usePreviousValue.js +11 -0
  418. package/core/index.js +0 -11
@@ -3,14 +3,18 @@ import clsx from 'clsx';
3
3
 
4
4
  const Progress = forwardRef(function Progress(props, ref) {
5
5
  const { className, percentage = 0 } = props;
6
- const transform = `scaleX(${percentage / 100})`;
7
- const style = {
8
- transform,
9
- msTransform: transform,
10
- };
11
- return (React.createElement("span", { ref: ref, className: clsx('qdr-progress', className) },
12
- React.createElement("span", { className: "qdr-progress__backdrop" }),
13
- React.createElement("span", { className: "qdr-progress__track", style: style })));
6
+ const size = 16;
7
+ const strokeWidth = 2;
8
+ const radius = (size - strokeWidth) / 2;
9
+ const circumference = 2 * Math.PI * radius;
10
+ const offset = circumference * (1 - percentage / 100);
11
+ return (React.createElement("div", { ref: ref, className: clsx('qdr-progress', className) },
12
+ React.createElement("div", { className: "qdr-progress__wrapper" },
13
+ React.createElement("div", { className: "qdr-progress__spinner-wrapper" },
14
+ React.createElement("svg", { width: size, height: size },
15
+ React.createElement("circle", { className: "qdr-progress__backdrop", cx: size / 2, cy: size / 2, r: radius, strokeWidth: strokeWidth, fill: "none" }),
16
+ React.createElement("circle", { className: "qdr-progress__track", cx: size / 2, cy: size / 2, r: radius, strokeWidth: strokeWidth, fill: "none", strokeDasharray: circumference, strokeDashoffset: offset }))),
17
+ React.createElement("p", { className: "qdr-progress__percentage" }, `${percentage}%`))));
14
18
  });
15
19
 
16
20
  export { Progress as default };
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ export interface SegmentedControlProps {
3
+ options: {
4
+ value: string;
5
+ label: string;
6
+ disabled?: boolean;
7
+ }[];
8
+ value: string;
9
+ onChange: (value: string) => void;
10
+ disabled?: boolean;
11
+ }
12
+ declare const SegmentedControl: ({ options, value, onChange, disabled }: SegmentedControlProps) => React.JSX.Element;
13
+ export default SegmentedControl;
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import clsx from 'clsx';
3
+
4
+ const SegmentedControl = ({ options, value, onChange, disabled }) => {
5
+ return (React.createElement("div", { className: clsx('qdr-segmented-control', {
6
+ 'qdr-segmented-control--disabled': disabled || options.filter((o) => o.disabled).length === options.length,
7
+ }) }, options.map((option) => (React.createElement("button", { key: option.value, type: "button", disabled: disabled || option.disabled, className: clsx('qdr-segmented-control__button', {
8
+ 'qdr-segmented-control__button--active': value === option.value,
9
+ }), onClick: () => {
10
+ onChange(option.value);
11
+ } }, option.label)))));
12
+ };
13
+
14
+ export { SegmentedControl as default };
@@ -0,0 +1,15 @@
1
+ import React, { Ref } from 'react';
2
+ import { BaseFieldProps } from '../BaseField';
3
+ export interface TextareaProps extends Omit<BaseFieldProps, 'children'> {
4
+ value?: string;
5
+ onChange?: (value: string) => void;
6
+ textareaRef?: Ref<HTMLTextAreaElement>;
7
+ placeholder?: string;
8
+ height?: number;
9
+ disabled?: boolean;
10
+ isError?: boolean;
11
+ hint?: string;
12
+ maxLength?: number;
13
+ }
14
+ declare const Textarea: ({ label, className, width, value, onChange, textareaRef, placeholder, height, disabled, isError, hint, maxLength, errorMessage, required, }: TextareaProps) => React.JSX.Element;
15
+ export default Textarea;
@@ -0,0 +1,24 @@
1
+ import React, { useMemo } from 'react';
2
+ import clsx from 'clsx';
3
+ import BaseField from '../BaseField/index.js';
4
+
5
+ const Textarea = ({ label, className, width, value = '', onChange, textareaRef, placeholder, height, disabled, isError, hint, maxLength, errorMessage, required = false, }) => {
6
+ const isLimited = useMemo(() => maxLength && value && value.length >= maxLength, [maxLength, value]);
7
+ return (React.createElement(BaseField, { className: className, label: label, required: required, width: width, errorMessage: errorMessage },
8
+ React.createElement("div", { className: "qdr-textarea" },
9
+ React.createElement("textarea", { ref: textareaRef, style: { height }, className: clsx('qdr-textarea__textarea', {
10
+ 'qdr-textarea__textarea--error': isError,
11
+ }), value: value, onChange: (e) => {
12
+ onChange === null || onChange === void 0 ? void 0 : onChange(e.target.value);
13
+ }, maxLength: maxLength, placeholder: placeholder, disabled: disabled }),
14
+ hint && (React.createElement("div", { className: "qdr-textarea__hint-wrapper" },
15
+ React.createElement("span", { className: "qdr-textarea__hint" }, hint))),
16
+ maxLength && (React.createElement("span", { className: clsx('qdr-textarea__counter', {
17
+ 'qdr-textarea__counter--have-hint': hint,
18
+ 'qdr-textarea__counter--limited': isLimited,
19
+ 'qdr-textarea__counter--error': isError,
20
+ 'qdr-textarea__counter--disabled': disabled,
21
+ }) }, `${value ? value.length : 0}/${maxLength}`)))));
22
+ };
23
+
24
+ export { Textarea as default };
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ export interface ToggleProps {
3
+ onChange: (status: boolean) => void;
4
+ checked: boolean;
5
+ disabled?: boolean;
6
+ }
7
+ declare const Toggle: ({ onChange, checked, disabled }: ToggleProps) => React.JSX.Element;
8
+ export default Toggle;
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import clsx from 'clsx';
3
+
4
+ const Toggle = ({ onChange, checked, disabled }) => {
5
+ return (React.createElement("div", { className: clsx('qdr-toggle', {
6
+ 'qdr-toggle--checked': checked,
7
+ 'qdr-toggle--disabled': disabled,
8
+ }) },
9
+ React.createElement("div", { className: "qdr-toggle__control" }),
10
+ React.createElement("input", { "aria-checked": checked, "aria-disabled": disabled, checked: checked, className: "qdr-toggle__input", disabled: disabled, onChange: (e) => {
11
+ onChange(e.target.checked);
12
+ }, type: "checkbox" })));
13
+ };
14
+
15
+ export { Toggle as default };
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import { TransitionImplementationProps } from './Transition';
3
+ export type MotionDurationType = 'shortest' | 'shorter' | 'short' | 'standard' | 'long';
4
+ export declare const MOTION_DURATION: Readonly<Record<MotionDurationType, number>>;
5
+ export type MotionEasingType = 'standard' | 'emphasized' | 'decelerated' | 'accelerated';
6
+ export declare const MOTION_EASING: Readonly<Record<MotionEasingType, string>>;
7
+ export declare function reflow(node: HTMLElement): void;
8
+ export type SlideFadeDirection = 'left' | 'right' | 'up' | 'down';
9
+ export interface SlideFadeProps extends TransitionImplementationProps {
10
+ /**
11
+ * The direction of child element will enter to.
12
+ * @default 'down'
13
+ */
14
+ direction?: SlideFadeDirection;
15
+ }
16
+ /**
17
+ * The react component for `mezzanine` transition slide fade.
18
+ */
19
+ declare const SlideFade: React.ForwardRefExoticComponent<SlideFadeProps & React.RefAttributes<HTMLElement>>;
20
+ export default SlideFade;
@@ -0,0 +1,91 @@
1
+ import { __rest } from 'tslib';
2
+ import React, { forwardRef, useRef, cloneElement } from 'react';
3
+ import { composeRefs } from '@quadrats/react/utils';
4
+ import Transition from './Transition.js';
5
+ import { useSetNodeTransition } from './useSetNodeTransition.js';
6
+
7
+ const MOTION_DURATION = {
8
+ shorter: 200,
9
+ short: 250};
10
+ const MOTION_EASING = {
11
+ decelerated: 'cubic-bezier(0, 0, 0.3, 1)',
12
+ accelerated: 'cubic-bezier(0.32, 0, 0.67, 0)',
13
+ };
14
+ function reflow(node) {
15
+ // eslint-disable-next-line @typescript-eslint/no-unused-expressions
16
+ node.scrollTop;
17
+ }
18
+ function getStyle(state, inProp, direction) {
19
+ if (state === 'entering' || state === 'entered') {
20
+ return {
21
+ opacity: 1,
22
+ transform: 'translate3d(0, 0, 0)',
23
+ };
24
+ }
25
+ const style = {
26
+ opacity: 0,
27
+ transform: {
28
+ up: 'translate3d(0, 100%, 0)',
29
+ right: 'translate3d(-100%, 0, 0)',
30
+ down: 'translate3d(0, -100%, 0)',
31
+ left: 'translate3d(100%, 0, 0)',
32
+ }[direction],
33
+ };
34
+ if (state === 'exited' && !inProp) {
35
+ style.visibility = 'hidden';
36
+ }
37
+ return style;
38
+ }
39
+ const defaultDuration = {
40
+ enter: MOTION_DURATION.short,
41
+ exit: MOTION_DURATION.shorter,
42
+ };
43
+ const defaultEasing = {
44
+ enter: MOTION_EASING.decelerated,
45
+ exit: MOTION_EASING.accelerated,
46
+ };
47
+ /**
48
+ * The react component for `mezzanine` transition slide fade.
49
+ */
50
+ const SlideFade = forwardRef(function SlideFade(props, ref) {
51
+ const { children, direction = 'down', delay = 0, duration: durationProp = defaultDuration, easing = defaultEasing, in: inProp = false, onEnter, onEntered, onExit, onExited } = props, rest = __rest(props, ["children", "direction", "delay", "duration", "easing", "in", "onEnter", "onEntered", "onExit", "onExited"]);
52
+ const duration = durationProp === 'auto' ? defaultDuration : durationProp;
53
+ const nodeRef = useRef(null);
54
+ const composedNodeRef = composeRefs([ref, nodeRef]);
55
+ const [setNodeTransition, resetNodeTransition] = useSetNodeTransition({
56
+ delay,
57
+ duration,
58
+ easing,
59
+ properties: ['opacity', 'transform'],
60
+ }, children === null || children === void 0 ? void 0 : children.props.style);
61
+ const transitionProps = Object.assign(Object.assign({}, rest), { duration, in: inProp, nodeRef,
62
+ onEnter(node, isAppearing) {
63
+ setNodeTransition(node, 'enter');
64
+ reflow(node);
65
+ if (onEnter) {
66
+ onEnter(node, isAppearing);
67
+ }
68
+ },
69
+ onEntered(node, isAppearing) {
70
+ resetNodeTransition(node);
71
+ if (onEntered) {
72
+ onEntered(node, isAppearing);
73
+ }
74
+ },
75
+ onExit(node) {
76
+ setNodeTransition(node, 'exit');
77
+ if (onExit) {
78
+ onExit(node);
79
+ }
80
+ },
81
+ onExited(node) {
82
+ resetNodeTransition(node);
83
+ if (onExited) {
84
+ onExited(node);
85
+ }
86
+ } });
87
+ return (React.createElement(Transition, Object.assign({}, transitionProps), children &&
88
+ ((state) => cloneElement(children, Object.assign(Object.assign({}, children.props), { ref: composedNodeRef, style: Object.assign(Object.assign({}, getStyle(state, inProp, direction)), children.props.style) })))));
89
+ });
90
+
91
+ export { MOTION_DURATION, MOTION_EASING, SlideFade as default, reflow };
@@ -0,0 +1,98 @@
1
+ import { JSX, RefObject, CSSProperties, ReactElement, JSXElementConstructor, Ref } from 'react';
2
+ import { TransitionStatus as TransitionState, TransitionChildren } from 'react-transition-group/Transition';
3
+ export type NativeElementTag = keyof JSX.IntrinsicElements;
4
+ export { TransitionState };
5
+ export type TransitionMode = 'enter' | 'exit';
6
+ export type TransitionDuration = 'auto' | number | {
7
+ [mode in TransitionMode]?: number;
8
+ };
9
+ export type TransitionEasing = string | {
10
+ [mode in TransitionMode]?: string;
11
+ };
12
+ export type TransitionDelay = number | {
13
+ [mode in TransitionMode]?: number;
14
+ };
15
+ export type TransitionEnterHandler = (node: HTMLElement, isAppearing: boolean) => void;
16
+ export type TransitionExitHandler = (node: HTMLElement) => void;
17
+ export interface TransitionImplementationChildProps {
18
+ ref?: Ref<HTMLElement>;
19
+ style?: CSSProperties;
20
+ }
21
+ export interface TransitionProps {
22
+ /**
23
+ * A custom callback for adding custom transition end handler
24
+ */
25
+ addEndListener?: (node: HTMLElement, next: VoidFunction) => void;
26
+ /**
27
+ * Whether to perform the enter transition if `in` is true while it first mount
28
+ * @true
29
+ */
30
+ appear?: boolean;
31
+ /**
32
+ * A react node or a render props called with transition state
33
+ */
34
+ children?: TransitionChildren;
35
+ /**
36
+ * The duration of the transition, in milliseconds
37
+ */
38
+ duration?: TransitionDuration;
39
+ /**
40
+ * The flag to trigger toggling transition between `enter` and `exit` state
41
+ * @default false
42
+ */
43
+ in?: boolean;
44
+ /**
45
+ * Whether to keeping mounting the child if exited.
46
+ * @default false
47
+ */
48
+ keepMount?: boolean;
49
+ /**
50
+ * Whether to mount the child at the first time entering.
51
+ * @default true
52
+ */
53
+ lazyMount?: boolean;
54
+ /**
55
+ * A ref of DOM element need to transition
56
+ */
57
+ nodeRef: RefObject<HTMLElement | null>;
58
+ /**
59
+ * Callback fired before the `entering` state applied
60
+ */
61
+ onEnter?: TransitionEnterHandler;
62
+ /**
63
+ * Callback fired after the `entering` state applied
64
+ */
65
+ onEntering?: TransitionEnterHandler;
66
+ /**
67
+ * Callback fired after the `entered` state applied
68
+ */
69
+ onEntered?: TransitionEnterHandler;
70
+ /**
71
+ * Callback fired before the `exiting` state applied.
72
+ */
73
+ onExit?: TransitionExitHandler;
74
+ /**
75
+ * Callback fired after the `exiting` state applied.
76
+ */
77
+ onExiting?: TransitionExitHandler;
78
+ /**
79
+ * Callback fired after the `exited` state applied.
80
+ */
81
+ onExited?: TransitionExitHandler;
82
+ }
83
+ export interface TransitionImplementationProps extends Omit<TransitionProps, 'addEndListener' | 'children' | 'nodeRef'> {
84
+ children: ReactElement<TransitionImplementationChildProps, NativeElementTag | JSXElementConstructor<TransitionImplementationChildProps>>;
85
+ /**
86
+ * The delay of the transition, in milliseconds
87
+ */
88
+ delay?: TransitionDelay;
89
+ /**
90
+ * The timing function of the transition
91
+ */
92
+ easing?: TransitionEasing;
93
+ }
94
+ /**
95
+ * The react component for `mezzanine` transition.
96
+ */
97
+ declare function Transition(props: TransitionProps): JSX.Element;
98
+ export default Transition;
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ import ReactTransition from 'react-transition-group/Transition';
3
+
4
+ /**
5
+ * The react component for `mezzanine` transition.
6
+ */
7
+ function Transition(props) {
8
+ const { addEndListener, appear = true, children, duration, in: inProp = false, keepMount = false, lazyMount = true, nodeRef, onEnter, onEntering, onEntered, onExit, onExiting, onExited, } = props;
9
+ const addNodeToCallback = (callback) => {
10
+ if (!callback) {
11
+ return;
12
+ }
13
+ return (...args) => {
14
+ const node = nodeRef.current;
15
+ if (node) {
16
+ callback(node, ...args);
17
+ }
18
+ };
19
+ };
20
+ return (React.createElement(ReactTransition
21
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
22
+ , {
23
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
24
+ addEndListener: addNodeToCallback(addEndListener), appear: appear, in: inProp, mountOnEnter: lazyMount, nodeRef: nodeRef, onEnter: addNodeToCallback(onEnter), onEntering: addNodeToCallback(onEntering), onEntered: addNodeToCallback(onEntered), onExit: addNodeToCallback(onExit), onExiting: addNodeToCallback(onExiting), onExited: addNodeToCallback(onExited), timeout: duration === 'auto' ? undefined : duration, unmountOnExit: !keepMount }, children));
25
+ }
26
+
27
+ export { Transition as default };
@@ -0,0 +1,16 @@
1
+ import { TransitionDelay, TransitionDuration, TransitionEasing, TransitionMode } from './Transition';
2
+ export declare function getTransitionDuration(mode: TransitionMode, duration: TransitionDuration, resolveAuto?: number | ((mode: TransitionMode) => number)): number;
3
+ export declare function getTransitionTimingFunction(mode: TransitionMode, easing: TransitionEasing): string;
4
+ export declare function getTransitionDelay(mode: TransitionMode, delay: TransitionDelay): number;
5
+ export interface GetTransitionStyleProps {
6
+ delay: TransitionDelay;
7
+ duration: TransitionDuration;
8
+ easing: TransitionEasing;
9
+ resolveAutoDuration?: Parameters<typeof getTransitionDuration>[2];
10
+ }
11
+ export interface TransitionStyleProps {
12
+ delay: number;
13
+ duration: number;
14
+ timingFunction: string;
15
+ }
16
+ export declare function getTransitionStyleProps(mode: TransitionMode, props: GetTransitionStyleProps): TransitionStyleProps;
@@ -0,0 +1,25 @@
1
+ function getTransitionDuration(mode, duration, resolveAuto) {
2
+ if (duration !== 'auto') {
3
+ return typeof duration === 'number' ? duration : duration[mode] || 0;
4
+ }
5
+ if (typeof resolveAuto === 'function') {
6
+ return resolveAuto(mode);
7
+ }
8
+ return resolveAuto !== null && resolveAuto !== void 0 ? resolveAuto : 0;
9
+ }
10
+ function getTransitionTimingFunction(mode, easing) {
11
+ return typeof easing === 'string' ? easing : easing[mode] || 'ease';
12
+ }
13
+ function getTransitionDelay(mode, delay) {
14
+ return typeof delay === 'number' ? delay : delay[mode] || 0;
15
+ }
16
+ function getTransitionStyleProps(mode, props) {
17
+ const { delay, duration, easing, resolveAutoDuration } = props;
18
+ return {
19
+ delay: getTransitionDelay(mode, delay),
20
+ duration: getTransitionDuration(mode, duration, resolveAutoDuration),
21
+ timingFunction: getTransitionTimingFunction(mode, easing),
22
+ };
23
+ }
24
+
25
+ export { getTransitionDelay, getTransitionDuration, getTransitionStyleProps, getTransitionTimingFunction };
@@ -0,0 +1,7 @@
1
+ import { CSSProperties } from 'react';
2
+ import { TransitionMode } from './Transition';
3
+ import { GetTransitionStyleProps, TransitionStyleProps } from './getTransitionStyleProps';
4
+ export interface UseSetNodeTransitionProps extends GetTransitionStyleProps {
5
+ properties: (string | [string, (props: TransitionStyleProps, mode: TransitionMode) => TransitionStyleProps])[];
6
+ }
7
+ export declare function useSetNodeTransition(props: UseSetNodeTransitionProps, style?: CSSProperties): readonly [(node: HTMLElement, mode: TransitionMode) => void, (node: HTMLElement) => void];
@@ -0,0 +1,35 @@
1
+ import { getTransitionStyleProps } from './getTransitionStyleProps.js';
2
+
3
+ function useSetNodeTransition(props, style) {
4
+ /* eslint-disable no-param-reassign */
5
+ const setNodeTransition = (node, mode) => {
6
+ const transitionProps = getTransitionStyleProps(mode, props);
7
+ const { properties } = props;
8
+ node.style.transition = properties
9
+ .map((propertyOrConfig) => {
10
+ let property;
11
+ let resolvedTransitionProps = transitionProps;
12
+ if (typeof propertyOrConfig === 'string') {
13
+ property = propertyOrConfig;
14
+ }
15
+ else {
16
+ const [, overrideTransitionProps] = propertyOrConfig;
17
+ [property] = propertyOrConfig;
18
+ resolvedTransitionProps = overrideTransitionProps(resolvedTransitionProps, mode);
19
+ }
20
+ const { delay, duration, timingFunction } = resolvedTransitionProps;
21
+ return `${property} ${duration}ms ${timingFunction} ${delay}ms`;
22
+ })
23
+ .join(',');
24
+ };
25
+ const resetNodeTransition = (node) => {
26
+ const { transition } = style || {};
27
+ if (transition) {
28
+ node.style.transition = transition;
29
+ }
30
+ };
31
+ /* eslint-enable no-param-reassign */
32
+ return [setNodeTransition, resetNodeTransition];
33
+ }
34
+
35
+ export { useSetNodeTransition };
@@ -0,0 +1 @@
1
+ .qdr-base-field{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:var(--qdr-spacing-2)}.qdr-base-field__label{color:var(--qdr-text-secondary);font-size:var(--qdr-typography-basic-h6-font-size);line-height:var(--qdr-typography-basic-h6-line-height);letter-spacing:var(--qdr-typography-basic-h6-letter-spacing);font-weight:var(--qdr-typography-basic-h6-font-weight);margin:0}.qdr-base-field__required-mark{display:inline-block;margin-left:var(--qdr-spacing-2);color:var(--qdr-error)}.qdr-base-field__error-message{display:flex;align-items:center;justify-content:flex-start;gap:var(--qdr-spacing-2);color:var(--qdr-error);font-size:var(--qdr-typography-basic-caption-font-size);line-height:var(--qdr-typography-basic-caption-line-height);letter-spacing:var(--qdr-typography-basic-caption-letter-spacing);font-weight:var(--qdr-typography-basic-caption-font-weight)}
@@ -0,0 +1,34 @@
1
+ .qdr-base-field {
2
+ display: flex;
3
+ flex-direction: column;
4
+ align-items: flex-start;
5
+ justify-content: flex-start;
6
+ gap: var(--qdr-spacing-2);
7
+
8
+ &__label {
9
+ color: var(--qdr-text-secondary);
10
+ font-size: var(--qdr-typography-basic-h6-font-size);
11
+ line-height: var(--qdr-typography-basic-h6-line-height);
12
+ letter-spacing: var(--qdr-typography-basic-h6-letter-spacing);
13
+ font-weight: var(--qdr-typography-basic-h6-font-weight);
14
+ margin: 0;
15
+ }
16
+
17
+ &__required-mark {
18
+ display: inline-block;
19
+ margin-left: var(--qdr-spacing-2);
20
+ color: var(--qdr-error);
21
+ }
22
+
23
+ &__error-message {
24
+ display: flex;
25
+ align-items: center;
26
+ justify-content: flex-start;
27
+ gap: var(--qdr-spacing-2);
28
+ color: var(--qdr-error);
29
+ font-size: var(--qdr-typography-basic-caption-font-size);
30
+ line-height: var(--qdr-typography-basic-caption-line-height);
31
+ letter-spacing: var(--qdr-typography-basic-caption-letter-spacing);
32
+ font-weight: var(--qdr-typography-basic-caption-font-weight);
33
+ }
34
+ }
@@ -0,0 +1 @@
1
+ .qdr-button{display:flex;align-items:center;justify-content:center;gap:var(--qdr-spacing-2);border:none;background-color:rgba(0,0,0,0);cursor:pointer;transition:all var(--qdr-duration-short) var(--qdr-easing-standard)}.qdr-button--small{padding:0 var(--qdr-spacing-7);font-size:var(--qdr-typography-basic-button2-font-size);line-height:var(--qdr-typography-basic-button2-line-height);letter-spacing:var(--qdr-typography-basic-button2-letter-spacing);font-weight:var(--qdr-typography-basic-button2-font-weight)}.qdr-button--medium{padding:var(--qdr-spacing-1) var(--qdr-spacing-7);font-size:var(--qdr-typography-basic-button2-font-size);line-height:var(--qdr-typography-basic-button2-line-height);letter-spacing:var(--qdr-typography-basic-button2-letter-spacing);font-weight:var(--qdr-typography-basic-button2-font-weight)}.qdr-button--large{padding:0 var(--qdr-spacing-7);font-size:var(--qdr-typography-basic-button1-font-size);line-height:var(--qdr-typography-basic-button1-line-height);letter-spacing:var(--qdr-typography-basic-button1-letter-spacing);font-weight:var(--qdr-typography-basic-button1-font-weight)}.qdr-button--primary{background-color:var(--qdr-primary);color:var(--qdr-on-primary);border:1px solid var(--qdr-primary)}.qdr-button--primary:hover{background-color:var(--qdr-primary-light);border-color:var(--qdr-primary-light)}.qdr-button--primary:active{background-color:var(--qdr-primary-dark);border-color:var(--qdr-primary-dark)}.qdr-button--primary:disabled{color:var(--qdr-action-disabled);background-color:var(--qdr-action-disabled-bg);border-color:var(--qdr-action-disabled-bg);cursor:not-allowed}.qdr-button--primary.qdr-button--danger{background-color:var(--qdr-error);color:var(--qdr-on-error);border:1px solid var(--qdr-error)}.qdr-button--primary.qdr-button--danger:hover{background-color:var(--qdr-error-light);border-color:var(--qdr-error-light)}.qdr-button--primary.qdr-button--danger:active{background-color:var(--qdr-error-dark);border-color:var(--qdr-error-dark)}.qdr-button--primary.qdr-button--danger:disabled{color:var(--qdr-action-disabled);background-color:var(--qdr-action-disabled-bg);border-color:var(--qdr-action-disabled-bg);cursor:not-allowed}.qdr-button--secondary{background-color:rgba(0,0,0,0);color:var(--qdr-action-active);border:1px solid var(--qdr-border)}.qdr-button--secondary:hover{color:var(--qdr-primary);border-color:var(--qdr-primary-light)}.qdr-button--secondary:active{color:var(--qdr-primary-dark);border-color:var(--qdr-primary-dark)}.qdr-button--secondary:disabled{color:var(--qdr-action-disabled);border-color:var(--qdr-action-disabled);background-color:var(--qdr-action-disabled-bg);cursor:not-allowed}.qdr-button--secondary.qdr-button--danger{background-color:rgba(0,0,0,0);color:var(--qdr-error);border:1px solid var(--qdr-border)}.qdr-button--secondary.qdr-button--danger:hover{color:var(--qdr-error-light);border-color:var(--qdr-error-light)}.qdr-button--secondary.qdr-button--danger:active{color:var(--qdr-error-dark);border-color:var(--qdr-error-dark)}.qdr-button--secondary.qdr-button--danger:disabled{color:var(--qdr-action-disabled);border-color:var(--qdr-action-disabled);background-color:var(--qdr-action-disabled-bg);cursor:not-allowed}.qdr-button--outlined{background-color:rgba(0,0,0,0);color:var(--qdr-primary);border:1px solid var(--qdr-primary)}.qdr-button--outlined:hover{background-color:var(--qdr-primary-hover-bg);border-color:var(--qdr-primary-light)}.qdr-button--outlined:active{background-color:var(--qdr-primary-active-bg);border-color:var(--qdr-primary)}.qdr-button--outlined:disabled{color:var(--qdr-action-disabled);border-color:var(--qdr-action-disabled);background-color:rgba(0,0,0,0);cursor:not-allowed}.qdr-button--outlined.qdr-button--danger{background-color:rgba(0,0,0,0);color:var(--qdr-error);border:1px solid var(--qdr-error)}.qdr-button--outlined.qdr-button--danger:hover{background-color:var(--qdr-error-hover-bg);border-color:var(--qdr-error-light)}.qdr-button--outlined.qdr-button--danger:active{background-color:var(--qdr-error-active-bg);border-color:var(--qdr-error)}.qdr-button--outlined.qdr-button--danger:disabled{color:var(--qdr-action-disabled);border-color:var(--qdr-action-disabled);background-color:rgba(0,0,0,0);cursor:not-allowed}.qdr-button--dashed{background-color:rgba(0,0,0,0);color:var(--qdr-primary);border:1px dashed var(--qdr-border)}.qdr-button--dashed:hover{background-color:var(--qdr-primary-hover-bg);border-color:var(--qdr-primary-light)}.qdr-button--dashed:active{background-color:var(--qdr-primary-active-bg);border-color:var(--qdr-primary-dark)}.qdr-button--dashed:disabled{color:var(--qdr-action-disabled);border-color:var(--qdr-action-disabled);background-color:rgba(0,0,0,0);cursor:not-allowed}.qdr-button--dashed.qdr-button--danger{background-color:rgba(0,0,0,0);color:var(--qdr-error);border:1px dashed var(--qdr-error)}.qdr-button--dashed.qdr-button--danger:hover{background-color:var(--qdr-error-hover-bg);border-color:var(--qdr-error-light)}.qdr-button--dashed.qdr-button--danger:active{background-color:var(--qdr-error-active-bg);border-color:var(--qdr-error-dark)}.qdr-button--dashed.qdr-button--danger:disabled{color:var(--qdr-action-disabled);border-color:var(--qdr-action-disabled);background-color:rgba(0,0,0,0);cursor:not-allowed}.qdr-button--tertiary{color:var(--qdr-primary)}.qdr-button--tertiary:hover{background-color:var(--qdr-primary-hover-bg)}.qdr-button--tertiary:active{background-color:var(--qdr-primary-active-bg)}.qdr-button--tertiary:disabled{color:var(--qdr-action-disabled);background-color:rgba(0,0,0,0);cursor:not-allowed}.qdr-button--tertiary.qdr-button--danger{color:var(--qdr-error)}.qdr-button--tertiary.qdr-button--danger:hover{background-color:var(--qdr-error-hover-bg)}.qdr-button--tertiary.qdr-button--danger:active{background-color:var(--qdr-error-active-bg)}.qdr-button--tertiary.qdr-button--danger:disabled{color:var(--qdr-action-disabled);background-color:rgba(0,0,0,0);cursor:not-allowed}