pds-dev-kit-web-test 2.2.99 → 2.2.244

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 (919) hide show
  1. package/dist/index.d.ts +7 -7
  2. package/dist/index.js +17 -3
  3. package/dist/scripts/copy-tinymce.d.ts +1 -0
  4. package/dist/scripts/copy-tinymce.js +32 -0
  5. package/dist/src/common/assets/icons/fill/BringForward.d.ts +4 -0
  6. package/dist/src/common/assets/icons/fill/BringForward.js +30 -0
  7. package/dist/src/common/assets/icons/fill/BringToFront.d.ts +4 -0
  8. package/dist/src/common/assets/icons/fill/BringToFront.js +30 -0
  9. package/dist/src/common/assets/icons/fill/BringToFrontArrow.d.ts +4 -0
  10. package/dist/src/common/assets/icons/fill/BringToFrontArrow.js +30 -0
  11. package/dist/src/common/assets/icons/fill/Cam.d.ts +4 -0
  12. package/dist/src/common/assets/icons/fill/Cam.js +30 -0
  13. package/dist/src/common/assets/icons/fill/CamOff.d.ts +4 -0
  14. package/dist/src/common/assets/icons/fill/CamOff.js +30 -0
  15. package/dist/src/common/assets/icons/fill/CheckboxIndeterminate.js +1 -1
  16. package/dist/src/common/assets/icons/fill/CheckboxOn.js +1 -1
  17. package/dist/src/common/assets/icons/fill/CloudDownload.js +1 -1
  18. package/dist/src/common/assets/icons/fill/Cut.d.ts +4 -0
  19. package/dist/src/common/assets/icons/fill/Cut.js +30 -0
  20. package/dist/src/common/assets/icons/fill/DesktopSync.d.ts +4 -0
  21. package/dist/src/common/assets/icons/fill/DesktopSync.js +30 -0
  22. package/dist/src/common/assets/icons/fill/Developer.d.ts +4 -0
  23. package/dist/src/common/assets/icons/fill/Developer.js +30 -0
  24. package/dist/src/common/assets/icons/fill/Downloaded.js +1 -1
  25. package/dist/src/common/assets/icons/fill/Duplicate.d.ts +4 -0
  26. package/dist/src/common/assets/icons/fill/Duplicate.js +30 -0
  27. package/dist/src/common/assets/icons/fill/Gift.d.ts +4 -0
  28. package/dist/src/common/assets/icons/fill/Gift.js +30 -0
  29. package/dist/src/common/assets/icons/fill/Group.d.ts +4 -0
  30. package/dist/src/common/assets/icons/fill/Group.js +30 -0
  31. package/dist/src/common/assets/icons/fill/LogoGoogle.js +1 -1
  32. package/dist/src/common/assets/icons/fill/LogoSandoll.d.ts +4 -0
  33. package/dist/src/common/assets/icons/fill/LogoSandoll.js +30 -0
  34. package/dist/src/common/assets/icons/fill/MenuHome.d.ts +4 -0
  35. package/dist/src/common/assets/icons/fill/MenuHome.js +30 -0
  36. package/dist/src/common/assets/icons/fill/MoveBackward.d.ts +4 -0
  37. package/dist/src/common/assets/icons/fill/MoveBackward.js +30 -0
  38. package/dist/src/common/assets/icons/fill/MoveBackwardArrow.d.ts +4 -0
  39. package/dist/src/common/assets/icons/fill/MoveBackwardArrow.js +30 -0
  40. package/dist/src/common/assets/icons/fill/MoveForward.d.ts +4 -0
  41. package/dist/src/common/assets/icons/fill/MoveForward.js +30 -0
  42. package/dist/src/common/assets/icons/fill/MoveForwardArrow.d.ts +4 -0
  43. package/dist/src/common/assets/icons/fill/MoveForwardArrow.js +30 -0
  44. package/dist/src/common/assets/icons/fill/Paste.d.ts +4 -0
  45. package/dist/src/common/assets/icons/fill/Paste.js +30 -0
  46. package/dist/src/common/assets/icons/fill/PostPost.d.ts +4 -0
  47. package/dist/src/common/assets/icons/fill/PostPost.js +30 -0
  48. package/dist/src/common/assets/icons/fill/PostSeries.d.ts +4 -0
  49. package/dist/src/common/assets/icons/fill/PostSeries.js +30 -0
  50. package/dist/src/common/assets/icons/fill/SendBackward.d.ts +4 -0
  51. package/dist/src/common/assets/icons/fill/SendBackward.js +30 -0
  52. package/dist/src/common/assets/icons/fill/SendToBack.d.ts +4 -0
  53. package/dist/src/common/assets/icons/fill/SendToBack.js +30 -0
  54. package/dist/src/common/assets/icons/fill/SendToBackArrow.d.ts +4 -0
  55. package/dist/src/common/assets/icons/fill/SendToBackArrow.js +30 -0
  56. package/dist/src/common/assets/icons/fill/ToggleDown.js +1 -1
  57. package/dist/src/common/assets/icons/fill/ToggleUp.js +1 -1
  58. package/dist/src/common/assets/icons/fill/Translate.d.ts +4 -0
  59. package/dist/src/common/assets/icons/fill/Translate.js +30 -0
  60. package/dist/src/common/assets/icons/fill/TypefaceSystem.js +1 -1
  61. package/dist/src/common/assets/icons/fill/Ungroup.d.ts +4 -0
  62. package/dist/src/common/assets/icons/fill/Ungroup.js +30 -0
  63. package/dist/src/common/assets/icons/fill/Video.js +1 -1
  64. package/dist/src/common/assets/icons/fill/VideoEpisode.d.ts +4 -0
  65. package/dist/src/common/assets/icons/fill/VideoEpisode.js +30 -0
  66. package/dist/src/common/assets/icons/fill/VideoOff.js +1 -1
  67. package/dist/src/common/assets/icons/fill/VideoSeries.d.ts +4 -0
  68. package/dist/src/common/assets/icons/fill/VideoSeries.js +30 -0
  69. package/dist/src/common/assets/icons/fill/VideoStop.d.ts +4 -0
  70. package/dist/src/common/assets/icons/fill/VideoStop.js +30 -0
  71. package/dist/src/common/assets/icons/fill/VideoType.js +1 -1
  72. package/dist/src/common/assets/icons/fill/index.d.ts +28 -0
  73. package/dist/src/common/assets/icons/fill/index.js +57 -1
  74. package/dist/src/common/assets/icons/image/index.d.ts +202 -0
  75. package/dist/src/common/assets/icons/image/index.js +205 -0
  76. package/dist/src/common/assets/icons/line/BookingCompleted.js +1 -1
  77. package/dist/src/common/assets/icons/line/BringForward.d.ts +4 -0
  78. package/dist/src/common/assets/icons/line/BringForward.js +30 -0
  79. package/dist/src/common/assets/icons/line/BringToFront.d.ts +4 -0
  80. package/dist/src/common/assets/icons/line/BringToFront.js +30 -0
  81. package/dist/src/common/assets/icons/line/BringToFrontArrow.d.ts +4 -0
  82. package/dist/src/common/assets/icons/line/BringToFrontArrow.js +30 -0
  83. package/dist/src/common/assets/icons/line/Cam.d.ts +4 -0
  84. package/dist/src/common/assets/icons/line/Cam.js +30 -0
  85. package/dist/src/common/assets/icons/line/CamOff.d.ts +4 -0
  86. package/dist/src/common/assets/icons/line/CamOff.js +30 -0
  87. package/dist/src/common/assets/icons/line/CheckBox.d.ts +4 -0
  88. package/dist/src/common/assets/icons/line/CheckBox.js +30 -0
  89. package/dist/src/common/assets/icons/line/Cut.d.ts +4 -0
  90. package/dist/src/common/assets/icons/line/Cut.js +30 -0
  91. package/dist/src/common/assets/icons/line/DesktopSync.d.ts +4 -0
  92. package/dist/src/common/assets/icons/line/DesktopSync.js +30 -0
  93. package/dist/src/common/assets/icons/line/Dropdown.d.ts +4 -0
  94. package/dist/src/common/assets/icons/line/Dropdown.js +30 -0
  95. package/dist/src/common/assets/icons/line/Duplicate.d.ts +4 -0
  96. package/dist/src/common/assets/icons/line/Duplicate.js +30 -0
  97. package/dist/src/common/assets/icons/line/Gift.d.ts +4 -0
  98. package/dist/src/common/assets/icons/line/Gift.js +30 -0
  99. package/dist/src/common/assets/icons/line/Group.d.ts +4 -0
  100. package/dist/src/common/assets/icons/line/Group.js +30 -0
  101. package/dist/src/common/assets/icons/line/Heart.d.ts +4 -0
  102. package/dist/src/common/assets/icons/line/Heart.js +30 -0
  103. package/dist/src/common/assets/icons/line/LogoGoogle.js +1 -1
  104. package/dist/src/common/assets/icons/line/LogoSandoll.d.ts +4 -0
  105. package/dist/src/common/assets/icons/line/LogoSandoll.js +30 -0
  106. package/dist/src/common/assets/icons/line/MenuHome.d.ts +4 -0
  107. package/dist/src/common/assets/icons/line/MenuHome.js +30 -0
  108. package/dist/src/common/assets/icons/line/MoveBackward.d.ts +4 -0
  109. package/dist/src/common/assets/icons/line/MoveBackward.js +30 -0
  110. package/dist/src/common/assets/icons/line/MoveBackwardArrow.d.ts +4 -0
  111. package/dist/src/common/assets/icons/line/MoveBackwardArrow.js +30 -0
  112. package/dist/src/common/assets/icons/line/MoveForward.d.ts +4 -0
  113. package/dist/src/common/assets/icons/line/MoveForward.js +30 -0
  114. package/dist/src/common/assets/icons/line/MoveForwardArrow.d.ts +4 -0
  115. package/dist/src/common/assets/icons/line/MoveForwardArrow.js +30 -0
  116. package/dist/src/common/assets/icons/line/PageCollapse.d.ts +4 -0
  117. package/dist/src/common/assets/icons/line/PageCollapse.js +30 -0
  118. package/dist/src/common/assets/icons/line/Paste.d.ts +4 -0
  119. package/dist/src/common/assets/icons/line/Paste.js +30 -0
  120. package/dist/src/common/assets/icons/line/PostPost.d.ts +4 -0
  121. package/dist/src/common/assets/icons/line/PostPost.js +30 -0
  122. package/dist/src/common/assets/icons/line/PostSeries.d.ts +4 -0
  123. package/dist/src/common/assets/icons/line/PostSeries.js +31 -0
  124. package/dist/src/common/assets/icons/line/Radio.d.ts +4 -0
  125. package/dist/src/common/assets/icons/line/Radio.js +30 -0
  126. package/dist/src/common/assets/icons/line/Recent.d.ts +4 -0
  127. package/dist/src/common/assets/icons/line/Recent.js +30 -0
  128. package/dist/src/common/assets/icons/line/SectionBanner32.d.ts +4 -0
  129. package/dist/src/common/assets/icons/line/SectionBanner32.js +30 -0
  130. package/dist/src/common/assets/icons/line/SectionBanner40.d.ts +4 -0
  131. package/dist/src/common/assets/icons/line/SectionBanner40.js +30 -0
  132. package/dist/src/common/assets/icons/line/SectionContentsOperator32.d.ts +4 -0
  133. package/dist/src/common/assets/icons/line/SectionContentsOperator32.js +30 -0
  134. package/dist/src/common/assets/icons/line/SectionContentsOperator40.d.ts +4 -0
  135. package/dist/src/common/assets/icons/line/SectionContentsOperator40.js +30 -0
  136. package/dist/src/common/assets/icons/line/SectionFeed32.d.ts +4 -0
  137. package/dist/src/common/assets/icons/line/SectionFeed32.js +30 -0
  138. package/dist/src/common/assets/icons/line/SectionFeed40.d.ts +4 -0
  139. package/dist/src/common/assets/icons/line/SectionFeed40.js +30 -0
  140. package/dist/src/common/assets/icons/line/SectionHero32.d.ts +4 -0
  141. package/dist/src/common/assets/icons/line/SectionHero32.js +30 -0
  142. package/dist/src/common/assets/icons/line/SectionHero40.d.ts +4 -0
  143. package/dist/src/common/assets/icons/line/SectionHero40.js +30 -0
  144. package/dist/src/common/assets/icons/line/SectionQuestion32.d.ts +4 -0
  145. package/dist/src/common/assets/icons/line/SectionQuestion32.js +30 -0
  146. package/dist/src/common/assets/icons/line/SectionQuestion40.d.ts +4 -0
  147. package/dist/src/common/assets/icons/line/SectionQuestion40.js +30 -0
  148. package/dist/src/common/assets/icons/line/SectionQuestionnaire32.d.ts +4 -0
  149. package/dist/src/common/assets/icons/line/SectionQuestionnaire32.js +30 -0
  150. package/dist/src/common/assets/icons/line/SectionQuestionnaire40.d.ts +4 -0
  151. package/dist/src/common/assets/icons/line/SectionQuestionnaire40.js +30 -0
  152. package/dist/src/common/assets/icons/line/SendBackward.d.ts +4 -0
  153. package/dist/src/common/assets/icons/line/SendBackward.js +30 -0
  154. package/dist/src/common/assets/icons/line/SendToBack.d.ts +4 -0
  155. package/dist/src/common/assets/icons/line/SendToBack.js +30 -0
  156. package/dist/src/common/assets/icons/line/SendToBackArrow.d.ts +4 -0
  157. package/dist/src/common/assets/icons/line/SendToBackArrow.js +30 -0
  158. package/dist/src/common/assets/icons/line/TextLong.d.ts +4 -0
  159. package/dist/src/common/assets/icons/line/TextLong.js +30 -0
  160. package/dist/src/common/assets/icons/line/TextShort.d.ts +4 -0
  161. package/dist/src/common/assets/icons/line/TextShort.js +30 -0
  162. package/dist/src/common/assets/icons/line/TimeExtension.d.ts +4 -0
  163. package/dist/src/common/assets/icons/line/TimeExtension.js +30 -0
  164. package/dist/src/common/assets/icons/line/Translate.d.ts +4 -0
  165. package/dist/src/common/assets/icons/line/Translate.js +30 -0
  166. package/dist/src/common/assets/icons/line/TypefaceBlackLetter20.d.ts +4 -0
  167. package/dist/src/common/assets/icons/line/TypefaceBlackLetter20.js +30 -0
  168. package/dist/src/common/assets/icons/line/TypefaceDeco20.d.ts +4 -0
  169. package/dist/src/common/assets/icons/line/TypefaceDeco20.js +30 -0
  170. package/dist/src/common/assets/icons/line/TypefaceRound20.d.ts +4 -0
  171. package/dist/src/common/assets/icons/line/TypefaceRound20.js +30 -0
  172. package/dist/src/common/assets/icons/line/TypefaceScript20.d.ts +4 -0
  173. package/dist/src/common/assets/icons/line/TypefaceScript20.js +30 -0
  174. package/dist/src/common/assets/icons/line/TypefaceSlab20.d.ts +4 -0
  175. package/dist/src/common/assets/icons/line/TypefaceSlab20.js +30 -0
  176. package/dist/src/common/assets/icons/line/TypefaceSymbol20.d.ts +4 -0
  177. package/dist/src/common/assets/icons/line/TypefaceSymbol20.js +30 -0
  178. package/dist/src/common/assets/icons/line/TypefaceSystem.js +1 -1
  179. package/dist/src/common/assets/icons/line/Ungroup.d.ts +4 -0
  180. package/dist/src/common/assets/icons/line/Ungroup.js +30 -0
  181. package/dist/src/common/assets/icons/line/Video.js +1 -1
  182. package/dist/src/common/assets/icons/line/VideoEpisode.d.ts +4 -0
  183. package/dist/src/common/assets/icons/line/VideoEpisode.js +30 -0
  184. package/dist/src/common/assets/icons/line/VideoOff.js +1 -1
  185. package/dist/src/common/assets/icons/line/VideoSeries.d.ts +4 -0
  186. package/dist/src/common/assets/icons/line/VideoSeries.js +30 -0
  187. package/dist/src/common/assets/icons/line/VideoStop.d.ts +4 -0
  188. package/dist/src/common/assets/icons/line/VideoStop.js +30 -0
  189. package/dist/src/common/assets/icons/line/VideoType.js +1 -1
  190. package/dist/src/common/assets/icons/line/index.d.ts +54 -0
  191. package/dist/src/common/assets/icons/line/index.js +109 -1
  192. package/dist/src/common/components/ThreeBarProgress/ThreeBarProgress.d.ts +2 -1
  193. package/dist/src/common/components/ThreeBarProgress/ThreeBarProgress.js +48 -4
  194. package/dist/src/common/hooks/useParentResizeObserver.d.ts +2 -0
  195. package/dist/src/common/hooks/useParentResizeObserver.js +20 -0
  196. package/dist/src/common/hooks/useResizeObserver.d.ts +3 -0
  197. package/dist/src/common/hooks/useResizeObserver.js +27 -0
  198. package/dist/src/common/hooks/useWindowSize.d.ts +4 -0
  199. package/dist/src/common/hooks/useWindowSize.js +22 -0
  200. package/dist/src/common/index.d.ts +1 -1
  201. package/dist/src/common/services/i18n/resources/en.json +79 -1
  202. package/dist/src/common/services/i18n/resources/es.json +79 -1
  203. package/dist/src/common/services/i18n/resources/fil.json +72 -1
  204. package/dist/src/common/services/i18n/resources/index.d.ts +540 -0
  205. package/dist/src/common/services/i18n/resources/ja.json +79 -1
  206. package/dist/src/common/services/i18n/resources/ko.json +80 -1
  207. package/dist/src/common/services/i18n/resources/zh-cn.json +79 -1
  208. package/dist/src/common/services/i18n/resources/zh-tw.json +79 -1
  209. package/dist/src/common/styles/colorSet/PaletteColor_Dark.json +29 -2
  210. package/dist/src/common/styles/colorSet/PaletteColor_light.json +30 -3
  211. package/dist/src/common/styles/colorSet/SemanticColor.json +6 -2
  212. package/dist/src/common/styles/colorSet/UIColor.json +56 -3
  213. package/dist/src/common/styles/colorSet/index.d.ts +233 -122
  214. package/dist/src/common/styles/colorSet/index.js +2 -2
  215. package/dist/src/common/styles/colorSet/ui-type.d.ts +53 -0
  216. package/dist/src/common/styles/editorContentStyle.d.ts +1 -0
  217. package/dist/src/common/styles/editorContentStyle.js +76 -0
  218. package/dist/src/common/styles/scroll/scrollbarStyle.d.ts +2 -0
  219. package/dist/src/common/styles/scroll/scrollbarStyle.js +4 -3
  220. package/dist/src/common/styles/ui-colors.js +13 -5
  221. package/dist/src/common/types/LocalizedContent.d.ts +4 -0
  222. package/dist/src/common/types/components.d.ts +18 -4
  223. package/dist/src/common/types/components.js +8 -0
  224. package/dist/src/common/types/icon.d.ts +8 -3
  225. package/dist/src/common/types/icon.js +10 -0
  226. package/dist/src/common/types/index.d.ts +1 -1
  227. package/dist/src/common/types/index.js +1 -1
  228. package/dist/src/common/types/text.d.ts +2 -0
  229. package/dist/src/common/utils/dateHelper.d.ts +16 -0
  230. package/dist/src/common/utils/dateHelper.js +124 -0
  231. package/dist/src/core/pricing/formatter.d.ts +4 -0
  232. package/dist/src/core/pricing/formatter.js +18 -0
  233. package/dist/src/core/pricing/index.d.ts +2 -0
  234. package/dist/src/core/pricing/index.js +18 -0
  235. package/dist/src/core/pricing/policy.d.ts +26 -0
  236. package/dist/src/core/pricing/policy.js +98 -0
  237. package/dist/src/core/pricing/service.d.ts +62 -0
  238. package/dist/src/core/pricing/service.js +157 -0
  239. package/dist/src/core/pricing/translator.d.ts +27 -0
  240. package/dist/src/core/pricing/translator.js +54 -0
  241. package/dist/src/core/pricing/types.d.ts +19 -0
  242. package/dist/src/core/pricing/types.js +31 -0
  243. package/dist/src/core/pricing/validator.d.ts +29 -0
  244. package/dist/src/core/pricing/validator.js +105 -0
  245. package/dist/src/desktop/common/components/TextFieldBase/TextFieldBase.d.ts +6 -2
  246. package/dist/src/desktop/common/components/TextFieldBase/TextFieldBase.js +61 -23
  247. package/dist/src/desktop/components/AdminList/AdminList.d.ts +11 -1
  248. package/dist/src/desktop/components/AdminList/AdminList.js +47 -19
  249. package/dist/src/desktop/components/AdminList/HeaderRow.d.ts +10 -1
  250. package/dist/src/desktop/components/AdminList/HeaderRow.js +2 -2
  251. package/dist/src/desktop/components/AdminListHeader/AdminListHeader.d.ts +3 -1
  252. package/dist/src/desktop/components/AdminListHeader/AdminListHeader.js +3 -2
  253. package/dist/src/desktop/components/AdminListHeader/HeaderBar.d.ts +2 -1
  254. package/dist/src/desktop/components/AdminListHeader/HeaderBar.js +2 -2
  255. package/dist/src/desktop/components/AdminListItem/AdminListItem.d.ts +3 -0
  256. package/dist/src/desktop/components/AdminListItem/AdminListItem.js +34 -13
  257. package/dist/src/desktop/components/BasicButtonGroup/BasicButtonGroup.js +7 -5
  258. package/dist/src/desktop/components/BasicChatListItem/BasicChatListItem.d.ts +2 -1
  259. package/dist/src/desktop/components/BasicChatListItem/BasicChatListItem.js +3 -3
  260. package/dist/src/desktop/components/BasicFormGroup/BasicFormGroup.d.ts +6 -2
  261. package/dist/src/desktop/components/BasicFormGroup/BasicFormGroup.js +28 -3
  262. package/dist/src/desktop/components/BasicListItem/BasicListItem.d.ts +8 -5
  263. package/dist/src/desktop/components/BasicListItem/BasicListItem.js +26 -4
  264. package/dist/src/desktop/components/BasicListItem/Contents.d.ts +3 -1
  265. package/dist/src/desktop/components/BasicListItem/Contents.js +2 -2
  266. package/dist/src/desktop/components/BasicListItem/RightBox/IconButton.d.ts +1 -0
  267. package/dist/src/desktop/components/BasicListItem/RightBox/IconButton.js +2 -2
  268. package/dist/src/desktop/components/BodyTextGroup/BodyTextGroup.d.ts +4 -1
  269. package/dist/src/desktop/components/BodyTextGroup/BodyTextGroup.js +22 -2
  270. package/dist/src/desktop/components/BoxItem/BoxItem.d.ts +68 -0
  271. package/dist/src/desktop/components/BoxItem/BoxItem.js +107 -0
  272. package/dist/src/desktop/components/BoxItem/LeftBox/Checkbox.d.ts +7 -0
  273. package/dist/src/desktop/components/BoxItem/LeftBox/Checkbox.js +9 -0
  274. package/dist/src/desktop/components/BoxItem/LeftBox/Image.d.ts +11 -0
  275. package/dist/src/desktop/components/BoxItem/LeftBox/Image.js +9 -0
  276. package/dist/src/desktop/components/BoxItem/LeftBox/LeftBox.d.ts +11 -0
  277. package/dist/src/desktop/components/BoxItem/LeftBox/LeftBox.js +36 -0
  278. package/dist/src/desktop/components/BoxItem/LeftBox/index.d.ts +2 -0
  279. package/dist/src/{sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Text → desktop/components/BoxItem/LeftBox}/index.js +3 -3
  280. package/dist/src/desktop/components/BoxItem/index.d.ts +1 -0
  281. package/dist/src/desktop/components/BoxItem/index.js +8 -0
  282. package/dist/src/desktop/components/Calendar/AllDaySchedulesSection.d.ts +12 -0
  283. package/dist/src/desktop/components/Calendar/AllDaySchedulesSection.js +134 -0
  284. package/dist/src/desktop/components/Calendar/Calendar.d.ts +4 -0
  285. package/dist/src/desktop/components/Calendar/Calendar.js +437 -0
  286. package/dist/src/desktop/components/Calendar/CalendarContext.d.ts +53 -0
  287. package/dist/src/desktop/components/Calendar/CalendarContext.js +77 -0
  288. package/dist/src/desktop/components/Calendar/CurrentTimeIndicator.d.ts +7 -0
  289. package/dist/src/desktop/components/Calendar/CurrentTimeIndicator.js +49 -0
  290. package/dist/src/desktop/components/Calendar/DailyView.d.ts +8 -0
  291. package/dist/src/desktop/components/Calendar/DailyView.js +172 -0
  292. package/dist/src/desktop/components/Calendar/MonthlyView.d.ts +29 -0
  293. package/dist/src/desktop/components/Calendar/MonthlyView.js +494 -0
  294. package/dist/src/desktop/components/Calendar/MultiWeekSchedulesLayer.d.ts +21 -0
  295. package/dist/src/desktop/components/Calendar/MultiWeekSchedulesLayer.js +186 -0
  296. package/dist/src/desktop/components/Calendar/ScheduleItem.d.ts +25 -0
  297. package/dist/src/desktop/components/Calendar/ScheduleItem.js +56 -0
  298. package/dist/src/desktop/components/Calendar/TimeBasedScheduleItem.d.ts +12 -0
  299. package/dist/src/desktop/components/Calendar/TimeBasedScheduleItem.js +184 -0
  300. package/dist/src/desktop/components/Calendar/WeeklyView.d.ts +9 -0
  301. package/dist/src/desktop/components/Calendar/WeeklyView.js +220 -0
  302. package/dist/src/desktop/components/Calendar/YearlyView.d.ts +13 -0
  303. package/dist/src/desktop/components/Calendar/YearlyView.js +76 -0
  304. package/dist/src/desktop/components/Calendar/calendarUtils.d.ts +13 -0
  305. package/dist/src/desktop/components/Calendar/calendarUtils.js +59 -0
  306. package/dist/src/desktop/components/Calendar/constants.d.ts +1 -0
  307. package/dist/src/desktop/components/Calendar/constants.js +31 -0
  308. package/dist/src/desktop/components/Calendar/index.d.ts +14 -0
  309. package/dist/src/desktop/components/Calendar/index.js +42 -0
  310. package/dist/src/desktop/components/Calendar/timeFormatUtils.d.ts +18 -0
  311. package/dist/src/desktop/components/Calendar/timeFormatUtils.js +59 -0
  312. package/dist/src/desktop/components/Calendar/types.d.ts +65 -0
  313. package/dist/src/desktop/components/ChatBubbleListItem/ChatBubbleListItem.d.ts +2 -3
  314. package/dist/src/desktop/components/ChatBubbleListItem/ChatBubbleListItem.js +3 -8
  315. package/dist/src/desktop/components/ChatList/Body.d.ts +1 -1
  316. package/dist/src/desktop/components/ChatList/ChatList.d.ts +12 -9
  317. package/dist/src/desktop/components/ChatList/ChatList.js +3 -3
  318. package/dist/src/desktop/components/ChatList/ChatTextField.d.ts +5 -5
  319. package/dist/src/desktop/components/ChatList/Footer.d.ts +5 -5
  320. package/dist/src/desktop/components/ChatList/Header.d.ts +2 -2
  321. package/dist/src/desktop/components/ChatList/Header.js +5 -2
  322. package/dist/src/desktop/components/Checkbox/Checkbox.d.ts +3 -1
  323. package/dist/src/desktop/components/Checkbox/Checkbox.js +17 -3
  324. package/dist/src/desktop/components/Chip/Chip.d.ts +3 -3
  325. package/dist/src/desktop/components/Chip/Chip.js +50 -5
  326. package/dist/src/desktop/components/ContextMenu/ContextMenu.d.ts +3 -1
  327. package/dist/src/desktop/components/ContextMenu/ContextMenu.js +38 -7
  328. package/dist/src/desktop/components/DesktopAlertDialog/DesktopAlertDialog.js +9 -10
  329. package/dist/src/desktop/components/DesktopHeaderBar/DesktopHeaderBar.d.ts +2 -2
  330. package/dist/src/desktop/components/DesktopTabBar/DesktopTabBar.d.ts +3 -3
  331. package/dist/src/desktop/components/DesktopTabBar/DesktopTabBar.js +34 -15
  332. package/dist/src/desktop/components/Dropdown/Dropdown.d.ts +3 -1
  333. package/dist/src/desktop/components/Dropdown/Dropdown.js +22 -12
  334. package/dist/src/desktop/components/DynamicDesktopNavBar/DynamicDesktopNavBar.d.ts +1 -0
  335. package/dist/src/desktop/components/DynamicDesktopNavBar/DynamicDesktopNavBar.js +1 -1
  336. package/dist/src/desktop/components/DynamicDesktopNavBar/blocks/UserProfile.d.ts +1 -0
  337. package/dist/src/desktop/components/DynamicDesktopNavBar/blocks/UserProfile.js +2 -2
  338. package/dist/src/desktop/components/EditApplyTextField/EditApplyTextField.d.ts +3 -1
  339. package/dist/src/desktop/components/EditApplyTextField/EditApplyTextField.js +19 -10
  340. package/dist/src/desktop/components/FloatingActionButton/FloatingActionButton.d.ts +2 -2
  341. package/dist/src/desktop/components/HorizontalFormGroup/HorizontalFormGroup.d.ts +2 -1
  342. package/dist/src/desktop/components/HorizontalFormGroup/HorizontalFormGroup.js +8 -4
  343. package/dist/src/desktop/components/IconButton/IconButton.d.ts +2 -2
  344. package/dist/src/desktop/components/LocalizedButton/LocalizedButton.d.ts +8 -0
  345. package/dist/src/desktop/components/LocalizedButton/LocalizedButton.js +44 -0
  346. package/dist/src/desktop/components/LocalizedButton/index.d.ts +1 -0
  347. package/dist/src/desktop/components/LocalizedButton/index.js +8 -0
  348. package/dist/src/desktop/components/MainButton/MainButton.d.ts +3 -3
  349. package/dist/src/desktop/components/MainButton/MainButton.js +35 -15
  350. package/dist/src/desktop/components/PageTitleTextGroup/CompoundButton.d.ts +2 -2
  351. package/dist/src/desktop/components/PageTitleTextGroup/PageTitleTextGroup.d.ts +2 -2
  352. package/dist/src/desktop/components/PriceTextField/PriceTextField.d.ts +44 -0
  353. package/dist/src/desktop/components/PriceTextField/PriceTextField.js +587 -0
  354. package/dist/src/desktop/components/PriceTextField/index.d.ts +1 -0
  355. package/dist/src/desktop/components/PriceTextField/index.js +8 -0
  356. package/dist/src/desktop/components/PriceTextLabel/PriceTextLabel.d.ts +14 -0
  357. package/dist/src/desktop/components/PriceTextLabel/PriceTextLabel.js +47 -0
  358. package/dist/src/desktop/components/PriceTextLabel/index.d.ts +1 -0
  359. package/dist/src/desktop/components/PriceTextLabel/index.js +8 -0
  360. package/dist/src/desktop/components/Radio/Radio.js +2 -2
  361. package/dist/src/desktop/components/RichTextEditor/HTMLReader.d.ts +5 -0
  362. package/dist/src/desktop/components/RichTextEditor/HTMLReader.js +35 -0
  363. package/dist/src/desktop/components/RichTextEditor/RichTextEditor.d.ts +37 -0
  364. package/dist/src/desktop/components/RichTextEditor/RichTextEditor.js +276 -0
  365. package/dist/src/desktop/components/RichTextEditor/index.d.ts +2 -0
  366. package/dist/src/desktop/components/RichTextEditor/index.js +8 -0
  367. package/dist/src/desktop/components/SegmentedButtonGroup/SegmentedButtonGroup.js +8 -6
  368. package/dist/src/desktop/components/Select/Select.d.ts +7 -2
  369. package/dist/src/desktop/components/Select/Select.js +90 -27
  370. package/dist/src/desktop/components/Snackbar/Snackbar.d.ts +17 -0
  371. package/dist/src/desktop/components/Snackbar/Snackbar.js +221 -0
  372. package/dist/src/desktop/components/Snackbar/index.d.ts +1 -0
  373. package/dist/src/desktop/components/Snackbar/index.js +8 -0
  374. package/dist/src/desktop/components/Snackbar/provider.d.ts +11 -0
  375. package/dist/src/desktop/components/Snackbar/provider.js +43 -0
  376. package/dist/src/desktop/components/TextButton/TextButton.d.ts +6 -3
  377. package/dist/src/desktop/components/TextButton/TextButton.js +68 -41
  378. package/dist/src/desktop/components/TextField/TextField.d.ts +9 -31
  379. package/dist/src/desktop/components/TextField/TextField.js +61 -24
  380. package/dist/src/desktop/components/TextLabel/TextLabel.d.ts +4 -3
  381. package/dist/src/desktop/components/TextLabel/TextLabel.js +6 -3
  382. package/dist/src/desktop/components/UploadIconButton/UploadIconButton.d.ts +2 -2
  383. package/dist/src/desktop/components/UploadMainButton/UploadMainButton.d.ts +3 -3
  384. package/dist/src/desktop/components/UploadMainButton/UploadMainButton.js +22 -8
  385. package/dist/src/desktop/components/UploadTextButton/UploadTextButton.d.ts +1 -1
  386. package/dist/src/desktop/components/UploadTextButton/UploadTextButton.js +56 -39
  387. package/dist/src/desktop/components/UserDesktopSideTab/UserDesktopSideTab.d.ts +2 -1
  388. package/dist/src/desktop/components/UserDesktopSideTab/UserDesktopSideTab.js +4 -4
  389. package/dist/src/desktop/components/UserDesktopTabBar/UserDesktopTabBar.d.ts +2 -1
  390. package/dist/src/desktop/components/UserDesktopTabBar/UserDesktopTabBar.js +58 -7
  391. package/dist/src/desktop/components/index.d.ts +8 -1
  392. package/dist/src/desktop/components/index.js +16 -1
  393. package/dist/src/desktop/index.d.ts +2 -2
  394. package/dist/src/desktop/index.js +10 -2
  395. package/dist/src/desktop/layout/LayoutWF/Containers/ContentsContainer/variation/WFA.js +1 -1
  396. package/dist/src/desktop/layout/LayoutWF/Containers/ContentsContainer/variation/WFB.js +1 -1
  397. package/dist/src/desktop/layout/LayoutWF/Containers/ContentsContainer/variation/WFE.js +1 -1
  398. package/dist/src/desktop/layout/LayoutWF/Containers/ContentsContainer/variation/WFL.js +8 -5
  399. package/dist/src/desktop/layout/LayoutWS/Containers/ContentsContainer/ContentsContainer.d.ts +1 -1
  400. package/dist/src/desktop/layout/LayoutWS/Containers/ContentsContainer/ContentsContainer.js +1 -0
  401. package/dist/src/desktop/layout/LayoutWS/Containers/ContentsContainer/variation/WSI.d.ts +1 -1
  402. package/dist/src/desktop/layout/LayoutWS/Containers/ContentsContainer/variation/WSI.js +28 -17
  403. package/dist/src/desktop/layout/LayoutWS/Containers/ContentsContainer/variation/WSJ.js +2 -2
  404. package/dist/src/desktop/layout/LayoutWS/ContainersBox/ContainersBox.d.ts +1 -1
  405. package/dist/src/desktop/layout/LayoutWT/Containers/ContentsContainer/variation/WTU.js +2 -2
  406. package/dist/src/desktop/panels/ContentSheet/ContentSheet.d.ts +4 -1
  407. package/dist/src/desktop/panels/ContentSheet/ContentSheet.js +11 -3
  408. package/dist/src/desktop/panels/DesktopBasicModal/DesktopBasicModal.d.ts +2 -1
  409. package/dist/src/desktop/panels/DesktopBasicModal/DesktopBasicModal.js +13 -15
  410. package/dist/src/desktop/panels/DesktopBasicModalWithTab/DesktopBasicModalWithTab.d.ts +3 -1
  411. package/dist/src/desktop/panels/DesktopBasicModalWithTab/DesktopBasicModalWithTab.js +16 -10
  412. package/dist/src/desktop/panels/DesktopHeadlessModal/DesktopHeadlessModal.d.ts +19 -3
  413. package/dist/src/desktop/panels/DesktopHeadlessModal/DesktopHeadlessModal.js +42 -31
  414. package/dist/src/desktop/panels/DesktopTutorialModal/DesktopTutorialModal.d.ts +3 -1
  415. package/dist/src/desktop/panels/DesktopTutorialModal/DesktopTutorialModal.js +11 -5
  416. package/dist/src/desktop/panels/LocalizedContentModal/LocalizedContentModal.d.ts +34 -0
  417. package/dist/src/desktop/panels/LocalizedContentModal/LocalizedContentModal.js +165 -0
  418. package/dist/src/desktop/panels/LocalizedContentModal/index.d.ts +1 -0
  419. package/dist/src/desktop/panels/LocalizedContentModal/index.js +8 -0
  420. package/dist/src/desktop/panels/SectionSheet/SectionSheet.d.ts +4 -1
  421. package/dist/src/desktop/panels/SectionSheet/SectionSheet.js +11 -3
  422. package/dist/src/desktop/panels/index.d.ts +2 -1
  423. package/dist/src/desktop/panels/index.js +6 -1
  424. package/dist/src/hybrid/components/Divider/Divider.d.ts +3 -1
  425. package/dist/src/hybrid/components/Divider/Divider.js +9 -7
  426. package/dist/src/hybrid/components/Icon/Icon.d.ts +4 -3
  427. package/dist/src/hybrid/components/Icon/Icon.js +14 -4
  428. package/dist/src/hybrid/components/Switch/Switch.d.ts +3 -1
  429. package/dist/src/hybrid/components/Switch/Switch.js +11 -5
  430. package/dist/src/mobile/common/components/TextFieldBase/TextFieldBase.d.ts +5 -2
  431. package/dist/src/mobile/common/components/TextFieldBase/TextFieldBase.js +55 -22
  432. package/dist/src/mobile/components/BasicButtonGroup/BasicButtonGroup.js +6 -4
  433. package/dist/src/mobile/components/BasicChatListItem/BasicChatListItem.d.ts +2 -1
  434. package/dist/src/mobile/components/BasicChatListItem/BasicChatListItem.js +3 -3
  435. package/dist/src/mobile/components/BasicListItem/BasicListItem.d.ts +8 -5
  436. package/dist/src/mobile/components/BasicListItem/BasicListItem.js +26 -4
  437. package/dist/src/mobile/components/BasicListItem/Contents.d.ts +3 -1
  438. package/dist/src/mobile/components/BasicListItem/Contents.js +2 -2
  439. package/dist/src/mobile/components/BasicListItem/RightBox/IconButton.d.ts +1 -0
  440. package/dist/src/mobile/components/BasicListItem/RightBox/IconButton.js +2 -2
  441. package/dist/src/mobile/components/BoxItem/BoxItem.d.ts +68 -0
  442. package/dist/src/mobile/components/BoxItem/BoxItem.js +106 -0
  443. package/dist/src/mobile/components/BoxItem/LeftBox/Checkbox.d.ts +7 -0
  444. package/dist/src/mobile/components/BoxItem/LeftBox/Checkbox.js +9 -0
  445. package/dist/src/mobile/components/BoxItem/LeftBox/Image.d.ts +11 -0
  446. package/dist/src/mobile/components/BoxItem/LeftBox/Image.js +9 -0
  447. package/dist/src/mobile/components/BoxItem/LeftBox/LeftBox.d.ts +11 -0
  448. package/dist/src/mobile/components/BoxItem/LeftBox/LeftBox.js +36 -0
  449. package/dist/src/mobile/components/BoxItem/LeftBox/index.d.ts +2 -0
  450. package/dist/src/mobile/components/BoxItem/LeftBox/index.js +8 -0
  451. package/dist/src/mobile/components/BoxItem/index.d.ts +1 -0
  452. package/dist/src/mobile/components/BoxItem/index.js +8 -0
  453. package/dist/src/mobile/components/ChatBubbleListItem/ChatBubbleListItem.d.ts +2 -3
  454. package/dist/src/mobile/components/ChatBubbleListItem/ChatBubbleListItem.js +3 -8
  455. package/dist/src/mobile/components/ChatList/Body.d.ts +1 -1
  456. package/dist/src/mobile/components/ChatList/ChatList.d.ts +12 -9
  457. package/dist/src/mobile/components/ChatList/ChatList.js +3 -3
  458. package/dist/src/mobile/components/ChatList/ChatTextField.d.ts +5 -5
  459. package/dist/src/mobile/components/ChatList/Footer.d.ts +5 -5
  460. package/dist/src/mobile/components/ChatList/Header.d.ts +2 -2
  461. package/dist/src/mobile/components/ChatList/Header.js +5 -2
  462. package/dist/src/mobile/components/Checkbox/Checkbox.d.ts +3 -1
  463. package/dist/src/mobile/components/Checkbox/Checkbox.js +17 -3
  464. package/dist/src/mobile/components/Chip/Chip.d.ts +3 -3
  465. package/dist/src/mobile/components/Chip/Chip.js +50 -5
  466. package/dist/src/mobile/components/ContextMenu/ContextMenu.d.ts +3 -1
  467. package/dist/src/mobile/components/ContextMenu/ContextMenu.js +38 -7
  468. package/dist/src/mobile/components/DatePicker/DatePicker.d.ts +16 -0
  469. package/dist/src/mobile/components/DatePicker/DatePicker.js +156 -0
  470. package/dist/src/mobile/components/DatePicker/DatePickerHeader.d.ts +14 -0
  471. package/dist/src/mobile/components/DatePicker/DatePickerHeader.js +27 -0
  472. package/dist/src/mobile/components/DatePicker/Day.d.ts +13 -0
  473. package/dist/src/mobile/components/DatePicker/Day.js +94 -0
  474. package/dist/src/mobile/components/DatePicker/index.d.ts +1 -0
  475. package/dist/src/mobile/components/DatePicker/index.js +8 -0
  476. package/dist/src/mobile/components/DatePicker/utils.d.ts +16 -0
  477. package/dist/src/mobile/components/DatePicker/utils.js +68 -0
  478. package/dist/src/mobile/components/Dropdown/Dropdown.d.ts +3 -1
  479. package/dist/src/mobile/components/Dropdown/Dropdown.js +20 -12
  480. package/dist/src/mobile/components/FloatingActionButton/FloatingActionButton.d.ts +2 -2
  481. package/dist/src/mobile/components/IconButton/IconButton.d.ts +2 -2
  482. package/dist/src/mobile/components/MainButton/MainButton.d.ts +3 -3
  483. package/dist/src/mobile/components/MainButton/MainButton.js +20 -6
  484. package/dist/src/mobile/components/MobileHeaderBar/MobileHeaderBar.d.ts +3 -3
  485. package/dist/src/mobile/components/MobileTabBar/MobileTabBar.d.ts +3 -1
  486. package/dist/src/mobile/components/MobileTabBar/MobileTabBar.js +49 -16
  487. package/dist/src/mobile/components/PriceTextField/PriceTextField.d.ts +43 -0
  488. package/dist/src/mobile/components/PriceTextField/PriceTextField.js +574 -0
  489. package/dist/src/mobile/components/PriceTextField/index.d.ts +1 -0
  490. package/dist/src/mobile/components/PriceTextField/index.js +8 -0
  491. package/dist/src/mobile/components/PriceTextLabel/PriceTextLabel.d.ts +14 -0
  492. package/dist/src/mobile/components/PriceTextLabel/PriceTextLabel.js +47 -0
  493. package/dist/src/mobile/components/PriceTextLabel/index.d.ts +1 -0
  494. package/dist/src/mobile/components/PriceTextLabel/index.js +8 -0
  495. package/dist/src/mobile/components/Radio/Radio.js +2 -2
  496. package/dist/src/mobile/components/RichTextEditor/RichTextEditor.d.ts +37 -0
  497. package/dist/src/mobile/components/RichTextEditor/RichTextEditor.js +281 -0
  498. package/dist/src/mobile/components/RichTextEditor/index.d.ts +2 -0
  499. package/dist/src/mobile/components/RichTextEditor/index.js +8 -0
  500. package/dist/src/mobile/components/SegmentedButtonGroup/SegmentedButtonGroup.js +8 -6
  501. package/dist/src/mobile/components/Select/Select.d.ts +7 -2
  502. package/dist/src/mobile/components/Select/Select.js +87 -20
  503. package/dist/src/mobile/components/Snackbar/Snackbar.d.ts +17 -0
  504. package/dist/src/mobile/components/Snackbar/Snackbar.js +221 -0
  505. package/dist/src/mobile/components/Snackbar/index.d.ts +1 -0
  506. package/dist/src/mobile/components/Snackbar/index.js +8 -0
  507. package/dist/src/mobile/components/Snackbar/provider.d.ts +11 -0
  508. package/dist/src/mobile/components/Snackbar/provider.js +43 -0
  509. package/dist/src/mobile/components/TextButton/TextButton.d.ts +6 -3
  510. package/dist/src/mobile/components/TextButton/TextButton.js +55 -31
  511. package/dist/src/mobile/components/TextField/TextField.d.ts +7 -31
  512. package/dist/src/mobile/components/TextField/TextField.js +50 -22
  513. package/dist/src/mobile/components/TextLabel/TextLabel.d.ts +9 -4
  514. package/dist/src/mobile/components/TextLabel/TextLabel.js +83 -3
  515. package/dist/src/mobile/components/UploadIconButton/UploadIconButton.d.ts +2 -2
  516. package/dist/src/mobile/components/UploadMainButton/UploadMainButton.d.ts +3 -3
  517. package/dist/src/mobile/components/UploadMainButton/UploadMainButton.js +20 -6
  518. package/dist/src/mobile/components/UploadTextButton/UploadTextButton.d.ts +1 -1
  519. package/dist/src/mobile/components/UploadTextButton/UploadTextButton.js +44 -30
  520. package/dist/src/mobile/components/index.d.ts +7 -1
  521. package/dist/src/mobile/components/index.js +13 -1
  522. package/dist/src/mobile/index.d.ts +1 -1
  523. package/dist/src/mobile/index.js +8 -2
  524. package/dist/src/mobile/layout/LayoutMF/Containers/ContentsContainer/variation/MFA.js +1 -1
  525. package/dist/src/mobile/layout/LayoutMF/Containers/ContentsContainer/variation/MFB.js +1 -1
  526. package/dist/src/mobile/layout/LayoutMF/Containers/ContentsContainer/variation/MFC.js +1 -1
  527. package/dist/src/mobile/layout/LayoutMF/Containers/ContentsContainer/variation/MFD.js +1 -1
  528. package/dist/src/mobile/layout/LayoutMF/Containers/ContentsContainer/variation/MFE.js +1 -1
  529. package/dist/src/mobile/layout/LayoutMM/Containers/ContentsContainer/variation/MMA.js +1 -1
  530. package/dist/src/mobile/layout/LayoutMM/Containers/ContentsContainer/variation/MMB.js +1 -1
  531. package/dist/src/mobile/layout/LayoutMP/Containers/ContentsContainer/variation/MPA.js +1 -1
  532. package/dist/src/mobile/layout/LayoutMP/Containers/ContentsContainer/variation/MPB.js +1 -1
  533. package/dist/src/mobile/layout/LayoutMP/Containers/ContentsContainer/variation/MPC.js +1 -1
  534. package/dist/src/mobile/layout/LayoutMP/Containers/ContentsContainer/variation/MPD.js +1 -1
  535. package/dist/src/mobile/layout/LayoutMP/Containers/ContentsContainer/variation/MPE.js +1 -1
  536. package/dist/src/mobile/layout/LayoutMP/Containers/ContentsContainer/variation/MPF.js +1 -1
  537. package/dist/src/mobile/layout/LayoutMS/Containers/ContentsContainer/variation/MSA.js +1 -1
  538. package/dist/src/mobile/layout/LayoutMS/Containers/ContentsContainer/variation/MSB.js +1 -1
  539. package/dist/src/mobile/layout/LayoutMS/Containers/ContentsContainer/variation/MSC.js +1 -1
  540. package/dist/src/mobile/layout/LayoutMS/Containers/ContentsContainer/variation/MSD.js +1 -1
  541. package/dist/src/mobile/layout/LayoutMS/Containers/ContentsContainer/variation/MSE.js +1 -1
  542. package/dist/src/mobile/layout/LayoutMS/Containers/ContentsContainer/variation/MSF.js +1 -1
  543. package/dist/src/mobile/layout/LayoutMS/Containers/ContentsContainer/variation/MSG.js +1 -1
  544. package/dist/src/mobile/layout/LayoutMS/Containers/ContentsContainer/variation/MSH.js +1 -1
  545. package/dist/src/mobile/panels/ContentSheet/ContentSheet.d.ts +4 -1
  546. package/dist/src/mobile/panels/ContentSheet/ContentSheet.js +11 -3
  547. package/dist/src/mobile/panels/MobileBasicModal/MobileBasicModal.d.ts +3 -1
  548. package/dist/src/mobile/panels/MobileBasicModal/MobileBasicModal.js +14 -7
  549. package/dist/src/mobile/panels/SectionSheet/SectionSheet.d.ts +4 -1
  550. package/dist/src/mobile/panels/SectionSheet/SectionSheet.js +11 -3
  551. package/dist/src/sub/AdminList/AdminList/AdminList.d.ts +10 -1
  552. package/dist/src/sub/AdminList/AdminList/AdminList.js +51 -20
  553. package/dist/src/sub/AdminList/AdminList/HeaderRow.d.ts +10 -1
  554. package/dist/src/sub/AdminList/AdminList/HeaderRow.js +2 -2
  555. package/dist/src/sub/AdminList/AdminListItem/AdminListItem.d.ts +2 -0
  556. package/dist/src/sub/AdminList/AdminListItem/AdminListItem.js +18 -8
  557. package/dist/src/sub/AdminList/ToolBar/SearchField.js +2 -2
  558. package/dist/src/sub/AdminList/ToolBar/ToolBar.d.ts +6 -5
  559. package/dist/src/sub/AdminList/ToolBar/ToolBar.js +3 -3
  560. package/dist/src/sub/DynamicLayout/CompositionRenderer/ComponentBlockMatcher.d.ts +11 -0
  561. package/dist/src/sub/DynamicLayout/CompositionRenderer/ComponentBlockMatcher.js +56 -0
  562. package/dist/src/sub/DynamicLayout/CompositionRenderer/Composition.d.ts +9 -0
  563. package/dist/src/sub/DynamicLayout/CompositionRenderer/Composition.js +217 -0
  564. package/dist/src/sub/DynamicLayout/CompositionRenderer/CompositionRenderer.d.ts +6 -0
  565. package/dist/src/sub/DynamicLayout/CompositionRenderer/CompositionRenderer.js +27 -0
  566. package/dist/src/sub/DynamicLayout/CompositionRenderer/FlexGridItem.d.ts +12 -0
  567. package/dist/src/sub/DynamicLayout/CompositionRenderer/FlexGridItem.js +75 -0
  568. package/dist/src/sub/DynamicLayout/DynamicLayout.d.ts +1 -1
  569. package/dist/src/sub/DynamicLayout/DynamicLayout.js +17 -3
  570. package/dist/src/sub/DynamicLayout/components/EditModeSectionMatcher/EditModeSectionMatcher.js +3 -0
  571. package/dist/src/sub/DynamicLayout/components/EditModeSectionMatcher/SectionBox.js +4 -1
  572. package/dist/src/sub/DynamicLayout/components/Section/ErrorBoundary/ErrorBoundary.js +12 -1
  573. package/dist/src/sub/DynamicLayout/components/Section/components/CustomSectionBackgroundMedia.js +12 -1
  574. package/dist/src/sub/DynamicLayout/components/Section/components/VideoBGMedia.d.ts +8 -0
  575. package/dist/src/sub/DynamicLayout/components/Section/components/VideoBGMedia.js +77 -0
  576. package/dist/src/sub/DynamicLayout/components/Section/util/parseSectionBackgroundMediaData.js +3 -1
  577. package/dist/src/sub/DynamicLayout/components/SectionMatcher/SectionMatcher.js +5 -1
  578. package/dist/src/sub/DynamicLayout/components/YouTubeIframe/YouTubeIframe.js +7 -3
  579. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/fill/CheckboxIndeterminate.js +1 -1
  580. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/fill/CheckboxOn.js +1 -1
  581. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/fill/CloudDownload.js +1 -1
  582. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/fill/Downloaded.js +1 -1
  583. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/BookingCompleted.js +1 -1
  584. package/dist/src/sub/DynamicLayout/components/pdsOriginal/desktop/IconButton/IconButton.d.ts +2 -2
  585. package/dist/src/sub/DynamicLayout/components/pdsOriginal/desktop/MainButton/MainButton.d.ts +2 -2
  586. package/dist/src/sub/DynamicLayout/components/pdsOriginal/hybrid/Icon/Icon.d.ts +2 -2
  587. package/dist/src/sub/DynamicLayout/components/pdsOriginal/mobile/IconButton/IconButton.d.ts +2 -2
  588. package/dist/src/sub/DynamicLayout/components/pdsOriginal/mobile/MainButton/MainButton.d.ts +2 -2
  589. package/dist/src/sub/DynamicLayout/gleStyles.d.ts +3 -0
  590. package/dist/src/sub/DynamicLayout/gleStyles.js +19 -0
  591. package/dist/src/sub/DynamicLayout/hooks/useCustomSectionShortcut/useCustomSectionShortcut.d.ts +1 -1
  592. package/dist/src/sub/DynamicLayout/hooks/useCustomSectionShortcut/useCustomSectionShortcut.js +6 -1
  593. package/dist/src/sub/DynamicLayout/mock_samplePage.d.ts +1 -0
  594. package/dist/src/sub/DynamicLayout/mock_samplePage.js +1064 -69
  595. package/dist/src/sub/DynamicLayout/mock_storybook.js +2 -2
  596. package/dist/src/sub/DynamicLayout/mock_video_cb.d.ts +369 -0
  597. package/dist/src/sub/DynamicLayout/mock_video_cb.js +372 -0
  598. package/dist/src/sub/DynamicLayout/mocks.d.ts +1296 -0
  599. package/dist/src/sub/DynamicLayout/mocks.js +4786 -0
  600. package/dist/src/sub/DynamicLayout/sectionActionTypes.d.ts +77 -18
  601. package/dist/src/sub/DynamicLayout/sections/CustomSection/CustomSection.d.ts +0 -5
  602. package/dist/src/sub/DynamicLayout/sections/CustomSection/CustomSection.js +790 -177
  603. package/dist/src/sub/DynamicLayout/sections/CustomSection/FlexGridItem.d.ts +12 -0
  604. package/dist/src/sub/DynamicLayout/sections/CustomSection/FlexGridItem.js +71 -0
  605. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/ComponentBlockMatcher.d.ts +2 -2
  606. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/ComponentBlockMatcher.js +11 -3
  607. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Button/Button.js +45 -23
  608. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/ContentsCarousel.d.ts +8 -0
  609. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/ContentsCarousel.js +12 -0
  610. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Embed/Embed.js +1 -1
  611. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Embed/EmbedIframe.js +1 -1
  612. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Embed/IframeDenied.js +1 -1
  613. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Image/Image.js +2 -2
  614. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Text/Text.d.ts +1 -3
  615. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Text/Text.js +28 -43
  616. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/VideoPlayer/VideoPlayer.d.ts +5 -0
  617. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/VideoPlayer/VideoPlayer.js +173 -0
  618. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/VideoPlayer/helper.d.ts +5 -0
  619. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/VideoPlayer/helper.js +35 -0
  620. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/VideoPlayer/index.d.ts +1 -0
  621. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/VideoPlayer/index.js +8 -0
  622. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/components/S_Backdrop.d.ts +1 -0
  623. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/components/S_Backdrop.js +13 -0
  624. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/components/S_CB_AnimationObserverBox.js +1 -1
  625. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/components/S_CB_Box.js +1 -1
  626. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/components/S_CB_BoxWithShadow.js +1 -1
  627. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/types.d.ts +90 -1
  628. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/index.d.ts +1 -1
  629. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/index.js +3 -3
  630. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/index.d.ts +1 -1
  631. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/index.js +2 -2
  632. package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGoogleFonts/getGoogleFonts.d.ts +2 -4
  633. package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGoogleFonts/getGoogleFonts.js +3 -14
  634. package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGoogleFonts/index.d.ts +1 -1
  635. package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGoogleFonts/index.js +2 -3
  636. package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useIsMounted.d.ts +1 -0
  637. package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useIsMounted.js +15 -0
  638. package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useResizableObserver.d.ts +12 -0
  639. package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useResizableObserver.js +74 -0
  640. package/dist/src/sub/DynamicLayout/sections/CustomSection/newUtils/clsx.d.ts +7 -0
  641. package/dist/src/sub/DynamicLayout/sections/CustomSection/newUtils/clsx.js +33 -0
  642. package/dist/src/sub/DynamicLayout/sections/CustomSection/newUtils/colorUtil.d.ts +4 -4
  643. package/dist/src/sub/DynamicLayout/sections/CustomSection/newUtils/fontSizeAdjustment.d.ts +1 -0
  644. package/dist/src/sub/DynamicLayout/sections/CustomSection/newUtils/fontSizeAdjustment.js +333 -0
  645. package/dist/src/sub/DynamicLayout/sections/CustomSection/{hooks/useGroupDrag/utils.d.ts → newUtils/group.d.ts} +4 -2
  646. package/dist/src/sub/DynamicLayout/sections/CustomSection/{hooks/useGroupDrag/utils.js → newUtils/group.js} +14 -1
  647. package/dist/src/sub/DynamicLayout/sections/CustomSection/newUtils/replaceUndefinedValues.js +8 -1
  648. package/dist/src/sub/DynamicLayout/sections/CustomSection/newUtils/textUtil.d.ts +1 -6
  649. package/dist/src/sub/DynamicLayout/sections/CustomSection/newUtils/textUtil.js +3 -2
  650. package/dist/src/sub/DynamicLayout/sections/CustomSection/types.d.ts +27 -4
  651. package/dist/src/sub/DynamicLayout/sections/CustomSection/types.js +3 -0
  652. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parsePlacement.d.ts +5 -2
  653. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parsePlacement.js +13 -6
  654. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parseProperties.d.ts +2 -2
  655. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/stylePropParsers/parseStylePropTextSpec.d.ts +1 -1
  656. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/stylePropParsers/types.d.ts +1 -1
  657. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/stylePropParsers/types.js +1 -1
  658. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/types.d.ts +15 -5
  659. package/dist/src/sub/DynamicLayout/sections/FlexGridCustomSection.d.ts +9 -0
  660. package/dist/src/sub/DynamicLayout/sections/FlexGridCustomSection.js +212 -0
  661. package/dist/src/sub/DynamicLayout/sections/MembershipSection/EditType/templates/TemplateA/desktop/components/MembershipPlanSheet.js +1 -1
  662. package/dist/src/sub/DynamicLayout/sections/MembershipSection/EditType/templates/TemplateB/desktop/components/MembershipPlanSheet.js +1 -1
  663. package/dist/src/sub/DynamicLayout/sections/MembershipSection/components/desktop/MembershipSectionItem.d.ts +3 -3
  664. package/dist/src/sub/DynamicLayout/sections/MembershipSection/components/mobile/MembershipSectionItem.d.ts +3 -3
  665. package/dist/src/sub/DynamicLayout/types.d.ts +50 -1
  666. package/dist/src/sub/GoogleFontkit/headless/GoogleFontsList.js +1 -1
  667. package/dist/src/sub/SandollFontKit/api/getSandollFonts.d.ts +4 -0
  668. package/dist/src/sub/SandollFontKit/api/getSandollFonts.js +80 -0
  669. package/dist/src/sub/SandollFontKit/api/types.d.ts +51 -0
  670. package/dist/src/sub/SandollFontKit/constants.d.ts +9 -0
  671. package/dist/src/sub/SandollFontKit/constants.js +32 -0
  672. package/dist/src/sub/SandollFontKit/headless/SandollFontsList.d.ts +18 -0
  673. package/dist/src/sub/SandollFontKit/headless/SandollFontsList.js +76 -0
  674. package/dist/src/sub/SandollFontKit/hooks/useQueryParamsReducer.d.ts +30 -0
  675. package/dist/src/sub/SandollFontKit/hooks/useQueryParamsReducer.js +78 -0
  676. package/dist/src/sub/SandollFontKit/index.d.ts +5 -0
  677. package/dist/src/sub/SandollFontKit/index.js +28 -0
  678. package/dist/src/sub/SandollFontKit/types.d.ts +14 -0
  679. package/dist/src/sub/SandollFontKit/types.js +2 -0
  680. package/dist/src/sub/SandollFontKit/utils/appendSandollTagToHead.d.ts +1 -0
  681. package/dist/src/sub/SandollFontKit/utils/appendSandollTagToHead.js +31 -0
  682. package/dist/src/sub/SandollFontKit/utils/getSandollFontNameInKorean.d.ts +3 -0
  683. package/dist/src/sub/SandollFontKit/utils/getSandollFontNameInKorean.js +47 -0
  684. package/dist/tinymce/CHANGELOG.md +3453 -0
  685. package/dist/tinymce/README.md +73 -0
  686. package/dist/tinymce/bower.json +27 -0
  687. package/dist/tinymce/composer.json +52 -0
  688. package/dist/tinymce/icons/default/icons.js +194 -0
  689. package/dist/tinymce/icons/default/icons.min.js +1 -0
  690. package/dist/tinymce/icons/default/index.js +7 -0
  691. package/dist/tinymce/license.txt +21 -0
  692. package/dist/tinymce/models/dom/index.js +7 -0
  693. package/dist/tinymce/models/dom/model.js +8040 -0
  694. package/dist/tinymce/models/dom/model.min.js +1 -0
  695. package/dist/tinymce/notices.txt +21 -0
  696. package/dist/tinymce/package.json +32 -0
  697. package/dist/tinymce/plugins/accordion/index.js +7 -0
  698. package/dist/tinymce/plugins/accordion/plugin.js +1054 -0
  699. package/dist/tinymce/plugins/accordion/plugin.min.js +5 -0
  700. package/dist/tinymce/plugins/advlist/index.js +7 -0
  701. package/dist/tinymce/plugins/advlist/plugin.js +259 -0
  702. package/dist/tinymce/plugins/advlist/plugin.min.js +5 -0
  703. package/dist/tinymce/plugins/anchor/index.js +7 -0
  704. package/dist/tinymce/plugins/anchor/plugin.js +214 -0
  705. package/dist/tinymce/plugins/anchor/plugin.min.js +5 -0
  706. package/dist/tinymce/plugins/autolink/index.js +7 -0
  707. package/dist/tinymce/plugins/autolink/plugin.js +228 -0
  708. package/dist/tinymce/plugins/autolink/plugin.min.js +5 -0
  709. package/dist/tinymce/plugins/autoresize/index.js +7 -0
  710. package/dist/tinymce/plugins/autoresize/plugin.js +192 -0
  711. package/dist/tinymce/plugins/autoresize/plugin.min.js +5 -0
  712. package/dist/tinymce/plugins/autosave/index.js +7 -0
  713. package/dist/tinymce/plugins/autosave/plugin.js +233 -0
  714. package/dist/tinymce/plugins/autosave/plugin.min.js +5 -0
  715. package/dist/tinymce/plugins/charmap/index.js +7 -0
  716. package/dist/tinymce/plugins/charmap/plugin.js +1658 -0
  717. package/dist/tinymce/plugins/charmap/plugin.min.js +5 -0
  718. package/dist/tinymce/plugins/code/index.js +7 -0
  719. package/dist/tinymce/plugins/code/plugin.js +85 -0
  720. package/dist/tinymce/plugins/code/plugin.min.js +5 -0
  721. package/dist/tinymce/plugins/codesample/index.js +7 -0
  722. package/dist/tinymce/plugins/codesample/plugin.js +2471 -0
  723. package/dist/tinymce/plugins/codesample/plugin.min.js +13 -0
  724. package/dist/tinymce/plugins/directionality/index.js +7 -0
  725. package/dist/tinymce/plugins/directionality/plugin.js +395 -0
  726. package/dist/tinymce/plugins/directionality/plugin.min.js +5 -0
  727. package/dist/tinymce/plugins/emoticons/index.js +7 -0
  728. package/dist/tinymce/plugins/emoticons/js/emojiimages.js +1 -0
  729. package/dist/tinymce/plugins/emoticons/js/emojiimages.min.js +1 -0
  730. package/dist/tinymce/plugins/emoticons/js/emojis.js +1 -0
  731. package/dist/tinymce/plugins/emoticons/js/emojis.min.js +1 -0
  732. package/dist/tinymce/plugins/emoticons/plugin.js +595 -0
  733. package/dist/tinymce/plugins/emoticons/plugin.min.js +5 -0
  734. package/dist/tinymce/plugins/fullscreen/index.js +7 -0
  735. package/dist/tinymce/plugins/fullscreen/plugin.js +1249 -0
  736. package/dist/tinymce/plugins/fullscreen/plugin.min.js +5 -0
  737. package/dist/tinymce/plugins/help/index.js +7 -0
  738. package/dist/tinymce/plugins/help/js/i18n/keynav/ar.js +90 -0
  739. package/dist/tinymce/plugins/help/js/i18n/keynav/bg_BG.js +90 -0
  740. package/dist/tinymce/plugins/help/js/i18n/keynav/ca.js +90 -0
  741. package/dist/tinymce/plugins/help/js/i18n/keynav/cs.js +90 -0
  742. package/dist/tinymce/plugins/help/js/i18n/keynav/da.js +90 -0
  743. package/dist/tinymce/plugins/help/js/i18n/keynav/de.js +90 -0
  744. package/dist/tinymce/plugins/help/js/i18n/keynav/el.js +90 -0
  745. package/dist/tinymce/plugins/help/js/i18n/keynav/en.js +90 -0
  746. package/dist/tinymce/plugins/help/js/i18n/keynav/es.js +90 -0
  747. package/dist/tinymce/plugins/help/js/i18n/keynav/eu.js +90 -0
  748. package/dist/tinymce/plugins/help/js/i18n/keynav/fa.js +90 -0
  749. package/dist/tinymce/plugins/help/js/i18n/keynav/fi.js +90 -0
  750. package/dist/tinymce/plugins/help/js/i18n/keynav/fr_FR.js +90 -0
  751. package/dist/tinymce/plugins/help/js/i18n/keynav/he_IL.js +90 -0
  752. package/dist/tinymce/plugins/help/js/i18n/keynav/hi.js +90 -0
  753. package/dist/tinymce/plugins/help/js/i18n/keynav/hr.js +90 -0
  754. package/dist/tinymce/plugins/help/js/i18n/keynav/hu_HU.js +90 -0
  755. package/dist/tinymce/plugins/help/js/i18n/keynav/id.js +90 -0
  756. package/dist/tinymce/plugins/help/js/i18n/keynav/it.js +90 -0
  757. package/dist/tinymce/plugins/help/js/i18n/keynav/ja.js +90 -0
  758. package/dist/tinymce/plugins/help/js/i18n/keynav/kk.js +90 -0
  759. package/dist/tinymce/plugins/help/js/i18n/keynav/ko_KR.js +90 -0
  760. package/dist/tinymce/plugins/help/js/i18n/keynav/ms.js +90 -0
  761. package/dist/tinymce/plugins/help/js/i18n/keynav/nb_NO.js +90 -0
  762. package/dist/tinymce/plugins/help/js/i18n/keynav/nl.js +90 -0
  763. package/dist/tinymce/plugins/help/js/i18n/keynav/pl.js +90 -0
  764. package/dist/tinymce/plugins/help/js/i18n/keynav/pt_BR.js +90 -0
  765. package/dist/tinymce/plugins/help/js/i18n/keynav/pt_PT.js +90 -0
  766. package/dist/tinymce/plugins/help/js/i18n/keynav/ro.js +90 -0
  767. package/dist/tinymce/plugins/help/js/i18n/keynav/ru.js +90 -0
  768. package/dist/tinymce/plugins/help/js/i18n/keynav/sk.js +90 -0
  769. package/dist/tinymce/plugins/help/js/i18n/keynav/sl_SI.js +90 -0
  770. package/dist/tinymce/plugins/help/js/i18n/keynav/sv_SE.js +90 -0
  771. package/dist/tinymce/plugins/help/js/i18n/keynav/th_TH.js +90 -0
  772. package/dist/tinymce/plugins/help/js/i18n/keynav/tr.js +90 -0
  773. package/dist/tinymce/plugins/help/js/i18n/keynav/uk.js +90 -0
  774. package/dist/tinymce/plugins/help/js/i18n/keynav/vi.js +90 -0
  775. package/dist/tinymce/plugins/help/js/i18n/keynav/zh_CN.js +84 -0
  776. package/dist/tinymce/plugins/help/js/i18n/keynav/zh_TW.js +90 -0
  777. package/dist/tinymce/plugins/help/plugin.js +898 -0
  778. package/dist/tinymce/plugins/help/plugin.min.js +5 -0
  779. package/dist/tinymce/plugins/image/index.js +7 -0
  780. package/dist/tinymce/plugins/image/plugin.js +1505 -0
  781. package/dist/tinymce/plugins/image/plugin.min.js +5 -0
  782. package/dist/tinymce/plugins/importcss/index.js +7 -0
  783. package/dist/tinymce/plugins/importcss/plugin.js +344 -0
  784. package/dist/tinymce/plugins/importcss/plugin.min.js +5 -0
  785. package/dist/tinymce/plugins/insertdatetime/index.js +7 -0
  786. package/dist/tinymce/plugins/insertdatetime/plugin.js +187 -0
  787. package/dist/tinymce/plugins/insertdatetime/plugin.min.js +5 -0
  788. package/dist/tinymce/plugins/link/index.js +7 -0
  789. package/dist/tinymce/plugins/link/plugin.js +1242 -0
  790. package/dist/tinymce/plugins/link/plugin.min.js +5 -0
  791. package/dist/tinymce/plugins/lists/index.js +7 -0
  792. package/dist/tinymce/plugins/lists/plugin.js +2172 -0
  793. package/dist/tinymce/plugins/lists/plugin.min.js +5 -0
  794. package/dist/tinymce/plugins/media/index.js +7 -0
  795. package/dist/tinymce/plugins/media/plugin.js +1217 -0
  796. package/dist/tinymce/plugins/media/plugin.min.js +5 -0
  797. package/dist/tinymce/plugins/nonbreaking/index.js +7 -0
  798. package/dist/tinymce/plugins/nonbreaking/plugin.js +123 -0
  799. package/dist/tinymce/plugins/nonbreaking/plugin.min.js +5 -0
  800. package/dist/tinymce/plugins/pagebreak/index.js +7 -0
  801. package/dist/tinymce/plugins/pagebreak/plugin.js +117 -0
  802. package/dist/tinymce/plugins/pagebreak/plugin.min.js +5 -0
  803. package/dist/tinymce/plugins/preview/index.js +7 -0
  804. package/dist/tinymce/plugins/preview/plugin.js +97 -0
  805. package/dist/tinymce/plugins/preview/plugin.min.js +5 -0
  806. package/dist/tinymce/plugins/quickbars/index.js +7 -0
  807. package/dist/tinymce/plugins/quickbars/plugin.js +447 -0
  808. package/dist/tinymce/plugins/quickbars/plugin.min.js +5 -0
  809. package/dist/tinymce/plugins/save/index.js +7 -0
  810. package/dist/tinymce/plugins/save/plugin.js +118 -0
  811. package/dist/tinymce/plugins/save/plugin.min.js +5 -0
  812. package/dist/tinymce/plugins/searchreplace/index.js +7 -0
  813. package/dist/tinymce/plugins/searchreplace/plugin.js +1093 -0
  814. package/dist/tinymce/plugins/searchreplace/plugin.min.js +5 -0
  815. package/dist/tinymce/plugins/table/index.js +7 -0
  816. package/dist/tinymce/plugins/table/plugin.js +3462 -0
  817. package/dist/tinymce/plugins/table/plugin.min.js +5 -0
  818. package/dist/tinymce/plugins/template/index.js +7 -0
  819. package/dist/tinymce/plugins/template/plugin.js +567 -0
  820. package/dist/tinymce/plugins/template/plugin.min.js +5 -0
  821. package/dist/tinymce/plugins/visualblocks/index.js +7 -0
  822. package/dist/tinymce/plugins/visualblocks/plugin.js +98 -0
  823. package/dist/tinymce/plugins/visualblocks/plugin.min.js +5 -0
  824. package/dist/tinymce/plugins/visualchars/index.js +7 -0
  825. package/dist/tinymce/plugins/visualchars/plugin.js +560 -0
  826. package/dist/tinymce/plugins/visualchars/plugin.min.js +5 -0
  827. package/dist/tinymce/plugins/wordcount/index.js +7 -0
  828. package/dist/tinymce/plugins/wordcount/plugin.js +405 -0
  829. package/dist/tinymce/plugins/wordcount/plugin.min.js +5 -0
  830. package/dist/tinymce/skins/content/dark/content.css +79 -0
  831. package/dist/tinymce/skins/content/dark/content.js +15 -0
  832. package/dist/tinymce/skins/content/dark/content.min.css +14 -0
  833. package/dist/tinymce/skins/content/default/content.css +74 -0
  834. package/dist/tinymce/skins/content/default/content.js +15 -0
  835. package/dist/tinymce/skins/content/default/content.min.css +14 -0
  836. package/dist/tinymce/skins/content/document/content.css +79 -0
  837. package/dist/tinymce/skins/content/document/content.js +15 -0
  838. package/dist/tinymce/skins/content/document/content.min.css +14 -0
  839. package/dist/tinymce/skins/content/tinymce-5/content.css +74 -0
  840. package/dist/tinymce/skins/content/tinymce-5/content.js +15 -0
  841. package/dist/tinymce/skins/content/tinymce-5/content.min.css +14 -0
  842. package/dist/tinymce/skins/content/tinymce-5-dark/content.css +79 -0
  843. package/dist/tinymce/skins/content/tinymce-5-dark/content.js +15 -0
  844. package/dist/tinymce/skins/content/tinymce-5-dark/content.min.css +14 -0
  845. package/dist/tinymce/skins/content/writer/content.css +75 -0
  846. package/dist/tinymce/skins/content/writer/content.js +15 -0
  847. package/dist/tinymce/skins/content/writer/content.min.css +14 -0
  848. package/dist/tinymce/skins/ui/oxide/content.css +798 -0
  849. package/dist/tinymce/skins/ui/oxide/content.inline.css +792 -0
  850. package/dist/tinymce/skins/ui/oxide/content.inline.js +15 -0
  851. package/dist/tinymce/skins/ui/oxide/content.inline.min.css +14 -0
  852. package/dist/tinymce/skins/ui/oxide/content.js +15 -0
  853. package/dist/tinymce/skins/ui/oxide/content.min.css +14 -0
  854. package/dist/tinymce/skins/ui/oxide/skin.css +3763 -0
  855. package/dist/tinymce/skins/ui/oxide/skin.js +2 -0
  856. package/dist/tinymce/skins/ui/oxide/skin.min.css +1 -0
  857. package/dist/tinymce/skins/ui/oxide/skin.shadowdom.css +30 -0
  858. package/dist/tinymce/skins/ui/oxide/skin.shadowdom.js +2 -0
  859. package/dist/tinymce/skins/ui/oxide/skin.shadowdom.min.css +1 -0
  860. package/dist/tinymce/skins/ui/oxide-dark/content.css +779 -0
  861. package/dist/tinymce/skins/ui/oxide-dark/content.inline.css +792 -0
  862. package/dist/tinymce/skins/ui/oxide-dark/content.inline.js +15 -0
  863. package/dist/tinymce/skins/ui/oxide-dark/content.inline.min.css +14 -0
  864. package/dist/tinymce/skins/ui/oxide-dark/content.js +15 -0
  865. package/dist/tinymce/skins/ui/oxide-dark/content.min.css +14 -0
  866. package/dist/tinymce/skins/ui/oxide-dark/skin.css +3766 -0
  867. package/dist/tinymce/skins/ui/oxide-dark/skin.js +2 -0
  868. package/dist/tinymce/skins/ui/oxide-dark/skin.min.css +1 -0
  869. package/dist/tinymce/skins/ui/oxide-dark/skin.shadowdom.css +30 -0
  870. package/dist/tinymce/skins/ui/oxide-dark/skin.shadowdom.js +2 -0
  871. package/dist/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css +1 -0
  872. package/dist/tinymce/skins/ui/tinymce-5/content.css +798 -0
  873. package/dist/tinymce/skins/ui/tinymce-5/content.inline.css +792 -0
  874. package/dist/tinymce/skins/ui/tinymce-5/content.inline.js +15 -0
  875. package/dist/tinymce/skins/ui/tinymce-5/content.inline.min.css +14 -0
  876. package/dist/tinymce/skins/ui/tinymce-5/content.js +15 -0
  877. package/dist/tinymce/skins/ui/tinymce-5/content.min.css +14 -0
  878. package/dist/tinymce/skins/ui/tinymce-5/skin.css +3857 -0
  879. package/dist/tinymce/skins/ui/tinymce-5/skin.js +2 -0
  880. package/dist/tinymce/skins/ui/tinymce-5/skin.min.css +1 -0
  881. package/dist/tinymce/skins/ui/tinymce-5/skin.shadowdom.css +30 -0
  882. package/dist/tinymce/skins/ui/tinymce-5/skin.shadowdom.js +2 -0
  883. package/dist/tinymce/skins/ui/tinymce-5/skin.shadowdom.min.css +1 -0
  884. package/dist/tinymce/skins/ui/tinymce-5-dark/content.css +779 -0
  885. package/dist/tinymce/skins/ui/tinymce-5-dark/content.inline.css +792 -0
  886. package/dist/tinymce/skins/ui/tinymce-5-dark/content.inline.js +15 -0
  887. package/dist/tinymce/skins/ui/tinymce-5-dark/content.inline.min.css +14 -0
  888. package/dist/tinymce/skins/ui/tinymce-5-dark/content.js +15 -0
  889. package/dist/tinymce/skins/ui/tinymce-5-dark/content.min.css +14 -0
  890. package/dist/tinymce/skins/ui/tinymce-5-dark/skin.css +3857 -0
  891. package/dist/tinymce/skins/ui/tinymce-5-dark/skin.js +2 -0
  892. package/dist/tinymce/skins/ui/tinymce-5-dark/skin.min.css +1 -0
  893. package/dist/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.css +30 -0
  894. package/dist/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.js +2 -0
  895. package/dist/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.min.css +1 -0
  896. package/dist/tinymce/themes/silver/index.js +7 -0
  897. package/dist/tinymce/themes/silver/theme.js +30775 -0
  898. package/dist/tinymce/themes/silver/theme.min.js +1 -0
  899. package/dist/tinymce/tinymce.d.ts +3238 -0
  900. package/dist/tinymce/tinymce.js +31779 -0
  901. package/dist/tinymce/tinymce.min.js +11 -0
  902. package/package.json +13 -12
  903. package/release-note.md +5 -5
  904. package/scripts/copy-tinymce.js +37 -0
  905. package/dist/src/common/types/form.d.ts +0 -3
  906. package/dist/src/sub/DynamicLayout/pagesPreviewMock.d.ts +0 -3339
  907. package/dist/src/sub/DynamicLayout/pagesPreviewMock.js +0 -4894
  908. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Button/btnTypes.d.ts +0 -76
  909. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Text/index.d.ts +0 -1
  910. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Text/types.d.ts +0 -38
  911. package/dist/src/sub/DynamicLayout/sections/CustomSection/customSectionContext.d.ts +0 -10
  912. package/dist/src/sub/DynamicLayout/sections/CustomSection/customSectionContext.js +0 -21
  913. package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGroupDrag/index.d.ts +0 -1
  914. package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGroupDrag/index.js +0 -8
  915. package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGroupDrag/useGroupDrag.d.ts +0 -22
  916. package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGroupDrag/useGroupDrag.js +0 -273
  917. /package/dist/src/common/types/{form.js → LocalizedContent.js} +0 -0
  918. /package/dist/src/{sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Text → desktop/components/Calendar}/types.js +0 -0
  919. /package/dist/src/sub/{DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Button/btnTypes.js → SandollFontKit/api/types.js} +0 -0
