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

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