@@ -50,99 +50,126 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
50
50
  return (mod && mod.__esModule) ? mod : { "default": mod };
51
51
  };
52
52
  Object.defineProperty(exports, "__esModule", { value: true });
53
- exports.GUTTER = void 0;
54
53
  var jsx_runtime_1 = require("react/jsx-runtime");
55
54
  var publ_echo_1 = require("publ-echo");
56
- var ReactGridLayout_1 = __importDefault(require("publ-echo/dist/lib/GridLayoutEditor/ReactGridLayout"));
55
+ var group_1 = require("publ-echo/dist/lib/GridLayoutEditor/group");
56
+ var renderHelpers_1 = require("publ-echo/dist/lib/GridLayoutEditor/utils/renderHelpers");
57
57
  var react_1 = __importStar(require("react"));
58
58
  var ErrorBoundary_1 = require("../../../DynamicLayout/components/Section/ErrorBoundary");
59
59
  var dynamicLayoutContext_1 = require("../../../DynamicLayout/dynamicLayoutContext");
60
- var deepCopy_1 = __importDefault(require("../../../DynamicLayout/utils/deepCopy"));
60
+ var gleStyles_1 = require("../../../DynamicLayout/gleStyles");
61
61
  var styled_components_1 = __importDefault(require("styled-components"));
62
62
  var components_1 = require("../../components");
63
63
  var ComponentBlockMatcher_1 = __importDefault(require("./components/ComponentBlock/ComponentBlockMatcher"));
64
- var customSectionContext_1 = require("./customSectionContext");
65
- var useGroupDrag_1 = require("./hooks/useGroupDrag");
66
- var useGroupDrag_2 = require("./hooks/useGroupDrag/useGroupDrag");
67
- var utils_1 = require("./hooks/useGroupDrag/utils");
64
+ var S_HiddenCover_1 = require("./components/ComponentBlock/componentBlocks/components/S_HiddenCover");
65
+ var clsx_1 = require("./newUtils/clsx");
66
+ var group_2 = require("./newUtils/group");
68
67
  var util_1 = require("./util");
69
68
  var parseSectionPadding_1 = __importDefault(require("./util/layoutPropParsers/parseSectionPadding"));
70
- var WidthProvidedRGL = (0, publ_echo_1.WidthProvider)(ReactGridLayout_1.default);
71
69
  var Responsive = (0, publ_echo_1.WidthProvider)(publ_echo_1.ResponsiveGridEditor);
72
70
  var GRID_CELL_MIN = 24;
73
71
  var DESKTOP_GRID_COLS = 24;
74
72
  var MOBILE_GRID_COLS = 8;
75
73
  var GLE_MIN_WIDTH_DESKTOP_PX = "".concat(GRID_CELL_MIN * DESKTOP_GRID_COLS, "px");
76
74
  var GLE_MIN_WIDTH_MOBILE_PX = "".concat(GRID_CELL_MIN * MOBILE_GRID_COLS, "px");
77
- exports.GUTTER = 10;
78
75
  var CustomSection = (0, react_1.forwardRef)(function CustomSection(props, ref) {
79
- var _a = (0, react_1.useContext)(dynamicLayoutContext_1.dynamicLayoutContext), device = _a.device, editingSectionId = _a.editingSectionId, mode = _a.mode, shortcutKeyMode = _a.shortcutKeyMode, sectionActionHandler = _a.sectionActionHandler;
76
+ var _a, _b, _c, _d;
77
+ var _e = (0, react_1.useContext)(dynamicLayoutContext_1.dynamicLayoutContext), device = _e.device, editingSectionId = _e.editingSectionId, mode = _e.mode, shortcutKeyMode = _e.shortcutKeyMode, zoomScale = _e.zoomScale, sectionActionHandler = _e.sectionActionHandler;
80
78
  var componentBlocks = props.componentBlocks, jsonProperties = props.jsonProperties;
81
- var _b = jsonProperties.data, CB_PLACEMENT_PROP_SECTION = _b.CB_PLACEMENT_PROP_SECTION, CB_LAYOUT_PROP_PADDING = _b.CB_LAYOUT_PROP_PADDING, CB_CONTENT_PROP_SECTION = _b.CB_CONTENT_PROP_SECTION;
82
- var _c = (0, react_1.useState)(null), selectedCB = _c[0], setSelectedCB = _c[1];
79
+ var sectionPedigree = jsonProperties === null || jsonProperties === void 0 ? void 0 : jsonProperties.pedigree;
80
+ var _f = (0, react_1.useState)(sectionPedigree), pedigreeState = _f[0], setPedigreeState = _f[1];
81
+ (0, react_1.useEffect)(function () {
82
+ setPedigreeState(sectionPedigree);
83
+ }, [sectionPedigree]);
84
+ var _g = jsonProperties, _h = _g.data, CB_PLACEMENT_PROP_SECTION = _h.CB_PLACEMENT_PROP_SECTION, CB_LAYOUT_PROP_PADDING = _h.CB_LAYOUT_PROP_PADDING, CB_CONTENT_PROP_SECTION = _h.CB_CONTENT_PROP_SECTION, zOrders = _g.zOrders;
85
+ var colsDesktop = (_a = CB_PLACEMENT_PROP_SECTION.CB_PLACEMENT_PROP_SECTION_SPEC_COLS) !== null && _a !== void 0 ? _a : 24;
86
+ var colsMobile = (_b = CB_PLACEMENT_PROP_SECTION['CB_PLACEMENT_PROP_SECTION_SPEC_COLS:MOBILE']) !== null && _b !== void 0 ? _b : 8;
87
+ var _j = (0, react_1.useState)(null), selectedBlockId = _j[0], setSelectedBlockId = _j[1];
83
88
  var gleRef = (0, react_1.useRef)(null);
84
- var _d = (0, react_1.useState)(50), rowHeight = _d[0], setRowHeight = _d[1];
85
- var _e = (0, react_1.useState)(16), baseFontSize = _e[0], setBaseFontSize = _e[1];
89
+ var _k = (0, react_1.useState)(50), rowHeight = _k[0], setRowHeight = _k[1];
90
+ var _l = (0, react_1.useState)(16), baseFontSize = _l[0], setBaseFontSize = _l[1];
86
91
  var isMobile = device === 'MOBILE';
87
92
  var isEditMode = mode === 'EDIT';
88
93
  var layoutByDevice = device === 'DESKTOP' ? 'lg' : 'sm';
89
- var _f = (0, react_1.useState)(function () {
90
- var _a = (0, util_1.parsePlacement)(componentBlocks !== null && componentBlocks !== void 0 ? componentBlocks : []), lg = _a.lg, sm = _a.sm;
94
+ var _m = (0, react_1.useState)(function () {
95
+ var _a = (0, util_1.parsePlacement)(componentBlocks !== null && componentBlocks !== void 0 ? componentBlocks : [], zOrders), lg = _a.lg, sm = _a.sm;
91
96
  return {
92
97
  lg: lg,
93
98
  sm: sm
94
99
  };
95
- }), layouts = _f[0], setLayouts = _f[1];
96
- var _g = (0, useGroupDrag_1.useGroupDrag)({
97
- setLayouts: setLayouts,
98
- device: device,
99
- sectionActionHandler: sectionActionHandler
100
- }), setGroupCB = _g.setGroupCB, breakGroupCB = _g.breakGroupCB, escapeFromGroup = _g.escapeFromGroup, makeAllInOneGroup = _g.makeAllInOneGroup, makeCollisionGroup = _g.makeCollisionGroup, makeCollisionOfBulk = _g.makeCollisionOfBulk;
100
+ }), layouts = _m[0], setLayouts = _m[1];
101
+ var _o = (0, react_1.useState)('ROOT'), editingGroupBlock = _o[0], setEditingGroupBlock = _o[1];
102
+ var _p = (0, react_1.useState)([]), bulkBlockIds = _p[0], setBulkBlockIds = _p[1];
103
+ (0, react_1.useEffect)(function () {
104
+ if (editingGroupBlock) {
105
+ var found = (0, group_1.findBlockByBlockId)(sectionPedigree, editingGroupBlock);
106
+ if (!found) {
107
+ setEditingGroupBlock('ROOT');
108
+ return;
109
+ }
110
+ if (found.type === 'GROUP_BLOCK' && found.children.length === 0) {
111
+ setEditingGroupBlock('ROOT');
112
+ return;
113
+ }
114
+ }
115
+ }, [editingGroupBlock, sectionPedigree]);
116
+ var newblock = bulkBlockIds.length > 0
117
+ ? (0, group_1.addBulkToTarget)(pedigreeState, editingGroupBlock, bulkBlockIds)
118
+ : pedigreeState;
101
119
  (0, react_1.useImperativeHandle)(ref, function () {
102
120
  return {
103
- selectCB: function (cbId) {
104
- setSelectedCB(cbId);
121
+ selectCB: function (blockId) {
122
+ setSelectedBlockId(blockId);
105
123
  },
106
- selectCBInBulk: function (cbIds) {
107
- var parsedLayouts = (0, util_1.parsePlacement)(componentBlocks !== null && componentBlocks !== void 0 ? componentBlocks : []);
108
- setLayouts(function (prev) {
109
- var _a;
110
- var filteredLayout = (0, useGroupDrag_2.filterItemsById)(parsedLayouts[layoutByDevice], cbIds);
111
- var newGroupLayout = (0, utils_1.getGroupForMultiple)(parsedLayouts[layoutByDevice].filter(function (each) { return cbIds.includes(each.i); }));
112
- filteredLayout.push(newGroupLayout);
113
- return __assign(__assign({}, prev), (_a = {}, _a[layoutByDevice] = filteredLayout, _a));
114
- });
124
+ selectCBInBulk: function (blockIds) {
125
+ setBulkBlockIds(blockIds);
126
+ },
127
+ selectGroup: function (groupBlockId) {
128
+ setBulkBlockIds([]);
129
+ setSelectedBlockId(groupBlockId);
115
130
  }
116
131
  };
117
132
  }, [componentBlocks]);
118
133
  (0, react_1.useLayoutEffect)(function () {
119
- var parsedLayouts = (0, util_1.parsePlacement)(componentBlocks !== null && componentBlocks !== void 0 ? componentBlocks : []);
134
+ var parsedLayouts = (0, util_1.parsePlacement)(componentBlocks !== null && componentBlocks !== void 0 ? componentBlocks : [], zOrders);
120
135
  setLayouts(function (prev) {
121
136
  var _a;
122
137
  var _b;
123
- var group = (0, useGroupDrag_2.getGroupCB)(prev[layoutByDevice]);
138
+ var group = (0, group_2.getGroupCB)(prev[layoutByDevice]);
124
139
  var groupedCBIds = (_b = group === null || group === void 0 ? void 0 : group.childrenIds) !== null && _b !== void 0 ? _b : [];
125
- var filteredLayout = (0, useGroupDrag_2.filterItemsById)(parsedLayouts[layoutByDevice], groupedCBIds);
140
+ var filteredLayout = (0, group_2.filterItemsById)(parsedLayouts[layoutByDevice], groupedCBIds);
126
141
  if (group === null || group === void 0 ? void 0 : group.groupLayouts) {
127
142
  var groupCbs = parsedLayouts[layoutByDevice].filter(function (each) {
128
143
  return groupedCBIds.includes(each.i);
129
144
  });
130
145
  if (groupCbs.length > 0) {
131
- var newGroupLayout = (0, utils_1.getGroupForMultiple)(groupCbs);
146
+ var newGroupLayout = (0, group_2.getGroupForMultiple)(groupCbs);
132
147
  filteredLayout.push(newGroupLayout);
133
148
  }
134
149
  }
135
150
  return __assign(__assign({}, prev), (_a = {}, _a[layoutByDevice] = filteredLayout, _a));
136
151
  });
137
- }, [componentBlocks, useGroupDrag_2.getGroupCB, layoutByDevice]);
152
+ }, [componentBlocks, group_2.getGroupCB, layoutByDevice, zOrders]);
138
153
  (0, react_1.useEffect)(function () {
139
154
  if (editingSectionId !== props.id) {
140
- setSelectedCB(null);
141
- breakGroupCB();
155
+ setSelectedBlockId(null);
156
+ setBulkBlockIds([]);
157
+ setEditingGroupBlock('ROOT');
142
158
  }
143
159
  }, [editingSectionId]);
160
+ var workDir = (_c = (0, group_1.getBlockWorkDirPath)(newblock, editingGroupBlock)) !== null && _c !== void 0 ? _c : '/ROOT';
161
+ (0, react_1.useEffect)(function () {
162
+ sectionActionHandler &&
163
+ sectionActionHandler({
164
+ type: '@CUSTOMSECTION/WORKDIR_CHANGED',
165
+ payload: {
166
+ workDir: workDir
167
+ }
168
+ });
169
+ }, [workDir]);
144
170
  // NOTE: 추후에 event를 외부에서 전달받게하거나, 아예 상태를 끌어올리거나 해야합니다.
145
171
  (0, react_1.useLayoutEffect)(function () {
172
+ var _a, _b, _c, _d, _e, _f;
146
173
  if (props.id !== editingSectionId) {
147
174
  return;
148
175
  }
@@ -150,42 +177,220 @@ var CustomSection = (0, react_1.forwardRef)(function CustomSection(props, ref) {
150
177
  return;
151
178
  }
152
179
  if (shortcutKeyMode === 'SELECT_ALL') {
153
- if ((componentBlocks === null || componentBlocks === void 0 ? void 0 : componentBlocks.length) === 1) {
154
- setSelectedCB(componentBlocks[0].id);
155
- return;
156
- }
157
180
  makeAllInOneGroup();
158
181
  return;
159
182
  }
183
+ // esc
160
184
  if (shortcutKeyMode === 'MANUAL_BULK_BREAK') {
161
- breakGroupCB();
162
- setSelectedCB(null);
163
- return;
185
+ if (selectedBlockId &&
186
+ editingGroupBlock !== selectedBlockId &&
187
+ editingGroupBlock !== 'ROOT') {
188
+ setSelectedBlockId(null);
189
+ sectionActionHandler &&
190
+ sectionActionHandler({
191
+ type: '@CUSTOMSECTION/BLOCK_CLICKED',
192
+ payload: {
193
+ block: {
194
+ blockId: editingGroupBlock,
195
+ type: 'GROUP_BLOCK',
196
+ workDir: (_a = (0, group_1.getBlockWorkDirPath)(newblock, editingGroupBlock)) !== null && _a !== void 0 ? _a : 'NOT-FOUND',
197
+ childrenBlockIds: (_b = (0, group_1.findDirectChildrenBlockIds)(newblock, editingGroupBlock)) !== null && _b !== void 0 ? _b : [],
198
+ childrenCBIds: (_c = (0, group_1.findDirectChildrenCbIds)(newblock, editingGroupBlock)) !== null && _c !== void 0 ? _c : []
199
+ }
200
+ }
201
+ });
202
+ return;
203
+ }
204
+ if (bulkBlockIds.length > 0) {
205
+ setBulkBlockIds([]);
206
+ setSelectedBlockId(null);
207
+ sectionActionHandler &&
208
+ sectionActionHandler({
209
+ type: '@CUSTOMSECTION/BLOCK_CLICKED',
210
+ payload: {
211
+ block: {
212
+ blockId: editingGroupBlock,
213
+ type: 'GROUP_BLOCK',
214
+ workDir: (_d = (0, group_1.getBlockWorkDirPath)(newblock, editingGroupBlock)) !== null && _d !== void 0 ? _d : 'NOT-FOUND',
215
+ childrenBlockIds: (_e = (0, group_1.findDirectChildrenBlockIds)(newblock, editingGroupBlock)) !== null && _e !== void 0 ? _e : [],
216
+ childrenCBIds: (_f = (0, group_1.findDirectChildrenCbIds)(newblock, editingGroupBlock)) !== null && _f !== void 0 ? _f : []
217
+ }
218
+ }
219
+ });
220
+ return;
221
+ }
222
+ if (editingGroupBlock !== 'ROOT') {
223
+ setEditingGroupBlock('ROOT');
224
+ setSelectedBlockId(null);
225
+ sectionActionHandler &&
226
+ sectionActionHandler({
227
+ type: '@CUSTOMSECTION/BULK_DISMISSED',
228
+ payload: {
229
+ message: 'MANUAL_BULK_BREAK_OR_ESC',
230
+ editingGroupBlock: 'ROOT'
231
+ }
232
+ });
233
+ return;
234
+ }
235
+ if (editingGroupBlock === 'ROOT') {
236
+ setSelectedBlockId(null);
237
+ sectionActionHandler &&
238
+ sectionActionHandler({
239
+ type: '@CUSTOMSECTION/BULK_DISMISSED',
240
+ payload: {
241
+ message: 'MANUAL_BULK_BREAK_OR_ESC',
242
+ editingGroupBlock: 'ROOT'
243
+ }
244
+ });
245
+ }
164
246
  }
165
- }, [shortcutKeyMode, setSelectedCB, breakGroupCB]);
247
+ }, [shortcutKeyMode, setSelectedBlockId]);
166
248
  (0, react_1.useLayoutEffect)(function () {
249
+ var _a;
167
250
  if (props.id !== editingSectionId) {
168
251
  return;
169
252
  }
170
253
  if (shortcutKeyMode === 'MANUAL_COLLISION_SELECT') {
171
- if (!selectedCB || selectedCB === 'group') {
254
+ if (!selectedBlockId || selectedBlockId === 'BULK') {
172
255
  return;
173
256
  }
174
- makeCollisionGroup(selectedCB);
257
+ var selectedCBId = selectedBlockId ? (0, group_1.formatBlockIdToCbId)(selectedBlockId) : undefined;
258
+ if (!selectedCBId) {
259
+ return;
260
+ }
261
+ var bulks_1 = getCollisionGroupIds(selectedCBId);
262
+ if (selectedBlockId) {
263
+ bulks_1.push(selectedBlockId);
264
+ }
265
+ setBulkBlockIds(function (prev) {
266
+ var set = new Set(__spreadArray(__spreadArray([], prev, true), bulks_1, true));
267
+ return Array.from(set);
268
+ });
269
+ setSelectedBlockId(null);
270
+ var newBulkIdsSet = new Set(__spreadArray(__spreadArray([], bulkBlockIds, true), bulks_1, true));
271
+ var newBulkIdsArray = Array.from(newBulkIdsSet);
272
+ var newBulkCBIds = newBulkIdsArray
273
+ .map(function (id) { return (0, group_1.formatBlockIdToCbId)(id); })
274
+ .filter(function (each) { return each !== null; });
275
+ var childrenCBIds = [];
276
+ if (newBulkCBIds.length === 0) {
277
+ var oneCB = (0, group_1.findOneComponentBlock)(newblock, bulks_1[0]);
278
+ childrenCBIds = oneCB ? [oneCB] : [];
279
+ }
280
+ else {
281
+ childrenCBIds = newBulkCBIds;
282
+ }
283
+ var groupDisabled = getWorkDirDirectChildrenLength() === newBulkIdsArray.length;
175
284
  sectionActionHandler &&
176
285
  sectionActionHandler({
177
- type: '@CUSTOMSECTION/CB_CLICKED',
286
+ type: '@CUSTOMSECTION/BLOCK_CLICKED',
178
287
  payload: {
179
- id: 'group'
288
+ block: {
289
+ type: 'BULK',
290
+ blockId: 'BULK',
291
+ childrenBlockIds: newBulkIdsArray,
292
+ workDir: (_a = (0, group_1.getBlockWorkDirPath)(newblock, editingGroupBlock)) !== null && _a !== void 0 ? _a : 'NOT-FOUND',
293
+ childrenCBIds: childrenCBIds,
294
+ groupDisabled: groupDisabled && editingGroupBlock !== 'ROOT'
295
+ }
180
296
  }
181
297
  });
182
- setSelectedCB('group');
298
+ return;
183
299
  }
184
- }, [selectedCB, shortcutKeyMode, makeCollisionGroup, sectionActionHandler, setSelectedCB]);
185
- var _h = (0, util_1.parseCustomSectionPlacement)({
300
+ }, [selectedBlockId, shortcutKeyMode, sectionActionHandler, bulkBlockIds, setSelectedBlockId]);
301
+ var makeAllInOneGroup = function () {
302
+ var _a, _b, _c, _d, _e;
303
+ var allRootChildIds = (0, group_1.findDirectChildrenBlockIds)(pedigreeState, editingGroupBlock);
304
+ if (allRootChildIds.length === 1) {
305
+ var block = (0, group_1.findBlockByBlockId)(newblock, allRootChildIds[0]);
306
+ if (!block) {
307
+ return;
308
+ }
309
+ setSelectedBlockId(block.blockId);
310
+ setBulkBlockIds([]);
311
+ if (block.type === 'COMPONENT_BLOCK') {
312
+ sectionActionHandler &&
313
+ sectionActionHandler({
314
+ type: '@CUSTOMSECTION/BLOCK_CLICKED',
315
+ payload: {
316
+ block: {
317
+ blockId: block.blockId,
318
+ type: block.type,
319
+ cbId: block.componentBlockId,
320
+ workDir: (_a = (0, group_1.getBlockWorkDirPath)(newblock, editingGroupBlock)) !== null && _a !== void 0 ? _a : 'NOT-FOUND'
321
+ }
322
+ }
323
+ });
324
+ return;
325
+ }
326
+ if (block.type === 'GROUP_BLOCK') {
327
+ sectionActionHandler &&
328
+ sectionActionHandler({
329
+ type: '@CUSTOMSECTION/BLOCK_CLICKED',
330
+ payload: {
331
+ block: {
332
+ blockId: block.blockId,
333
+ type: 'GROUP_BLOCK',
334
+ workDir: (_b = (0, group_1.getBlockWorkDirPath)(newblock, editingGroupBlock)) !== null && _b !== void 0 ? _b : 'NOT-FOUND',
335
+ childrenBlockIds: (_c = (0, group_1.findDirectChildrenBlockIds)(newblock, block.blockId)) !== null && _c !== void 0 ? _c : [],
336
+ childrenCBIds: (_d = (0, group_1.findDirectChildrenCbIds)(newblock, block.blockId)) !== null && _d !== void 0 ? _d : []
337
+ }
338
+ }
339
+ });
340
+ }
341
+ return;
342
+ }
343
+ setBulkBlockIds(allRootChildIds);
344
+ var newBulkCBIds = allRootChildIds
345
+ .map(function (id) { return (0, group_1.formatBlockIdToCbId)(id); })
346
+ .filter(function (each) { return each !== null; });
347
+ var childrenCBIds = [];
348
+ if (newBulkCBIds.length === 0) {
349
+ var oneCB = (0, group_1.findOneComponentBlock)(newblock, allRootChildIds[0]);
350
+ childrenCBIds = oneCB ? [oneCB] : [];
351
+ }
352
+ else {
353
+ childrenCBIds = newBulkCBIds;
354
+ }
355
+ var groupDisabled = getWorkDirDirectChildrenLength() === allRootChildIds.length;
356
+ sectionActionHandler &&
357
+ sectionActionHandler({
358
+ type: '@CUSTOMSECTION/BLOCK_CLICKED',
359
+ payload: {
360
+ block: {
361
+ type: 'BULK',
362
+ blockId: 'BULK',
363
+ childrenBlockIds: allRootChildIds,
364
+ workDir: (_e = (0, group_1.getBlockWorkDirPath)(newblock, editingGroupBlock)) !== null && _e !== void 0 ? _e : 'NOT-FOUND',
365
+ childrenCBIds: childrenCBIds,
366
+ groupDisabled: groupDisabled && editingGroupBlock !== 'ROOT'
367
+ }
368
+ }
369
+ });
370
+ };
371
+ var getCollisionGroupIds = function (cdId1) {
372
+ var layoutItem = (0, renderHelpers_1.getLayoutItem)(layouts[layoutByDevice], cdId1.toString());
373
+ if (!layoutItem) {
374
+ return [];
375
+ }
376
+ var allCollisions = (0, renderHelpers_1.getAllCollisions)(layouts[layoutByDevice], layoutItem);
377
+ var allCollisionsCbIds = allCollisions.map(function (each) { return Number(each.i); });
378
+ var workDirChildrenBlockIds = (0, group_1.findDirectChildrenBlockIds)(newblock, editingGroupBlock);
379
+ var collisions = workDirChildrenBlockIds.filter(function (each) {
380
+ var cbId = (0, group_1.formatBlockIdToCbId)(each);
381
+ var allCollisions = (0, group_1.findAllChildrenCbIds)(newblock, each);
382
+ if (cbId !== null && allCollisionsCbIds.includes(cbId)) {
383
+ return true;
384
+ }
385
+ var hasCollision = allCollisions.some(function (each) { return allCollisionsCbIds.includes(each); });
386
+ return hasCollision;
387
+ });
388
+ return __spreadArray(__spreadArray([], collisions, true), [(0, group_1.formatCbIdToBlockId)(cdId1)], false);
389
+ };
390
+ var _q = (0, util_1.parseCustomSectionPlacement)({
186
391
  isMobile: isMobile,
187
392
  customSectionProps: CB_PLACEMENT_PROP_SECTION
188
- }), rows = _h.rows, width = _h.width, minHeight = _h.minHeight, isFullWidth = _h.isFullWidth;
393
+ }), rows = _q.rows, width = _q.width, minHeight = _q.minHeight, isFullWidth = _q.isFullWidth;
189
394
  var customSectionStyles = {
190
395
  minHeight: "".concat(minHeight, "vh"),
191
396
  width: '100%',
@@ -193,66 +398,167 @@ var CustomSection = (0, react_1.forwardRef)(function CustomSection(props, ref) {
193
398
  };
194
399
  var breakpoint = device === 'MOBILE' ? 'sm' : 'lg';
195
400
  var onClickCB = function (id) {
401
+ var _a, _b, _c, _d, _e, _f, _g;
402
+ var blockId = (0, group_1.formatCbIdToBlockId)(id);
196
403
  if (!isEditMode) {
197
404
  return;
198
405
  }
199
- if (selectedCB && shortcutKeyMode === 'BULK_SELECT') {
200
- if (id === selectedCB) {
201
- return;
406
+ var added = (function () {
407
+ if (selectedBlockId === editingGroupBlock) {
408
+ return [blockId];
409
+ }
410
+ if (selectedBlockId === 'BULK') {
411
+ return [blockId];
412
+ }
413
+ return selectedBlockId ? [selectedBlockId, blockId] : [blockId];
414
+ })();
415
+ if (shortcutKeyMode === 'BULK_SELECT') {
416
+ setBulkBlockIds(function (prev) {
417
+ var set = new Set(__spreadArray(__spreadArray([], prev, true), added, true));
418
+ return Array.from(set);
419
+ });
420
+ setSelectedBlockId(null);
421
+ var newBulkBlockIds = Array.from(new Set(__spreadArray(__spreadArray([], bulkBlockIds, true), added, true)));
422
+ var newBulkCBIds = newBulkBlockIds
423
+ .map(function (id) { return (0, group_1.formatBlockIdToCbId)(id); })
424
+ .filter(function (each) { return each !== null; });
425
+ var childrenCBIds = [];
426
+ if (newBulkCBIds.length === 0) {
427
+ var oneCB = (0, group_1.findOneComponentBlock)(newblock, newBulkBlockIds[0]);
428
+ childrenCBIds = oneCB ? [oneCB] : [];
202
429
  }
203
- setGroupCB(selectedCB, id);
430
+ else {
431
+ childrenCBIds = newBulkCBIds;
432
+ }
433
+ var groupDisabled = getWorkDirDirectChildrenLength() === __spreadArray(__spreadArray([], bulkBlockIds, true), added, true).length;
204
434
  sectionActionHandler &&
205
435
  sectionActionHandler({
206
- type: '@CUSTOMSECTION/CB_CLICKED',
436
+ type: '@CUSTOMSECTION/BLOCK_CLICKED',
207
437
  payload: {
208
- id: 'group'
438
+ block: {
439
+ type: 'BULK',
440
+ blockId: 'BULK',
441
+ childrenBlockIds: newBulkBlockIds,
442
+ childrenCBIds: childrenCBIds,
443
+ workDir: (_a = (0, group_1.getBlockWorkDirPath)(newblock, editingGroupBlock)) !== null && _a !== void 0 ? _a : 'NOT-FOUND',
444
+ groupDisabled: groupDisabled && editingGroupBlock !== 'ROOT'
445
+ }
209
446
  }
210
447
  });
211
- setSelectedCB('group');
212
448
  return;
213
449
  }
214
450
  if (shortcutKeyMode === 'COLLISION_SELECT') {
215
- var selectedCBId = typeof selectedCB === 'number' ? selectedCB : undefined;
216
- makeCollisionGroup(id, selectedCBId);
451
+ var bulks = getCollisionGroupIds(id);
452
+ var newBulksSet = new Set(__spreadArray(__spreadArray(__spreadArray([], bulkBlockIds, true), added, true), bulks, true));
453
+ var newBulks = Array.from(newBulksSet);
454
+ if (newBulks.length === 1) {
455
+ var blockId_1 = newBulks[0];
456
+ setSelectedBlockId(blockId_1);
457
+ setBulkBlockIds([]);
458
+ sectionActionHandler &&
459
+ sectionActionHandler({
460
+ type: '@CUSTOMSECTION/BLOCK_CLICKED',
461
+ payload: {
462
+ block: {
463
+ type: 'COMPONENT_BLOCK',
464
+ blockId: blockId_1,
465
+ cbId: id,
466
+ workDir: (_b = (0, group_1.getBlockWorkDirPath)(newblock, editingGroupBlock)) !== null && _b !== void 0 ? _b : 'NOT-FOUND'
467
+ }
468
+ }
469
+ });
470
+ return;
471
+ }
472
+ setBulkBlockIds(newBulks);
473
+ setSelectedBlockId(null);
474
+ var newBulkCBIds = newBulks
475
+ .map(function (id) { return (0, group_1.formatBlockIdToCbId)(id); })
476
+ .filter(function (each) { return each !== null; });
477
+ var childrenCBIds = [];
478
+ if (newBulkCBIds.length === 0) {
479
+ var oneCB = (0, group_1.findOneComponentBlock)(newblock, bulks[0]);
480
+ childrenCBIds = oneCB ? [oneCB] : [];
481
+ }
482
+ else {
483
+ childrenCBIds = newBulkCBIds;
484
+ }
485
+ var groupDisabled = getWorkDirDirectChildrenLength() === newBulks.length;
217
486
  sectionActionHandler &&
218
487
  sectionActionHandler({
219
- type: '@CUSTOMSECTION/CB_CLICKED',
488
+ type: '@CUSTOMSECTION/BLOCK_CLICKED',
220
489
  payload: {
221
- id: 'group'
490
+ block: {
491
+ type: 'BULK',
492
+ blockId: 'BULK',
493
+ childrenBlockIds: newBulks,
494
+ workDir: (_c = (0, group_1.getBlockWorkDirPath)(newblock, editingGroupBlock)) !== null && _c !== void 0 ? _c : 'NOT-FOUND',
495
+ childrenCBIds: childrenCBIds,
496
+ groupDisabled: groupDisabled && editingGroupBlock !== 'ROOT'
497
+ }
222
498
  }
223
499
  });
224
- setSelectedCB('group');
225
500
  return;
226
501
  }
227
- var hasAlreadyGroup = (0, useGroupDrag_2.getGroupCB)(layouts[layoutByDevice]);
228
- if (hasAlreadyGroup) {
229
- breakGroupCB();
502
+ var blockType = blockId.startsWith('GB_') ? 'GROUP_BLOCK' : 'COMPONENT_BLOCK';
503
+ setSelectedBlockId(blockId);
504
+ setBulkBlockIds([]);
505
+ if (blockType === 'COMPONENT_BLOCK') {
506
+ sectionActionHandler &&
507
+ sectionActionHandler({
508
+ type: '@CUSTOMSECTION/BLOCK_CLICKED',
509
+ payload: {
510
+ block: {
511
+ blockId: blockId,
512
+ type: blockType,
513
+ cbId: id,
514
+ workDir: (_d = (0, group_1.getBlockWorkDirPath)(newblock, editingGroupBlock)) !== null && _d !== void 0 ? _d : 'NOT-FOUND'
515
+ }
516
+ }
517
+ });
518
+ return;
519
+ }
520
+ if (blockType === 'GROUP_BLOCK') {
521
+ sectionActionHandler &&
522
+ sectionActionHandler({
523
+ type: '@CUSTOMSECTION/BLOCK_CLICKED',
524
+ payload: {
525
+ block: {
526
+ blockId: blockId,
527
+ type: 'GROUP_BLOCK',
528
+ workDir: (_e = (0, group_1.getBlockWorkDirPath)(newblock, editingGroupBlock)) !== null && _e !== void 0 ? _e : 'NOT-FOUND',
529
+ childrenBlockIds: (_f = (0, group_1.findDirectChildrenBlockIds)(newblock, blockId)) !== null && _f !== void 0 ? _f : [],
530
+ childrenCBIds: (_g = (0, group_1.findDirectChildrenCbIds)(newblock, blockId)) !== null && _g !== void 0 ? _g : []
531
+ }
532
+ }
533
+ });
230
534
  }
231
- setSelectedCB(id);
232
- sectionActionHandler &&
233
- sectionActionHandler({
234
- type: '@CUSTOMSECTION/CB_CLICKED',
235
- payload: {
236
- id: id
237
- }
238
- });
239
535
  };
240
536
  var onContextMenuCB = function (id, e) {
537
+ var _a;
538
+ var blockId = (0, group_1.formatCbIdToBlockId)(id);
241
539
  if (!isEditMode) {
242
540
  return;
243
541
  }
244
- if (!['COLLISION_SELECT', 'BULK_SELECT'].includes(shortcutKeyMode !== null && shortcutKeyMode !== void 0 ? shortcutKeyMode : '')) {
245
- if (id !== selectedCB) {
246
- breakGroupCB();
247
- }
542
+ if (selectedBlockId === 'BULK' && blockId !== selectedBlockId) {
543
+ setBulkBlockIds([]);
248
544
  }
249
- setSelectedCB(id);
545
+ // if (!['COLLISION_SELECT', 'BULK_SELECT'].includes(shortcutKeyMode ?? '')) {
546
+ // if (blockId !== selectedBlockId) {
547
+ // setBulkBlockIds([]);
548
+ // }
549
+ // }
550
+ setSelectedBlockId(blockId);
250
551
  if (sectionActionHandler) {
251
552
  sectionActionHandler({
252
553
  type: '@CUSTOMSECTION/CB_RIGHT_CLICKED',
253
554
  payload: {
254
- id: id,
255
- e: e
555
+ e: e,
556
+ block: {
557
+ blockId: blockId,
558
+ cbId: id,
559
+ type: 'COMPONENT_BLOCK',
560
+ workDir: (_a = (0, group_1.getBlockWorkDirPath)(newblock, editingGroupBlock)) !== null && _a !== void 0 ? _a : 'NOT-FOUND'
561
+ }
256
562
  }
257
563
  });
258
564
  }
@@ -269,8 +575,15 @@ var CustomSection = (0, react_1.forwardRef)(function CustomSection(props, ref) {
269
575
  }
270
576
  setLayouts(props.layouts);
271
577
  };
578
+ var onDragStart = function (props) {
579
+ sectionActionHandler &&
580
+ sectionActionHandler({
581
+ type: '@CUSTOMSECTION/CB_DRAG_START',
582
+ payload: __assign({}, props)
583
+ });
584
+ };
272
585
  var onDragStop = function (props) {
273
- var _a;
586
+ var _a, _b, _c;
274
587
  if (!isEditMode || !props.item) {
275
588
  return;
276
589
  }
@@ -282,33 +595,49 @@ var CustomSection = (0, react_1.forwardRef)(function CustomSection(props, ref) {
282
595
  }, 0);
283
596
  return;
284
597
  }
285
- if (item.i === 'group' && props.item.groupLayouts) {
286
- setSelectedCB('group');
287
- var outerBasedChildrenPositions = props.item.groupLayouts.map(function (cb) { return (__assign(__assign({}, cb), { x: item.x + cb.x, y: item.y + cb.y })); });
288
- sectionActionHandler &&
289
- sectionActionHandler({
290
- type: '@CUSTOMSECTION/GROUP_DRAG_STOP',
291
- payload: __assign(__assign({}, props), { outerBasedChildrenPositions: outerBasedChildrenPositions })
292
- });
293
- return;
294
- }
598
+ // NOTE 미사용시 삭제
599
+ // if (item.i === 'BULK' && props.item.groupLayouts) {
600
+ // setSelectedBlockId('BULK');
601
+ // const outerBasedChildrenPositions = props.item.groupLayouts.map((cb) => ({
602
+ // ...cb,
603
+ // x: item.x + cb.x,
604
+ // y: item.y + cb.y
605
+ // }));
606
+ // sectionActionHandler &&
607
+ // sectionActionHandler({
608
+ // type: '@CUSTOMSECTION/BULK_DRAG_STOP',
609
+ // payload: {
610
+ // updatedBlocks: props.
611
+ // ...props,
612
+ // outerBasedChildrenPositions,
613
+ // workDir: getBlockWorkDirPath(newblock, editingGroupBlock) ?? 'NOT-FOUND'
614
+ // }
615
+ // });
616
+ // return;
617
+ // }
295
618
  var numberId = Number((_a = props.item) === null || _a === void 0 ? void 0 : _a.i);
619
+ var blockId = (0, group_1.formatCbIdToBlockId)(numberId);
296
620
  var isIdNumber = !Number.isNaN(numberId);
297
- if (isIdNumber) {
298
- if ((0, useGroupDrag_2.getGroupCB)(layouts[layoutByDevice])) {
299
- // NOTE: 타이밍 트릭, 구조 변경 시 확인하여 수정하면 좋을 것 같습니다.
621
+ if (blockId) {
622
+ if ((0, group_2.getGroupCB)(layouts[layoutByDevice])) {
300
623
  setTimeout(function () {
301
- breakGroupCB();
624
+ setBulkBlockIds([]);
302
625
  }, 100);
303
626
  }
304
- setSelectedCB(numberId);
627
+ setSelectedBlockId(blockId);
305
628
  }
306
629
  if (isLayoutPlacementSame(item, prev)) {
630
+ // 확인 필요.. 그룹과 벌크
307
631
  sectionActionHandler &&
308
632
  sectionActionHandler({
309
- type: '@CUSTOMSECTION/CB_CLICKED',
633
+ type: '@CUSTOMSECTION/BLOCK_CLICKED',
310
634
  payload: {
311
- id: numberId
635
+ block: {
636
+ blockId: blockId,
637
+ cbId: numberId,
638
+ type: 'COMPONENT_BLOCK',
639
+ workDir: (_b = (0, group_1.getBlockWorkDirPath)(newblock, editingGroupBlock)) !== null && _b !== void 0 ? _b : 'NOT-FOUND'
640
+ }
312
641
  }
313
642
  });
314
643
  return;
@@ -316,11 +645,12 @@ var CustomSection = (0, react_1.forwardRef)(function CustomSection(props, ref) {
316
645
  if (sectionActionHandler && isIdNumber) {
317
646
  sectionActionHandler({
318
647
  type: '@CUSTOMSECTION/CB_DRAG_STOP',
319
- payload: props
648
+ payload: __assign(__assign({}, props), { blockId: blockId, workDir: (_c = (0, group_1.getBlockWorkDirPath)(newblock, editingGroupBlock)) !== null && _c !== void 0 ? _c : 'NOT-FOUND' })
320
649
  });
321
650
  }
322
651
  };
323
652
  var onResizeStop = function (props) {
653
+ var _a;
324
654
  var prev = props.prev, item = props.item;
325
655
  if (!isEditMode || !item) {
326
656
  return;
@@ -331,23 +661,48 @@ var CustomSection = (0, react_1.forwardRef)(function CustomSection(props, ref) {
331
661
  return;
332
662
  }
333
663
  if (isIdNumber) {
334
- setSelectedCB(numberId);
664
+ var blockId = (0, group_1.formatCbIdToBlockId)(numberId);
665
+ setSelectedBlockId(blockId);
335
666
  }
336
667
  if (sectionActionHandler && isIdNumber) {
337
668
  sectionActionHandler({
338
669
  type: '@CUSTOMSECTION/CB_RESIZE_STOP',
339
- payload: props
670
+ payload: __assign(__assign({}, props), { blockId: (0, group_1.formatCbIdToBlockId)(numberId), workDir: (_a = (0, group_1.getBlockWorkDirPath)(newblock, editingGroupBlock)) !== null && _a !== void 0 ? _a : 'NOT-FOUND' })
671
+ });
672
+ }
673
+ };
674
+ var onAutoFitContent = function (props) {
675
+ var _a;
676
+ var prev = props.prev, item = props.item;
677
+ if (!isEditMode || !item) {
678
+ return;
679
+ }
680
+ var numberId = Number(item.i);
681
+ var isIdNumber = !Number.isNaN(numberId);
682
+ if (isLayoutPlacementSame(item, prev)) {
683
+ return;
684
+ }
685
+ if (isIdNumber) {
686
+ var blockId = (0, group_1.formatCbIdToBlockId)(numberId);
687
+ setSelectedBlockId(blockId);
688
+ }
689
+ if (sectionActionHandler && isIdNumber) {
690
+ sectionActionHandler({
691
+ type: '@CUSTOMSECTION/CB_AUTO_FIT_CONTENT',
692
+ payload: __assign(__assign({}, props), { details: { hadPaddingChanged: props.hasPaddingChanged }, blockId: (0, group_1.formatCbIdToBlockId)(numberId), workDir: (_a = (0, group_1.getBlockWorkDirPath)(newblock, editingGroupBlock)) !== null && _a !== void 0 ? _a : 'NOT-FOUND' })
340
693
  });
341
694
  }
342
695
  };
343
- var onClickSection = function () {
696
+ var onClickSection = function (e) {
344
697
  if (!isEditMode) {
345
698
  return;
346
699
  }
347
- if ((0, useGroupDrag_2.getGroupCB)(layouts[layoutByDevice])) {
348
- breakGroupCB();
700
+ if (editingGroupBlock !== 'ROOT') {
701
+ onClickGroup(e, editingGroupBlock);
702
+ return;
349
703
  }
350
- setSelectedCB(null);
704
+ setBulkBlockIds([]);
705
+ setSelectedBlockId(null);
351
706
  sectionActionHandler &&
352
707
  sectionActionHandler({
353
708
  type: '@CUSTOMSECTION/SECTION_CLICKED',
@@ -356,6 +711,50 @@ var CustomSection = (0, react_1.forwardRef)(function CustomSection(props, ref) {
356
711
  }
357
712
  });
358
713
  };
714
+ var onContextGroup = function (e, blockId, isEditingGroup) {
715
+ var _a, _b, _c;
716
+ setSelectedBlockId(blockId);
717
+ var block = (0, group_1.findBlockByBlockId)(newblock, blockId);
718
+ if ((block === null || block === void 0 ? void 0 : block.type) === 'COMPONENT_BLOCK') {
719
+ return;
720
+ }
721
+ sectionActionHandler &&
722
+ sectionActionHandler({
723
+ type: '@CUSTOMSECTION/GROUP_RIGHT_CLICKED',
724
+ payload: {
725
+ block: {
726
+ blockId: blockId,
727
+ type: 'GROUP_BLOCK',
728
+ workDir: (_a = (0, group_1.getBlockWorkDirPath)(newblock, editingGroupBlock)) !== null && _a !== void 0 ? _a : 'NOT-FOUND',
729
+ childrenBlockIds: (_b = (0, group_1.findDirectChildrenBlockIds)(newblock, blockId)) !== null && _b !== void 0 ? _b : [],
730
+ childrenCBIds: (_c = (0, group_1.findDirectChildrenCbIds)(newblock, blockId)) !== null && _c !== void 0 ? _c : []
731
+ },
732
+ e: e,
733
+ isEditingGroup: isEditingGroup
734
+ }
735
+ });
736
+ };
737
+ var onContextSection = function (e) {
738
+ if (editingGroupBlock !== 'ROOT') {
739
+ e.preventDefault();
740
+ return;
741
+ }
742
+ if (!isEditMode) {
743
+ return;
744
+ }
745
+ if ((0, group_2.getGroupCB)(layouts[layoutByDevice])) {
746
+ setBulkBlockIds([]);
747
+ }
748
+ setSelectedBlockId(null);
749
+ sectionActionHandler &&
750
+ sectionActionHandler({
751
+ type: '@CUSTOMSECTION/SECTION_RIGHT_CLICKED',
752
+ payload: {
753
+ sectionId: props.id,
754
+ e: e
755
+ }
756
+ });
757
+ };
359
758
  var onWidthChange = function (width) {
360
759
  var responsiveFontMode =
361
760
  // NOTE: local환경에서 CB_CONTENT_PROP_SECTION이 없는 경우가 있음.
@@ -363,118 +762,333 @@ var CustomSection = (0, react_1.forwardRef)(function CustomSection(props, ref) {
363
762
  if (device === 'MOBILE') {
364
763
  var cellWidth_1 = width / MOBILE_GRID_COLS;
365
764
  setRowHeight(cellWidth_1 * 0.56);
366
- baseFontSize !== 16 && setBaseFontSize(16);
765
+ // baseFontSize !== 16 && setBaseFontSize(width * 0.0133);
766
+ responsiveFontMode ? setBaseFontSize(width * 0.0421) : setBaseFontSize(16);
367
767
  return;
368
768
  }
369
769
  var cellWidth = width / DESKTOP_GRID_COLS;
370
770
  setRowHeight(cellWidth * 0.56);
371
- responsiveFontMode ? setBaseFontSize(cellWidth / 2.35) : setBaseFontSize(16);
771
+ responsiveFontMode ? setBaseFontSize(width * 0.0133) : setBaseFontSize(16);
372
772
  };
373
773
  var padding = (0, parseSectionPadding_1.default)(CB_LAYOUT_PROP_PADDING, device);
374
774
  var breakpoints = device === 'DESKTOP' ? { lg: 100, sm: 0 } : { lg: 1200, sm: 480 };
375
775
  var innerRef = (0, react_1.useRef)(null);
376
- var clickOneCBInBulk = function (id, groupLayouts) {
776
+ var clickOneCBInBulk = function (id) {
777
+ var _a, _b;
778
+ var blockId = (0, group_1.formatCbIdToBlockId)(id);
377
779
  if (shortcutKeyMode === 'COLLISION_SELECT') {
378
- makeCollisionOfBulk();
379
780
  return;
380
781
  }
381
782
  if (shortcutKeyMode === 'BULK_SELECT') {
382
- if (groupLayouts.length <= 2) {
383
- var oneLastLayout = groupLayouts.filter(function (layout) { return layout.i !== id.toString(); });
384
- var oneLastCbId = oneLastLayout[0].i;
385
- breakGroupCB();
386
- if (!oneLastCbId) {
387
- // NOTE: error
783
+ if (bulkBlockIds.length <= 2) {
784
+ var oneLastBlockId = bulkBlockIds.filter(function (each) { return each !== blockId; })[0];
785
+ setBulkBlockIds([]);
786
+ if (!oneLastBlockId) {
787
+ return;
788
+ }
789
+ var cbId = (0, group_1.formatBlockIdToCbId)(oneLastBlockId);
790
+ if (!cbId) {
388
791
  return;
389
792
  }
390
- setSelectedCB(Number(oneLastCbId));
793
+ setSelectedBlockId(oneLastBlockId);
794
+ sectionActionHandler &&
795
+ sectionActionHandler({
796
+ type: '@CUSTOMSECTION/BLOCK_CLICKED',
797
+ payload: {
798
+ block: {
799
+ blockId: oneLastBlockId,
800
+ cbId: cbId,
801
+ type: 'COMPONENT_BLOCK',
802
+ workDir: (_a = (0, group_1.getBlockWorkDirPath)(newblock, editingGroupBlock)) !== null && _a !== void 0 ? _a : 'NOT-FOUND'
803
+ }
804
+ }
805
+ });
806
+ return;
807
+ }
808
+ var filtered = bulkBlockIds.filter(function (each) { return each !== blockId; });
809
+ setBulkBlockIds(filtered);
810
+ var groupDisabled = getWorkDirDirectChildrenLength() === filtered.length;
811
+ var newBulkCBIds = filtered
812
+ .map(function (id) { return (0, group_1.formatBlockIdToCbId)(id); })
813
+ .filter(function (each) { return each !== null; });
814
+ sectionActionHandler &&
815
+ sectionActionHandler({
816
+ type: '@CUSTOMSECTION/BLOCK_CLICKED',
817
+ payload: {
818
+ block: {
819
+ type: 'BULK',
820
+ blockId: 'BULK',
821
+ childrenBlockIds: filtered,
822
+ workDir: (_b = (0, group_1.getBlockWorkDirPath)(newblock, editingGroupBlock)) !== null && _b !== void 0 ? _b : 'NOT-FOUND',
823
+ childrenCBIds: newBulkCBIds,
824
+ groupDisabled: groupDisabled && editingGroupBlock !== 'ROOT'
825
+ }
826
+ }
827
+ });
828
+ }
829
+ };
830
+ var showSectionHiddenCover = (function () {
831
+ if (mode === 'EDIT') {
832
+ var visibilityKey = device === 'DESKTOP'
833
+ ? 'CB_CONTENT_PROP_VISIBILITY_SPEC_DESKTOP'
834
+ : 'CB_CONTENT_PROP_VISIBILITY_SPEC_MOBILEWEB';
835
+ var isSectionVisible = jsonProperties === null || jsonProperties === void 0 ? void 0 : jsonProperties.data.CB_CONTENT_PROP_VISIBILITY[visibilityKey];
836
+ // 가시성 상태를 반전하여 숨겨진 커버를 표시할지 결정
837
+ var shouldShowHiddenCover = !isSectionVisible;
838
+ return shouldShowHiddenCover;
839
+ }
840
+ return false;
841
+ })();
842
+ var onDoubleClickGroup = function (e, id) {
843
+ e.stopPropagation();
844
+ if (id === 'BULK') {
845
+ return;
846
+ }
847
+ setEditingGroupBlock(id);
848
+ };
849
+ var onDoubleClickOutsideGroup = function () {
850
+ setEditingGroupBlock('ROOT');
851
+ setSelectedBlockId(null);
852
+ };
853
+ var onClickGroup = function (e, id) {
854
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
855
+ e.stopPropagation();
856
+ if (id === 'BULK') {
857
+ return;
858
+ }
859
+ if (editingGroupBlock === id && shortcutKeyMode === 'BULK_SELECT') {
860
+ return;
861
+ }
862
+ if (bulkBlockIds.includes(id) && shortcutKeyMode === 'BULK_SELECT') {
863
+ if (bulkBlockIds.length <= 2) {
864
+ var oneLastBlockId = bulkBlockIds.filter(function (each) { return each !== id; })[0];
865
+ setBulkBlockIds([]);
866
+ setSelectedBlockId(oneLastBlockId);
867
+ sectionActionHandler &&
868
+ sectionActionHandler({
869
+ type: '@CUSTOMSECTION/BLOCK_CLICKED',
870
+ payload: {
871
+ block: {
872
+ blockId: oneLastBlockId,
873
+ type: 'GROUP_BLOCK',
874
+ workDir: (_a = (0, group_1.getBlockWorkDirPath)(newblock, editingGroupBlock)) !== null && _a !== void 0 ? _a : 'NOT-FOUND',
875
+ childrenBlockIds: (_b = (0, group_1.findDirectChildrenBlockIds)(newblock, oneLastBlockId)) !== null && _b !== void 0 ? _b : [],
876
+ childrenCBIds: (_c = (0, group_1.findDirectChildrenCbIds)(newblock, oneLastBlockId)) !== null && _c !== void 0 ? _c : []
877
+ }
878
+ }
879
+ });
880
+ return;
881
+ }
882
+ var newBulkBlockIds_1 = bulkBlockIds.filter(function (each) { return each !== id; });
883
+ var newBulkCBIds_1 = newBulkBlockIds_1
884
+ .map(function (id) { return (0, group_1.formatBlockIdToCbId)(id); })
885
+ .filter(function (each) { return each !== null; });
886
+ var childrenCBIds_1 = [];
887
+ if (newBulkCBIds_1.length === 0) {
888
+ var oneCB = (0, group_1.findOneComponentBlock)(newblock, newBulkBlockIds_1[0]);
889
+ childrenCBIds_1 = oneCB ? [oneCB] : [];
890
+ }
891
+ else {
892
+ childrenCBIds_1 = newBulkCBIds_1;
893
+ }
894
+ setBulkBlockIds(newBulkBlockIds_1);
895
+ var groupDisabled = getWorkDirDirectChildrenLength() === newBulkBlockIds_1.length;
896
+ sectionActionHandler &&
897
+ sectionActionHandler({
898
+ type: '@CUSTOMSECTION/BLOCK_CLICKED',
899
+ payload: {
900
+ block: {
901
+ blockId: 'BULK',
902
+ type: 'BULK',
903
+ childrenBlockIds: newBulkBlockIds_1,
904
+ childrenCBIds: childrenCBIds_1,
905
+ workDir: (_d = (0, group_1.getBlockWorkDirPath)(newblock, editingGroupBlock)) !== null && _d !== void 0 ? _d : 'NOT-FOUND',
906
+ groupDisabled: groupDisabled && editingGroupBlock !== 'ROOT'
907
+ }
908
+ }
909
+ });
910
+ return;
911
+ }
912
+ if (shortcutKeyMode === 'BULK_SELECT') {
913
+ var added = (function () {
914
+ if (selectedBlockId === editingGroupBlock) {
915
+ return [id];
916
+ }
917
+ return selectedBlockId ? [selectedBlockId, id] : [id];
918
+ })();
919
+ if (bulkBlockIds.length === 0 && added.length === 1) {
920
+ setSelectedBlockId(id);
921
+ setBulkBlockIds([]);
391
922
  sectionActionHandler &&
392
923
  sectionActionHandler({
393
- type: '@CUSTOMSECTION/CB_CLICKED',
924
+ type: '@CUSTOMSECTION/BLOCK_CLICKED',
394
925
  payload: {
395
- id: Number(oneLastCbId)
926
+ block: {
927
+ blockId: id,
928
+ type: 'GROUP_BLOCK',
929
+ workDir: (_e = (0, group_1.getBlockWorkDirPath)(newblock, editingGroupBlock)) !== null && _e !== void 0 ? _e : 'NOT-FOUND',
930
+ childrenBlockIds: (_f = (0, group_1.findDirectChildrenBlockIds)(newblock, id)) !== null && _f !== void 0 ? _f : [],
931
+ childrenCBIds: (_g = (0, group_1.findDirectChildrenCbIds)(newblock, id)) !== null && _g !== void 0 ? _g : []
932
+ }
396
933
  }
397
934
  });
398
935
  return;
399
936
  }
400
- escapeFromGroup(id.toString());
937
+ var newBulkBlockIds_2 = Array.from(new Set(__spreadArray(__spreadArray([], bulkBlockIds, true), added, true)));
938
+ var newBulkCBIds_2 = newBulkBlockIds_2
939
+ .map(function (id) { return (0, group_1.formatBlockIdToCbId)(id); })
940
+ .filter(function (each) { return each !== null; });
941
+ setBulkBlockIds(newBulkBlockIds_2);
942
+ setSelectedBlockId(null);
943
+ var childrenCBIds_2 = [];
944
+ if (newBulkCBIds_2.length === 0) {
945
+ var oneCB = (0, group_1.findOneComponentBlock)(newblock, newBulkBlockIds_2[0]);
946
+ childrenCBIds_2 = oneCB ? [oneCB] : [];
947
+ }
948
+ else {
949
+ childrenCBIds_2 = newBulkCBIds_2;
950
+ }
951
+ var groupDisabled = getWorkDirDirectChildrenLength() === newBulkBlockIds_2.length;
952
+ sectionActionHandler &&
953
+ sectionActionHandler({
954
+ type: '@CUSTOMSECTION/BLOCK_CLICKED',
955
+ payload: {
956
+ block: {
957
+ blockId: 'BULK',
958
+ type: 'BULK',
959
+ childrenBlockIds: newBulkBlockIds_2,
960
+ childrenCBIds: childrenCBIds_2,
961
+ workDir: (_h = (0, group_1.getBlockWorkDirPath)(newblock, editingGroupBlock)) !== null && _h !== void 0 ? _h : 'NOT-FOUND',
962
+ groupDisabled: groupDisabled && editingGroupBlock !== 'ROOT'
963
+ }
964
+ }
965
+ });
966
+ return;
967
+ }
968
+ setBulkBlockIds([]);
969
+ setSelectedBlockId(id);
970
+ var newBulkBlockIds = (0, group_1.findDirectChildrenBlockIds)(newblock, id);
971
+ var newBulkCBIds = newBulkBlockIds
972
+ .map(function (id) { return (0, group_1.formatBlockIdToCbId)(id); })
973
+ .filter(function (each) { return each !== null; });
974
+ var childrenCBIds = [];
975
+ if (newBulkCBIds.length === 0) {
976
+ var oneCB = (0, group_1.findOneComponentBlock)(newblock, newBulkBlockIds[0]);
977
+ childrenCBIds = oneCB ? [oneCB] : [];
401
978
  }
979
+ else {
980
+ childrenCBIds = newBulkCBIds;
981
+ }
982
+ sectionActionHandler &&
983
+ sectionActionHandler({
984
+ type: '@CUSTOMSECTION/BLOCK_CLICKED',
985
+ payload: {
986
+ block: {
987
+ blockId: id,
988
+ type: 'GROUP_BLOCK',
989
+ workDir: (_j = (0, group_1.getBlockWorkDirPath)(newblock, editingGroupBlock)) !== null && _j !== void 0 ? _j : 'NOT-FOUND',
990
+ childrenBlockIds: newBulkBlockIds,
991
+ childrenCBIds: childrenCBIds
992
+ }
993
+ }
994
+ });
402
995
  };
403
- var onClickBulk = function () {
404
- if (shortcutKeyMode !== 'COLLISION_SELECT') {
996
+ var onBulkDragStop = function (_a) {
997
+ var _b;
998
+ var updatedItems = _a.updatedItems, item = _a.item;
999
+ if ((item === null || item === void 0 ? void 0 : item.i) === 'BULK') {
1000
+ sectionActionHandler &&
1001
+ sectionActionHandler({
1002
+ type: '@CUSTOMSECTION/BULK_DRAG_STOP',
1003
+ payload: {
1004
+ updatedBlocks: updatedItems.map(function (i) { return ({
1005
+ cbId: Number(i.id),
1006
+ blockId: (0, group_1.formatCbIdToBlockId)(Number(i.id)),
1007
+ x: i.x,
1008
+ y: i.y
1009
+ }); })
1010
+ }
1011
+ });
405
1012
  return;
406
1013
  }
407
- makeCollisionOfBulk();
1014
+ if (item) {
1015
+ sectionActionHandler &&
1016
+ sectionActionHandler({
1017
+ type: '@CUSTOMSECTION/GROUP_DRAG_STOP',
1018
+ payload: {
1019
+ workDir: (_b = (0, group_1.getBlockWorkDirPath)(newblock, item.i)) !== null && _b !== void 0 ? _b : 'NOT-FOUND',
1020
+ updatedBlocks: updatedItems.map(function (i) { return ({
1021
+ cbId: Number(i.id),
1022
+ blockId: (0, group_1.formatCbIdToBlockId)(Number(i.id)),
1023
+ x: i.x,
1024
+ y: i.y
1025
+ }); })
1026
+ }
1027
+ });
1028
+ }
408
1029
  };
409
- return ((0, jsx_runtime_1.jsx)(ErrorBoundary_1.ErrorBoundary, { children: (0, jsx_runtime_1.jsx)(S_gleStyles, { children: (0, jsx_runtime_1.jsx)(S_SectionWrapper, __assign({ ref: gleRef, "x-dlayout-section-type": "NO_NAME", onClick: onClickSection }, { children: (0, jsx_runtime_1.jsx)(customSectionContext_1.CustomSectionContext.Provider, __assign({ value: { rowHeight: rowHeight, setLayouts: setLayouts, sectionActionHandler: sectionActionHandler } }, { children: (0, jsx_runtime_1.jsx)(components_1.CustomSection, __assign({}, props, { isMobile: isMobile, overrideStyles: {
1030
+ (0, react_1.useLayoutEffect)(function () {
1031
+ if (innerRef.current) {
1032
+ innerRef.current.setAttribute('data-section-id', props.id.toString());
1033
+ }
1034
+ }, []);
1035
+ function getWorkDirDirectChildrenLength() {
1036
+ var ids = (0, group_1.findDirectChildrenBlockIds)(newblock, editingGroupBlock).filter(function (each) { return each !== 'BULK'; });
1037
+ return ids.length + bulkBlockIds.length;
1038
+ }
1039
+ var editableCBIDs = (0, group_1.findDirectChildrenCbIds)(newblock, editingGroupBlock);
1040
+ return ((0, jsx_runtime_1.jsx)(ErrorBoundary_1.ErrorBoundary, { children: (0, jsx_runtime_1.jsxs)(gleStyles_1.S_gleStyles, __assign({ isBulkMode: shortcutKeyMode === 'BULK_SELECT' }, { children: [showSectionHiddenCover && (0, jsx_runtime_1.jsx)(S_HiddenCover_1.S_HiddenCover, {}), (0, jsx_runtime_1.jsx)(S_SectionWrapper, __assign({ ref: gleRef, "x-dlayout-section-type": "NO_NAME", onClick: onClickSection, onContextMenu: function (e) {
1041
+ e.stopPropagation();
1042
+ e.preventDefault();
1043
+ onContextSection(e);
1044
+ } }, { children: (0, jsx_runtime_1.jsx)(components_1.CustomSection, __assign({}, props, { isMobile: isMobile, overrideStyles: {
410
1045
  minHeight: customSectionStyles.minHeight,
411
1046
  paddingTop: padding.top,
412
1047
  paddingBottom: padding.bottom,
413
1048
  paddingRight: padding.right,
414
1049
  paddingLeft: padding.left
415
- } }, { children: (0, jsx_runtime_1.jsx)(Responsive, __assign({ innerRef: innerRef, allowOverlap: true, layouts: layouts, resizeHandles: ['nw', 'e', 'n', 'ne', 's', 'se', 'sw', 'w'], breakpoints: breakpoints, breakpoint: breakpoint, cols: { lg: 24, sm: 8 }, rowHeight: rowHeight, margin: [exports.GUTTER, exports.GUTTER], style: {
1050
+ } }, { children: (0, jsx_runtime_1.jsx)(Responsive, __assign({ sectionId: props.id.toString(), innerRef: innerRef, className: (0, clsx_1.clsx)({
1051
+ 'selected-grid-layout': editingSectionId === props.id
1052
+ }), allowOverlap: true, layouts: layouts, resizeHandles: ['nw', 'e', 'n', 'ne', 's', 'se', 'sw', 'w'], breakpoints: breakpoints, breakpoint: breakpoint, cols: { lg: colsDesktop, sm: colsMobile }, rowHeight: rowHeight, margin: [10, 10], style: {
416
1053
  width: customSectionStyles.width,
417
1054
  maxWidth: customSectionStyles.maxWidth,
418
1055
  minWidth: isMobile ? GLE_MIN_WIDTH_MOBILE_PX : GLE_MIN_WIDTH_DESKTOP_PX,
419
1056
  fontSize: "".concat(baseFontSize, "px")
420
- }, onLayoutChange: onLayoutChange, onDragStop: onDragStop, onResizeStop: onResizeStop, onWidthChange: onWidthChange, minNbRow: rows, isDraggable: isEditMode, isResizable: isEditMode }, { children: keepSimilarOrderToPreventRerender(layouts[layoutByDevice]).map(function (each, index) {
421
- var _a;
422
- if (each === null) {
423
- return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
424
- }
1057
+ }, onLayoutChange: onLayoutChange, onDragStart: onDragStart, onDragStop: onDragStop, onResizeStop: onResizeStop, onDragStopForGroup: onBulkDragStop, onFitToContent: onAutoFitContent, onWidthChange: onWidthChange, minNbRow: rows, isDraggable: isEditMode, isResizable: isEditMode, zoom: zoomScale,
1058
+ // GROUP
1059
+ selectedGroupBlock: (_d = selectedBlockId === null || selectedBlockId === void 0 ? void 0 : selectedBlockId.toString()) !== null && _d !== void 0 ? _d : 'ROOT', editingGroupBlock: editingGroupBlock, blockStructure: newblock, bulkIds: bulkBlockIds, onDoubleClickGroup: onDoubleClickGroup, onClickGroup: onClickGroup, onDoubleClickOutsideGroup: onDoubleClickOutsideGroup, onContextGroup: onContextGroup }, { children: layouts[layoutByDevice].map(function (each, index) {
425
1060
  var matchedCB = componentBlocks === null || componentBlocks === void 0 ? void 0 : componentBlocks.find(function (cb) { return cb.id.toString() === each.i; });
426
- if (each.i === 'group' && each.groupLayouts) {
427
- return ((0, jsx_runtime_1.jsx)("div", __assign({ className: "iamgroup", onClick: function (e) {
428
- e.stopPropagation();
429
- onClickBulk();
430
- }, onContextMenu: function (e) {
431
- e.stopPropagation();
432
- e.preventDefault();
433
- onContextMenuCB('group', e);
434
- } }, { children: (0, jsx_runtime_1.jsx)(WidthProvidedRGL, __assign({ cols: each.w, allowOverlap: true, layout: each.groupLayouts, rowHeight: rowHeight, containerPadding: [0, 0], margin: [exports.GUTTER, exports.GUTTER], isDraggable: false, isResizable: false, style: {
435
- width: '100%'
436
- } }, { children: (_a = each.groupLayouts) === null || _a === void 0 ? void 0 : _a.map(function (layoutItem, index, array) {
437
- var matchedCB = componentBlocks === null || componentBlocks === void 0 ? void 0 : componentBlocks.find(function (cb) { return cb.id.toString() === layoutItem.i; });
438
- if (!matchedCB) {
439
- return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
440
- }
441
- var cbCopy = (0, deepCopy_1.default)(matchedCB);
442
- cbCopy.jsonProperties.data.CB_EFFECT_PROP_ENTANIM.CB_EFFECT_PROP_ENTANIM_SPEC_TYPE =
443
- 'NONE';
444
- cbCopy.jsonProperties.data.CB_EFFECT_PROP_ENTANIM['CB_EFFECT_PROP_ENTANIM_SPEC_TYPE:MOBILE'] = 'NONE';
445
- return ((0, jsx_runtime_1.jsx)("div", __assign({ className: "cb-box-in-group", onClick: function (e) {
446
- e.stopPropagation();
447
- clickOneCBInBulk(matchedCB.id, array);
448
- } }, { children: (0, jsx_runtime_1.jsx)(ErrorBoundary_1.ErrorBoundary, { children: (0, jsx_runtime_1.jsx)(ComponentBlockMatcher_1.default, { id: cbCopy.id, cbProps: cbCopy, device: device, index: index }) }) }), matchedCB.id));
449
- }) })) }), each.i));
450
- }
1061
+ var isInBulk = bulkBlockIds.includes((0, group_1.formatCbIdToBlockId)(Number(each.i)));
451
1062
  if (!matchedCB) {
452
1063
  return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
453
1064
  }
454
- return ((0, jsx_runtime_1.jsx)("div", __assign({ className: selectedCB === matchedCB.id ? 'react-grid-item-selected' : '' }, { children: (0, jsx_runtime_1.jsx)("div", __assign({ style: {
1065
+ return ((0, jsx_runtime_1.jsx)("div", __assign({ className: (0, clsx_1.clsx)({
1066
+ 'react-grid-item-selected': selectedBlockId === (0, group_1.formatCbIdToBlockId)(matchedCB.id)
1067
+ }) }, { children: (0, jsx_runtime_1.jsx)("div", __assign({ className: (0, clsx_1.clsx)({
1068
+ 'grid-item-child': true
1069
+ }), style: {
455
1070
  width: '100%',
456
1071
  height: '100%'
457
1072
  }, onClick: function (e) {
458
1073
  e.stopPropagation();
1074
+ if (isInBulk) {
1075
+ clickOneCBInBulk(matchedCB.id);
1076
+ return;
1077
+ }
1078
+ if (editingGroupBlock !== 'ROOT') {
1079
+ if (!editableCBIDs.includes(matchedCB.id)) {
1080
+ e.preventDefault();
1081
+ return;
1082
+ }
1083
+ }
459
1084
  onClickCB(matchedCB.id);
460
1085
  }, onContextMenu: function (e) {
461
1086
  e.stopPropagation();
462
1087
  e.preventDefault();
463
1088
  onContextMenuCB(matchedCB.id, e);
464
- } }, { children: (0, jsx_runtime_1.jsx)(ErrorBoundary_1.ErrorBoundary, { children: (0, jsx_runtime_1.jsx)(ComponentBlockMatcher_1.default, { id: Number(each.i), cbProps: matchedCB, device: device, index: index }) }) })) }), each.i));
465
- }) })) })) })) })) }) }));
1089
+ } }, { children: (0, jsx_runtime_1.jsx)(ErrorBoundary_1.ErrorBoundary, { children: (0, jsx_runtime_1.jsx)(ComponentBlockMatcher_1.default, { cbProps: matchedCB, device: device, rowHeight: rowHeight, index: index }) }) })) }), each.i));
1090
+ }) })) })) }))] })) }));
466
1091
  });
467
- function keepSimilarOrderToPreventRerender(arr) {
468
- var _a;
469
- var arrCopy = __spreadArray([], arr, true).sort(function (a, b) { return Number(a.i) - Number(b.i); });
470
- var groupIdx = arrCopy.findIndex(function (each) { return each.i === 'group'; });
471
- if (groupIdx >= 0) {
472
- var group = arrCopy.splice(groupIdx, 1)[0];
473
- (_a = group.groupLayouts) === null || _a === void 0 ? void 0 : _a.sort(function (a, b) { return Number(a.i) - Number(b.i); });
474
- return __spreadArray([group], arrCopy, true);
475
- }
476
- return __spreadArray([null], arrCopy, true);
477
- }
478
1092
  function isLayoutPlacementSame(current, prev) {
479
1093
  if (!prev) {
480
1094
  return false;
@@ -486,7 +1100,6 @@ function isLayoutPlacementSame(current, prev) {
486
1100
  prev.z === current.z &&
487
1101
  prev.i === current.i);
488
1102
  }
489
- var S_gleStyles = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n * {\n box-sizing: border-box;\n }\n\n .iamgroup .cb-box-in-group:after {\n box-shadow: 0 0 0 3px #027aff;\n bottom: 0;\n box-sizing: border-box;\n content: '';\n display: block;\n height: 100%;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n width: 100%;\n }\n\n .cb-box-in-group:hover:after {\n box-shadow: 0 0 0 3px #d902ff;\n bottom: 0;\n box-sizing: border-box;\n content: '';\n display: block;\n height: 100%;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n width: 100%;\n }\n\n .iamgroup {\n box-shadow: 0 0 0 3px #027aff;\n opacity: 1;\n }\n\n .react-grid-layout {\n position: relative;\n z-index: 1;\n }\n\n .react-grid-layout .grid-placeholder {\n box-sizing: border-box;\n }\n\n .react-grid-item {\n left: 0;\n position: absolute;\n top: 0;\n z-index: 1;\n }\n\n .react-grid-item.react-draggable.react-resizable:not(.react-grid-item-selected):not(.iamgroup):hover {\n box-shadow: 0 0 0 3px #d902ff;\n }\n\n .react-grid-item-selected {\n box-shadow: 0 0 0 3px #027aff;\n }\n\n .react-grid-item img {\n pointer-events: none;\n user-select: none;\n }\n\n .react-grid-item.isResizing,\n .react-grid-item.isResizing .cb-layout-box,\n .react-grid-item.isResizing .cb-layout-box .cb-divider {\n visibility: hidden;\n }\n\n .react-grid-item.react-draggable.isDragging,\n .react-grid-item.react-draggable.isDragging .cb-layout-box,\n .react-grid-item.react-draggable.isDragging .cb-layout-box .cb-divider {\n visibility: hidden;\n }\n\n /* .react-grid-item.react-draggable.isDragging .cb-layout-box .twitter-embed-container {\n visibility: hidden;\n } */\n\n .react-grid-item.isResizing > .react-resizable-handle,\n .react-grid-item.react-draggable.isDragging > .react-resizable-handle {\n visibility: hidden;\n }\n\n .react-grid-item.dropping {\n visibility: hidden;\n }\n\n .react-grid-item.static::after {\n color: red;\n content: \"this is static, can't drag\";\n left: 50%;\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%);\n }\n\n .react-grid-item.placeholder {\n -moz-user-select: none;\n -ms-user-select: none;\n -o-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n z-index: 9999;\n }\n\n .react-grid-item > .react-resizable-handle::after {\n background: rgb(255, 255, 255);\n border: 3px solid rgb(2, 122, 255);\n content: '';\n height: 5px;\n position: absolute;\n width: 5px;\n }\n\n .react-resizable-handle {\n visibility: hidden;\n }\n\n .react-grid-item-selected > .react-resizable-handle {\n visibility: visible;\n }\n\n /* NOTE: Resizable related */\n .react-resizable {\n position: relative;\n }\n\n .react-resizable-handle {\n align-items: center;\n background-origin: content-box;\n background-repeat: no-repeat;\n box-sizing: border-box;\n display: flex;\n height: 20px;\n justify-content: center;\n position: absolute;\n width: 20px;\n }\n\n .react-resizable-handle-sw {\n bottom: 0;\n cursor: sw-resize;\n left: 0;\n transform: translate(-50%, 50%);\n }\n\n .react-resizable-handle-se {\n bottom: 0;\n cursor: se-resize;\n right: 0;\n transform: translate(50%, 50%);\n }\n\n .react-resizable-handle-nw {\n cursor: nw-resize;\n left: 0;\n top: 0;\n transform: translate(-50%, -50%);\n }\n\n .react-resizable-handle-ne {\n cursor: ne-resize;\n right: 0;\n top: 0;\n transform: translate(50%, -50%);\n }\n\n .react-resizable-handle-w,\n .react-resizable-handle-e {\n cursor: ew-resize;\n top: 50%;\n }\n\n .react-resizable-handle-w {\n left: 0;\n transform: translate(-50%, -50%);\n }\n\n .react-resizable-handle-e {\n right: 0;\n transform: translate(50%, -50%);\n }\n\n .react-resizable-handle-n,\n .react-resizable-handle-s {\n cursor: ns-resize;\n left: 50%;\n }\n\n .react-resizable-handle-n {\n top: 0;\n transform: translate(-50%, -50%);\n }\n\n .react-resizable-handle-s {\n bottom: 0;\n transform: translate(-50%, 50%);\n }\n\n .grid-placeholder {\n position: absolute;\n z-index: 0;\n }\n\n .grid-pattern-rect {\n fill: #0000001a;\n stroke: #ffffff33;\n }\n\n .react-grid-item.placeholder .cb-layout-box,\n .react-grid-item.placeholder .cb-layout-box .cb-divider {\n animation: none;\n }\n\n .react-grid-item.placeholder {\n box-shadow: 0 0 0 3px #027aff;\n }\n\n .react-grid-item.placeholder > .react-resizable-handle {\n visibility: hidden;\n }\n\n .grid-guide-line-center {\n border-color: #ff463aff;\n border-style: dashed;\n border-width: 1px;\n height: 100%;\n left: 50%;\n position: absolute;\n transform: translateX(-50%);\n z-index: 99999;\n }\n\n /* NOTE: Effects */\n\n @-webkit-keyframes fade-in {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n\n @keyframes fade-in {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n\n @-webkit-keyframes fade-in-fwd {\n 0% {\n -webkit-transform: translateZ(-80px);\n transform: translateZ(-80px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n opacity: 1;\n }\n }\n\n @keyframes fade-in-fwd {\n 0% {\n -webkit-transform: translateZ(-80px);\n transform: translateZ(-80px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n opacity: 1;\n }\n }\n\n @-webkit-keyframes fade-in-bck {\n 0% {\n -webkit-transform: translateZ(80px);\n transform: translateZ(80px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n opacity: 1;\n }\n }\n @keyframes fade-in-bck {\n 0% {\n -webkit-transform: translateZ(80px);\n transform: translateZ(80px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n opacity: 1;\n }\n }\n\n @-webkit-keyframes fade-in-top {\n 0% {\n -webkit-transform: translateY(-50px);\n transform: translateY(-50px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n opacity: 1;\n }\n }\n @keyframes fade-in-top {\n 0% {\n -webkit-transform: translateY(-50px);\n transform: translateY(-50px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n opacity: 1;\n }\n }\n\n @-webkit-keyframes fade-in-right {\n 0% {\n -webkit-transform: translateX(50px);\n transform: translateX(50px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n opacity: 1;\n }\n }\n @keyframes fade-in-right {\n 0% {\n -webkit-transform: translateX(50px);\n transform: translateX(50px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:29:36\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation fade-in-bottom\n * ----------------------------------------\n */\n @-webkit-keyframes fade-in-bottom {\n 0% {\n -webkit-transform: translateY(50px);\n transform: translateY(50px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n opacity: 1;\n }\n }\n @keyframes fade-in-bottom {\n 0% {\n -webkit-transform: translateY(50px);\n transform: translateY(50px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:29:52\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation fade-in-left\n * ----------------------------------------\n */\n @-webkit-keyframes fade-in-left {\n 0% {\n -webkit-transform: translateX(-50px);\n transform: translateX(-50px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n opacity: 1;\n }\n }\n @keyframes fade-in-left {\n 0% {\n -webkit-transform: translateX(-50px);\n transform: translateX(-50px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:53:50\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation slide-in-top\n * ----------------------------------------\n */\n @-webkit-keyframes slide-in-top {\n 0% {\n -webkit-transform: translateY(-1000px);\n transform: translateY(-1000px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n opacity: 1;\n }\n }\n @keyframes slide-in-top {\n 0% {\n -webkit-transform: translateY(-1000px);\n transform: translateY(-1000px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:54:47\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation slide-in-right\n * ----------------------------------------\n */\n @-webkit-keyframes slide-in-right {\n 0% {\n -webkit-transform: translateX(1000px);\n transform: translateX(1000px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n opacity: 1;\n }\n }\n @keyframes slide-in-right {\n 0% {\n -webkit-transform: translateX(1000px);\n transform: translateX(1000px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:54:1\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation slide-in-bottom\n * ----------------------------------------\n */\n @-webkit-keyframes slide-in-bottom {\n 0% {\n -webkit-transform: translateY(1000px);\n transform: translateY(1000px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n opacity: 1;\n }\n }\n @keyframes slide-in-bottom {\n 0% {\n -webkit-transform: translateY(1000px);\n transform: translateY(1000px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:54:28\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation slide-in-left\n * ----------------------------------------\n */\n @-webkit-keyframes slide-in-left {\n 0% {\n -webkit-transform: translateX(-1000px);\n transform: translateX(-1000px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n opacity: 1;\n }\n }\n @keyframes slide-in-left {\n 0% {\n -webkit-transform: translateX(-1000px);\n transform: translateX(-1000px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 1:52:59\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation tracking-in-contract\n * ----------------------------------------\n */\n @-webkit-keyframes tracking-in-contract {\n 0% {\n letter-spacing: 1em;\n opacity: 0;\n }\n 40% {\n opacity: 0.6;\n }\n 100% {\n letter-spacing: normal;\n opacity: 1;\n }\n }\n @keyframes tracking-in-contract {\n 0% {\n letter-spacing: 1em;\n opacity: 0;\n }\n 40% {\n opacity: 0.6;\n }\n 100% {\n letter-spacing: normal;\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:47:57\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation rotate-in-2-cw\n * ----------------------------------------\n */\n @-webkit-keyframes rotate-in-2-cw {\n 0% {\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg);\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotate(0);\n transform: rotate(0);\n opacity: 1;\n }\n }\n @keyframes rotate-in-2-cw {\n 0% {\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg);\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotate(0);\n transform: rotate(0);\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:52:54\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation rotate-in-2-ccw\n * ----------------------------------------\n */\n @-webkit-keyframes rotate-in-2-ccw {\n 0% {\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotate(0);\n transform: rotate(0);\n opacity: 1;\n }\n }\n @keyframes rotate-in-2-ccw {\n 0% {\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotate(0);\n transform: rotate(0);\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:34:56\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation swing-in-top-fwd\n * ----------------------------------------\n */\n @-webkit-keyframes swing-in-top-fwd {\n 0% {\n -webkit-transform: rotateX(-100deg);\n transform: rotateX(-100deg);\n -webkit-transform-origin: top;\n transform-origin: top;\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotateX(0deg);\n transform: rotateX(0deg);\n -webkit-transform-origin: top;\n transform-origin: top;\n opacity: 1;\n }\n }\n @keyframes swing-in-top-fwd {\n 0% {\n -webkit-transform: rotateX(-100deg);\n transform: rotateX(-100deg);\n -webkit-transform-origin: top;\n transform-origin: top;\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotateX(0deg);\n transform: rotateX(0deg);\n -webkit-transform-origin: top;\n transform-origin: top;\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:35:56\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation swing-in-top-bck\n * ----------------------------------------\n */\n @-webkit-keyframes swing-in-top-bck {\n 0% {\n -webkit-transform: rotateX(70deg);\n transform: rotateX(70deg);\n -webkit-transform-origin: top;\n transform-origin: top;\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotateX(0deg);\n transform: rotateX(0deg);\n -webkit-transform-origin: top;\n transform-origin: top;\n opacity: 1;\n }\n }\n @keyframes swing-in-top-bck {\n 0% {\n -webkit-transform: rotateX(70deg);\n transform: rotateX(70deg);\n -webkit-transform-origin: top;\n transform-origin: top;\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotateX(0deg);\n transform: rotateX(0deg);\n -webkit-transform-origin: top;\n transform-origin: top;\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:36:18\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation swing-in-right-fwd\n * ----------------------------------------\n */\n @-webkit-keyframes swing-in-right-fwd {\n 0% {\n -webkit-transform: rotateY(-100deg);\n transform: rotateY(-100deg);\n -webkit-transform-origin: right;\n transform-origin: right;\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotateY(0);\n transform: rotateY(0);\n -webkit-transform-origin: right;\n transform-origin: right;\n opacity: 1;\n }\n }\n @keyframes swing-in-right-fwd {\n 0% {\n -webkit-transform: rotateY(-100deg);\n transform: rotateY(-100deg);\n -webkit-transform-origin: right;\n transform-origin: right;\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotateY(0);\n transform: rotateY(0);\n -webkit-transform-origin: right;\n transform-origin: right;\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:36:46\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation swing-in-right-bck\n * ----------------------------------------\n */\n @-webkit-keyframes swing-in-right-bck {\n 0% {\n -webkit-transform: rotateY(70deg);\n transform: rotateY(70deg);\n -webkit-transform-origin: right;\n transform-origin: right;\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotateY(0);\n transform: rotateY(0);\n -webkit-transform-origin: right;\n transform-origin: right;\n opacity: 1;\n }\n }\n @keyframes swing-in-right-bck {\n 0% {\n -webkit-transform: rotateY(70deg);\n transform: rotateY(70deg);\n -webkit-transform-origin: right;\n transform-origin: right;\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotateY(0);\n transform: rotateY(0);\n -webkit-transform-origin: right;\n transform-origin: right;\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:37:11\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation swing-in-bottom-fwd\n * ----------------------------------------\n */\n @-webkit-keyframes swing-in-bottom-fwd {\n 0% {\n -webkit-transform: rotateX(100deg);\n transform: rotateX(100deg);\n -webkit-transform-origin: bottom;\n transform-origin: bottom;\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotateX(0);\n transform: rotateX(0);\n -webkit-transform-origin: bottom;\n transform-origin: bottom;\n opacity: 1;\n }\n }\n\n @keyframes swing-in-bottom-fwd {\n 0% {\n -webkit-transform: rotateX(100deg);\n transform: rotateX(100deg);\n -webkit-transform-origin: bottom;\n transform-origin: bottom;\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotateX(0);\n transform: rotateX(0);\n -webkit-transform-origin: bottom;\n transform-origin: bottom;\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:38:59\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation swing-in-left-fwd\n * ----------------------------------------\n */\n @-webkit-keyframes swing-in-left-fwd {\n 0% {\n -webkit-transform: rotateY(100deg);\n transform: rotateY(100deg);\n -webkit-transform-origin: left;\n transform-origin: left;\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotateY(0);\n transform: rotateY(0);\n -webkit-transform-origin: left;\n transform-origin: left;\n opacity: 1;\n }\n }\n @keyframes swing-in-left-fwd {\n 0% {\n -webkit-transform: rotateY(100deg);\n transform: rotateY(100deg);\n -webkit-transform-origin: left;\n transform-origin: left;\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotateY(0);\n transform: rotateY(0);\n -webkit-transform-origin: left;\n transform-origin: left;\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:40:3\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation swing-in-left-bck\n * ----------------------------------------\n */\n @-webkit-keyframes swing-in-left-bck {\n 0% {\n -webkit-transform: rotateY(-70deg);\n transform: rotateY(-70deg);\n -webkit-transform-origin: left;\n transform-origin: left;\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotateY(0);\n transform: rotateY(0);\n -webkit-transform-origin: left;\n transform-origin: left;\n opacity: 1;\n }\n }\n @keyframes swing-in-left-bck {\n 0% {\n -webkit-transform: rotateY(-70deg);\n transform: rotateY(-70deg);\n -webkit-transform-origin: left;\n transform-origin: left;\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotateY(0);\n transform: rotateY(0);\n -webkit-transform-origin: left;\n transform-origin: left;\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:44:48\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation scale-in-center\n * ----------------------------------------\n */\n @-webkit-keyframes scale-in-center {\n 0% {\n -webkit-transform: scale(0);\n transform: scale(0);\n opacity: 1;\n }\n 100% {\n -webkit-transform: scale(1);\n transform: scale(1);\n opacity: 1;\n }\n }\n @keyframes scale-in-center {\n 0% {\n -webkit-transform: scale(0);\n transform: scale(0);\n opacity: 1;\n }\n 100% {\n -webkit-transform: scale(1);\n transform: scale(1);\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:46:1\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation slide-in-bck-center\n * ----------------------------------------\n */\n @-webkit-keyframes slide-in-bck-center {\n 0% {\n -webkit-transform: translateZ(600px);\n transform: translateZ(600px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n opacity: 1;\n }\n }\n @keyframes slide-in-bck-center {\n 0% {\n -webkit-transform: translateZ(600px);\n transform: translateZ(600px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 1:13:59\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation tracking-in-contract-bck\n * ----------------------------------------\n */\n @-webkit-keyframes tracking-in-contract-bck {\n 0% {\n letter-spacing: 1em;\n -webkit-transform: translateZ(400px);\n transform: translateZ(400px);\n opacity: 0;\n }\n 40% {\n opacity: 0.6;\n }\n 100% {\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n opacity: 1;\n }\n }\n @keyframes tracking-in-contract-bck {\n 0% {\n letter-spacing: 1em;\n -webkit-transform: translateZ(400px);\n transform: translateZ(400px);\n opacity: 0;\n }\n 40% {\n opacity: 0.6;\n }\n 100% {\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 1:11:16\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation text-focus-in\n * ----------------------------------------\n */\n @-webkit-keyframes text-focus-in {\n 0% {\n -webkit-filter: blur(12px);\n filter: blur(12px);\n opacity: 0;\n }\n 100% {\n -webkit-filter: blur(0px);\n filter: blur(0px);\n opacity: 1;\n }\n }\n @keyframes text-focus-in {\n 0% {\n -webkit-filter: blur(12px);\n filter: blur(12px);\n opacity: 0;\n }\n 100% {\n -webkit-filter: blur(0px);\n filter: blur(0px);\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:33:10\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation puff-in-center\n * ----------------------------------------\n */\n @-webkit-keyframes puff-in-center {\n 0% {\n -webkit-transform: scale(2);\n transform: scale(2);\n -webkit-filter: blur(4px);\n filter: blur(4px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: scale(1);\n transform: scale(1);\n -webkit-filter: blur(0px);\n filter: blur(0px);\n opacity: 1;\n }\n }\n @keyframes puff-in-center {\n 0% {\n -webkit-transform: scale(2);\n transform: scale(2);\n -webkit-filter: blur(4px);\n filter: blur(4px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: scale(1);\n transform: scale(1);\n -webkit-filter: blur(0px);\n filter: blur(0px);\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 1:11:29\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation focus-in-contract\n * ----------------------------------------\n */\n @-webkit-keyframes focus-in-contract {\n 0% {\n letter-spacing: 1em;\n -webkit-filter: blur(12px);\n filter: blur(12px);\n opacity: 0;\n }\n 100% {\n -webkit-filter: blur(0px);\n filter: blur(0px);\n opacity: 1;\n }\n }\n @keyframes focus-in-contract {\n 0% {\n letter-spacing: 1em;\n -webkit-filter: blur(12px);\n filter: blur(12px);\n opacity: 0;\n }\n 100% {\n -webkit-filter: blur(0px);\n filter: blur(0px);\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 1:22:44\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation shake-horizontal\n * ----------------------------------------\n */\n @-webkit-keyframes shake-horizontal {\n 0%,\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n 10%,\n 30%,\n 50%,\n 70% {\n -webkit-transform: translateX(-10px);\n transform: translateX(-10px);\n }\n 20%,\n 40%,\n 60% {\n -webkit-transform: translateX(10px);\n transform: translateX(10px);\n }\n 80% {\n -webkit-transform: translateX(8px);\n transform: translateX(8px);\n }\n 90% {\n -webkit-transform: translateX(-8px);\n transform: translateX(-8px);\n }\n }\n @keyframes shake-horizontal {\n 0%,\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n 10%,\n 30%,\n 50%,\n 70% {\n -webkit-transform: translateX(-10px);\n transform: translateX(-10px);\n }\n 20%,\n 40%,\n 60% {\n -webkit-transform: translateX(10px);\n transform: translateX(10px);\n }\n 80% {\n -webkit-transform: translateX(8px);\n transform: translateX(8px);\n }\n 90% {\n -webkit-transform: translateX(-8px);\n transform: translateX(-8px);\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 1:23:8\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation shake-vertical\n * ----------------------------------------\n */\n @-webkit-keyframes shake-vertical {\n 0%,\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n 10%,\n 30%,\n 50%,\n 70% {\n -webkit-transform: translateY(-8px);\n transform: translateY(-8px);\n }\n 20%,\n 40%,\n 60% {\n -webkit-transform: translateY(8px);\n transform: translateY(8px);\n }\n 80% {\n -webkit-transform: translateY(6.4px);\n transform: translateY(6.4px);\n }\n 90% {\n -webkit-transform: translateY(-6.4px);\n transform: translateY(-6.4px);\n }\n }\n @keyframes shake-vertical {\n 0%,\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n 10%,\n 30%,\n 50%,\n 70% {\n -webkit-transform: translateY(-8px);\n transform: translateY(-8px);\n }\n 20%,\n 40%,\n 60% {\n -webkit-transform: translateY(8px);\n transform: translateY(8px);\n }\n 80% {\n -webkit-transform: translateY(6.4px);\n transform: translateY(6.4px);\n }\n 90% {\n -webkit-transform: translateY(-6.4px);\n transform: translateY(-6.4px);\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 1:24:19\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation shake-top\n * ----------------------------------------\n */\n @-webkit-keyframes shake-top {\n 0%,\n 100% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n -webkit-transform-origin: 50% 0;\n transform-origin: 50% 0;\n }\n 10% {\n -webkit-transform: rotate(2deg);\n transform: rotate(2deg);\n }\n 20%,\n 40%,\n 60% {\n -webkit-transform: rotate(-4deg);\n transform: rotate(-4deg);\n }\n 30%,\n 50%,\n 70% {\n -webkit-transform: rotate(4deg);\n transform: rotate(4deg);\n }\n 80% {\n -webkit-transform: rotate(-2deg);\n transform: rotate(-2deg);\n }\n 90% {\n -webkit-transform: rotate(2deg);\n transform: rotate(2deg);\n }\n }\n @keyframes shake-top {\n 0%,\n 100% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n -webkit-transform-origin: 50% 0;\n transform-origin: 50% 0;\n }\n 10% {\n -webkit-transform: rotate(2deg);\n transform: rotate(2deg);\n }\n 20%,\n 40%,\n 60% {\n -webkit-transform: rotate(-4deg);\n transform: rotate(-4deg);\n }\n 30%,\n 50%,\n 70% {\n -webkit-transform: rotate(4deg);\n transform: rotate(4deg);\n }\n 80% {\n -webkit-transform: rotate(-2deg);\n transform: rotate(-2deg);\n }\n 90% {\n -webkit-transform: rotate(2deg);\n transform: rotate(2deg);\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 1:21:6\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation vibrate-1\n * ----------------------------------------\n */\n @-webkit-keyframes vibrate-1 {\n 0% {\n -webkit-transform: translate(0);\n transform: translate(0);\n }\n 20% {\n -webkit-transform: translate(-2px, 2px);\n transform: translate(-2px, 2px);\n }\n 40% {\n -webkit-transform: translate(-2px, -2px);\n transform: translate(-2px, -2px);\n }\n 60% {\n -webkit-transform: translate(2px, 2px);\n transform: translate(2px, 2px);\n }\n 80% {\n -webkit-transform: translate(2px, -2px);\n transform: translate(2px, -2px);\n }\n 100% {\n -webkit-transform: translate(0);\n transform: translate(0);\n }\n }\n @keyframes vibrate-1 {\n 0% {\n -webkit-transform: translate(0);\n transform: translate(0);\n }\n 20% {\n -webkit-transform: translate(-2px, 2px);\n transform: translate(-2px, 2px);\n }\n 40% {\n -webkit-transform: translate(-2px, -2px);\n transform: translate(-2px, -2px);\n }\n 60% {\n -webkit-transform: translate(2px, 2px);\n transform: translate(2px, 2px);\n }\n 80% {\n -webkit-transform: translate(2px, -2px);\n transform: translate(2px, -2px);\n }\n 100% {\n -webkit-transform: translate(0);\n transform: translate(0);\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 1:27:38\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation blink-1\n * ----------------------------------------\n */\n @-webkit-keyframes blink-1 {\n 0%,\n 50%,\n 100% {\n opacity: 1;\n }\n 25%,\n 75% {\n opacity: 0;\n }\n }\n @keyframes blink-1 {\n 0%,\n 50%,\n 100% {\n opacity: 1;\n }\n 25%,\n 75% {\n opacity: 0;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:41:14\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * @animation flicker-in-2\n * ----------------------------------------\n */\n @-webkit-keyframes flicker-in-2 {\n 0% {\n opacity: 0;\n }\n 10% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 10.1% {\n opacity: 1;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 10.2% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 20% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 20.1% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.25);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.25);\n }\n 20.6% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 30% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 30.1% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n }\n 30.5% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n }\n 30.6% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 45% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 45.1% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n }\n 50% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n }\n 55% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n }\n 55.1% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 57% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 57.1% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.3);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.3);\n }\n 60% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.3);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.3);\n }\n 60.1% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 65% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 65.1% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.3),\n 0 0 100px rgba(255, 255, 255, 0.1);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.3),\n 0 0 100px rgba(255, 255, 255, 0.1);\n }\n 75% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.3),\n 0 0 100px rgba(255, 255, 255, 0.1);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.3),\n 0 0 100px rgba(255, 255, 255, 0.1);\n }\n 75.1% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 77% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 77.1% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.4),\n 0 0 110px rgba(255, 255, 255, 0.2), 0 0 100px rgba(255, 255, 255, 0.1);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.4),\n 0 0 110px rgba(255, 255, 255, 0.2), 0 0 100px rgba(255, 255, 255, 0.1);\n }\n 85% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.4),\n 0 0 110px rgba(255, 255, 255, 0.2), 0 0 100px rgba(255, 255, 255, 0.1);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.4),\n 0 0 110px rgba(255, 255, 255, 0.2), 0 0 100px rgba(255, 255, 255, 0.1);\n }\n 85.1% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 86% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 86.1% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.45),\n 0 0 110px rgba(255, 255, 255, 0.25), 0 0 100px rgba(255, 255, 255, 0.1);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.45),\n 0 0 110px rgba(255, 255, 255, 0.25), 0 0 100px rgba(255, 255, 255, 0.1);\n }\n 100% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.45),\n 0 0 110px rgba(255, 255, 255, 0.25), 0 0 100px rgba(255, 255, 255, 0.1);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.45),\n 0 0 110px rgba(255, 255, 255, 0.25), 0 0 100px rgba(255, 255, 255, 0.1);\n }\n }\n @keyframes flicker-in-2 {\n 0% {\n opacity: 0;\n }\n 10% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 10.1% {\n opacity: 1;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 10.2% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 20% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 20.1% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.25);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.25);\n }\n 20.6% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 30% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 30.1% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n }\n 30.5% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n }\n 30.6% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 45% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 45.1% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n }\n 50% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n }\n 55% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n }\n 55.1% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 57% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 57.1% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.3);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.3);\n }\n 60% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.3);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.3);\n }\n 60.1% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 65% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 65.1% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.3),\n 0 0 100px rgba(255, 255, 255, 0.1);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.3),\n 0 0 100px rgba(255, 255, 255, 0.1);\n }\n 75% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.3),\n 0 0 100px rgba(255, 255, 255, 0.1);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.3),\n 0 0 100px rgba(255, 255, 255, 0.1);\n }\n 75.1% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 77% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 77.1% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.4),\n 0 0 110px rgba(255, 255, 255, 0.2), 0 0 100px rgba(255, 255, 255, 0.1);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.4),\n 0 0 110px rgba(255, 255, 255, 0.2), 0 0 100px rgba(255, 255, 255, 0.1);\n }\n 85% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.4),\n 0 0 110px rgba(255, 255, 255, 0.2), 0 0 100px rgba(255, 255, 255, 0.1);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.4),\n 0 0 110px rgba(255, 255, 255, 0.2), 0 0 100px rgba(255, 255, 255, 0.1);\n }\n 85.1% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 86% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 86.1% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.45),\n 0 0 110px rgba(255, 255, 255, 0.25), 0 0 100px rgba(255, 255, 255, 0.1);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.45),\n 0 0 110px rgba(255, 255, 255, 0.25), 0 0 100px rgba(255, 255, 255, 0.1);\n }\n 100% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.45),\n 0 0 110px rgba(255, 255, 255, 0.25), 0 0 100px rgba(255, 255, 255, 0.1);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.45),\n 0 0 110px rgba(255, 255, 255, 0.25), 0 0 100px rgba(255, 255, 255, 0.1);\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-24 16:9:5\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation bounce-top\n * ----------------------------------------\n */\n @-webkit-keyframes bounce-top {\n 0% {\n -webkit-transform: translateY(-45px);\n transform: translateY(-45px);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n opacity: 1;\n }\n 24% {\n opacity: 1;\n }\n 40% {\n -webkit-transform: translateY(-24px);\n transform: translateY(-24px);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n 65% {\n -webkit-transform: translateY(-12px);\n transform: translateY(-12px);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n 82% {\n -webkit-transform: translateY(-6px);\n transform: translateY(-6px);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n 93% {\n -webkit-transform: translateY(-4px);\n transform: translateY(-4px);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n 25%,\n 55%,\n 75%,\n 87% {\n -webkit-transform: translateY(0px);\n transform: translateY(0px);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n 100% {\n -webkit-transform: translateY(0px);\n transform: translateY(0px);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n opacity: 1;\n }\n }\n @keyframes bounce-top {\n 0% {\n -webkit-transform: translateY(-45px);\n transform: translateY(-45px);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n opacity: 1;\n }\n 24% {\n opacity: 1;\n }\n 40% {\n -webkit-transform: translateY(-24px);\n transform: translateY(-24px);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n 65% {\n -webkit-transform: translateY(-12px);\n transform: translateY(-12px);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n 82% {\n -webkit-transform: translateY(-6px);\n transform: translateY(-6px);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n 93% {\n -webkit-transform: translateY(-4px);\n transform: translateY(-4px);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n 25%,\n 55%,\n 75%,\n 87% {\n -webkit-transform: translateY(0px);\n transform: translateY(0px);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n 100% {\n -webkit-transform: translateY(0px);\n transform: translateY(0px);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 1:29:16\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation heartbeat\n * ----------------------------------------\n */\n @-webkit-keyframes heartbeat {\n from {\n -webkit-transform: scale(1);\n transform: scale(1);\n -webkit-transform-origin: center center;\n transform-origin: center center;\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n 10% {\n -webkit-transform: scale(0.91);\n transform: scale(0.91);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n 17% {\n -webkit-transform: scale(0.98);\n transform: scale(0.98);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n 33% {\n -webkit-transform: scale(0.87);\n transform: scale(0.87);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n 45% {\n -webkit-transform: scale(1);\n transform: scale(1);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n }\n @keyframes heartbeat {\n from {\n -webkit-transform: scale(1);\n transform: scale(1);\n -webkit-transform-origin: center center;\n transform-origin: center center;\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n 10% {\n -webkit-transform: scale(0.91);\n transform: scale(0.91);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n 17% {\n -webkit-transform: scale(0.98);\n transform: scale(0.98);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n 33% {\n -webkit-transform: scale(0.87);\n transform: scale(0.87);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n 45% {\n -webkit-transform: scale(1);\n transform: scale(1);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 1:30:57\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation kenburns-top\n * ----------------------------------------\n */\n @-webkit-keyframes kenburns-top {\n 0% {\n -webkit-transform: scale(1) translateY(0);\n transform: scale(1) translateY(0);\n -webkit-transform-origin: 50% 16%;\n transform-origin: 50% 16%;\n }\n 100% {\n -webkit-transform: scale(1.25) translateY(-15px);\n transform: scale(1.25) translateY(-15px);\n -webkit-transform-origin: top;\n transform-origin: top;\n }\n }\n @keyframes kenburns-top {\n 0% {\n -webkit-transform: scale(1) translateY(0);\n transform: scale(1) translateY(0);\n -webkit-transform-origin: 50% 16%;\n transform-origin: 50% 16%;\n }\n 100% {\n -webkit-transform: scale(1.25) translateY(-15px);\n transform: scale(1.25) translateY(-15px);\n -webkit-transform-origin: top;\n transform-origin: top;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 1:33:12\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation bg-pan-top\n * ----------------------------------------\n */\n @-webkit-keyframes bg-pan-top {\n 0% {\n background-position: 50% 100%;\n }\n 100% {\n background-position: 50% 0%;\n }\n }\n @keyframes bg-pan-top {\n 0% {\n background-position: 50% 100%;\n }\n 100% {\n background-position: 50% 0%;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 1:34:5\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation bg-pan-right\n * ----------------------------------------\n */\n @-webkit-keyframes bg-pan-right {\n 0% {\n background-position: 0% 50%;\n }\n 100% {\n background-position: 100% 50%;\n }\n }\n @keyframes bg-pan-right {\n 0% {\n background-position: 0% 50%;\n }\n 100% {\n background-position: 100% 50%;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 1:33:27\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation bg-pan-bottom\n * ----------------------------------------\n */\n @-webkit-keyframes bg-pan-bottom {\n 0% {\n background-position: 50% 0%;\n }\n 100% {\n background-position: 50% 100%;\n }\n }\n @keyframes bg-pan-bottom {\n 0% {\n background-position: 50% 0%;\n }\n 100% {\n background-position: 50% 100%;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 1:34:26\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation bg-pan-left\n * ----------------------------------------\n */\n @-webkit-keyframes bg-pan-left {\n 0% {\n background-position: 100% 50%;\n }\n 100% {\n background-position: 0% 50%;\n }\n }\n @keyframes bg-pan-left {\n 0% {\n background-position: 100% 50%;\n }\n 100% {\n background-position: 0% 50%;\n }\n }\n"], ["\n * {\n box-sizing: border-box;\n }\n\n .iamgroup .cb-box-in-group:after {\n box-shadow: 0 0 0 3px #027aff;\n bottom: 0;\n box-sizing: border-box;\n content: '';\n display: block;\n height: 100%;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n width: 100%;\n }\n\n .cb-box-in-group:hover:after {\n box-shadow: 0 0 0 3px #d902ff;\n bottom: 0;\n box-sizing: border-box;\n content: '';\n display: block;\n height: 100%;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n width: 100%;\n }\n\n .iamgroup {\n box-shadow: 0 0 0 3px #027aff;\n opacity: 1;\n }\n\n .react-grid-layout {\n position: relative;\n z-index: 1;\n }\n\n .react-grid-layout .grid-placeholder {\n box-sizing: border-box;\n }\n\n .react-grid-item {\n left: 0;\n position: absolute;\n top: 0;\n z-index: 1;\n }\n\n .react-grid-item.react-draggable.react-resizable:not(.react-grid-item-selected):not(.iamgroup):hover {\n box-shadow: 0 0 0 3px #d902ff;\n }\n\n .react-grid-item-selected {\n box-shadow: 0 0 0 3px #027aff;\n }\n\n .react-grid-item img {\n pointer-events: none;\n user-select: none;\n }\n\n .react-grid-item.isResizing,\n .react-grid-item.isResizing .cb-layout-box,\n .react-grid-item.isResizing .cb-layout-box .cb-divider {\n visibility: hidden;\n }\n\n .react-grid-item.react-draggable.isDragging,\n .react-grid-item.react-draggable.isDragging .cb-layout-box,\n .react-grid-item.react-draggable.isDragging .cb-layout-box .cb-divider {\n visibility: hidden;\n }\n\n /* .react-grid-item.react-draggable.isDragging .cb-layout-box .twitter-embed-container {\n visibility: hidden;\n } */\n\n .react-grid-item.isResizing > .react-resizable-handle,\n .react-grid-item.react-draggable.isDragging > .react-resizable-handle {\n visibility: hidden;\n }\n\n .react-grid-item.dropping {\n visibility: hidden;\n }\n\n .react-grid-item.static::after {\n color: red;\n content: \"this is static, can't drag\";\n left: 50%;\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%);\n }\n\n .react-grid-item.placeholder {\n -moz-user-select: none;\n -ms-user-select: none;\n -o-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n z-index: 9999;\n }\n\n .react-grid-item > .react-resizable-handle::after {\n background: rgb(255, 255, 255);\n border: 3px solid rgb(2, 122, 255);\n content: '';\n height: 5px;\n position: absolute;\n width: 5px;\n }\n\n .react-resizable-handle {\n visibility: hidden;\n }\n\n .react-grid-item-selected > .react-resizable-handle {\n visibility: visible;\n }\n\n /* NOTE: Resizable related */\n .react-resizable {\n position: relative;\n }\n\n .react-resizable-handle {\n align-items: center;\n background-origin: content-box;\n background-repeat: no-repeat;\n box-sizing: border-box;\n display: flex;\n height: 20px;\n justify-content: center;\n position: absolute;\n width: 20px;\n }\n\n .react-resizable-handle-sw {\n bottom: 0;\n cursor: sw-resize;\n left: 0;\n transform: translate(-50%, 50%);\n }\n\n .react-resizable-handle-se {\n bottom: 0;\n cursor: se-resize;\n right: 0;\n transform: translate(50%, 50%);\n }\n\n .react-resizable-handle-nw {\n cursor: nw-resize;\n left: 0;\n top: 0;\n transform: translate(-50%, -50%);\n }\n\n .react-resizable-handle-ne {\n cursor: ne-resize;\n right: 0;\n top: 0;\n transform: translate(50%, -50%);\n }\n\n .react-resizable-handle-w,\n .react-resizable-handle-e {\n cursor: ew-resize;\n top: 50%;\n }\n\n .react-resizable-handle-w {\n left: 0;\n transform: translate(-50%, -50%);\n }\n\n .react-resizable-handle-e {\n right: 0;\n transform: translate(50%, -50%);\n }\n\n .react-resizable-handle-n,\n .react-resizable-handle-s {\n cursor: ns-resize;\n left: 50%;\n }\n\n .react-resizable-handle-n {\n top: 0;\n transform: translate(-50%, -50%);\n }\n\n .react-resizable-handle-s {\n bottom: 0;\n transform: translate(-50%, 50%);\n }\n\n .grid-placeholder {\n position: absolute;\n z-index: 0;\n }\n\n .grid-pattern-rect {\n fill: #0000001a;\n stroke: #ffffff33;\n }\n\n .react-grid-item.placeholder .cb-layout-box,\n .react-grid-item.placeholder .cb-layout-box .cb-divider {\n animation: none;\n }\n\n .react-grid-item.placeholder {\n box-shadow: 0 0 0 3px #027aff;\n }\n\n .react-grid-item.placeholder > .react-resizable-handle {\n visibility: hidden;\n }\n\n .grid-guide-line-center {\n border-color: #ff463aff;\n border-style: dashed;\n border-width: 1px;\n height: 100%;\n left: 50%;\n position: absolute;\n transform: translateX(-50%);\n z-index: 99999;\n }\n\n /* NOTE: Effects */\n\n @-webkit-keyframes fade-in {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n\n @keyframes fade-in {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n\n @-webkit-keyframes fade-in-fwd {\n 0% {\n -webkit-transform: translateZ(-80px);\n transform: translateZ(-80px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n opacity: 1;\n }\n }\n\n @keyframes fade-in-fwd {\n 0% {\n -webkit-transform: translateZ(-80px);\n transform: translateZ(-80px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n opacity: 1;\n }\n }\n\n @-webkit-keyframes fade-in-bck {\n 0% {\n -webkit-transform: translateZ(80px);\n transform: translateZ(80px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n opacity: 1;\n }\n }\n @keyframes fade-in-bck {\n 0% {\n -webkit-transform: translateZ(80px);\n transform: translateZ(80px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n opacity: 1;\n }\n }\n\n @-webkit-keyframes fade-in-top {\n 0% {\n -webkit-transform: translateY(-50px);\n transform: translateY(-50px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n opacity: 1;\n }\n }\n @keyframes fade-in-top {\n 0% {\n -webkit-transform: translateY(-50px);\n transform: translateY(-50px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n opacity: 1;\n }\n }\n\n @-webkit-keyframes fade-in-right {\n 0% {\n -webkit-transform: translateX(50px);\n transform: translateX(50px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n opacity: 1;\n }\n }\n @keyframes fade-in-right {\n 0% {\n -webkit-transform: translateX(50px);\n transform: translateX(50px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:29:36\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation fade-in-bottom\n * ----------------------------------------\n */\n @-webkit-keyframes fade-in-bottom {\n 0% {\n -webkit-transform: translateY(50px);\n transform: translateY(50px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n opacity: 1;\n }\n }\n @keyframes fade-in-bottom {\n 0% {\n -webkit-transform: translateY(50px);\n transform: translateY(50px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:29:52\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation fade-in-left\n * ----------------------------------------\n */\n @-webkit-keyframes fade-in-left {\n 0% {\n -webkit-transform: translateX(-50px);\n transform: translateX(-50px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n opacity: 1;\n }\n }\n @keyframes fade-in-left {\n 0% {\n -webkit-transform: translateX(-50px);\n transform: translateX(-50px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:53:50\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation slide-in-top\n * ----------------------------------------\n */\n @-webkit-keyframes slide-in-top {\n 0% {\n -webkit-transform: translateY(-1000px);\n transform: translateY(-1000px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n opacity: 1;\n }\n }\n @keyframes slide-in-top {\n 0% {\n -webkit-transform: translateY(-1000px);\n transform: translateY(-1000px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:54:47\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation slide-in-right\n * ----------------------------------------\n */\n @-webkit-keyframes slide-in-right {\n 0% {\n -webkit-transform: translateX(1000px);\n transform: translateX(1000px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n opacity: 1;\n }\n }\n @keyframes slide-in-right {\n 0% {\n -webkit-transform: translateX(1000px);\n transform: translateX(1000px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:54:1\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation slide-in-bottom\n * ----------------------------------------\n */\n @-webkit-keyframes slide-in-bottom {\n 0% {\n -webkit-transform: translateY(1000px);\n transform: translateY(1000px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n opacity: 1;\n }\n }\n @keyframes slide-in-bottom {\n 0% {\n -webkit-transform: translateY(1000px);\n transform: translateY(1000px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:54:28\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation slide-in-left\n * ----------------------------------------\n */\n @-webkit-keyframes slide-in-left {\n 0% {\n -webkit-transform: translateX(-1000px);\n transform: translateX(-1000px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n opacity: 1;\n }\n }\n @keyframes slide-in-left {\n 0% {\n -webkit-transform: translateX(-1000px);\n transform: translateX(-1000px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 1:52:59\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation tracking-in-contract\n * ----------------------------------------\n */\n @-webkit-keyframes tracking-in-contract {\n 0% {\n letter-spacing: 1em;\n opacity: 0;\n }\n 40% {\n opacity: 0.6;\n }\n 100% {\n letter-spacing: normal;\n opacity: 1;\n }\n }\n @keyframes tracking-in-contract {\n 0% {\n letter-spacing: 1em;\n opacity: 0;\n }\n 40% {\n opacity: 0.6;\n }\n 100% {\n letter-spacing: normal;\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:47:57\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation rotate-in-2-cw\n * ----------------------------------------\n */\n @-webkit-keyframes rotate-in-2-cw {\n 0% {\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg);\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotate(0);\n transform: rotate(0);\n opacity: 1;\n }\n }\n @keyframes rotate-in-2-cw {\n 0% {\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg);\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotate(0);\n transform: rotate(0);\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:52:54\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation rotate-in-2-ccw\n * ----------------------------------------\n */\n @-webkit-keyframes rotate-in-2-ccw {\n 0% {\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotate(0);\n transform: rotate(0);\n opacity: 1;\n }\n }\n @keyframes rotate-in-2-ccw {\n 0% {\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotate(0);\n transform: rotate(0);\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:34:56\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation swing-in-top-fwd\n * ----------------------------------------\n */\n @-webkit-keyframes swing-in-top-fwd {\n 0% {\n -webkit-transform: rotateX(-100deg);\n transform: rotateX(-100deg);\n -webkit-transform-origin: top;\n transform-origin: top;\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotateX(0deg);\n transform: rotateX(0deg);\n -webkit-transform-origin: top;\n transform-origin: top;\n opacity: 1;\n }\n }\n @keyframes swing-in-top-fwd {\n 0% {\n -webkit-transform: rotateX(-100deg);\n transform: rotateX(-100deg);\n -webkit-transform-origin: top;\n transform-origin: top;\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotateX(0deg);\n transform: rotateX(0deg);\n -webkit-transform-origin: top;\n transform-origin: top;\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:35:56\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation swing-in-top-bck\n * ----------------------------------------\n */\n @-webkit-keyframes swing-in-top-bck {\n 0% {\n -webkit-transform: rotateX(70deg);\n transform: rotateX(70deg);\n -webkit-transform-origin: top;\n transform-origin: top;\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotateX(0deg);\n transform: rotateX(0deg);\n -webkit-transform-origin: top;\n transform-origin: top;\n opacity: 1;\n }\n }\n @keyframes swing-in-top-bck {\n 0% {\n -webkit-transform: rotateX(70deg);\n transform: rotateX(70deg);\n -webkit-transform-origin: top;\n transform-origin: top;\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotateX(0deg);\n transform: rotateX(0deg);\n -webkit-transform-origin: top;\n transform-origin: top;\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:36:18\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation swing-in-right-fwd\n * ----------------------------------------\n */\n @-webkit-keyframes swing-in-right-fwd {\n 0% {\n -webkit-transform: rotateY(-100deg);\n transform: rotateY(-100deg);\n -webkit-transform-origin: right;\n transform-origin: right;\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotateY(0);\n transform: rotateY(0);\n -webkit-transform-origin: right;\n transform-origin: right;\n opacity: 1;\n }\n }\n @keyframes swing-in-right-fwd {\n 0% {\n -webkit-transform: rotateY(-100deg);\n transform: rotateY(-100deg);\n -webkit-transform-origin: right;\n transform-origin: right;\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotateY(0);\n transform: rotateY(0);\n -webkit-transform-origin: right;\n transform-origin: right;\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:36:46\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation swing-in-right-bck\n * ----------------------------------------\n */\n @-webkit-keyframes swing-in-right-bck {\n 0% {\n -webkit-transform: rotateY(70deg);\n transform: rotateY(70deg);\n -webkit-transform-origin: right;\n transform-origin: right;\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotateY(0);\n transform: rotateY(0);\n -webkit-transform-origin: right;\n transform-origin: right;\n opacity: 1;\n }\n }\n @keyframes swing-in-right-bck {\n 0% {\n -webkit-transform: rotateY(70deg);\n transform: rotateY(70deg);\n -webkit-transform-origin: right;\n transform-origin: right;\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotateY(0);\n transform: rotateY(0);\n -webkit-transform-origin: right;\n transform-origin: right;\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:37:11\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation swing-in-bottom-fwd\n * ----------------------------------------\n */\n @-webkit-keyframes swing-in-bottom-fwd {\n 0% {\n -webkit-transform: rotateX(100deg);\n transform: rotateX(100deg);\n -webkit-transform-origin: bottom;\n transform-origin: bottom;\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotateX(0);\n transform: rotateX(0);\n -webkit-transform-origin: bottom;\n transform-origin: bottom;\n opacity: 1;\n }\n }\n\n @keyframes swing-in-bottom-fwd {\n 0% {\n -webkit-transform: rotateX(100deg);\n transform: rotateX(100deg);\n -webkit-transform-origin: bottom;\n transform-origin: bottom;\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotateX(0);\n transform: rotateX(0);\n -webkit-transform-origin: bottom;\n transform-origin: bottom;\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:38:59\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation swing-in-left-fwd\n * ----------------------------------------\n */\n @-webkit-keyframes swing-in-left-fwd {\n 0% {\n -webkit-transform: rotateY(100deg);\n transform: rotateY(100deg);\n -webkit-transform-origin: left;\n transform-origin: left;\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotateY(0);\n transform: rotateY(0);\n -webkit-transform-origin: left;\n transform-origin: left;\n opacity: 1;\n }\n }\n @keyframes swing-in-left-fwd {\n 0% {\n -webkit-transform: rotateY(100deg);\n transform: rotateY(100deg);\n -webkit-transform-origin: left;\n transform-origin: left;\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotateY(0);\n transform: rotateY(0);\n -webkit-transform-origin: left;\n transform-origin: left;\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:40:3\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation swing-in-left-bck\n * ----------------------------------------\n */\n @-webkit-keyframes swing-in-left-bck {\n 0% {\n -webkit-transform: rotateY(-70deg);\n transform: rotateY(-70deg);\n -webkit-transform-origin: left;\n transform-origin: left;\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotateY(0);\n transform: rotateY(0);\n -webkit-transform-origin: left;\n transform-origin: left;\n opacity: 1;\n }\n }\n @keyframes swing-in-left-bck {\n 0% {\n -webkit-transform: rotateY(-70deg);\n transform: rotateY(-70deg);\n -webkit-transform-origin: left;\n transform-origin: left;\n opacity: 0;\n }\n 100% {\n -webkit-transform: rotateY(0);\n transform: rotateY(0);\n -webkit-transform-origin: left;\n transform-origin: left;\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:44:48\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation scale-in-center\n * ----------------------------------------\n */\n @-webkit-keyframes scale-in-center {\n 0% {\n -webkit-transform: scale(0);\n transform: scale(0);\n opacity: 1;\n }\n 100% {\n -webkit-transform: scale(1);\n transform: scale(1);\n opacity: 1;\n }\n }\n @keyframes scale-in-center {\n 0% {\n -webkit-transform: scale(0);\n transform: scale(0);\n opacity: 1;\n }\n 100% {\n -webkit-transform: scale(1);\n transform: scale(1);\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:46:1\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation slide-in-bck-center\n * ----------------------------------------\n */\n @-webkit-keyframes slide-in-bck-center {\n 0% {\n -webkit-transform: translateZ(600px);\n transform: translateZ(600px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n opacity: 1;\n }\n }\n @keyframes slide-in-bck-center {\n 0% {\n -webkit-transform: translateZ(600px);\n transform: translateZ(600px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 1:13:59\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation tracking-in-contract-bck\n * ----------------------------------------\n */\n @-webkit-keyframes tracking-in-contract-bck {\n 0% {\n letter-spacing: 1em;\n -webkit-transform: translateZ(400px);\n transform: translateZ(400px);\n opacity: 0;\n }\n 40% {\n opacity: 0.6;\n }\n 100% {\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n opacity: 1;\n }\n }\n @keyframes tracking-in-contract-bck {\n 0% {\n letter-spacing: 1em;\n -webkit-transform: translateZ(400px);\n transform: translateZ(400px);\n opacity: 0;\n }\n 40% {\n opacity: 0.6;\n }\n 100% {\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 1:11:16\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation text-focus-in\n * ----------------------------------------\n */\n @-webkit-keyframes text-focus-in {\n 0% {\n -webkit-filter: blur(12px);\n filter: blur(12px);\n opacity: 0;\n }\n 100% {\n -webkit-filter: blur(0px);\n filter: blur(0px);\n opacity: 1;\n }\n }\n @keyframes text-focus-in {\n 0% {\n -webkit-filter: blur(12px);\n filter: blur(12px);\n opacity: 0;\n }\n 100% {\n -webkit-filter: blur(0px);\n filter: blur(0px);\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:33:10\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation puff-in-center\n * ----------------------------------------\n */\n @-webkit-keyframes puff-in-center {\n 0% {\n -webkit-transform: scale(2);\n transform: scale(2);\n -webkit-filter: blur(4px);\n filter: blur(4px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: scale(1);\n transform: scale(1);\n -webkit-filter: blur(0px);\n filter: blur(0px);\n opacity: 1;\n }\n }\n @keyframes puff-in-center {\n 0% {\n -webkit-transform: scale(2);\n transform: scale(2);\n -webkit-filter: blur(4px);\n filter: blur(4px);\n opacity: 0;\n }\n 100% {\n -webkit-transform: scale(1);\n transform: scale(1);\n -webkit-filter: blur(0px);\n filter: blur(0px);\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 1:11:29\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation focus-in-contract\n * ----------------------------------------\n */\n @-webkit-keyframes focus-in-contract {\n 0% {\n letter-spacing: 1em;\n -webkit-filter: blur(12px);\n filter: blur(12px);\n opacity: 0;\n }\n 100% {\n -webkit-filter: blur(0px);\n filter: blur(0px);\n opacity: 1;\n }\n }\n @keyframes focus-in-contract {\n 0% {\n letter-spacing: 1em;\n -webkit-filter: blur(12px);\n filter: blur(12px);\n opacity: 0;\n }\n 100% {\n -webkit-filter: blur(0px);\n filter: blur(0px);\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 1:22:44\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation shake-horizontal\n * ----------------------------------------\n */\n @-webkit-keyframes shake-horizontal {\n 0%,\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n 10%,\n 30%,\n 50%,\n 70% {\n -webkit-transform: translateX(-10px);\n transform: translateX(-10px);\n }\n 20%,\n 40%,\n 60% {\n -webkit-transform: translateX(10px);\n transform: translateX(10px);\n }\n 80% {\n -webkit-transform: translateX(8px);\n transform: translateX(8px);\n }\n 90% {\n -webkit-transform: translateX(-8px);\n transform: translateX(-8px);\n }\n }\n @keyframes shake-horizontal {\n 0%,\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n 10%,\n 30%,\n 50%,\n 70% {\n -webkit-transform: translateX(-10px);\n transform: translateX(-10px);\n }\n 20%,\n 40%,\n 60% {\n -webkit-transform: translateX(10px);\n transform: translateX(10px);\n }\n 80% {\n -webkit-transform: translateX(8px);\n transform: translateX(8px);\n }\n 90% {\n -webkit-transform: translateX(-8px);\n transform: translateX(-8px);\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 1:23:8\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation shake-vertical\n * ----------------------------------------\n */\n @-webkit-keyframes shake-vertical {\n 0%,\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n 10%,\n 30%,\n 50%,\n 70% {\n -webkit-transform: translateY(-8px);\n transform: translateY(-8px);\n }\n 20%,\n 40%,\n 60% {\n -webkit-transform: translateY(8px);\n transform: translateY(8px);\n }\n 80% {\n -webkit-transform: translateY(6.4px);\n transform: translateY(6.4px);\n }\n 90% {\n -webkit-transform: translateY(-6.4px);\n transform: translateY(-6.4px);\n }\n }\n @keyframes shake-vertical {\n 0%,\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n 10%,\n 30%,\n 50%,\n 70% {\n -webkit-transform: translateY(-8px);\n transform: translateY(-8px);\n }\n 20%,\n 40%,\n 60% {\n -webkit-transform: translateY(8px);\n transform: translateY(8px);\n }\n 80% {\n -webkit-transform: translateY(6.4px);\n transform: translateY(6.4px);\n }\n 90% {\n -webkit-transform: translateY(-6.4px);\n transform: translateY(-6.4px);\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 1:24:19\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation shake-top\n * ----------------------------------------\n */\n @-webkit-keyframes shake-top {\n 0%,\n 100% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n -webkit-transform-origin: 50% 0;\n transform-origin: 50% 0;\n }\n 10% {\n -webkit-transform: rotate(2deg);\n transform: rotate(2deg);\n }\n 20%,\n 40%,\n 60% {\n -webkit-transform: rotate(-4deg);\n transform: rotate(-4deg);\n }\n 30%,\n 50%,\n 70% {\n -webkit-transform: rotate(4deg);\n transform: rotate(4deg);\n }\n 80% {\n -webkit-transform: rotate(-2deg);\n transform: rotate(-2deg);\n }\n 90% {\n -webkit-transform: rotate(2deg);\n transform: rotate(2deg);\n }\n }\n @keyframes shake-top {\n 0%,\n 100% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n -webkit-transform-origin: 50% 0;\n transform-origin: 50% 0;\n }\n 10% {\n -webkit-transform: rotate(2deg);\n transform: rotate(2deg);\n }\n 20%,\n 40%,\n 60% {\n -webkit-transform: rotate(-4deg);\n transform: rotate(-4deg);\n }\n 30%,\n 50%,\n 70% {\n -webkit-transform: rotate(4deg);\n transform: rotate(4deg);\n }\n 80% {\n -webkit-transform: rotate(-2deg);\n transform: rotate(-2deg);\n }\n 90% {\n -webkit-transform: rotate(2deg);\n transform: rotate(2deg);\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 1:21:6\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation vibrate-1\n * ----------------------------------------\n */\n @-webkit-keyframes vibrate-1 {\n 0% {\n -webkit-transform: translate(0);\n transform: translate(0);\n }\n 20% {\n -webkit-transform: translate(-2px, 2px);\n transform: translate(-2px, 2px);\n }\n 40% {\n -webkit-transform: translate(-2px, -2px);\n transform: translate(-2px, -2px);\n }\n 60% {\n -webkit-transform: translate(2px, 2px);\n transform: translate(2px, 2px);\n }\n 80% {\n -webkit-transform: translate(2px, -2px);\n transform: translate(2px, -2px);\n }\n 100% {\n -webkit-transform: translate(0);\n transform: translate(0);\n }\n }\n @keyframes vibrate-1 {\n 0% {\n -webkit-transform: translate(0);\n transform: translate(0);\n }\n 20% {\n -webkit-transform: translate(-2px, 2px);\n transform: translate(-2px, 2px);\n }\n 40% {\n -webkit-transform: translate(-2px, -2px);\n transform: translate(-2px, -2px);\n }\n 60% {\n -webkit-transform: translate(2px, 2px);\n transform: translate(2px, 2px);\n }\n 80% {\n -webkit-transform: translate(2px, -2px);\n transform: translate(2px, -2px);\n }\n 100% {\n -webkit-transform: translate(0);\n transform: translate(0);\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 1:27:38\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation blink-1\n * ----------------------------------------\n */\n @-webkit-keyframes blink-1 {\n 0%,\n 50%,\n 100% {\n opacity: 1;\n }\n 25%,\n 75% {\n opacity: 0;\n }\n }\n @keyframes blink-1 {\n 0%,\n 50%,\n 100% {\n opacity: 1;\n }\n 25%,\n 75% {\n opacity: 0;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 0:41:14\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * @animation flicker-in-2\n * ----------------------------------------\n */\n @-webkit-keyframes flicker-in-2 {\n 0% {\n opacity: 0;\n }\n 10% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 10.1% {\n opacity: 1;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 10.2% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 20% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 20.1% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.25);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.25);\n }\n 20.6% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 30% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 30.1% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n }\n 30.5% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n }\n 30.6% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 45% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 45.1% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n }\n 50% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n }\n 55% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n }\n 55.1% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 57% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 57.1% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.3);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.3);\n }\n 60% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.3);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.3);\n }\n 60.1% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 65% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 65.1% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.3),\n 0 0 100px rgba(255, 255, 255, 0.1);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.3),\n 0 0 100px rgba(255, 255, 255, 0.1);\n }\n 75% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.3),\n 0 0 100px rgba(255, 255, 255, 0.1);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.3),\n 0 0 100px rgba(255, 255, 255, 0.1);\n }\n 75.1% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 77% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 77.1% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.4),\n 0 0 110px rgba(255, 255, 255, 0.2), 0 0 100px rgba(255, 255, 255, 0.1);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.4),\n 0 0 110px rgba(255, 255, 255, 0.2), 0 0 100px rgba(255, 255, 255, 0.1);\n }\n 85% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.4),\n 0 0 110px rgba(255, 255, 255, 0.2), 0 0 100px rgba(255, 255, 255, 0.1);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.4),\n 0 0 110px rgba(255, 255, 255, 0.2), 0 0 100px rgba(255, 255, 255, 0.1);\n }\n 85.1% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 86% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 86.1% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.45),\n 0 0 110px rgba(255, 255, 255, 0.25), 0 0 100px rgba(255, 255, 255, 0.1);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.45),\n 0 0 110px rgba(255, 255, 255, 0.25), 0 0 100px rgba(255, 255, 255, 0.1);\n }\n 100% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.45),\n 0 0 110px rgba(255, 255, 255, 0.25), 0 0 100px rgba(255, 255, 255, 0.1);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.45),\n 0 0 110px rgba(255, 255, 255, 0.25), 0 0 100px rgba(255, 255, 255, 0.1);\n }\n }\n @keyframes flicker-in-2 {\n 0% {\n opacity: 0;\n }\n 10% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 10.1% {\n opacity: 1;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 10.2% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 20% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 20.1% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.25);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.25);\n }\n 20.6% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 30% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 30.1% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n }\n 30.5% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n }\n 30.6% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 45% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 45.1% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n }\n 50% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n }\n 55% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);\n }\n 55.1% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 57% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 57.1% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.3);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.3);\n }\n 60% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.3);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.3);\n }\n 60.1% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 65% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 65.1% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.3),\n 0 0 100px rgba(255, 255, 255, 0.1);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.3),\n 0 0 100px rgba(255, 255, 255, 0.1);\n }\n 75% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.3),\n 0 0 100px rgba(255, 255, 255, 0.1);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.3),\n 0 0 100px rgba(255, 255, 255, 0.1);\n }\n 75.1% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 77% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 77.1% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.4),\n 0 0 110px rgba(255, 255, 255, 0.2), 0 0 100px rgba(255, 255, 255, 0.1);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.4),\n 0 0 110px rgba(255, 255, 255, 0.2), 0 0 100px rgba(255, 255, 255, 0.1);\n }\n 85% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.4),\n 0 0 110px rgba(255, 255, 255, 0.2), 0 0 100px rgba(255, 255, 255, 0.1);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.4),\n 0 0 110px rgba(255, 255, 255, 0.2), 0 0 100px rgba(255, 255, 255, 0.1);\n }\n 85.1% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 86% {\n opacity: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n 86.1% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.45),\n 0 0 110px rgba(255, 255, 255, 0.25), 0 0 100px rgba(255, 255, 255, 0.1);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.45),\n 0 0 110px rgba(255, 255, 255, 0.25), 0 0 100px rgba(255, 255, 255, 0.1);\n }\n 100% {\n opacity: 1;\n -webkit-box-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.45),\n 0 0 110px rgba(255, 255, 255, 0.25), 0 0 100px rgba(255, 255, 255, 0.1);\n box-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.45),\n 0 0 110px rgba(255, 255, 255, 0.25), 0 0 100px rgba(255, 255, 255, 0.1);\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-24 16:9:5\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation bounce-top\n * ----------------------------------------\n */\n @-webkit-keyframes bounce-top {\n 0% {\n -webkit-transform: translateY(-45px);\n transform: translateY(-45px);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n opacity: 1;\n }\n 24% {\n opacity: 1;\n }\n 40% {\n -webkit-transform: translateY(-24px);\n transform: translateY(-24px);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n 65% {\n -webkit-transform: translateY(-12px);\n transform: translateY(-12px);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n 82% {\n -webkit-transform: translateY(-6px);\n transform: translateY(-6px);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n 93% {\n -webkit-transform: translateY(-4px);\n transform: translateY(-4px);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n 25%,\n 55%,\n 75%,\n 87% {\n -webkit-transform: translateY(0px);\n transform: translateY(0px);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n 100% {\n -webkit-transform: translateY(0px);\n transform: translateY(0px);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n opacity: 1;\n }\n }\n @keyframes bounce-top {\n 0% {\n -webkit-transform: translateY(-45px);\n transform: translateY(-45px);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n opacity: 1;\n }\n 24% {\n opacity: 1;\n }\n 40% {\n -webkit-transform: translateY(-24px);\n transform: translateY(-24px);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n 65% {\n -webkit-transform: translateY(-12px);\n transform: translateY(-12px);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n 82% {\n -webkit-transform: translateY(-6px);\n transform: translateY(-6px);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n 93% {\n -webkit-transform: translateY(-4px);\n transform: translateY(-4px);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n 25%,\n 55%,\n 75%,\n 87% {\n -webkit-transform: translateY(0px);\n transform: translateY(0px);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n 100% {\n -webkit-transform: translateY(0px);\n transform: translateY(0px);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n opacity: 1;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 1:29:16\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation heartbeat\n * ----------------------------------------\n */\n @-webkit-keyframes heartbeat {\n from {\n -webkit-transform: scale(1);\n transform: scale(1);\n -webkit-transform-origin: center center;\n transform-origin: center center;\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n 10% {\n -webkit-transform: scale(0.91);\n transform: scale(0.91);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n 17% {\n -webkit-transform: scale(0.98);\n transform: scale(0.98);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n 33% {\n -webkit-transform: scale(0.87);\n transform: scale(0.87);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n 45% {\n -webkit-transform: scale(1);\n transform: scale(1);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n }\n @keyframes heartbeat {\n from {\n -webkit-transform: scale(1);\n transform: scale(1);\n -webkit-transform-origin: center center;\n transform-origin: center center;\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n 10% {\n -webkit-transform: scale(0.91);\n transform: scale(0.91);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n 17% {\n -webkit-transform: scale(0.98);\n transform: scale(0.98);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n 33% {\n -webkit-transform: scale(0.87);\n transform: scale(0.87);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n 45% {\n -webkit-transform: scale(1);\n transform: scale(1);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 1:30:57\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation kenburns-top\n * ----------------------------------------\n */\n @-webkit-keyframes kenburns-top {\n 0% {\n -webkit-transform: scale(1) translateY(0);\n transform: scale(1) translateY(0);\n -webkit-transform-origin: 50% 16%;\n transform-origin: 50% 16%;\n }\n 100% {\n -webkit-transform: scale(1.25) translateY(-15px);\n transform: scale(1.25) translateY(-15px);\n -webkit-transform-origin: top;\n transform-origin: top;\n }\n }\n @keyframes kenburns-top {\n 0% {\n -webkit-transform: scale(1) translateY(0);\n transform: scale(1) translateY(0);\n -webkit-transform-origin: 50% 16%;\n transform-origin: 50% 16%;\n }\n 100% {\n -webkit-transform: scale(1.25) translateY(-15px);\n transform: scale(1.25) translateY(-15px);\n -webkit-transform-origin: top;\n transform-origin: top;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 1:33:12\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation bg-pan-top\n * ----------------------------------------\n */\n @-webkit-keyframes bg-pan-top {\n 0% {\n background-position: 50% 100%;\n }\n 100% {\n background-position: 50% 0%;\n }\n }\n @keyframes bg-pan-top {\n 0% {\n background-position: 50% 100%;\n }\n 100% {\n background-position: 50% 0%;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 1:34:5\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation bg-pan-right\n * ----------------------------------------\n */\n @-webkit-keyframes bg-pan-right {\n 0% {\n background-position: 0% 50%;\n }\n 100% {\n background-position: 100% 50%;\n }\n }\n @keyframes bg-pan-right {\n 0% {\n background-position: 0% 50%;\n }\n 100% {\n background-position: 100% 50%;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 1:33:27\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation bg-pan-bottom\n * ----------------------------------------\n */\n @-webkit-keyframes bg-pan-bottom {\n 0% {\n background-position: 50% 0%;\n }\n 100% {\n background-position: 50% 100%;\n }\n }\n @keyframes bg-pan-bottom {\n 0% {\n background-position: 50% 0%;\n }\n 100% {\n background-position: 50% 100%;\n }\n }\n\n /* ----------------------------------------------\n * Generated by Animista on 2023-7-4 1:34:26\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info. \n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n /**\n * ----------------------------------------\n * animation bg-pan-left\n * ----------------------------------------\n */\n @-webkit-keyframes bg-pan-left {\n 0% {\n background-position: 100% 50%;\n }\n 100% {\n background-position: 0% 50%;\n }\n }\n @keyframes bg-pan-left {\n 0% {\n background-position: 100% 50%;\n }\n 100% {\n background-position: 0% 50%;\n }\n }\n"])));
490
- var S_SectionWrapper = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n position: relative;\n"], ["\n position: relative;\n"])));
1103
+ var S_SectionWrapper = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: relative;\n"], ["\n position: relative;\n"])));
491
1104
  exports.default = react_1.default.memo(CustomSection);
492
- var templateObject_1, templateObject_2;
1105
+ var templateObject_1;