@123usmanhaider321/ui 0.1.0 → 0.1.8

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 (1322) hide show
  1. package/dist/_virtual/duration.js +5 -0
  2. package/dist/_virtual/duration.js.map +1 -0
  3. package/dist/_virtual/index.js +2 -2
  4. package/dist/_virtual/isBetween.js +5 -0
  5. package/dist/_virtual/isBetween.js.map +1 -0
  6. package/dist/_virtual/relativeTime.js +5 -0
  7. package/dist/_virtual/relativeTime.js.map +1 -0
  8. package/dist/_virtual/use-sync-external-store-shim.development.js +5 -0
  9. package/dist/_virtual/use-sync-external-store-shim.development.js.map +1 -0
  10. package/dist/_virtual/use-sync-external-store-shim.production.js +5 -0
  11. package/dist/_virtual/use-sync-external-store-shim.production.js.map +1 -0
  12. package/dist/_virtual/with-selector.development.js +5 -0
  13. package/dist/_virtual/with-selector.development.js.map +1 -0
  14. package/dist/_virtual/with-selector.production.js +5 -0
  15. package/dist/_virtual/with-selector.production.js.map +1 -0
  16. package/dist/components/Alert/Alert.d.ts +2 -2
  17. package/dist/components/Alert/Alert.js +18 -21
  18. package/dist/components/Alert/Alert.js.map +1 -1
  19. package/dist/components/Button/Button.js +14 -14
  20. package/dist/components/Button/Button.js.map +1 -1
  21. package/dist/components/Checkbox/Checkbox.js +12 -12
  22. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  23. package/dist/components/CheckboxGroup/CheckboxGroup.js +22 -22
  24. package/dist/components/CheckboxGroup/CheckboxGroup.js.map +1 -1
  25. package/dist/components/ConfirmationModal/ConfirmationModal.js +37 -39
  26. package/dist/components/ConfirmationModal/ConfirmationModal.js.map +1 -1
  27. package/dist/components/CustomSelect/CustomSelect.js +35 -37
  28. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  29. package/dist/components/EventAddForm/AddEventLayout.d.ts +58 -0
  30. package/dist/components/EventAddForm/AddEventLayout.js +227 -0
  31. package/dist/components/EventAddForm/AddEventLayout.js.map +1 -0
  32. package/dist/components/EventAddForm/AddEventStepper.d.ts +15 -0
  33. package/dist/components/EventAddForm/AddEventStepper.js +719 -0
  34. package/dist/components/EventAddForm/AddEventStepper.js.map +1 -0
  35. package/dist/components/EventAddForm/common/ConfirmationModal.d.ts +14 -0
  36. package/dist/components/EventAddForm/common/ConfirmationModal.js +136 -0
  37. package/dist/components/EventAddForm/common/ConfirmationModal.js.map +1 -0
  38. package/dist/components/EventAddForm/common/DescriptionModal.d.ts +8 -0
  39. package/dist/components/EventAddForm/common/DescriptionModal.js +70 -0
  40. package/dist/components/EventAddForm/common/DescriptionModal.js.map +1 -0
  41. package/dist/components/EventAddForm/components/AnimatedBackground.d.ts +8 -0
  42. package/dist/components/EventAddForm/components/ApprovalConfirmationModal.d.ts +7 -0
  43. package/dist/components/EventAddForm/components/CheckboxGroup.d.ts +23 -0
  44. package/dist/components/EventAddForm/components/CheckboxGroup.js +92 -0
  45. package/dist/components/EventAddForm/components/CheckboxGroup.js.map +1 -0
  46. package/dist/components/EventAddForm/components/CustomMeetingForm.d.ts +18 -0
  47. package/dist/components/EventAddForm/components/CustomMeetingForm.js +237 -0
  48. package/dist/components/EventAddForm/components/CustomMeetingForm.js.map +1 -0
  49. package/dist/components/EventAddForm/components/DateTimeField.d.ts +23 -0
  50. package/dist/components/EventAddForm/components/DateTimeField.js +173 -0
  51. package/dist/components/EventAddForm/components/DateTimeField.js.map +1 -0
  52. package/dist/components/EventAddForm/components/EventSubmissionConfirmationModal.d.ts +33 -0
  53. package/dist/components/EventAddForm/components/EventSubmissionConfirmationModal.js +366 -0
  54. package/dist/components/EventAddForm/components/EventSubmissionConfirmationModal.js.map +1 -0
  55. package/dist/components/EventAddForm/components/FileUpload.d.ts +14 -0
  56. package/dist/components/EventAddForm/components/FileUpload.js +412 -0
  57. package/dist/components/EventAddForm/components/FileUpload.js.map +1 -0
  58. package/dist/components/EventAddForm/components/FormBuilderProceedModal.d.ts +10 -0
  59. package/dist/components/EventAddForm/components/FormBuilderProceedModal.js +197 -0
  60. package/dist/components/EventAddForm/components/FormBuilderProceedModal.js.map +1 -0
  61. package/dist/components/EventAddForm/components/GoogleMapsAutocompleteInput.d.ts +38 -0
  62. package/dist/components/EventAddForm/components/GoogleMapsAutocompleteInput.js +1179 -0
  63. package/dist/components/EventAddForm/components/GoogleMapsAutocompleteInput.js.map +1 -0
  64. package/dist/components/EventAddForm/components/InputField.d.ts +15 -0
  65. package/dist/components/EventAddForm/components/RadioGroupButton.d.ts +14 -0
  66. package/dist/components/EventAddForm/components/SelectField.d.ts +19 -0
  67. package/dist/components/EventAddForm/components/SingleDateTimeInput.d.ts +27 -0
  68. package/dist/components/EventAddForm/components/SingleDateTimeInput.js +102 -0
  69. package/dist/components/EventAddForm/components/SingleDateTimeInput.js.map +1 -0
  70. package/dist/components/EventAddForm/components/StepTwo/CustomFormSection.d.ts +10 -0
  71. package/dist/components/EventAddForm/components/StepTwo/CustomFormSection.js +277 -0
  72. package/dist/components/EventAddForm/components/StepTwo/CustomFormSection.js.map +1 -0
  73. package/dist/components/EventAddForm/components/StepTwo/TicketTierSection.d.ts +37 -0
  74. package/dist/components/EventAddForm/components/StepTwo/TicketTierSection.js +148 -0
  75. package/dist/components/EventAddForm/components/StepTwo/TicketTierSection.js.map +1 -0
  76. package/dist/components/EventAddForm/components/TicketTierForm.d.ts +29 -0
  77. package/dist/components/EventAddForm/components/TicketTierForm.js +418 -0
  78. package/dist/components/EventAddForm/components/TicketTierForm.js.map +1 -0
  79. package/dist/components/EventAddForm/components/TicketTypeSelection.d.ts +7 -0
  80. package/dist/components/EventAddForm/components/TicketTypeSelection.js +93 -0
  81. package/dist/components/EventAddForm/components/TicketTypeSelection.js.map +1 -0
  82. package/dist/components/EventAddForm/hooks/useStepperForm.d.ts +81 -0
  83. package/dist/components/EventAddForm/hooks/useStepperForm.js +371 -0
  84. package/dist/components/EventAddForm/hooks/useStepperForm.js.map +1 -0
  85. package/dist/components/EventAddForm/hooks/useTicketTierForm.d.ts +87 -0
  86. package/dist/components/EventAddForm/hooks/useTicketTierForm.js +237 -0
  87. package/dist/components/EventAddForm/hooks/useTicketTierForm.js.map +1 -0
  88. package/dist/components/EventAddForm/index.d.ts +3 -0
  89. package/dist/components/EventAddForm/index.js +41 -0
  90. package/dist/components/EventAddForm/index.js.map +1 -0
  91. package/dist/components/EventAddForm/schemas/index.d.ts +2 -0
  92. package/dist/components/EventAddForm/schemas/step1.js +135 -0
  93. package/dist/components/EventAddForm/schemas/step1.js.map +1 -0
  94. package/dist/components/EventAddForm/schemas/step2.d.ts +138 -0
  95. package/dist/components/EventAddForm/schemas/step2.js +94 -0
  96. package/dist/components/EventAddForm/schemas/step2.js.map +1 -0
  97. package/dist/components/EventAddForm/schemas/utils.js.map +1 -0
  98. package/dist/components/EventAddForm/steps/IndividualFormStep.d.ts +26 -0
  99. package/dist/components/EventAddForm/steps/IndividualFormStep.js +85 -0
  100. package/dist/components/EventAddForm/steps/IndividualFormStep.js.map +1 -0
  101. package/dist/components/EventAddForm/steps/SocialProfilesStep.d.ts +18 -0
  102. package/dist/components/EventAddForm/steps/SocialProfilesStep.js +123 -0
  103. package/dist/components/EventAddForm/steps/SocialProfilesStep.js.map +1 -0
  104. package/dist/components/EventAddForm/steps/StepOne.d.ts +18 -0
  105. package/dist/components/EventAddForm/steps/StepOne.js +462 -0
  106. package/dist/components/EventAddForm/steps/StepOne.js.map +1 -0
  107. package/dist/components/EventAddForm/steps/StepTwo.d.ts +17 -0
  108. package/dist/components/EventAddForm/steps/StepTwo.js +173 -0
  109. package/dist/components/EventAddForm/steps/StepTwo.js.map +1 -0
  110. package/dist/components/EventAddForm/steps/TeamFormStep.d.ts +19 -0
  111. package/dist/components/EventAddForm/steps/TeamFormStep.js +13 -0
  112. package/dist/components/EventAddForm/steps/TeamFormStep.js.map +1 -0
  113. package/dist/components/FormBuilder/CategoryList.js +26 -26
  114. package/dist/components/FormBuilder/CategoryList.js.map +1 -1
  115. package/dist/components/FormBuilder/DiscountInput.js +38 -39
  116. package/dist/components/FormBuilder/DiscountInput.js.map +1 -1
  117. package/dist/components/FormBuilder/FormBuilder.js +71 -74
  118. package/dist/components/FormBuilder/FormBuilder.js.map +1 -1
  119. package/dist/components/FormBuilder/OptionList.js +19 -19
  120. package/dist/components/FormBuilder/OptionList.js.map +1 -1
  121. package/dist/components/FormBuilder/PaymentPreview.js +19 -19
  122. package/dist/components/FormBuilder/PaymentPreview.js.map +1 -1
  123. package/dist/components/FormBuilder/PreviewInput.js +18 -29
  124. package/dist/components/FormBuilder/PreviewInput.js.map +1 -1
  125. package/dist/components/FormBuilder/QuestionCard.js +66 -67
  126. package/dist/components/FormBuilder/QuestionCard.js.map +1 -1
  127. package/dist/components/FormBuilder/QuestionEditor.js +16 -16
  128. package/dist/components/FormBuilder/QuestionEditor.js.map +1 -1
  129. package/dist/components/FormBuilder/RequiredToggle.js +14 -14
  130. package/dist/components/FormBuilder/RequiredToggle.js.map +1 -1
  131. package/dist/components/FormBuilder/SortableQuestionList.js +4 -4
  132. package/dist/components/FormBuilder/SortableQuestionList.js.map +1 -1
  133. package/dist/components/FormBuilder/utils.js.map +1 -1
  134. package/dist/components/FormInput/FormInput.js +28 -28
  135. package/dist/components/FormInput/FormInput.js.map +1 -1
  136. package/dist/components/ImageCropModal/index.d.ts +14 -0
  137. package/dist/components/ImageCropModal/index.js +464 -0
  138. package/dist/components/ImageCropModal/index.js.map +1 -0
  139. package/dist/components/InformationPopover/InformationPopover.js +4 -4
  140. package/dist/components/InformationPopover/InformationPopover.js.map +1 -1
  141. package/dist/components/InformationPopover.d.ts +7 -0
  142. package/dist/components/InformationPopover.js +19 -0
  143. package/dist/components/InformationPopover.js.map +1 -0
  144. package/dist/components/InputErrorMessage/InputErrorMessage.js +5 -6
  145. package/dist/components/InputErrorMessage/InputErrorMessage.js.map +1 -1
  146. package/dist/components/Modal/Modal.js +24 -25
  147. package/dist/components/Modal/Modal.js.map +1 -1
  148. package/dist/components/Radio/Radio.js +9 -9
  149. package/dist/components/Radio/Radio.js.map +1 -1
  150. package/dist/components/Spinner/spinner.d.ts +2 -0
  151. package/dist/components/Spinner/spinner.js +22 -0
  152. package/dist/components/Spinner/spinner.js.map +1 -0
  153. package/dist/components/Tooltip/Tooltip.js +13 -14
  154. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  155. package/dist/components/common/FallbackImage.d.ts +9 -0
  156. package/dist/components/common/FallbackImage.js +47 -0
  157. package/dist/components/common/FallbackImage.js.map +1 -0
  158. package/dist/components/ui/Calendar/calendar-utils.d.ts +3 -0
  159. package/dist/components/ui/Calendar/calendar-utils.js +51 -0
  160. package/dist/components/ui/Calendar/calendar-utils.js.map +1 -0
  161. package/dist/components/ui/Calendar/index.d.ts +14 -0
  162. package/dist/components/ui/Calendar/index.js +142 -0
  163. package/dist/components/ui/Calendar/index.js.map +1 -0
  164. package/dist/components/ui/Checkbox.d.ts +9 -0
  165. package/dist/components/ui/Checkbox.js +50 -0
  166. package/dist/components/ui/Checkbox.js.map +1 -0
  167. package/dist/components/ui/DatePicker/index.d.ts +15 -0
  168. package/dist/components/ui/DatePicker/index.js +188 -0
  169. package/dist/components/ui/DatePicker/index.js.map +1 -0
  170. package/dist/components/ui/FormInput.d.ts +28 -0
  171. package/dist/components/ui/FormInput.js +129 -0
  172. package/dist/components/ui/FormInput.js.map +1 -0
  173. package/dist/components/ui/InputErrorMessage.d.ts +7 -0
  174. package/dist/components/ui/InputErrorMessage.js +21 -0
  175. package/dist/components/ui/InputErrorMessage.js.map +1 -0
  176. package/dist/components/ui/Modal/index.d.ts +14 -0
  177. package/dist/components/ui/Modal/index.js +73 -0
  178. package/dist/components/ui/Modal/index.js.map +1 -0
  179. package/dist/components/ui/Radio.d.ts +6 -0
  180. package/dist/components/ui/Radio.js +35 -0
  181. package/dist/components/ui/Radio.js.map +1 -0
  182. package/dist/components/ui/RichTextEditor.d.ts +13 -0
  183. package/dist/components/ui/RichTextEditor.js +242 -0
  184. package/dist/components/ui/RichTextEditor.js.map +1 -0
  185. package/dist/components/ui/TimePicker/index.d.ts +19 -0
  186. package/dist/components/ui/TimePicker/index.js +215 -0
  187. package/dist/components/ui/TimePicker/index.js.map +1 -0
  188. package/dist/components/ui/TimeSelector/index.d.ts +11 -0
  189. package/dist/components/ui/TimeSelector/index.js +138 -0
  190. package/dist/components/ui/TimeSelector/index.js.map +1 -0
  191. package/dist/components/ui/Tooltip/index.d.ts +12 -0
  192. package/dist/components/ui/Tooltip.d.ts +12 -0
  193. package/dist/components/ui/Tooltip.js +136 -0
  194. package/dist/components/ui/Tooltip.js.map +1 -0
  195. package/dist/hooks/useDropdownPosition.d.ts +11 -0
  196. package/dist/hooks/useFirebaseAuthState.d.ts +6 -0
  197. package/dist/hooks/useFirebaseAuthState.js +23 -0
  198. package/dist/hooks/useFirebaseAuthState.js.map +1 -0
  199. package/dist/hooks/useTicketTierForm.d.ts +61 -0
  200. package/dist/index.d.ts +8 -15
  201. package/dist/index.js +9 -49
  202. package/dist/index.js.map +1 -1
  203. package/dist/lib/actions.d.ts +318 -0
  204. package/dist/lib/actions.js +32 -0
  205. package/dist/lib/actions.js.map +1 -0
  206. package/dist/lib/constants.d.ts +72 -0
  207. package/dist/lib/cropImage.d.ts +28 -0
  208. package/dist/lib/cropImage.js +113 -0
  209. package/dist/lib/cropImage.js.map +1 -0
  210. package/dist/lib/imageAnalysis.d.ts +16 -0
  211. package/dist/lib/imageAnalysis.js +58 -0
  212. package/dist/lib/imageAnalysis.js.map +1 -0
  213. package/dist/lib/utils.d.ts +3 -0
  214. package/dist/lib/utils.js +9 -0
  215. package/dist/lib/utils.js.map +1 -0
  216. package/dist/node_modules/@dnd-kit/core/dist/core.esm.js +2 -2
  217. package/dist/node_modules/@dnd-kit/sortable/dist/sortable.esm.js +2 -2
  218. package/dist/node_modules/@firebase/app/dist/esm/index.esm.js +768 -0
  219. package/dist/node_modules/@firebase/app/dist/esm/index.esm.js.map +1 -0
  220. package/dist/node_modules/@firebase/component/dist/esm/index.esm.js +340 -0
  221. package/dist/node_modules/@firebase/component/dist/esm/index.esm.js.map +1 -0
  222. package/dist/node_modules/@firebase/logger/dist/esm/index.esm.js +123 -0
  223. package/dist/node_modules/@firebase/logger/dist/esm/index.esm.js.map +1 -0
  224. package/dist/node_modules/@firebase/storage/dist/index.esm.js +2623 -0
  225. package/dist/node_modules/@firebase/storage/dist/index.esm.js.map +1 -0
  226. package/dist/node_modules/@firebase/util/dist/index.esm.js +658 -0
  227. package/dist/node_modules/@firebase/util/dist/index.esm.js.map +1 -0
  228. package/dist/node_modules/@firebase/util/dist/postinstall.js +5 -0
  229. package/dist/node_modules/@firebase/util/dist/postinstall.js.map +1 -0
  230. package/dist/node_modules/@fortawesome/react-fontawesome/dist/index.js +2 -2
  231. package/dist/node_modules/@heroicons/react/20/solid/esm/CheckIcon.js +27 -0
  232. package/dist/node_modules/@heroicons/react/20/solid/esm/CheckIcon.js.map +1 -0
  233. package/dist/node_modules/@heroicons/react/20/solid/esm/ChevronDownIcon.js +27 -0
  234. package/dist/node_modules/@heroicons/react/20/solid/esm/ChevronDownIcon.js.map +1 -0
  235. package/dist/node_modules/@heroicons/react/24/outline/esm/ArrowRightIcon.js +29 -0
  236. package/dist/node_modules/@heroicons/react/24/outline/esm/ArrowRightIcon.js.map +1 -0
  237. package/dist/node_modules/@heroicons/react/24/outline/esm/ClockIcon.js +29 -0
  238. package/dist/node_modules/@heroicons/react/24/outline/esm/ClockIcon.js.map +1 -0
  239. package/dist/node_modules/@heroicons/react/24/outline/esm/DocumentDuplicateIcon.js +29 -0
  240. package/dist/node_modules/@heroicons/react/24/outline/esm/DocumentDuplicateIcon.js.map +1 -0
  241. package/dist/node_modules/@heroicons/react/24/outline/esm/LinkIcon.js +29 -0
  242. package/dist/node_modules/@heroicons/react/24/outline/esm/LinkIcon.js.map +1 -0
  243. package/dist/node_modules/@heroicons/react/24/outline/esm/MagnifyingGlassIcon.js +29 -0
  244. package/dist/node_modules/@heroicons/react/24/outline/esm/MagnifyingGlassIcon.js.map +1 -0
  245. package/dist/node_modules/@heroicons/react/24/outline/esm/MapPinIcon.js +33 -0
  246. package/dist/node_modules/@heroicons/react/24/outline/esm/MapPinIcon.js.map +1 -0
  247. package/dist/node_modules/@heroicons/react/24/outline/esm/VideoCameraIcon.js +29 -0
  248. package/dist/node_modules/@heroicons/react/24/outline/esm/VideoCameraIcon.js.map +1 -0
  249. package/dist/node_modules/@heroicons/react/24/outline/esm/XMarkIcon.js +29 -0
  250. package/dist/node_modules/@heroicons/react/24/outline/esm/XMarkIcon.js.map +1 -0
  251. package/dist/node_modules/@tiptap/core/dist/index.js +5446 -0
  252. package/dist/node_modules/@tiptap/core/dist/index.js.map +1 -0
  253. package/dist/node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.js +21 -0
  254. package/dist/node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.js.map +1 -0
  255. package/dist/node_modules/@tiptap/extension-blockquote/dist/index.js +78 -0
  256. package/dist/node_modules/@tiptap/extension-blockquote/dist/index.js.map +1 -0
  257. package/dist/node_modules/@tiptap/extension-bold/dist/index.js +100 -0
  258. package/dist/node_modules/@tiptap/extension-bold/dist/index.js.map +1 -0
  259. package/dist/node_modules/@tiptap/extension-code/dist/index.js +70 -0
  260. package/dist/node_modules/@tiptap/extension-code/dist/index.js.map +1 -0
  261. package/dist/node_modules/@tiptap/extension-code-block/dist/index.js +317 -0
  262. package/dist/node_modules/@tiptap/extension-code-block/dist/index.js.map +1 -0
  263. package/dist/node_modules/@tiptap/extension-document/dist/index.js +16 -0
  264. package/dist/node_modules/@tiptap/extension-document/dist/index.js.map +1 -0
  265. package/dist/node_modules/@tiptap/extension-hard-break/dist/index.js +66 -0
  266. package/dist/node_modules/@tiptap/extension-hard-break/dist/index.js.map +1 -0
  267. package/dist/node_modules/@tiptap/extension-heading/dist/index.js +86 -0
  268. package/dist/node_modules/@tiptap/extension-heading/dist/index.js.map +1 -0
  269. package/dist/node_modules/@tiptap/extension-horizontal-rule/dist/index.js +80 -0
  270. package/dist/node_modules/@tiptap/extension-horizontal-rule/dist/index.js.map +1 -0
  271. package/dist/node_modules/@tiptap/extension-italic/dist/index.js +98 -0
  272. package/dist/node_modules/@tiptap/extension-italic/dist/index.js.map +1 -0
  273. package/dist/node_modules/@tiptap/extension-link/dist/index.js +423 -0
  274. package/dist/node_modules/@tiptap/extension-link/dist/index.js.map +1 -0
  275. package/dist/node_modules/@tiptap/extension-list/dist/index.js +1039 -0
  276. package/dist/node_modules/@tiptap/extension-list/dist/index.js.map +1 -0
  277. package/dist/node_modules/@tiptap/extension-paragraph/dist/index.js +61 -0
  278. package/dist/node_modules/@tiptap/extension-paragraph/dist/index.js.map +1 -0
  279. package/dist/node_modules/@tiptap/extension-placeholder/dist/index.js +7 -0
  280. package/dist/node_modules/@tiptap/extension-placeholder/dist/index.js.map +1 -0
  281. package/dist/node_modules/@tiptap/extension-strike/dist/index.js +79 -0
  282. package/dist/node_modules/@tiptap/extension-strike/dist/index.js.map +1 -0
  283. package/dist/node_modules/@tiptap/extension-text/dist/index.js +16 -0
  284. package/dist/node_modules/@tiptap/extension-text/dist/index.js.map +1 -0
  285. package/dist/node_modules/@tiptap/extension-underline/dist/index.js +76 -0
  286. package/dist/node_modules/@tiptap/extension-underline/dist/index.js.map +1 -0
  287. package/dist/node_modules/@tiptap/extensions/dist/index.js +376 -0
  288. package/dist/node_modules/@tiptap/extensions/dist/index.js.map +1 -0
  289. package/dist/node_modules/@tiptap/react/dist/index.js +650 -0
  290. package/dist/node_modules/@tiptap/react/dist/index.js.map +1 -0
  291. package/dist/node_modules/@tiptap/starter-kit/dist/index.js +97 -0
  292. package/dist/node_modules/@tiptap/starter-kit/dist/index.js.map +1 -0
  293. package/dist/node_modules/dayjs/dayjs.min.js +1 -1
  294. package/dist/node_modules/dayjs/plugin/duration.js +137 -0
  295. package/dist/node_modules/dayjs/plugin/duration.js.map +1 -0
  296. package/dist/node_modules/dayjs/plugin/isBetween.js +20 -0
  297. package/dist/node_modules/dayjs/plugin/isBetween.js.map +1 -0
  298. package/dist/node_modules/dayjs/plugin/relativeTime.js +49 -0
  299. package/dist/node_modules/dayjs/plugin/relativeTime.js.map +1 -0
  300. package/dist/node_modules/fast-equals/dist/es/index.js +442 -0
  301. package/dist/node_modules/fast-equals/dist/es/index.js.map +1 -0
  302. package/dist/node_modules/idb/build/index.js +70 -0
  303. package/dist/node_modules/idb/build/index.js.map +1 -0
  304. package/dist/node_modules/idb/build/wrap-idb-value.js +149 -0
  305. package/dist/node_modules/idb/build/wrap-idb-value.js.map +1 -0
  306. package/dist/node_modules/linkifyjs/dist/linkify.js +1159 -0
  307. package/dist/node_modules/linkifyjs/dist/linkify.js.map +1 -0
  308. package/dist/node_modules/orderedmap/dist/index.js +120 -0
  309. package/dist/node_modules/orderedmap/dist/index.js.map +1 -0
  310. package/dist/node_modules/prosemirror-commands/dist/index.js +527 -0
  311. package/dist/node_modules/prosemirror-commands/dist/index.js.map +1 -0
  312. package/dist/node_modules/prosemirror-dropcursor/dist/index.js +137 -0
  313. package/dist/node_modules/prosemirror-dropcursor/dist/index.js.map +1 -0
  314. package/dist/node_modules/prosemirror-gapcursor/dist/index.js +221 -0
  315. package/dist/node_modules/prosemirror-gapcursor/dist/index.js.map +1 -0
  316. package/dist/node_modules/prosemirror-history/dist/index.js +357 -0
  317. package/dist/node_modules/prosemirror-history/dist/index.js.map +1 -0
  318. package/dist/node_modules/prosemirror-keymap/dist/index.js +84 -0
  319. package/dist/node_modules/prosemirror-keymap/dist/index.js.map +1 -0
  320. package/dist/node_modules/prosemirror-model/dist/index.js +3209 -0
  321. package/dist/node_modules/prosemirror-model/dist/index.js.map +1 -0
  322. package/dist/node_modules/prosemirror-schema-list/dist/index.js +131 -0
  323. package/dist/node_modules/prosemirror-schema-list/dist/index.js.map +1 -0
  324. package/dist/node_modules/prosemirror-state/dist/index.js +936 -0
  325. package/dist/node_modules/prosemirror-state/dist/index.js.map +1 -0
  326. package/dist/node_modules/prosemirror-transform/dist/index.js +1881 -0
  327. package/dist/node_modules/prosemirror-transform/dist/index.js.map +1 -0
  328. package/dist/node_modules/prosemirror-view/dist/index.js +5232 -0
  329. package/dist/node_modules/prosemirror-view/dist/index.js.map +1 -0
  330. package/dist/node_modules/rope-sequence/dist/index.js +184 -0
  331. package/dist/node_modules/rope-sequence/dist/index.js.map +1 -0
  332. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +82 -0
  333. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js.map +1 -0
  334. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js +78 -0
  335. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js.map +1 -0
  336. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +78 -0
  337. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +1 -0
  338. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +63 -0
  339. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js.map +1 -0
  340. package/dist/node_modules/use-sync-external-store/shim/index.js +13 -0
  341. package/dist/node_modules/use-sync-external-store/shim/index.js.map +1 -0
  342. package/dist/node_modules/use-sync-external-store/shim/with-selector.js +13 -0
  343. package/dist/node_modules/use-sync-external-store/shim/with-selector.js.map +1 -0
  344. package/dist/node_modules/w3c-keyname/index.js +106 -0
  345. package/dist/node_modules/w3c-keyname/index.js.map +1 -0
  346. package/dist/node_modules/zod/v4/classic/coerce.js +10 -0
  347. package/dist/node_modules/zod/v4/classic/coerce.js.map +1 -0
  348. package/dist/node_modules/zod/v4/classic/schemas.js +22 -4
  349. package/dist/node_modules/zod/v4/classic/schemas.js.map +1 -1
  350. package/dist/node_modules/zod/v4/core/api.js +18 -0
  351. package/dist/node_modules/zod/v4/core/api.js.map +1 -1
  352. package/dist/node_modules/zod/v4/core/json-schema-processors.js +4 -0
  353. package/dist/node_modules/zod/v4/core/json-schema-processors.js.map +1 -1
  354. package/dist/node_modules/zod/v4/core/regexes.js +2 -0
  355. package/dist/node_modules/zod/v4/core/regexes.js.map +1 -1
  356. package/dist/node_modules/zod/v4/core/schemas.js +25 -3
  357. package/dist/node_modules/zod/v4/core/schemas.js.map +1 -1
  358. package/dist/redux/baseQuery.d.ts +1 -0
  359. package/dist/redux/baseQuery.js +24 -0
  360. package/dist/redux/baseQuery.js.map +1 -0
  361. package/dist/services/eventApi.d.ts +4383 -0
  362. package/dist/services/eventApi.js +411 -0
  363. package/dist/services/eventApi.js.map +1 -0
  364. package/dist/services/helpers.d.ts +50 -0
  365. package/dist/services/helpers.js +115 -0
  366. package/dist/services/helpers.js.map +1 -0
  367. package/dist/services/initialize-firebase.d.ts +2 -0
  368. package/dist/services/initialize-firebase.js +20 -0
  369. package/dist/services/initialize-firebase.js.map +1 -0
  370. package/dist/services/process-image-on-server.d.ts +1 -0
  371. package/dist/services/process-image-on-server.js +30 -0
  372. package/dist/services/process-image-on-server.js.map +1 -0
  373. package/dist/services/remote-config.d.ts +5 -0
  374. package/dist/services/remote-config.js +9 -0
  375. package/dist/services/remote-config.js.map +1 -0
  376. package/dist/services/single-event-api.d.ts +4287 -0
  377. package/dist/services/single-event-api.js +301 -0
  378. package/dist/services/single-event-api.js.map +1 -0
  379. package/dist/services/utils.d.ts +35 -0
  380. package/dist/services/utils.js +107 -0
  381. package/dist/services/utils.js.map +1 -0
  382. package/dist/stories/Alert.stories.d.ts +1 -1
  383. package/dist/styles.css +3531 -96
  384. package/dist/types/events.d.ts +60 -0
  385. package/dist/types/question.d.ts +37 -0
  386. package/dist/types/redux-types.d.ts +15 -0
  387. package/dist/types/types.d.ts +60 -0
  388. package/dist/types/types.js +10 -0
  389. package/dist/types/types.js.map +1 -0
  390. package/dist/utils/cn.js +2 -2
  391. package/dist/utils/cn.js.map +1 -1
  392. package/dist/utils/date-range.d.ts +4 -0
  393. package/dist/utils/date-range.js +13 -0
  394. package/dist/utils/date-range.js.map +1 -0
  395. package/dist/utils/single-event-helpers.d.ts +50 -0
  396. package/dist/utils/single-event-helpers.js +18 -0
  397. package/dist/utils/single-event-helpers.js.map +1 -0
  398. package/dist/utils/social-validation.d.ts +10 -0
  399. package/dist/utils/social-validation.js +42 -0
  400. package/dist/utils/social-validation.js.map +1 -0
  401. package/dist/utils/utils.d.ts +59 -0
  402. package/dist/utils/utils.js +20 -0
  403. package/dist/utils/utils.js.map +1 -0
  404. package/package.json +18 -2
  405. package/dist/_virtual/index2.js +0 -5
  406. package/dist/_virtual/index2.js.map +0 -1
  407. package/dist/_virtual/jsx-runtime.js +0 -5
  408. package/dist/_virtual/jsx-runtime.js.map +0 -1
  409. package/dist/_virtual/react-is.development.js +0 -5
  410. package/dist/_virtual/react-is.development.js.map +0 -1
  411. package/dist/_virtual/react-is.production.min.js +0 -5
  412. package/dist/_virtual/react-is.production.min.js.map +0 -1
  413. package/dist/_virtual/react-jsx-runtime.development.js +0 -5
  414. package/dist/_virtual/react-jsx-runtime.development.js.map +0 -1
  415. package/dist/_virtual/react-jsx-runtime.production.js +0 -5
  416. package/dist/_virtual/react-jsx-runtime.production.js.map +0 -1
  417. package/dist/_virtual/use-sync-external-store-with-selector.development.js +0 -5
  418. package/dist/_virtual/use-sync-external-store-with-selector.development.js.map +0 -1
  419. package/dist/_virtual/use-sync-external-store-with-selector.production.js +0 -5
  420. package/dist/_virtual/use-sync-external-store-with-selector.production.js.map +0 -1
  421. package/dist/components/StepperForm/AddEventLayout.d.ts +0 -66
  422. package/dist/components/StepperForm/AddEventLayout.js +0 -220
  423. package/dist/components/StepperForm/AddEventLayout.js.map +0 -1
  424. package/dist/components/StepperForm/EventSubmissionConfirmationModal.d.ts +0 -19
  425. package/dist/components/StepperForm/EventSubmissionConfirmationModal.js +0 -296
  426. package/dist/components/StepperForm/EventSubmissionConfirmationModal.js.map +0 -1
  427. package/dist/components/StepperForm/index.d.ts +0 -8
  428. package/dist/components/StepperForm/schemas/step1.js +0 -130
  429. package/dist/components/StepperForm/schemas/step1.js.map +0 -1
  430. package/dist/components/StepperForm/schemas/step2.d.ts +0 -138
  431. package/dist/components/StepperForm/schemas/step2.js +0 -95
  432. package/dist/components/StepperForm/schemas/step2.js.map +0 -1
  433. package/dist/components/StepperForm/schemas/utils.js.map +0 -1
  434. package/dist/components/StepperForm/useStepperForm.d.ts +0 -81
  435. package/dist/components/StepperForm/useStepperForm.js +0 -366
  436. package/dist/components/StepperForm/useStepperForm.js.map +0 -1
  437. package/dist/components/Toggle/Toggle.js +0 -67
  438. package/dist/components/Toggle/Toggle.js.map +0 -1
  439. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js +0 -538
  440. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js.map +0 -1
  441. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +0 -626
  442. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +0 -1
  443. package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.js +0 -510
  444. package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.js.map +0 -1
  445. package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.utils.js +0 -17
  446. package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.utils.js.map +0 -1
  447. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +0 -269
  448. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js.map +0 -1
  449. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +0 -177
  450. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +0 -1
  451. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +0 -150
  452. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js.map +0 -1
  453. package/dist/node_modules/@headlessui/react/dist/components/description/description.js +0 -40
  454. package/dist/node_modules/@headlessui/react/dist/components/description/description.js.map +0 -1
  455. package/dist/node_modules/@headlessui/react/dist/components/dialog/dialog.js +0 -111
  456. package/dist/node_modules/@headlessui/react/dist/components/dialog/dialog.js.map +0 -1
  457. package/dist/node_modules/@headlessui/react/dist/components/focus-trap/focus-trap.js +0 -133
  458. package/dist/node_modules/@headlessui/react/dist/components/focus-trap/focus-trap.js.map +0 -1
  459. package/dist/node_modules/@headlessui/react/dist/components/keyboard.js +0 -5
  460. package/dist/node_modules/@headlessui/react/dist/components/keyboard.js.map +0 -1
  461. package/dist/node_modules/@headlessui/react/dist/components/label/label.js +0 -62
  462. package/dist/node_modules/@headlessui/react/dist/components/label/label.js.map +0 -1
  463. package/dist/node_modules/@headlessui/react/dist/components/menu/menu-machine-glue.js +0 -22
  464. package/dist/node_modules/@headlessui/react/dist/components/menu/menu-machine-glue.js.map +0 -1
  465. package/dist/node_modules/@headlessui/react/dist/components/menu/menu-machine.js +0 -127
  466. package/dist/node_modules/@headlessui/react/dist/components/menu/menu-machine.js.map +0 -1
  467. package/dist/node_modules/@headlessui/react/dist/components/menu/menu.js +0 -206
  468. package/dist/node_modules/@headlessui/react/dist/components/menu/menu.js.map +0 -1
  469. package/dist/node_modules/@headlessui/react/dist/components/mouse.js +0 -5
  470. package/dist/node_modules/@headlessui/react/dist/components/mouse.js.map +0 -1
  471. package/dist/node_modules/@headlessui/react/dist/components/portal/portal.js +0 -65
  472. package/dist/node_modules/@headlessui/react/dist/components/portal/portal.js.map +0 -1
  473. package/dist/node_modules/@headlessui/react/dist/components/transition/transition.js +0 -136
  474. package/dist/node_modules/@headlessui/react/dist/components/transition/transition.js.map +0 -1
  475. package/dist/node_modules/@headlessui/react/dist/hooks/document-overflow/adjust-scrollbar-padding.js +0 -15
  476. package/dist/node_modules/@headlessui/react/dist/hooks/document-overflow/adjust-scrollbar-padding.js.map +0 -1
  477. package/dist/node_modules/@headlessui/react/dist/hooks/document-overflow/handle-ios-locking.js +0 -53
  478. package/dist/node_modules/@headlessui/react/dist/hooks/document-overflow/handle-ios-locking.js.map +0 -1
  479. package/dist/node_modules/@headlessui/react/dist/hooks/document-overflow/overflow-store.js +0 -39
  480. package/dist/node_modules/@headlessui/react/dist/hooks/document-overflow/overflow-store.js.map +0 -1
  481. package/dist/node_modules/@headlessui/react/dist/hooks/document-overflow/prevent-scroll.js +0 -9
  482. package/dist/node_modules/@headlessui/react/dist/hooks/document-overflow/prevent-scroll.js.map +0 -1
  483. package/dist/node_modules/@headlessui/react/dist/hooks/document-overflow/use-document-overflow.js +0 -13
  484. package/dist/node_modules/@headlessui/react/dist/hooks/document-overflow/use-document-overflow.js.map +0 -1
  485. package/dist/node_modules/@headlessui/react/dist/hooks/use-active-press.js +0 -34
  486. package/dist/node_modules/@headlessui/react/dist/hooks/use-active-press.js.map +0 -1
  487. package/dist/node_modules/@headlessui/react/dist/hooks/use-disposables.js +0 -10
  488. package/dist/node_modules/@headlessui/react/dist/hooks/use-disposables.js.map +0 -1
  489. package/dist/node_modules/@headlessui/react/dist/hooks/use-document-event.js +0 -16
  490. package/dist/node_modules/@headlessui/react/dist/hooks/use-document-event.js.map +0 -1
  491. package/dist/node_modules/@headlessui/react/dist/hooks/use-element-size.js +0 -27
  492. package/dist/node_modules/@headlessui/react/dist/hooks/use-element-size.js.map +0 -1
  493. package/dist/node_modules/@headlessui/react/dist/hooks/use-escape.js +0 -13
  494. package/dist/node_modules/@headlessui/react/dist/hooks/use-escape.js.map +0 -1
  495. package/dist/node_modules/@headlessui/react/dist/hooks/use-event-listener.js +0 -16
  496. package/dist/node_modules/@headlessui/react/dist/hooks/use-event-listener.js.map +0 -1
  497. package/dist/node_modules/@headlessui/react/dist/hooks/use-event.js +0 -10
  498. package/dist/node_modules/@headlessui/react/dist/hooks/use-event.js.map +0 -1
  499. package/dist/node_modules/@headlessui/react/dist/hooks/use-flags.js +0 -9
  500. package/dist/node_modules/@headlessui/react/dist/hooks/use-flags.js.map +0 -1
  501. package/dist/node_modules/@headlessui/react/dist/hooks/use-handle-toggle.js +0 -16
  502. package/dist/node_modules/@headlessui/react/dist/hooks/use-handle-toggle.js.map +0 -1
  503. package/dist/node_modules/@headlessui/react/dist/hooks/use-inert-others.js +0 -42
  504. package/dist/node_modules/@headlessui/react/dist/hooks/use-inert-others.js.map +0 -1
  505. package/dist/node_modules/@headlessui/react/dist/hooks/use-is-mounted.js +0 -12
  506. package/dist/node_modules/@headlessui/react/dist/hooks/use-is-mounted.js.map +0 -1
  507. package/dist/node_modules/@headlessui/react/dist/hooks/use-is-top-layer.js +0 -14
  508. package/dist/node_modules/@headlessui/react/dist/hooks/use-is-top-layer.js.map +0 -1
  509. package/dist/node_modules/@headlessui/react/dist/hooks/use-is-touch-device.js +0 -17
  510. package/dist/node_modules/@headlessui/react/dist/hooks/use-is-touch-device.js.map +0 -1
  511. package/dist/node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js +0 -9
  512. package/dist/node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js.map +0 -1
  513. package/dist/node_modules/@headlessui/react/dist/hooks/use-latest-value.js +0 -12
  514. package/dist/node_modules/@headlessui/react/dist/hooks/use-latest-value.js.map +0 -1
  515. package/dist/node_modules/@headlessui/react/dist/hooks/use-on-disappear.js +0 -29
  516. package/dist/node_modules/@headlessui/react/dist/hooks/use-on-disappear.js.map +0 -1
  517. package/dist/node_modules/@headlessui/react/dist/hooks/use-on-unmount.js +0 -15
  518. package/dist/node_modules/@headlessui/react/dist/hooks/use-on-unmount.js.map +0 -1
  519. package/dist/node_modules/@headlessui/react/dist/hooks/use-outside-click.js +0 -39
  520. package/dist/node_modules/@headlessui/react/dist/hooks/use-outside-click.js.map +0 -1
  521. package/dist/node_modules/@headlessui/react/dist/hooks/use-owner.js +0 -9
  522. package/dist/node_modules/@headlessui/react/dist/hooks/use-owner.js.map +0 -1
  523. package/dist/node_modules/@headlessui/react/dist/hooks/use-quick-release.js +0 -33
  524. package/dist/node_modules/@headlessui/react/dist/hooks/use-quick-release.js.map +0 -1
  525. package/dist/node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js +0 -13
  526. package/dist/node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js.map +0 -1
  527. package/dist/node_modules/@headlessui/react/dist/hooks/use-root-containers.js +0 -39
  528. package/dist/node_modules/@headlessui/react/dist/hooks/use-root-containers.js.map +0 -1
  529. package/dist/node_modules/@headlessui/react/dist/hooks/use-scroll-lock.js +0 -13
  530. package/dist/node_modules/@headlessui/react/dist/hooks/use-scroll-lock.js.map +0 -1
  531. package/dist/node_modules/@headlessui/react/dist/hooks/use-server-handoff-complete.js +0 -17
  532. package/dist/node_modules/@headlessui/react/dist/hooks/use-server-handoff-complete.js.map +0 -1
  533. package/dist/node_modules/@headlessui/react/dist/hooks/use-slot.js +0 -8
  534. package/dist/node_modules/@headlessui/react/dist/hooks/use-slot.js.map +0 -1
  535. package/dist/node_modules/@headlessui/react/dist/hooks/use-store.js +0 -8
  536. package/dist/node_modules/@headlessui/react/dist/hooks/use-store.js.map +0 -1
  537. package/dist/node_modules/@headlessui/react/dist/hooks/use-sync-refs.js +0 -21
  538. package/dist/node_modules/@headlessui/react/dist/hooks/use-sync-refs.js.map +0 -1
  539. package/dist/node_modules/@headlessui/react/dist/hooks/use-tab-direction.js +0 -14
  540. package/dist/node_modules/@headlessui/react/dist/hooks/use-tab-direction.js.map +0 -1
  541. package/dist/node_modules/@headlessui/react/dist/hooks/use-text-value.js +0 -18
  542. package/dist/node_modules/@headlessui/react/dist/hooks/use-text-value.js.map +0 -1
  543. package/dist/node_modules/@headlessui/react/dist/hooks/use-tracked-pointer.js +0 -17
  544. package/dist/node_modules/@headlessui/react/dist/hooks/use-tracked-pointer.js.map +0 -1
  545. package/dist/node_modules/@headlessui/react/dist/hooks/use-transition.js +0 -74
  546. package/dist/node_modules/@headlessui/react/dist/hooks/use-transition.js.map +0 -1
  547. package/dist/node_modules/@headlessui/react/dist/hooks/use-tree-walker.js +0 -19
  548. package/dist/node_modules/@headlessui/react/dist/hooks/use-tree-walker.js.map +0 -1
  549. package/dist/node_modules/@headlessui/react/dist/hooks/use-watch.js +0 -16
  550. package/dist/node_modules/@headlessui/react/dist/hooks/use-watch.js.map +0 -1
  551. package/dist/node_modules/@headlessui/react/dist/hooks/use-window-event.js +0 -16
  552. package/dist/node_modules/@headlessui/react/dist/hooks/use-window-event.js.map +0 -1
  553. package/dist/node_modules/@headlessui/react/dist/internal/close-provider.js +0 -10
  554. package/dist/node_modules/@headlessui/react/dist/internal/close-provider.js.map +0 -1
  555. package/dist/node_modules/@headlessui/react/dist/internal/disabled.js +0 -9
  556. package/dist/node_modules/@headlessui/react/dist/internal/disabled.js.map +0 -1
  557. package/dist/node_modules/@headlessui/react/dist/internal/floating.js +0 -155
  558. package/dist/node_modules/@headlessui/react/dist/internal/floating.js.map +0 -1
  559. package/dist/node_modules/@headlessui/react/dist/internal/hidden.js +0 -14
  560. package/dist/node_modules/@headlessui/react/dist/internal/hidden.js.map +0 -1
  561. package/dist/node_modules/@headlessui/react/dist/internal/id.js +0 -9
  562. package/dist/node_modules/@headlessui/react/dist/internal/id.js.map +0 -1
  563. package/dist/node_modules/@headlessui/react/dist/internal/open-closed.js +0 -20
  564. package/dist/node_modules/@headlessui/react/dist/internal/open-closed.js.map +0 -1
  565. package/dist/node_modules/@headlessui/react/dist/internal/portal-force-root.js +0 -13
  566. package/dist/node_modules/@headlessui/react/dist/internal/portal-force-root.js.map +0 -1
  567. package/dist/node_modules/@headlessui/react/dist/machine.js +0 -83
  568. package/dist/node_modules/@headlessui/react/dist/machine.js.map +0 -1
  569. package/dist/node_modules/@headlessui/react/dist/machines/stack-machine.js +0 -39
  570. package/dist/node_modules/@headlessui/react/dist/machines/stack-machine.js.map +0 -1
  571. package/dist/node_modules/@headlessui/react/dist/react-glue.js +0 -13
  572. package/dist/node_modules/@headlessui/react/dist/react-glue.js.map +0 -1
  573. package/dist/node_modules/@headlessui/react/dist/utils/active-element-history.js +0 -16
  574. package/dist/node_modules/@headlessui/react/dist/utils/active-element-history.js.map +0 -1
  575. package/dist/node_modules/@headlessui/react/dist/utils/bugs.js +0 -20
  576. package/dist/node_modules/@headlessui/react/dist/utils/bugs.js.map +0 -1
  577. package/dist/node_modules/@headlessui/react/dist/utils/calculate-active-index.js +0 -41
  578. package/dist/node_modules/@headlessui/react/dist/utils/calculate-active-index.js.map +0 -1
  579. package/dist/node_modules/@headlessui/react/dist/utils/class-names.js +0 -7
  580. package/dist/node_modules/@headlessui/react/dist/utils/class-names.js.map +0 -1
  581. package/dist/node_modules/@headlessui/react/dist/utils/default-map.js +0 -14
  582. package/dist/node_modules/@headlessui/react/dist/utils/default-map.js.map +0 -1
  583. package/dist/node_modules/@headlessui/react/dist/utils/disposables.js +0 -41
  584. package/dist/node_modules/@headlessui/react/dist/utils/disposables.js.map +0 -1
  585. package/dist/node_modules/@headlessui/react/dist/utils/document-ready.js +0 -10
  586. package/dist/node_modules/@headlessui/react/dist/utils/document-ready.js.map +0 -1
  587. package/dist/node_modules/@headlessui/react/dist/utils/dom.js +0 -47
  588. package/dist/node_modules/@headlessui/react/dist/utils/dom.js.map +0 -1
  589. package/dist/node_modules/@headlessui/react/dist/utils/element-movement.js +0 -23
  590. package/dist/node_modules/@headlessui/react/dist/utils/element-movement.js.map +0 -1
  591. package/dist/node_modules/@headlessui/react/dist/utils/env.js +0 -39
  592. package/dist/node_modules/@headlessui/react/dist/utils/env.js.map +0 -1
  593. package/dist/node_modules/@headlessui/react/dist/utils/focus-management.js +0 -98
  594. package/dist/node_modules/@headlessui/react/dist/utils/focus-management.js.map +0 -1
  595. package/dist/node_modules/@headlessui/react/dist/utils/get-text-value.js +0 -32
  596. package/dist/node_modules/@headlessui/react/dist/utils/get-text-value.js.map +0 -1
  597. package/dist/node_modules/@headlessui/react/dist/utils/match.js +0 -12
  598. package/dist/node_modules/@headlessui/react/dist/utils/match.js.map +0 -1
  599. package/dist/node_modules/@headlessui/react/dist/utils/micro-task.js +0 -9
  600. package/dist/node_modules/@headlessui/react/dist/utils/micro-task.js.map +0 -1
  601. package/dist/node_modules/@headlessui/react/dist/utils/owner.js +0 -23
  602. package/dist/node_modules/@headlessui/react/dist/utils/owner.js.map +0 -1
  603. package/dist/node_modules/@headlessui/react/dist/utils/platform.js +0 -15
  604. package/dist/node_modules/@headlessui/react/dist/utils/platform.js.map +0 -1
  605. package/dist/node_modules/@headlessui/react/dist/utils/render.js +0 -134
  606. package/dist/node_modules/@headlessui/react/dist/utils/render.js.map +0 -1
  607. package/dist/node_modules/@headlessui/react/dist/utils/store.js +0 -15
  608. package/dist/node_modules/@headlessui/react/dist/utils/store.js.map +0 -1
  609. package/dist/node_modules/@react-aria/focus/dist/useFocusRing.js +0 -49
  610. package/dist/node_modules/@react-aria/focus/dist/useFocusRing.js.map +0 -1
  611. package/dist/node_modules/@react-aria/interactions/dist/useFocus.js +0 -42
  612. package/dist/node_modules/@react-aria/interactions/dist/useFocus.js.map +0 -1
  613. package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.js +0 -170
  614. package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.js.map +0 -1
  615. package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.js +0 -76
  616. package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.js.map +0 -1
  617. package/dist/node_modules/@react-aria/interactions/dist/useHover.js +0 -125
  618. package/dist/node_modules/@react-aria/interactions/dist/useHover.js.map +0 -1
  619. package/dist/node_modules/@react-aria/interactions/dist/utils.js +0 -86
  620. package/dist/node_modules/@react-aria/interactions/dist/utils.js.map +0 -1
  621. package/dist/node_modules/@react-aria/utils/dist/DOMFunctions.js +0 -37
  622. package/dist/node_modules/@react-aria/utils/dist/DOMFunctions.js.map +0 -1
  623. package/dist/node_modules/@react-aria/utils/dist/domHelpers.js +0 -21
  624. package/dist/node_modules/@react-aria/utils/dist/domHelpers.js.map +0 -1
  625. package/dist/node_modules/@react-aria/utils/dist/focusWithoutScrolling.js +0 -56
  626. package/dist/node_modules/@react-aria/utils/dist/focusWithoutScrolling.js.map +0 -1
  627. package/dist/node_modules/@react-aria/utils/dist/isVirtualEvent.js +0 -10
  628. package/dist/node_modules/@react-aria/utils/dist/isVirtualEvent.js.map +0 -1
  629. package/dist/node_modules/@react-aria/utils/dist/openLink.js +0 -35
  630. package/dist/node_modules/@react-aria/utils/dist/openLink.js.map +0 -1
  631. package/dist/node_modules/@react-aria/utils/dist/platform.js +0 -57
  632. package/dist/node_modules/@react-aria/utils/dist/platform.js.map +0 -1
  633. package/dist/node_modules/@react-aria/utils/dist/useGlobalListeners.js +0 -44
  634. package/dist/node_modules/@react-aria/utils/dist/useGlobalListeners.js.map +0 -1
  635. package/dist/node_modules/@react-aria/utils/dist/useLayoutEffect.js +0 -7
  636. package/dist/node_modules/@react-aria/utils/dist/useLayoutEffect.js.map +0 -1
  637. package/dist/node_modules/@react-stately/flags/dist/import.js +0 -8
  638. package/dist/node_modules/@react-stately/flags/dist/import.js.map +0 -1
  639. package/dist/node_modules/clsx/dist/clsx.js +0 -17
  640. package/dist/node_modules/clsx/dist/clsx.js.map +0 -1
  641. package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/PopChild.js +0 -85
  642. package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/PopChild.js.map +0 -1
  643. package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.js +0 -50
  644. package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.js.map +0 -1
  645. package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/index.js +0 -87
  646. package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/index.js.map +0 -1
  647. package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.js +0 -20
  648. package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.js.map +0 -1
  649. package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/utils.js +0 -15
  650. package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/utils.js.map +0 -1
  651. package/dist/node_modules/framer-motion/dist/es/context/LayoutGroupContext.js +0 -6
  652. package/dist/node_modules/framer-motion/dist/es/context/LayoutGroupContext.js.map +0 -1
  653. package/dist/node_modules/framer-motion/dist/es/context/LazyContext.js +0 -6
  654. package/dist/node_modules/framer-motion/dist/es/context/LazyContext.js.map +0 -1
  655. package/dist/node_modules/framer-motion/dist/es/context/MotionConfigContext.js +0 -10
  656. package/dist/node_modules/framer-motion/dist/es/context/MotionConfigContext.js.map +0 -1
  657. package/dist/node_modules/framer-motion/dist/es/context/MotionContext/create.js +0 -14
  658. package/dist/node_modules/framer-motion/dist/es/context/MotionContext/create.js.map +0 -1
  659. package/dist/node_modules/framer-motion/dist/es/context/MotionContext/index.js +0 -6
  660. package/dist/node_modules/framer-motion/dist/es/context/MotionContext/index.js.map +0 -1
  661. package/dist/node_modules/framer-motion/dist/es/context/MotionContext/utils.js +0 -16
  662. package/dist/node_modules/framer-motion/dist/es/context/MotionContext/utils.js.map +0 -1
  663. package/dist/node_modules/framer-motion/dist/es/context/PresenceContext.js +0 -6
  664. package/dist/node_modules/framer-motion/dist/es/context/PresenceContext.js.map +0 -1
  665. package/dist/node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext.js +0 -6
  666. package/dist/node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext.js.map +0 -1
  667. package/dist/node_modules/framer-motion/dist/es/events/add-pointer-event.js +0 -9
  668. package/dist/node_modules/framer-motion/dist/es/events/add-pointer-event.js.map +0 -1
  669. package/dist/node_modules/framer-motion/dist/es/events/event-info.js +0 -15
  670. package/dist/node_modules/framer-motion/dist/es/events/event-info.js.map +0 -1
  671. package/dist/node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.js +0 -430
  672. package/dist/node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.js.map +0 -1
  673. package/dist/node_modules/framer-motion/dist/es/gestures/drag/index.js +0 -39
  674. package/dist/node_modules/framer-motion/dist/es/gestures/drag/index.js.map +0 -1
  675. package/dist/node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.js +0 -94
  676. package/dist/node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.js.map +0 -1
  677. package/dist/node_modules/framer-motion/dist/es/gestures/focus.js +0 -36
  678. package/dist/node_modules/framer-motion/dist/es/gestures/focus.js.map +0 -1
  679. package/dist/node_modules/framer-motion/dist/es/gestures/hover.js +0 -32
  680. package/dist/node_modules/framer-motion/dist/es/gestures/hover.js.map +0 -1
  681. package/dist/node_modules/framer-motion/dist/es/gestures/pan/PanSession.js +0 -216
  682. package/dist/node_modules/framer-motion/dist/es/gestures/pan/PanSession.js.map +0 -1
  683. package/dist/node_modules/framer-motion/dist/es/gestures/pan/index.js +0 -51
  684. package/dist/node_modules/framer-motion/dist/es/gestures/pan/index.js.map +0 -1
  685. package/dist/node_modules/framer-motion/dist/es/gestures/press.js +0 -39
  686. package/dist/node_modules/framer-motion/dist/es/gestures/press.js.map +0 -1
  687. package/dist/node_modules/framer-motion/dist/es/motion/features/animation/exit.js +0 -62
  688. package/dist/node_modules/framer-motion/dist/es/motion/features/animation/exit.js.map +0 -1
  689. package/dist/node_modules/framer-motion/dist/es/motion/features/animation/index.js +0 -42
  690. package/dist/node_modules/framer-motion/dist/es/motion/features/animation/index.js.map +0 -1
  691. package/dist/node_modules/framer-motion/dist/es/motion/features/animations.js +0 -14
  692. package/dist/node_modules/framer-motion/dist/es/motion/features/animations.js.map +0 -1
  693. package/dist/node_modules/framer-motion/dist/es/motion/features/definitions.js +0 -43
  694. package/dist/node_modules/framer-motion/dist/es/motion/features/definitions.js.map +0 -1
  695. package/dist/node_modules/framer-motion/dist/es/motion/features/drag.js +0 -18
  696. package/dist/node_modules/framer-motion/dist/es/motion/features/drag.js.map +0 -1
  697. package/dist/node_modules/framer-motion/dist/es/motion/features/gestures.js +0 -22
  698. package/dist/node_modules/framer-motion/dist/es/motion/features/gestures.js.map +0 -1
  699. package/dist/node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.js +0 -112
  700. package/dist/node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.js.map +0 -1
  701. package/dist/node_modules/framer-motion/dist/es/motion/features/layout.js +0 -12
  702. package/dist/node_modules/framer-motion/dist/es/motion/features/layout.js.map +0 -1
  703. package/dist/node_modules/framer-motion/dist/es/motion/features/load-features.js +0 -16
  704. package/dist/node_modules/framer-motion/dist/es/motion/features/load-features.js.map +0 -1
  705. package/dist/node_modules/framer-motion/dist/es/motion/features/viewport/index.js +0 -67
  706. package/dist/node_modules/framer-motion/dist/es/motion/features/viewport/index.js.map +0 -1
  707. package/dist/node_modules/framer-motion/dist/es/motion/features/viewport/observers.js +0 -34
  708. package/dist/node_modules/framer-motion/dist/es/motion/features/viewport/observers.js.map +0 -1
  709. package/dist/node_modules/framer-motion/dist/es/motion/index.js +0 -70
  710. package/dist/node_modules/framer-motion/dist/es/motion/index.js.map +0 -1
  711. package/dist/node_modules/framer-motion/dist/es/motion/utils/symbol.js +0 -5
  712. package/dist/node_modules/framer-motion/dist/es/motion/utils/symbol.js.map +0 -1
  713. package/dist/node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.js +0 -37
  714. package/dist/node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.js.map +0 -1
  715. package/dist/node_modules/framer-motion/dist/es/motion/utils/use-visual-element.js +0 -109
  716. package/dist/node_modules/framer-motion/dist/es/motion/utils/use-visual-element.js.map +0 -1
  717. package/dist/node_modules/framer-motion/dist/es/motion/utils/use-visual-state.js +0 -67
  718. package/dist/node_modules/framer-motion/dist/es/motion/utils/use-visual-state.js.map +0 -1
  719. package/dist/node_modules/framer-motion/dist/es/motion/utils/valid-prop.js +0 -40
  720. package/dist/node_modules/framer-motion/dist/es/motion/utils/valid-prop.js.map +0 -1
  721. package/dist/node_modules/framer-motion/dist/es/render/components/create-proxy.js +0 -36
  722. package/dist/node_modules/framer-motion/dist/es/render/components/create-proxy.js.map +0 -1
  723. package/dist/node_modules/framer-motion/dist/es/render/components/motion/feature-bundle.js +0 -14
  724. package/dist/node_modules/framer-motion/dist/es/render/components/motion/feature-bundle.js.map +0 -1
  725. package/dist/node_modules/framer-motion/dist/es/render/components/motion/proxy.js +0 -8
  726. package/dist/node_modules/framer-motion/dist/es/render/components/motion/proxy.js.map +0 -1
  727. package/dist/node_modules/framer-motion/dist/es/render/dom/create-visual-element.js +0 -14
  728. package/dist/node_modules/framer-motion/dist/es/render/dom/create-visual-element.js.map +0 -1
  729. package/dist/node_modules/framer-motion/dist/es/render/dom/use-render.js +0 -22
  730. package/dist/node_modules/framer-motion/dist/es/render/dom/use-render.js.map +0 -1
  731. package/dist/node_modules/framer-motion/dist/es/render/dom/utils/filter-props.js +0 -32
  732. package/dist/node_modules/framer-motion/dist/es/render/dom/utils/filter-props.js.map +0 -1
  733. package/dist/node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.js +0 -30
  734. package/dist/node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.js.map +0 -1
  735. package/dist/node_modules/framer-motion/dist/es/render/html/use-html-visual-state.js +0 -11
  736. package/dist/node_modules/framer-motion/dist/es/render/html/use-html-visual-state.js.map +0 -1
  737. package/dist/node_modules/framer-motion/dist/es/render/html/use-props.js +0 -45
  738. package/dist/node_modules/framer-motion/dist/es/render/html/use-props.js.map +0 -1
  739. package/dist/node_modules/framer-motion/dist/es/render/html/utils/create-render-state.js +0 -10
  740. package/dist/node_modules/framer-motion/dist/es/render/html/utils/create-render-state.js.map +0 -1
  741. package/dist/node_modules/framer-motion/dist/es/render/svg/lowercase-elements.js +0 -31
  742. package/dist/node_modules/framer-motion/dist/es/render/svg/lowercase-elements.js.map +0 -1
  743. package/dist/node_modules/framer-motion/dist/es/render/svg/use-props.js +0 -25
  744. package/dist/node_modules/framer-motion/dist/es/render/svg/use-props.js.map +0 -1
  745. package/dist/node_modules/framer-motion/dist/es/render/svg/use-svg-visual-state.js +0 -11
  746. package/dist/node_modules/framer-motion/dist/es/render/svg/use-svg-visual-state.js.map +0 -1
  747. package/dist/node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.js +0 -9
  748. package/dist/node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.js.map +0 -1
  749. package/dist/node_modules/framer-motion/dist/es/utils/distance.js +0 -11
  750. package/dist/node_modules/framer-motion/dist/es/utils/distance.js.map +0 -1
  751. package/dist/node_modules/framer-motion/dist/es/utils/get-context-window.js +0 -7
  752. package/dist/node_modules/framer-motion/dist/es/utils/get-context-window.js.map +0 -1
  753. package/dist/node_modules/framer-motion/dist/es/utils/is-browser.js +0 -5
  754. package/dist/node_modules/framer-motion/dist/es/utils/is-browser.js.map +0 -1
  755. package/dist/node_modules/framer-motion/dist/es/utils/is-ref-object.js +0 -7
  756. package/dist/node_modules/framer-motion/dist/es/utils/is-ref-object.js.map +0 -1
  757. package/dist/node_modules/framer-motion/dist/es/utils/use-composed-ref.js +0 -39
  758. package/dist/node_modules/framer-motion/dist/es/utils/use-composed-ref.js.map +0 -1
  759. package/dist/node_modules/framer-motion/dist/es/utils/use-constant.js +0 -12
  760. package/dist/node_modules/framer-motion/dist/es/utils/use-constant.js.map +0 -1
  761. package/dist/node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.js +0 -7
  762. package/dist/node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.js.map +0 -1
  763. package/dist/node_modules/imask/esm/controls/html-contenteditable-mask-element.js +0 -52
  764. package/dist/node_modules/imask/esm/controls/html-contenteditable-mask-element.js.map +0 -1
  765. package/dist/node_modules/imask/esm/controls/html-input-mask-element.js +0 -33
  766. package/dist/node_modules/imask/esm/controls/html-input-mask-element.js.map +0 -1
  767. package/dist/node_modules/imask/esm/controls/html-mask-element.js +0 -79
  768. package/dist/node_modules/imask/esm/controls/html-mask-element.js.map +0 -1
  769. package/dist/node_modules/imask/esm/controls/input-history.js +0 -37
  770. package/dist/node_modules/imask/esm/controls/input-history.js.map +0 -1
  771. package/dist/node_modules/imask/esm/controls/input.js +0 -309
  772. package/dist/node_modules/imask/esm/controls/input.js.map +0 -1
  773. package/dist/node_modules/imask/esm/controls/mask-element.js +0 -44
  774. package/dist/node_modules/imask/esm/controls/mask-element.js.map +0 -1
  775. package/dist/node_modules/imask/esm/core/action-details.js +0 -58
  776. package/dist/node_modules/imask/esm/core/action-details.js.map +0 -1
  777. package/dist/node_modules/imask/esm/core/change-details.js +0 -41
  778. package/dist/node_modules/imask/esm/core/change-details.js.map +0 -1
  779. package/dist/node_modules/imask/esm/core/continuous-tail-details.js +0 -53
  780. package/dist/node_modules/imask/esm/core/continuous-tail-details.js.map +0 -1
  781. package/dist/node_modules/imask/esm/core/holder.js +0 -7
  782. package/dist/node_modules/imask/esm/core/holder.js.map +0 -1
  783. package/dist/node_modules/imask/esm/core/utils.js +0 -71
  784. package/dist/node_modules/imask/esm/core/utils.js.map +0 -1
  785. package/dist/node_modules/imask/esm/index.js +0 -51
  786. package/dist/node_modules/imask/esm/index.js.map +0 -1
  787. package/dist/node_modules/imask/esm/masked/base.js +0 -359
  788. package/dist/node_modules/imask/esm/masked/base.js.map +0 -1
  789. package/dist/node_modules/imask/esm/masked/date.js +0 -132
  790. package/dist/node_modules/imask/esm/masked/date.js.map +0 -1
  791. package/dist/node_modules/imask/esm/masked/dynamic.js +0 -318
  792. package/dist/node_modules/imask/esm/masked/dynamic.js.map +0 -1
  793. package/dist/node_modules/imask/esm/masked/enum.js +0 -99
  794. package/dist/node_modules/imask/esm/masked/enum.js.map +0 -1
  795. package/dist/node_modules/imask/esm/masked/factory.js +0 -63
  796. package/dist/node_modules/imask/esm/masked/factory.js.map +0 -1
  797. package/dist/node_modules/imask/esm/masked/function.js +0 -24
  798. package/dist/node_modules/imask/esm/masked/function.js.map +0 -1
  799. package/dist/node_modules/imask/esm/masked/number.js +0 -287
  800. package/dist/node_modules/imask/esm/masked/number.js.map +0 -1
  801. package/dist/node_modules/imask/esm/masked/pattern/chunk-tail-details.js +0 -139
  802. package/dist/node_modules/imask/esm/masked/pattern/chunk-tail-details.js.map +0 -1
  803. package/dist/node_modules/imask/esm/masked/pattern/cursor.js +0 -122
  804. package/dist/node_modules/imask/esm/masked/pattern/cursor.js.map +0 -1
  805. package/dist/node_modules/imask/esm/masked/pattern/fixed-definition.js +0 -147
  806. package/dist/node_modules/imask/esm/masked/pattern/fixed-definition.js.map +0 -1
  807. package/dist/node_modules/imask/esm/masked/pattern/input-definition.js +0 -177
  808. package/dist/node_modules/imask/esm/masked/pattern/input-definition.js.map +0 -1
  809. package/dist/node_modules/imask/esm/masked/pattern.js +0 -432
  810. package/dist/node_modules/imask/esm/masked/pattern.js.map +0 -1
  811. package/dist/node_modules/imask/esm/masked/pipe.js +0 -32
  812. package/dist/node_modules/imask/esm/masked/pipe.js.map +0 -1
  813. package/dist/node_modules/imask/esm/masked/range.js +0 -110
  814. package/dist/node_modules/imask/esm/masked/range.js.map +0 -1
  815. package/dist/node_modules/imask/esm/masked/regexp.js +0 -23
  816. package/dist/node_modules/imask/esm/masked/regexp.js.map +0 -1
  817. package/dist/node_modules/imask/esm/masked/repeat.js +0 -133
  818. package/dist/node_modules/imask/esm/masked/repeat.js.map +0 -1
  819. package/dist/node_modules/lucide-react/dist/esm/Icon.js +0 -39
  820. package/dist/node_modules/lucide-react/dist/esm/Icon.js.map +0 -1
  821. package/dist/node_modules/lucide-react/dist/esm/context.js +0 -7
  822. package/dist/node_modules/lucide-react/dist/esm/context.js.map +0 -1
  823. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.js +0 -31
  824. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.js.map +0 -1
  825. package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.js +0 -21
  826. package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.js.map +0 -1
  827. package/dist/node_modules/lucide-react/dist/esm/icons/calendar.js +0 -19
  828. package/dist/node_modules/lucide-react/dist/esm/icons/calendar.js.map +0 -1
  829. package/dist/node_modules/lucide-react/dist/esm/icons/check.js +0 -14
  830. package/dist/node_modules/lucide-react/dist/esm/icons/check.js.map +0 -1
  831. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-down.js +0 -14
  832. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-down.js.map +0 -1
  833. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-left.js +0 -14
  834. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-left.js.map +0 -1
  835. package/dist/node_modules/lucide-react/dist/esm/icons/clipboard-list.js +0 -27
  836. package/dist/node_modules/lucide-react/dist/esm/icons/clipboard-list.js.map +0 -1
  837. package/dist/node_modules/lucide-react/dist/esm/icons/copy.js +0 -17
  838. package/dist/node_modules/lucide-react/dist/esm/icons/copy.js.map +0 -1
  839. package/dist/node_modules/lucide-react/dist/esm/icons/eye.js +0 -23
  840. package/dist/node_modules/lucide-react/dist/esm/icons/eye.js.map +0 -1
  841. package/dist/node_modules/lucide-react/dist/esm/icons/info.js +0 -18
  842. package/dist/node_modules/lucide-react/dist/esm/icons/info.js.map +0 -1
  843. package/dist/node_modules/lucide-react/dist/esm/icons/loader-circle.js +0 -14
  844. package/dist/node_modules/lucide-react/dist/esm/icons/loader-circle.js.map +0 -1
  845. package/dist/node_modules/lucide-react/dist/esm/icons/plus.js +0 -17
  846. package/dist/node_modules/lucide-react/dist/esm/icons/plus.js.map +0 -1
  847. package/dist/node_modules/lucide-react/dist/esm/icons/trash-2.js +0 -20
  848. package/dist/node_modules/lucide-react/dist/esm/icons/trash-2.js.map +0 -1
  849. package/dist/node_modules/lucide-react/dist/esm/icons/triangle-alert.js +0 -24
  850. package/dist/node_modules/lucide-react/dist/esm/icons/triangle-alert.js.map +0 -1
  851. package/dist/node_modules/lucide-react/dist/esm/icons/user.js +0 -17
  852. package/dist/node_modules/lucide-react/dist/esm/icons/user.js.map +0 -1
  853. package/dist/node_modules/lucide-react/dist/esm/icons/users.js +0 -19
  854. package/dist/node_modules/lucide-react/dist/esm/icons/users.js.map +0 -1
  855. package/dist/node_modules/lucide-react/dist/esm/icons/x.js +0 -17
  856. package/dist/node_modules/lucide-react/dist/esm/icons/x.js.map +0 -1
  857. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/hasA11yProp.js +0 -18
  858. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/hasA11yProp.js.map +0 -1
  859. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js +0 -13
  860. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js.map +0 -1
  861. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/toCamelCase.js +0 -14
  862. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/toCamelCase.js.map +0 -1
  863. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/toKebabCase.js +0 -11
  864. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/toKebabCase.js.map +0 -1
  865. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/toPascalCase.js +0 -15
  866. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/toPascalCase.js.map +0 -1
  867. package/dist/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.js +0 -159
  868. package/dist/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.js.map +0 -1
  869. package/dist/node_modules/motion-dom/dist/es/animation/JSAnimation.js +0 -300
  870. package/dist/node_modules/motion-dom/dist/es/animation/JSAnimation.js.map +0 -1
  871. package/dist/node_modules/motion-dom/dist/es/animation/NativeAnimation.js +0 -165
  872. package/dist/node_modules/motion-dom/dist/es/animation/NativeAnimation.js.map +0 -1
  873. package/dist/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.js +0 -52
  874. package/dist/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.js.map +0 -1
  875. package/dist/node_modules/motion-dom/dist/es/animation/animate/single-value.js +0 -12
  876. package/dist/node_modules/motion-dom/dist/es/animation/animate/single-value.js.map +0 -1
  877. package/dist/node_modules/motion-dom/dist/es/animation/drivers/frame.js +0 -18
  878. package/dist/node_modules/motion-dom/dist/es/animation/drivers/frame.js.map +0 -1
  879. package/dist/node_modules/motion-dom/dist/es/animation/generators/inertia.js +0 -68
  880. package/dist/node_modules/motion-dom/dist/es/animation/generators/inertia.js.map +0 -1
  881. package/dist/node_modules/motion-dom/dist/es/animation/generators/keyframes.js +0 -38
  882. package/dist/node_modules/motion-dom/dist/es/animation/generators/keyframes.js.map +0 -1
  883. package/dist/node_modules/motion-dom/dist/es/animation/generators/spring.js +0 -247
  884. package/dist/node_modules/motion-dom/dist/es/animation/generators/spring.js.map +0 -1
  885. package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.js +0 -16
  886. package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.js.map +0 -1
  887. package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.js +0 -17
  888. package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.js.map +0 -1
  889. package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.js +0 -7
  890. package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.js.map +0 -1
  891. package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.js +0 -10
  892. package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.js.map +0 -1
  893. package/dist/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.js +0 -70
  894. package/dist/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.js.map +0 -1
  895. package/dist/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.js +0 -72
  896. package/dist/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.js.map +0 -1
  897. package/dist/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.js +0 -38
  898. package/dist/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.js.map +0 -1
  899. package/dist/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.js +0 -23
  900. package/dist/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.js.map +0 -1
  901. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.js +0 -109
  902. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.js.map +0 -1
  903. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.js +0 -133
  904. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.js.map +0 -1
  905. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/get-final.js +0 -11
  906. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/get-final.js.map +0 -1
  907. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.js +0 -10
  908. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.js.map +0 -1
  909. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.js +0 -13
  910. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.js.map +0 -1
  911. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.js +0 -7
  912. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.js.map +0 -1
  913. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.js +0 -9
  914. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.js.map +0 -1
  915. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.js +0 -14
  916. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.js.map +0 -1
  917. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.js +0 -23
  918. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.js.map +0 -1
  919. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.js +0 -44
  920. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.js.map +0 -1
  921. package/dist/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.js +0 -8
  922. package/dist/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.js.map +0 -1
  923. package/dist/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.js +0 -8
  924. package/dist/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.js.map +0 -1
  925. package/dist/node_modules/motion-dom/dist/es/animation/utils/WithPromise.js +0 -28
  926. package/dist/node_modules/motion-dom/dist/es/animation/utils/WithPromise.js.map +0 -1
  927. package/dist/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.js +0 -11
  928. package/dist/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.js.map +0 -1
  929. package/dist/node_modules/motion-dom/dist/es/animation/utils/can-animate.js +0 -32
  930. package/dist/node_modules/motion-dom/dist/es/animation/utils/can-animate.js.map +0 -1
  931. package/dist/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.js +0 -32
  932. package/dist/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.js.map +0 -1
  933. package/dist/node_modules/motion-dom/dist/es/animation/utils/default-transitions.js +0 -34
  934. package/dist/node_modules/motion-dom/dist/es/animation/utils/default-transitions.js.map +0 -1
  935. package/dist/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.js +0 -12
  936. package/dist/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.js.map +0 -1
  937. package/dist/node_modules/motion-dom/dist/es/animation/utils/is-animatable.js +0 -17
  938. package/dist/node_modules/motion-dom/dist/es/animation/utils/is-animatable.js.map +0 -1
  939. package/dist/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.js +0 -21
  940. package/dist/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.js.map +0 -1
  941. package/dist/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.js +0 -23
  942. package/dist/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.js.map +0 -1
  943. package/dist/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.js +0 -8
  944. package/dist/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.js.map +0 -1
  945. package/dist/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.js +0 -19
  946. package/dist/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.js.map +0 -1
  947. package/dist/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.js +0 -11
  948. package/dist/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.js.map +0 -1
  949. package/dist/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.js +0 -5
  950. package/dist/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.js.map +0 -1
  951. package/dist/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.js +0 -22
  952. package/dist/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.js.map +0 -1
  953. package/dist/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.js +0 -16
  954. package/dist/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.js.map +0 -1
  955. package/dist/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.js +0 -27
  956. package/dist/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.js.map +0 -1
  957. package/dist/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.js +0 -38
  958. package/dist/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.js.map +0 -1
  959. package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.js +0 -13
  960. package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.js.map +0 -1
  961. package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.js +0 -15
  962. package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.js.map +0 -1
  963. package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.js +0 -13
  964. package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.js.map +0 -1
  965. package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.js +0 -12
  966. package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.js.map +0 -1
  967. package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.js +0 -20
  968. package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.js.map +0 -1
  969. package/dist/node_modules/motion-dom/dist/es/events/add-dom-event.js +0 -8
  970. package/dist/node_modules/motion-dom/dist/es/events/add-dom-event.js.map +0 -1
  971. package/dist/node_modules/motion-dom/dist/es/frameloop/batcher.js +0 -68
  972. package/dist/node_modules/motion-dom/dist/es/frameloop/batcher.js.map +0 -1
  973. package/dist/node_modules/motion-dom/dist/es/frameloop/frame.js +0 -10
  974. package/dist/node_modules/motion-dom/dist/es/frameloop/frame.js.map +0 -1
  975. package/dist/node_modules/motion-dom/dist/es/frameloop/microtask.js +0 -6
  976. package/dist/node_modules/motion-dom/dist/es/frameloop/microtask.js.map +0 -1
  977. package/dist/node_modules/motion-dom/dist/es/frameloop/order.js +0 -22
  978. package/dist/node_modules/motion-dom/dist/es/frameloop/order.js.map +0 -1
  979. package/dist/node_modules/motion-dom/dist/es/frameloop/render-step.js +0 -65
  980. package/dist/node_modules/motion-dom/dist/es/frameloop/render-step.js.map +0 -1
  981. package/dist/node_modules/motion-dom/dist/es/frameloop/sync-time.js +0 -22
  982. package/dist/node_modules/motion-dom/dist/es/frameloop/sync-time.js.map +0 -1
  983. package/dist/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.js +0 -12
  984. package/dist/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.js.map +0 -1
  985. package/dist/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.js +0 -26
  986. package/dist/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.js.map +0 -1
  987. package/dist/node_modules/motion-dom/dist/es/gestures/hover.js +0 -63
  988. package/dist/node_modules/motion-dom/dist/es/gestures/hover.js.map +0 -1
  989. package/dist/node_modules/motion-dom/dist/es/gestures/press/index.js +0 -63
  990. package/dist/node_modules/motion-dom/dist/es/gestures/press/index.js.map +0 -1
  991. package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.js +0 -19
  992. package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.js.map +0 -1
  993. package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.js +0 -33
  994. package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.js.map +0 -1
  995. package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/state.js +0 -5
  996. package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/state.js.map +0 -1
  997. package/dist/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.js +0 -13
  998. package/dist/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.js.map +0 -1
  999. package/dist/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.js +0 -11
  1000. package/dist/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.js.map +0 -1
  1001. package/dist/node_modules/motion-dom/dist/es/gestures/utils/setup.js +0 -16
  1002. package/dist/node_modules/motion-dom/dist/es/gestures/utils/setup.js.map +0 -1
  1003. package/dist/node_modules/motion-dom/dist/es/projection/animation/mix-values.js +0 -61
  1004. package/dist/node_modules/motion-dom/dist/es/projection/animation/mix-values.js.map +0 -1
  1005. package/dist/node_modules/motion-dom/dist/es/projection/geometry/conversion.js +0 -27
  1006. package/dist/node_modules/motion-dom/dist/es/projection/geometry/conversion.js.map +0 -1
  1007. package/dist/node_modules/motion-dom/dist/es/projection/geometry/copy.js +0 -20
  1008. package/dist/node_modules/motion-dom/dist/es/projection/geometry/copy.js.map +0 -1
  1009. package/dist/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.js +0 -88
  1010. package/dist/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.js.map +0 -1
  1011. package/dist/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.js +0 -58
  1012. package/dist/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.js.map +0 -1
  1013. package/dist/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.js +0 -41
  1014. package/dist/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.js.map +0 -1
  1015. package/dist/node_modules/motion-dom/dist/es/projection/geometry/models.js +0 -22
  1016. package/dist/node_modules/motion-dom/dist/es/projection/geometry/models.js.map +0 -1
  1017. package/dist/node_modules/motion-dom/dist/es/projection/geometry/utils.js +0 -35
  1018. package/dist/node_modules/motion-dom/dist/es/projection/geometry/utils.js.map +0 -1
  1019. package/dist/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.js +0 -17
  1020. package/dist/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.js.map +0 -1
  1021. package/dist/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.js +0 -29
  1022. package/dist/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.js.map +0 -1
  1023. package/dist/node_modules/motion-dom/dist/es/projection/node/create-projection-node.js +0 -1123
  1024. package/dist/node_modules/motion-dom/dist/es/projection/node/create-projection-node.js.map +0 -1
  1025. package/dist/node_modules/motion-dom/dist/es/projection/node/state.js +0 -16
  1026. package/dist/node_modules/motion-dom/dist/es/projection/node/state.js.map +0 -1
  1027. package/dist/node_modules/motion-dom/dist/es/projection/shared/stack.js +0 -88
  1028. package/dist/node_modules/motion-dom/dist/es/projection/shared/stack.js.map +0 -1
  1029. package/dist/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.js +0 -27
  1030. package/dist/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.js.map +0 -1
  1031. package/dist/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.js +0 -26
  1032. package/dist/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.js.map +0 -1
  1033. package/dist/node_modules/motion-dom/dist/es/projection/styles/scale-correction.js +0 -22
  1034. package/dist/node_modules/motion-dom/dist/es/projection/styles/scale-correction.js.map +0 -1
  1035. package/dist/node_modules/motion-dom/dist/es/projection/styles/transform.js +0 -37
  1036. package/dist/node_modules/motion-dom/dist/es/projection/styles/transform.js.map +0 -1
  1037. package/dist/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.js +0 -5
  1038. package/dist/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.js.map +0 -1
  1039. package/dist/node_modules/motion-dom/dist/es/projection/utils/each-axis.js +0 -7
  1040. package/dist/node_modules/motion-dom/dist/es/projection/utils/each-axis.js.map +0 -1
  1041. package/dist/node_modules/motion-dom/dist/es/projection/utils/flat-tree.js +0 -25
  1042. package/dist/node_modules/motion-dom/dist/es/projection/utils/flat-tree.js.map +0 -1
  1043. package/dist/node_modules/motion-dom/dist/es/projection/utils/has-transform.js +0 -21
  1044. package/dist/node_modules/motion-dom/dist/es/projection/utils/has-transform.js.map +0 -1
  1045. package/dist/node_modules/motion-dom/dist/es/projection/utils/measure.js +0 -19
  1046. package/dist/node_modules/motion-dom/dist/es/projection/utils/measure.js.map +0 -1
  1047. package/dist/node_modules/motion-dom/dist/es/render/Feature.js +0 -12
  1048. package/dist/node_modules/motion-dom/dist/es/render/Feature.js.map +0 -1
  1049. package/dist/node_modules/motion-dom/dist/es/render/VisualElement.js +0 -432
  1050. package/dist/node_modules/motion-dom/dist/es/render/VisualElement.js.map +0 -1
  1051. package/dist/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.js +0 -38
  1052. package/dist/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.js.map +0 -1
  1053. package/dist/node_modules/motion-dom/dist/es/render/dom/is-css-var.js +0 -5
  1054. package/dist/node_modules/motion-dom/dist/es/render/dom/is-css-var.js.map +0 -1
  1055. package/dist/node_modules/motion-dom/dist/es/render/dom/parse-transform.js +0 -84
  1056. package/dist/node_modules/motion-dom/dist/es/render/dom/parse-transform.js.map +0 -1
  1057. package/dist/node_modules/motion-dom/dist/es/render/dom/style-set.js +0 -8
  1058. package/dist/node_modules/motion-dom/dist/es/render/dom/style-set.js.map +0 -1
  1059. package/dist/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.js +0 -7
  1060. package/dist/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.js.map +0 -1
  1061. package/dist/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.js +0 -42
  1062. package/dist/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.js.map +0 -1
  1063. package/dist/node_modules/motion-dom/dist/es/render/html/utils/build-styles.js +0 -43
  1064. package/dist/node_modules/motion-dom/dist/es/render/html/utils/build-styles.js.map +0 -1
  1065. package/dist/node_modules/motion-dom/dist/es/render/html/utils/build-transform.js +0 -49
  1066. package/dist/node_modules/motion-dom/dist/es/render/html/utils/build-transform.js.map +0 -1
  1067. package/dist/node_modules/motion-dom/dist/es/render/html/utils/render.js +0 -15
  1068. package/dist/node_modules/motion-dom/dist/es/render/html/utils/render.js.map +0 -1
  1069. package/dist/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.js +0 -20
  1070. package/dist/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.js.map +0 -1
  1071. package/dist/node_modules/motion-dom/dist/es/render/store.js +0 -5
  1072. package/dist/node_modules/motion-dom/dist/es/render/store.js.map +0 -1
  1073. package/dist/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.js +0 -46
  1074. package/dist/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.js.map +0 -1
  1075. package/dist/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.js +0 -60
  1076. package/dist/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.js.map +0 -1
  1077. package/dist/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.js +0 -29
  1078. package/dist/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.js.map +0 -1
  1079. package/dist/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.js +0 -5
  1080. package/dist/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.js.map +0 -1
  1081. package/dist/node_modules/motion-dom/dist/es/render/svg/utils/path.js +0 -18
  1082. package/dist/node_modules/motion-dom/dist/es/render/svg/utils/path.js.map +0 -1
  1083. package/dist/node_modules/motion-dom/dist/es/render/svg/utils/render.js +0 -13
  1084. package/dist/node_modules/motion-dom/dist/es/render/svg/utils/render.js.map +0 -1
  1085. package/dist/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.js +0 -17
  1086. package/dist/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.js.map +0 -1
  1087. package/dist/node_modules/motion-dom/dist/es/render/utils/animation-state.js +0 -229
  1088. package/dist/node_modules/motion-dom/dist/es/render/utils/animation-state.js.map +0 -1
  1089. package/dist/node_modules/motion-dom/dist/es/render/utils/get-variant-context.js +0 -27
  1090. package/dist/node_modules/motion-dom/dist/es/render/utils/get-variant-context.js.map +0 -1
  1091. package/dist/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.js +0 -7
  1092. package/dist/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.js.map +0 -1
  1093. package/dist/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.js +0 -14
  1094. package/dist/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.js.map +0 -1
  1095. package/dist/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.js +0 -10
  1096. package/dist/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.js.map +0 -1
  1097. package/dist/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.js +0 -7
  1098. package/dist/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.js.map +0 -1
  1099. package/dist/node_modules/motion-dom/dist/es/render/utils/is-variant-label.js +0 -7
  1100. package/dist/node_modules/motion-dom/dist/es/render/utils/is-variant-label.js.map +0 -1
  1101. package/dist/node_modules/motion-dom/dist/es/render/utils/keys-position.js +0 -14
  1102. package/dist/node_modules/motion-dom/dist/es/render/utils/keys-position.js.map +0 -1
  1103. package/dist/node_modules/motion-dom/dist/es/render/utils/keys-transform.js +0 -25
  1104. package/dist/node_modules/motion-dom/dist/es/render/utils/keys-transform.js.map +0 -1
  1105. package/dist/node_modules/motion-dom/dist/es/render/utils/motion-values.js +0 -34
  1106. package/dist/node_modules/motion-dom/dist/es/render/utils/motion-values.js.map +0 -1
  1107. package/dist/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.js +0 -21
  1108. package/dist/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.js.map +0 -1
  1109. package/dist/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.js +0 -7
  1110. package/dist/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.js.map +0 -1
  1111. package/dist/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.js +0 -9
  1112. package/dist/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.js.map +0 -1
  1113. package/dist/node_modules/motion-dom/dist/es/render/utils/resolve-variants.js +0 -26
  1114. package/dist/node_modules/motion-dom/dist/es/render/utils/resolve-variants.js.map +0 -1
  1115. package/dist/node_modules/motion-dom/dist/es/render/utils/setters.js +0 -26
  1116. package/dist/node_modules/motion-dom/dist/es/render/utils/setters.js.map +0 -1
  1117. package/dist/node_modules/motion-dom/dist/es/render/utils/shallow-compare.js +0 -16
  1118. package/dist/node_modules/motion-dom/dist/es/render/utils/shallow-compare.js.map +0 -1
  1119. package/dist/node_modules/motion-dom/dist/es/render/utils/variant-props.js +0 -15
  1120. package/dist/node_modules/motion-dom/dist/es/render/utils/variant-props.js.map +0 -1
  1121. package/dist/node_modules/motion-dom/dist/es/resize/handle-element.js +0 -63
  1122. package/dist/node_modules/motion-dom/dist/es/resize/handle-element.js.map +0 -1
  1123. package/dist/node_modules/motion-dom/dist/es/resize/handle-window.js +0 -32
  1124. package/dist/node_modules/motion-dom/dist/es/resize/handle-window.js.map +0 -1
  1125. package/dist/node_modules/motion-dom/dist/es/resize/index.js +0 -9
  1126. package/dist/node_modules/motion-dom/dist/es/resize/index.js.map +0 -1
  1127. package/dist/node_modules/motion-dom/dist/es/utils/delay.js +0 -18
  1128. package/dist/node_modules/motion-dom/dist/es/utils/delay.js.map +0 -1
  1129. package/dist/node_modules/motion-dom/dist/es/utils/interpolate.js +0 -54
  1130. package/dist/node_modules/motion-dom/dist/es/utils/interpolate.js.map +0 -1
  1131. package/dist/node_modules/motion-dom/dist/es/utils/is-html-element.js +0 -8
  1132. package/dist/node_modules/motion-dom/dist/es/utils/is-html-element.js.map +0 -1
  1133. package/dist/node_modules/motion-dom/dist/es/utils/is-svg-element.js +0 -8
  1134. package/dist/node_modules/motion-dom/dist/es/utils/is-svg-element.js.map +0 -1
  1135. package/dist/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.js +0 -8
  1136. package/dist/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.js.map +0 -1
  1137. package/dist/node_modules/motion-dom/dist/es/utils/mix/color.js +0 -45
  1138. package/dist/node_modules/motion-dom/dist/es/utils/mix/color.js.map +0 -1
  1139. package/dist/node_modules/motion-dom/dist/es/utils/mix/complex.js +0 -84
  1140. package/dist/node_modules/motion-dom/dist/es/utils/mix/complex.js.map +0 -1
  1141. package/dist/node_modules/motion-dom/dist/es/utils/mix/immediate.js +0 -7
  1142. package/dist/node_modules/motion-dom/dist/es/utils/mix/immediate.js.map +0 -1
  1143. package/dist/node_modules/motion-dom/dist/es/utils/mix/index.js +0 -13
  1144. package/dist/node_modules/motion-dom/dist/es/utils/mix/index.js.map +0 -1
  1145. package/dist/node_modules/motion-dom/dist/es/utils/mix/number.js +0 -7
  1146. package/dist/node_modules/motion-dom/dist/es/utils/mix/number.js.map +0 -1
  1147. package/dist/node_modules/motion-dom/dist/es/utils/mix/visibility.js +0 -13
  1148. package/dist/node_modules/motion-dom/dist/es/utils/mix/visibility.js.map +0 -1
  1149. package/dist/node_modules/motion-dom/dist/es/utils/resolve-elements.js +0 -17
  1150. package/dist/node_modules/motion-dom/dist/es/utils/resolve-elements.js.map +0 -1
  1151. package/dist/node_modules/motion-dom/dist/es/utils/supports/flags.js +0 -5
  1152. package/dist/node_modules/motion-dom/dist/es/utils/supports/flags.js.map +0 -1
  1153. package/dist/node_modules/motion-dom/dist/es/utils/supports/linear-easing.js +0 -13
  1154. package/dist/node_modules/motion-dom/dist/es/utils/supports/linear-easing.js.map +0 -1
  1155. package/dist/node_modules/motion-dom/dist/es/utils/supports/memo.js +0 -10
  1156. package/dist/node_modules/motion-dom/dist/es/utils/supports/memo.js.map +0 -1
  1157. package/dist/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.js +0 -6
  1158. package/dist/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.js.map +0 -1
  1159. package/dist/node_modules/motion-dom/dist/es/value/index.js +0 -290
  1160. package/dist/node_modules/motion-dom/dist/es/value/index.js.map +0 -1
  1161. package/dist/node_modules/motion-dom/dist/es/value/types/auto.js +0 -8
  1162. package/dist/node_modules/motion-dom/dist/es/value/types/auto.js.map +0 -1
  1163. package/dist/node_modules/motion-dom/dist/es/value/types/color/hex.js +0 -38
  1164. package/dist/node_modules/motion-dom/dist/es/value/types/color/hex.js.map +0 -1
  1165. package/dist/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.js +0 -40
  1166. package/dist/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.js.map +0 -1
  1167. package/dist/node_modules/motion-dom/dist/es/value/types/color/hsla.js +0 -15
  1168. package/dist/node_modules/motion-dom/dist/es/value/types/color/hsla.js.map +0 -1
  1169. package/dist/node_modules/motion-dom/dist/es/value/types/color/index.js +0 -27
  1170. package/dist/node_modules/motion-dom/dist/es/value/types/color/index.js.map +0 -1
  1171. package/dist/node_modules/motion-dom/dist/es/value/types/color/rgba.js +0 -19
  1172. package/dist/node_modules/motion-dom/dist/es/value/types/color/rgba.js.map +0 -1
  1173. package/dist/node_modules/motion-dom/dist/es/value/types/color/utils.js +0 -22
  1174. package/dist/node_modules/motion-dom/dist/es/value/types/color/utils.js.map +0 -1
  1175. package/dist/node_modules/motion-dom/dist/es/value/types/complex/filter.js +0 -28
  1176. package/dist/node_modules/motion-dom/dist/es/value/types/complex/filter.js.map +0 -1
  1177. package/dist/node_modules/motion-dom/dist/es/value/types/complex/index.js +0 -93
  1178. package/dist/node_modules/motion-dom/dist/es/value/types/complex/index.js.map +0 -1
  1179. package/dist/node_modules/motion-dom/dist/es/value/types/complex/mask.js +0 -13
  1180. package/dist/node_modules/motion-dom/dist/es/value/types/complex/mask.js.map +0 -1
  1181. package/dist/node_modules/motion-dom/dist/es/value/types/dimensions.js +0 -11
  1182. package/dist/node_modules/motion-dom/dist/es/value/types/dimensions.js.map +0 -1
  1183. package/dist/node_modules/motion-dom/dist/es/value/types/int.js +0 -9
  1184. package/dist/node_modules/motion-dom/dist/es/value/types/int.js.map +0 -1
  1185. package/dist/node_modules/motion-dom/dist/es/value/types/maps/defaults.js +0 -29
  1186. package/dist/node_modules/motion-dom/dist/es/value/types/maps/defaults.js.map +0 -1
  1187. package/dist/node_modules/motion-dom/dist/es/value/types/maps/number.js +0 -71
  1188. package/dist/node_modules/motion-dom/dist/es/value/types/maps/number.js.map +0 -1
  1189. package/dist/node_modules/motion-dom/dist/es/value/types/maps/transform.js +0 -32
  1190. package/dist/node_modules/motion-dom/dist/es/value/types/maps/transform.js.map +0 -1
  1191. package/dist/node_modules/motion-dom/dist/es/value/types/numbers/index.js +0 -20
  1192. package/dist/node_modules/motion-dom/dist/es/value/types/numbers/index.js.map +0 -1
  1193. package/dist/node_modules/motion-dom/dist/es/value/types/numbers/units.js +0 -24
  1194. package/dist/node_modules/motion-dom/dist/es/value/types/numbers/units.js.map +0 -1
  1195. package/dist/node_modules/motion-dom/dist/es/value/types/test.js +0 -5
  1196. package/dist/node_modules/motion-dom/dist/es/value/types/test.js.map +0 -1
  1197. package/dist/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.js +0 -15
  1198. package/dist/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.js.map +0 -1
  1199. package/dist/node_modules/motion-dom/dist/es/value/types/utils/color-regex.js +0 -5
  1200. package/dist/node_modules/motion-dom/dist/es/value/types/utils/color-regex.js.map +0 -1
  1201. package/dist/node_modules/motion-dom/dist/es/value/types/utils/find.js +0 -10
  1202. package/dist/node_modules/motion-dom/dist/es/value/types/utils/find.js.map +0 -1
  1203. package/dist/node_modules/motion-dom/dist/es/value/types/utils/float-regex.js +0 -5
  1204. package/dist/node_modules/motion-dom/dist/es/value/types/utils/float-regex.js.map +0 -1
  1205. package/dist/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.js +0 -7
  1206. package/dist/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.js.map +0 -1
  1207. package/dist/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.js +0 -7
  1208. package/dist/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.js.map +0 -1
  1209. package/dist/node_modules/motion-dom/dist/es/value/types/utils/sanitize.js +0 -5
  1210. package/dist/node_modules/motion-dom/dist/es/value/types/utils/sanitize.js.map +0 -1
  1211. package/dist/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.js +0 -5
  1212. package/dist/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.js.map +0 -1
  1213. package/dist/node_modules/motion-dom/dist/es/value/utils/is-motion-value.js +0 -5
  1214. package/dist/node_modules/motion-dom/dist/es/value/utils/is-motion-value.js.map +0 -1
  1215. package/dist/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.js +0 -8
  1216. package/dist/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.js.map +0 -1
  1217. package/dist/node_modules/motion-dom/dist/es/value/will-change/add-will-change.js +0 -16
  1218. package/dist/node_modules/motion-dom/dist/es/value/will-change/add-will-change.js.map +0 -1
  1219. package/dist/node_modules/motion-dom/dist/es/value/will-change/is.js +0 -8
  1220. package/dist/node_modules/motion-dom/dist/es/value/will-change/is.js.map +0 -1
  1221. package/dist/node_modules/motion-utils/dist/es/array.js +0 -14
  1222. package/dist/node_modules/motion-utils/dist/es/array.js.map +0 -1
  1223. package/dist/node_modules/motion-utils/dist/es/clamp.js +0 -11
  1224. package/dist/node_modules/motion-utils/dist/es/clamp.js.map +0 -1
  1225. package/dist/node_modules/motion-utils/dist/es/easing/anticipate.js +0 -6
  1226. package/dist/node_modules/motion-utils/dist/es/easing/anticipate.js.map +0 -1
  1227. package/dist/node_modules/motion-utils/dist/es/easing/back.js +0 -12
  1228. package/dist/node_modules/motion-utils/dist/es/easing/back.js.map +0 -1
  1229. package/dist/node_modules/motion-utils/dist/es/easing/circ.js +0 -11
  1230. package/dist/node_modules/motion-utils/dist/es/easing/circ.js.map +0 -1
  1231. package/dist/node_modules/motion-utils/dist/es/easing/cubic-bezier.js +0 -29
  1232. package/dist/node_modules/motion-utils/dist/es/easing/cubic-bezier.js.map +0 -1
  1233. package/dist/node_modules/motion-utils/dist/es/easing/ease.js +0 -10
  1234. package/dist/node_modules/motion-utils/dist/es/easing/ease.js.map +0 -1
  1235. package/dist/node_modules/motion-utils/dist/es/easing/modifiers/mirror.js +0 -5
  1236. package/dist/node_modules/motion-utils/dist/es/easing/modifiers/mirror.js.map +0 -1
  1237. package/dist/node_modules/motion-utils/dist/es/easing/modifiers/reverse.js +0 -5
  1238. package/dist/node_modules/motion-utils/dist/es/easing/modifiers/reverse.js.map +0 -1
  1239. package/dist/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.js +0 -5
  1240. package/dist/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.js.map +0 -1
  1241. package/dist/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.js +0 -7
  1242. package/dist/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.js.map +0 -1
  1243. package/dist/node_modules/motion-utils/dist/es/easing/utils/map.js +0 -39
  1244. package/dist/node_modules/motion-utils/dist/es/easing/utils/map.js.map +0 -1
  1245. package/dist/node_modules/motion-utils/dist/es/errors.js +0 -23
  1246. package/dist/node_modules/motion-utils/dist/es/errors.js.map +0 -1
  1247. package/dist/node_modules/motion-utils/dist/es/format-error-message.js +0 -7
  1248. package/dist/node_modules/motion-utils/dist/es/format-error-message.js.map +0 -1
  1249. package/dist/node_modules/motion-utils/dist/es/global-config.js +0 -5
  1250. package/dist/node_modules/motion-utils/dist/es/global-config.js.map +0 -1
  1251. package/dist/node_modules/motion-utils/dist/es/is-numerical-string.js +0 -5
  1252. package/dist/node_modules/motion-utils/dist/es/is-numerical-string.js.map +0 -1
  1253. package/dist/node_modules/motion-utils/dist/es/is-object.js +0 -7
  1254. package/dist/node_modules/motion-utils/dist/es/is-object.js.map +0 -1
  1255. package/dist/node_modules/motion-utils/dist/es/is-zero-value-string.js +0 -5
  1256. package/dist/node_modules/motion-utils/dist/es/is-zero-value-string.js.map +0 -1
  1257. package/dist/node_modules/motion-utils/dist/es/memo.js +0 -13
  1258. package/dist/node_modules/motion-utils/dist/es/memo.js.map +0 -1
  1259. package/dist/node_modules/motion-utils/dist/es/noop.js +0 -5
  1260. package/dist/node_modules/motion-utils/dist/es/noop.js.map +0 -1
  1261. package/dist/node_modules/motion-utils/dist/es/pipe.js +0 -6
  1262. package/dist/node_modules/motion-utils/dist/es/pipe.js.map +0 -1
  1263. package/dist/node_modules/motion-utils/dist/es/progress.js +0 -8
  1264. package/dist/node_modules/motion-utils/dist/es/progress.js.map +0 -1
  1265. package/dist/node_modules/motion-utils/dist/es/subscription-manager.js +0 -33
  1266. package/dist/node_modules/motion-utils/dist/es/subscription-manager.js.map +0 -1
  1267. package/dist/node_modules/motion-utils/dist/es/time-conversion.js +0 -7
  1268. package/dist/node_modules/motion-utils/dist/es/time-conversion.js.map +0 -1
  1269. package/dist/node_modules/motion-utils/dist/es/velocity-per-second.js +0 -7
  1270. package/dist/node_modules/motion-utils/dist/es/velocity-per-second.js.map +0 -1
  1271. package/dist/node_modules/motion-utils/dist/es/warn-once.js +0 -12
  1272. package/dist/node_modules/motion-utils/dist/es/warn-once.js.map +0 -1
  1273. package/dist/node_modules/object-assign/index.js +0 -79
  1274. package/dist/node_modules/object-assign/index.js.map +0 -1
  1275. package/dist/node_modules/prop-types/checkPropTypes.js +0 -69
  1276. package/dist/node_modules/prop-types/checkPropTypes.js.map +0 -1
  1277. package/dist/node_modules/prop-types/factoryWithThrowingShims.js +0 -59
  1278. package/dist/node_modules/prop-types/factoryWithThrowingShims.js.map +0 -1
  1279. package/dist/node_modules/prop-types/factoryWithTypeCheckers.js +0 -452
  1280. package/dist/node_modules/prop-types/factoryWithTypeCheckers.js.map +0 -1
  1281. package/dist/node_modules/prop-types/index.js +0 -18
  1282. package/dist/node_modules/prop-types/index.js.map +0 -1
  1283. package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.js +0 -13
  1284. package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.js.map +0 -1
  1285. package/dist/node_modules/prop-types/lib/has.js +0 -12
  1286. package/dist/node_modules/prop-types/lib/has.js.map +0 -1
  1287. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js +0 -166
  1288. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js.map +0 -1
  1289. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js +0 -107
  1290. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js.map +0 -1
  1291. package/dist/node_modules/prop-types/node_modules/react-is/index.js +0 -18
  1292. package/dist/node_modules/prop-types/node_modules/react-is/index.js.map +0 -1
  1293. package/dist/node_modules/react/cjs/react-jsx-runtime.development.js +0 -271
  1294. package/dist/node_modules/react/cjs/react-jsx-runtime.development.js.map +0 -1
  1295. package/dist/node_modules/react/cjs/react-jsx-runtime.production.js +0 -42
  1296. package/dist/node_modules/react/cjs/react-jsx-runtime.production.js.map +0 -1
  1297. package/dist/node_modules/react/jsx-runtime.js +0 -13
  1298. package/dist/node_modules/react/jsx-runtime.js.map +0 -1
  1299. package/dist/node_modules/react-icons/fa/index.js +0 -9
  1300. package/dist/node_modules/react-icons/fa/index.js.map +0 -1
  1301. package/dist/node_modules/react-icons/fi/index.js +0 -9
  1302. package/dist/node_modules/react-icons/fi/index.js.map +0 -1
  1303. package/dist/node_modules/react-icons/lib/iconBase.js +0 -110
  1304. package/dist/node_modules/react-icons/lib/iconBase.js.map +0 -1
  1305. package/dist/node_modules/react-icons/lib/iconContext.js +0 -14
  1306. package/dist/node_modules/react-icons/lib/iconContext.js.map +0 -1
  1307. package/dist/node_modules/react-imask/esm/input.js +0 -28
  1308. package/dist/node_modules/react-imask/esm/input.js.map +0 -1
  1309. package/dist/node_modules/react-imask/esm/mixin.js +0 -172
  1310. package/dist/node_modules/react-imask/esm/mixin.js.map +0 -1
  1311. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +0 -2467
  1312. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +0 -1
  1313. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.development.js +0 -81
  1314. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.development.js.map +0 -1
  1315. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.production.js +0 -77
  1316. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.production.js.map +0 -1
  1317. package/dist/node_modules/use-sync-external-store/with-selector.js +0 -13
  1318. package/dist/node_modules/use-sync-external-store/with-selector.js.map +0 -1
  1319. /package/dist/components/{StepperForm → EventAddForm}/schemas/step1.d.ts +0 -0
  1320. /package/dist/components/{StepperForm → EventAddForm}/schemas/utils.d.ts +0 -0
  1321. /package/dist/components/{StepperForm → EventAddForm}/schemas/utils.js +0 -0
  1322. /package/dist/components/{StepperForm → EventAddForm}/types.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/core/dist/index.js"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\n\n// src/helpers/createChainableState.ts\nfunction createChainableState(config) {\n const { state, transaction } = config;\n let { selection } = transaction;\n let { doc } = transaction;\n let { storedMarks } = transaction;\n return {\n ...state,\n apply: state.apply.bind(state),\n applyTransaction: state.applyTransaction.bind(state),\n plugins: state.plugins,\n schema: state.schema,\n reconfigure: state.reconfigure.bind(state),\n toJSON: state.toJSON.bind(state),\n get storedMarks() {\n return storedMarks;\n },\n get selection() {\n return selection;\n },\n get doc() {\n return doc;\n },\n get tr() {\n selection = transaction.selection;\n doc = transaction.doc;\n storedMarks = transaction.storedMarks;\n return transaction;\n }\n };\n}\n\n// src/CommandManager.ts\nvar CommandManager = class {\n constructor(props) {\n this.editor = props.editor;\n this.rawCommands = this.editor.extensionManager.commands;\n this.customState = props.state;\n }\n get hasCustomState() {\n return !!this.customState;\n }\n get state() {\n return this.customState || this.editor.state;\n }\n get commands() {\n const { rawCommands, editor, state } = this;\n const { view } = editor;\n const { tr } = state;\n const props = this.buildProps(tr);\n return Object.fromEntries(\n Object.entries(rawCommands).map(([name, command2]) => {\n const method = (...args) => {\n const callback = command2(...args)(props);\n if (!tr.getMeta(\"preventDispatch\") && !this.hasCustomState) {\n view.dispatch(tr);\n }\n return callback;\n };\n return [name, method];\n })\n );\n }\n get chain() {\n return () => this.createChain();\n }\n get can() {\n return () => this.createCan();\n }\n createChain(startTr, shouldDispatch = true) {\n const { rawCommands, editor, state } = this;\n const { view } = editor;\n const callbacks = [];\n const hasStartTransaction = !!startTr;\n const tr = startTr || state.tr;\n const run3 = () => {\n if (!hasStartTransaction && shouldDispatch && !tr.getMeta(\"preventDispatch\") && !this.hasCustomState) {\n view.dispatch(tr);\n }\n return callbacks.every((callback) => callback === true);\n };\n const chain = {\n ...Object.fromEntries(\n Object.entries(rawCommands).map(([name, command2]) => {\n const chainedCommand = (...args) => {\n const props = this.buildProps(tr, shouldDispatch);\n const callback = command2(...args)(props);\n callbacks.push(callback);\n return chain;\n };\n return [name, chainedCommand];\n })\n ),\n run: run3\n };\n return chain;\n }\n createCan(startTr) {\n const { rawCommands, state } = this;\n const dispatch = false;\n const tr = startTr || state.tr;\n const props = this.buildProps(tr, dispatch);\n const formattedCommands = Object.fromEntries(\n Object.entries(rawCommands).map(([name, command2]) => {\n return [name, (...args) => command2(...args)({ ...props, dispatch: void 0 })];\n })\n );\n return {\n ...formattedCommands,\n chain: () => this.createChain(tr, dispatch)\n };\n }\n buildProps(tr, shouldDispatch = true) {\n const { rawCommands, editor, state } = this;\n const { view } = editor;\n const props = {\n tr,\n editor,\n view,\n state: createChainableState({\n state,\n transaction: tr\n }),\n dispatch: shouldDispatch ? () => void 0 : void 0,\n chain: () => this.createChain(tr, shouldDispatch),\n can: () => this.createCan(tr),\n get commands() {\n return Object.fromEntries(\n Object.entries(rawCommands).map(([name, command2]) => {\n return [name, (...args) => command2(...args)(props)];\n })\n );\n }\n };\n return props;\n }\n};\n\n// src/commands/index.ts\nvar commands_exports = {};\n__export(commands_exports, {\n blur: () => blur,\n clearContent: () => clearContent,\n clearNodes: () => clearNodes,\n command: () => command,\n createParagraphNear: () => createParagraphNear,\n cut: () => cut,\n deleteCurrentNode: () => deleteCurrentNode,\n deleteNode: () => deleteNode,\n deleteRange: () => deleteRange,\n deleteSelection: () => deleteSelection,\n enter: () => enter,\n exitCode: () => exitCode,\n extendMarkRange: () => extendMarkRange,\n first: () => first,\n focus: () => focus,\n forEach: () => forEach,\n insertContent: () => insertContent,\n insertContentAt: () => insertContentAt,\n joinBackward: () => joinBackward,\n joinDown: () => joinDown,\n joinForward: () => joinForward,\n joinItemBackward: () => joinItemBackward,\n joinItemForward: () => joinItemForward,\n joinTextblockBackward: () => joinTextblockBackward,\n joinTextblockForward: () => joinTextblockForward,\n joinUp: () => joinUp,\n keyboardShortcut: () => keyboardShortcut,\n lift: () => lift,\n liftEmptyBlock: () => liftEmptyBlock,\n liftListItem: () => liftListItem,\n newlineInCode: () => newlineInCode,\n resetAttributes: () => resetAttributes,\n scrollIntoView: () => scrollIntoView,\n selectAll: () => selectAll,\n selectNodeBackward: () => selectNodeBackward,\n selectNodeForward: () => selectNodeForward,\n selectParentNode: () => selectParentNode,\n selectTextblockEnd: () => selectTextblockEnd,\n selectTextblockStart: () => selectTextblockStart,\n setContent: () => setContent,\n setMark: () => setMark,\n setMeta: () => setMeta,\n setNode: () => setNode,\n setNodeSelection: () => setNodeSelection,\n setTextDirection: () => setTextDirection,\n setTextSelection: () => setTextSelection,\n sinkListItem: () => sinkListItem,\n splitBlock: () => splitBlock,\n splitListItem: () => splitListItem,\n toggleList: () => toggleList,\n toggleMark: () => toggleMark,\n toggleNode: () => toggleNode,\n toggleWrap: () => toggleWrap,\n undoInputRule: () => undoInputRule,\n unsetAllMarks: () => unsetAllMarks,\n unsetMark: () => unsetMark,\n unsetTextDirection: () => unsetTextDirection,\n updateAttributes: () => updateAttributes,\n wrapIn: () => wrapIn,\n wrapInList: () => wrapInList\n});\n\n// src/commands/blur.ts\nvar blur = () => ({ editor, view }) => {\n requestAnimationFrame(() => {\n var _a;\n if (!editor.isDestroyed) {\n ;\n view.dom.blur();\n (_a = window == null ? void 0 : window.getSelection()) == null ? void 0 : _a.removeAllRanges();\n }\n });\n return true;\n};\n\n// src/commands/clearContent.ts\nvar clearContent = (emitUpdate = true) => ({ commands }) => {\n return commands.setContent(\"\", { emitUpdate });\n};\n\n// src/commands/clearNodes.ts\nimport { liftTarget } from \"@tiptap/pm/transform\";\nvar clearNodes = () => ({ state, tr, dispatch }) => {\n const { selection } = tr;\n const { ranges } = selection;\n if (!dispatch) {\n return true;\n }\n ranges.forEach(({ $from, $to }) => {\n state.doc.nodesBetween($from.pos, $to.pos, (node, pos) => {\n if (node.type.isText) {\n return;\n }\n const { doc, mapping } = tr;\n const $mappedFrom = doc.resolve(mapping.map(pos));\n const $mappedTo = doc.resolve(mapping.map(pos + node.nodeSize));\n const nodeRange = $mappedFrom.blockRange($mappedTo);\n if (!nodeRange) {\n return;\n }\n const targetLiftDepth = liftTarget(nodeRange);\n if (node.type.isTextblock) {\n const { defaultType } = $mappedFrom.parent.contentMatchAt($mappedFrom.index());\n tr.setNodeMarkup(nodeRange.start, defaultType);\n }\n if (targetLiftDepth || targetLiftDepth === 0) {\n tr.lift(nodeRange, targetLiftDepth);\n }\n });\n });\n return true;\n};\n\n// src/commands/command.ts\nvar command = (fn) => (props) => {\n return fn(props);\n};\n\n// src/commands/createParagraphNear.ts\nimport { createParagraphNear as originalCreateParagraphNear } from \"@tiptap/pm/commands\";\nvar createParagraphNear = () => ({ state, dispatch }) => {\n return originalCreateParagraphNear(state, dispatch);\n};\n\n// src/commands/cut.ts\nimport { TextSelection } from \"@tiptap/pm/state\";\nvar cut = (originRange, targetPos) => ({ editor, tr }) => {\n const { state } = editor;\n const contentSlice = state.doc.slice(originRange.from, originRange.to);\n tr.deleteRange(originRange.from, originRange.to);\n const newPos = tr.mapping.map(targetPos);\n tr.insert(newPos, contentSlice.content);\n tr.setSelection(new TextSelection(tr.doc.resolve(Math.max(newPos - 1, 0))));\n return true;\n};\n\n// src/commands/deleteCurrentNode.ts\nvar deleteCurrentNode = () => ({ tr, dispatch }) => {\n const { selection } = tr;\n const currentNode = selection.$anchor.node();\n if (currentNode.content.size > 0) {\n return false;\n }\n const $pos = tr.selection.$anchor;\n for (let depth = $pos.depth; depth > 0; depth -= 1) {\n const node = $pos.node(depth);\n if (node.type === currentNode.type) {\n if (dispatch) {\n const from = $pos.before(depth);\n const to = $pos.after(depth);\n tr.delete(from, to).scrollIntoView();\n }\n return true;\n }\n }\n return false;\n};\n\n// src/helpers/getNodeType.ts\nfunction getNodeType(nameOrType, schema) {\n if (typeof nameOrType === \"string\") {\n if (!schema.nodes[nameOrType]) {\n throw Error(`There is no node type named '${nameOrType}'. Maybe you forgot to add the extension?`);\n }\n return schema.nodes[nameOrType];\n }\n return nameOrType;\n}\n\n// src/commands/deleteNode.ts\nvar deleteNode = (typeOrName) => ({ tr, state, dispatch }) => {\n const type = getNodeType(typeOrName, state.schema);\n const $pos = tr.selection.$anchor;\n for (let depth = $pos.depth; depth > 0; depth -= 1) {\n const node = $pos.node(depth);\n if (node.type === type) {\n if (dispatch) {\n const from = $pos.before(depth);\n const to = $pos.after(depth);\n tr.delete(from, to).scrollIntoView();\n }\n return true;\n }\n }\n return false;\n};\n\n// src/commands/deleteRange.ts\nvar deleteRange = (range) => ({ tr, dispatch }) => {\n const { from, to } = range;\n if (dispatch) {\n tr.delete(from, to);\n }\n return true;\n};\n\n// src/commands/deleteSelection.ts\nimport { deleteSelection as originalDeleteSelection } from \"@tiptap/pm/commands\";\nvar deleteSelection = () => ({ state, dispatch }) => {\n return originalDeleteSelection(state, dispatch);\n};\n\n// src/commands/enter.ts\nvar enter = () => ({ commands }) => {\n return commands.keyboardShortcut(\"Enter\");\n};\n\n// src/commands/exitCode.ts\nimport { exitCode as originalExitCode } from \"@tiptap/pm/commands\";\nvar exitCode = () => ({ state, dispatch }) => {\n return originalExitCode(state, dispatch);\n};\n\n// src/commands/extendMarkRange.ts\nimport { TextSelection as TextSelection2 } from \"@tiptap/pm/state\";\n\n// src/utilities/isRegExp.ts\nfunction isRegExp(value) {\n return Object.prototype.toString.call(value) === \"[object RegExp]\";\n}\n\n// src/utilities/objectIncludes.ts\nfunction objectIncludes(object1, object2, options = { strict: true }) {\n const keys = Object.keys(object2);\n if (!keys.length) {\n return true;\n }\n return keys.every((key) => {\n if (options.strict) {\n return object2[key] === object1[key];\n }\n if (isRegExp(object2[key])) {\n return object2[key].test(object1[key]);\n }\n return object2[key] === object1[key];\n });\n}\n\n// src/helpers/getMarkRange.ts\nfunction findMarkInSet(marks, type, attributes = {}) {\n return marks.find((item) => {\n return item.type === type && objectIncludes(\n // Only check equality for the attributes that are provided\n Object.fromEntries(Object.keys(attributes).map((k) => [k, item.attrs[k]])),\n attributes\n );\n });\n}\nfunction isMarkInSet(marks, type, attributes = {}) {\n return !!findMarkInSet(marks, type, attributes);\n}\nfunction getMarkRange($pos, type, attributes) {\n if (!$pos || !type) {\n return;\n }\n let start = $pos.parent.childAfter($pos.parentOffset);\n if (!start.node || !start.node.marks.some((mark2) => mark2.type === type)) {\n start = $pos.parent.childBefore($pos.parentOffset);\n }\n if (!start.node || !start.node.marks.some((mark2) => mark2.type === type)) {\n return;\n }\n if (!attributes) {\n const firstMark = start.node.marks.find((mark2) => mark2.type === type);\n if (firstMark) {\n attributes = firstMark.attrs;\n }\n }\n const mark = findMarkInSet([...start.node.marks], type, attributes);\n if (!mark) {\n return;\n }\n let startIndex = start.index;\n let startPos = $pos.start() + start.offset;\n let endIndex = startIndex + 1;\n let endPos = startPos + start.node.nodeSize;\n while (startIndex > 0 && isMarkInSet([...$pos.parent.child(startIndex - 1).marks], type, attributes)) {\n startIndex -= 1;\n startPos -= $pos.parent.child(startIndex).nodeSize;\n }\n while (endIndex < $pos.parent.childCount && isMarkInSet([...$pos.parent.child(endIndex).marks], type, attributes)) {\n endPos += $pos.parent.child(endIndex).nodeSize;\n endIndex += 1;\n }\n return {\n from: startPos,\n to: endPos\n };\n}\n\n// src/helpers/getMarkType.ts\nfunction getMarkType(nameOrType, schema) {\n if (typeof nameOrType === \"string\") {\n if (!schema.marks[nameOrType]) {\n throw Error(`There is no mark type named '${nameOrType}'. Maybe you forgot to add the extension?`);\n }\n return schema.marks[nameOrType];\n }\n return nameOrType;\n}\n\n// src/commands/extendMarkRange.ts\nvar extendMarkRange = (typeOrName, attributes) => ({ tr, state, dispatch }) => {\n const type = getMarkType(typeOrName, state.schema);\n const { doc, selection } = tr;\n const { $from, from, to } = selection;\n if (dispatch) {\n const range = getMarkRange($from, type, attributes);\n if (range && range.from <= from && range.to >= to) {\n const newSelection = TextSelection2.create(doc, range.from, range.to);\n tr.setSelection(newSelection);\n }\n }\n return true;\n};\n\n// src/commands/first.ts\nvar first = (commands) => (props) => {\n const items = typeof commands === \"function\" ? commands(props) : commands;\n for (let i = 0; i < items.length; i += 1) {\n if (items[i](props)) {\n return true;\n }\n }\n return false;\n};\n\n// src/helpers/isTextSelection.ts\nimport { TextSelection as TextSelection3 } from \"@tiptap/pm/state\";\nfunction isTextSelection(value) {\n return value instanceof TextSelection3;\n}\n\n// src/helpers/resolveFocusPosition.ts\nimport { Selection, TextSelection as TextSelection4 } from \"@tiptap/pm/state\";\n\n// src/utilities/minMax.ts\nfunction minMax(value = 0, min = 0, max = 0) {\n return Math.min(Math.max(value, min), max);\n}\n\n// src/helpers/resolveFocusPosition.ts\nfunction resolveFocusPosition(doc, position = null) {\n if (!position) {\n return null;\n }\n const selectionAtStart = Selection.atStart(doc);\n const selectionAtEnd = Selection.atEnd(doc);\n if (position === \"start\" || position === true) {\n return selectionAtStart;\n }\n if (position === \"end\") {\n return selectionAtEnd;\n }\n const minPos = selectionAtStart.from;\n const maxPos = selectionAtEnd.to;\n if (position === \"all\") {\n return TextSelection4.create(doc, minMax(0, minPos, maxPos), minMax(doc.content.size, minPos, maxPos));\n }\n return TextSelection4.create(doc, minMax(position, minPos, maxPos), minMax(position, minPos, maxPos));\n}\n\n// src/utilities/isAndroid.ts\nfunction isAndroid() {\n return navigator.platform === \"Android\" || /android/i.test(navigator.userAgent);\n}\n\n// src/utilities/isiOS.ts\nfunction isiOS() {\n return [\"iPad Simulator\", \"iPhone Simulator\", \"iPod Simulator\", \"iPad\", \"iPhone\", \"iPod\"].includes(navigator.platform) || // iPad on iOS 13 detection\n navigator.userAgent.includes(\"Mac\") && \"ontouchend\" in document;\n}\n\n// src/utilities/isSafari.ts\nfunction isSafari() {\n return typeof navigator !== \"undefined\" ? /^((?!chrome|android).)*safari/i.test(navigator.userAgent) : false;\n}\n\n// src/commands/focus.ts\nvar focus = (position = null, options = {}) => ({ editor, view, tr, dispatch }) => {\n options = {\n scrollIntoView: true,\n ...options\n };\n const delayedFocus = () => {\n if (isiOS() || isAndroid()) {\n ;\n view.dom.focus();\n }\n if (isSafari() && !isiOS() && !isAndroid()) {\n ;\n view.dom.focus({ preventScroll: true });\n }\n requestAnimationFrame(() => {\n if (!editor.isDestroyed) {\n view.focus();\n if (options == null ? void 0 : options.scrollIntoView) {\n editor.commands.scrollIntoView();\n }\n }\n });\n };\n try {\n if (view.hasFocus() && position === null || position === false) {\n return true;\n }\n } catch {\n return false;\n }\n if (dispatch && position === null && !isTextSelection(editor.state.selection)) {\n delayedFocus();\n return true;\n }\n const selection = resolveFocusPosition(tr.doc, position) || editor.state.selection;\n const isSameSelection = editor.state.selection.eq(selection);\n if (dispatch) {\n if (!isSameSelection) {\n tr.setSelection(selection);\n }\n if (isSameSelection && tr.storedMarks) {\n tr.setStoredMarks(tr.storedMarks);\n }\n delayedFocus();\n }\n return true;\n};\n\n// src/commands/forEach.ts\nvar forEach = (items, fn) => (props) => {\n return items.every((item, index) => fn(item, { ...props, index }));\n};\n\n// src/commands/insertContent.ts\nvar insertContent = (value, options) => ({ tr, commands }) => {\n return commands.insertContentAt({ from: tr.selection.from, to: tr.selection.to }, value, options);\n};\n\n// src/commands/insertContentAt.ts\nimport { Fragment as Fragment2 } from \"@tiptap/pm/model\";\n\n// src/helpers/createNodeFromContent.ts\nimport { DOMParser, Fragment, Node as ProseMirrorNode, Schema } from \"@tiptap/pm/model\";\n\n// src/utilities/elementFromString.ts\nvar removeWhitespaces = (node) => {\n const children = node.childNodes;\n for (let i = children.length - 1; i >= 0; i -= 1) {\n const child = children[i];\n if (child.nodeType === 3 && child.nodeValue && /^(\\n\\s\\s|\\n)$/.test(child.nodeValue)) {\n node.removeChild(child);\n } else if (child.nodeType === 1) {\n removeWhitespaces(child);\n }\n }\n return node;\n};\nfunction elementFromString(value) {\n if (typeof window === \"undefined\") {\n throw new Error(\"[tiptap error]: there is no window object available, so this function cannot be used\");\n }\n const wrappedValue = `<body>${value}</body>`;\n const html = new window.DOMParser().parseFromString(wrappedValue, \"text/html\").body;\n return removeWhitespaces(html);\n}\n\n// src/helpers/createNodeFromContent.ts\nfunction createNodeFromContent(content, schema, options) {\n if (content instanceof ProseMirrorNode || content instanceof Fragment) {\n return content;\n }\n options = {\n slice: true,\n parseOptions: {},\n ...options\n };\n const isJSONContent = typeof content === \"object\" && content !== null;\n const isTextContent = typeof content === \"string\";\n if (isJSONContent) {\n try {\n const isArrayContent = Array.isArray(content) && content.length > 0;\n if (isArrayContent) {\n return Fragment.fromArray(content.map((item) => schema.nodeFromJSON(item)));\n }\n const node = schema.nodeFromJSON(content);\n if (options.errorOnInvalidContent) {\n node.check();\n }\n return node;\n } catch (error) {\n if (options.errorOnInvalidContent) {\n throw new Error(\"[tiptap error]: Invalid JSON content\", { cause: error });\n }\n console.warn(\"[tiptap warn]: Invalid content.\", \"Passed value:\", content, \"Error:\", error);\n return createNodeFromContent(\"\", schema, options);\n }\n }\n if (isTextContent) {\n if (options.errorOnInvalidContent) {\n let hasInvalidContent = false;\n let invalidContent = \"\";\n const contentCheckSchema = new Schema({\n topNode: schema.spec.topNode,\n marks: schema.spec.marks,\n // Prosemirror's schemas are executed such that: the last to execute, matches last\n // This means that we can add a catch-all node at the end of the schema to catch any content that we don't know how to handle\n nodes: schema.spec.nodes.append({\n __tiptap__private__unknown__catch__all__node: {\n content: \"inline*\",\n group: \"block\",\n parseDOM: [\n {\n tag: \"*\",\n getAttrs: (e) => {\n hasInvalidContent = true;\n invalidContent = typeof e === \"string\" ? e : e.outerHTML;\n return null;\n }\n }\n ]\n }\n })\n });\n if (options.slice) {\n DOMParser.fromSchema(contentCheckSchema).parseSlice(elementFromString(content), options.parseOptions);\n } else {\n DOMParser.fromSchema(contentCheckSchema).parse(elementFromString(content), options.parseOptions);\n }\n if (options.errorOnInvalidContent && hasInvalidContent) {\n throw new Error(\"[tiptap error]: Invalid HTML content\", {\n cause: new Error(`Invalid element found: ${invalidContent}`)\n });\n }\n }\n const parser = DOMParser.fromSchema(schema);\n if (options.slice) {\n return parser.parseSlice(elementFromString(content), options.parseOptions).content;\n }\n return parser.parse(elementFromString(content), options.parseOptions);\n }\n return createNodeFromContent(\"\", schema, options);\n}\n\n// src/helpers/selectionToInsertionEnd.ts\nimport { Selection as Selection2 } from \"@tiptap/pm/state\";\nimport { ReplaceAroundStep, ReplaceStep } from \"@tiptap/pm/transform\";\nfunction selectionToInsertionEnd(tr, startLen, bias) {\n const last = tr.steps.length - 1;\n if (last < startLen) {\n return;\n }\n const step = tr.steps[last];\n if (!(step instanceof ReplaceStep || step instanceof ReplaceAroundStep)) {\n return;\n }\n const map = tr.mapping.maps[last];\n let end = 0;\n map.forEach((_from, _to, _newFrom, newTo) => {\n if (end === 0) {\n end = newTo;\n }\n });\n tr.setSelection(Selection2.near(tr.doc.resolve(end), bias));\n}\n\n// src/commands/insertContentAt.ts\nvar isFragment = (nodeOrFragment) => {\n return !(\"type\" in nodeOrFragment);\n};\nvar insertContentAt = (position, value, options) => ({ tr, dispatch, editor }) => {\n var _a;\n if (dispatch) {\n options = {\n parseOptions: editor.options.parseOptions,\n updateSelection: true,\n applyInputRules: false,\n applyPasteRules: false,\n ...options\n };\n let content;\n const emitContentError = (error) => {\n editor.emit(\"contentError\", {\n editor,\n error,\n disableCollaboration: () => {\n if (\"collaboration\" in editor.storage && typeof editor.storage.collaboration === \"object\" && editor.storage.collaboration) {\n ;\n editor.storage.collaboration.isDisabled = true;\n }\n }\n });\n };\n const parseOptions = {\n preserveWhitespace: \"full\",\n ...options.parseOptions\n };\n if (!options.errorOnInvalidContent && !editor.options.enableContentCheck && editor.options.emitContentError) {\n try {\n createNodeFromContent(value, editor.schema, {\n parseOptions,\n errorOnInvalidContent: true\n });\n } catch (e) {\n emitContentError(e);\n }\n }\n try {\n content = createNodeFromContent(value, editor.schema, {\n parseOptions,\n errorOnInvalidContent: (_a = options.errorOnInvalidContent) != null ? _a : editor.options.enableContentCheck\n });\n } catch (e) {\n emitContentError(e);\n return false;\n }\n let { from, to } = typeof position === \"number\" ? { from: position, to: position } : { from: position.from, to: position.to };\n let isOnlyTextContent = true;\n let isOnlyBlockContent = true;\n const nodes = isFragment(content) ? content : [content];\n nodes.forEach((node) => {\n node.check();\n isOnlyTextContent = isOnlyTextContent ? node.isText && node.marks.length === 0 : false;\n isOnlyBlockContent = isOnlyBlockContent ? node.isBlock : false;\n });\n if (from === to && isOnlyBlockContent) {\n const { parent } = tr.doc.resolve(from);\n const isEmptyTextBlock = parent.isTextblock && !parent.type.spec.code && !parent.childCount;\n if (isEmptyTextBlock) {\n from -= 1;\n to += 1;\n }\n }\n let newContent;\n if (isOnlyTextContent) {\n if (Array.isArray(value)) {\n newContent = value.map((v) => v.text || \"\").join(\"\");\n } else if (value instanceof Fragment2) {\n let text = \"\";\n value.forEach((node) => {\n if (node.text) {\n text += node.text;\n }\n });\n newContent = text;\n } else if (typeof value === \"object\" && !!value && !!value.text) {\n newContent = value.text;\n } else {\n newContent = value;\n }\n tr.insertText(newContent, from, to);\n } else {\n newContent = content;\n const $from = tr.doc.resolve(from);\n const $fromNode = $from.node();\n const fromSelectionAtStart = $from.parentOffset === 0;\n const isTextSelection2 = $fromNode.isText || $fromNode.isTextblock;\n const hasContent = $fromNode.content.size > 0;\n if (fromSelectionAtStart && isTextSelection2 && hasContent && isOnlyBlockContent) {\n from = Math.max(0, from - 1);\n }\n tr.replaceWith(from, to, newContent);\n }\n if (options.updateSelection) {\n selectionToInsertionEnd(tr, tr.steps.length - 1, -1);\n }\n if (options.applyInputRules) {\n tr.setMeta(\"applyInputRules\", { from, text: newContent });\n }\n if (options.applyPasteRules) {\n tr.setMeta(\"applyPasteRules\", { from, text: newContent });\n }\n }\n return true;\n};\n\n// src/commands/join.ts\nimport {\n joinBackward as originalJoinBackward,\n joinDown as originalJoinDown,\n joinForward as originalJoinForward,\n joinUp as originalJoinUp\n} from \"@tiptap/pm/commands\";\nvar joinUp = () => ({ state, dispatch }) => {\n return originalJoinUp(state, dispatch);\n};\nvar joinDown = () => ({ state, dispatch }) => {\n return originalJoinDown(state, dispatch);\n};\nvar joinBackward = () => ({ state, dispatch }) => {\n return originalJoinBackward(state, dispatch);\n};\nvar joinForward = () => ({ state, dispatch }) => {\n return originalJoinForward(state, dispatch);\n};\n\n// src/commands/joinItemBackward.ts\nimport { joinPoint } from \"@tiptap/pm/transform\";\nvar joinItemBackward = () => ({ state, dispatch, tr }) => {\n try {\n const point = joinPoint(state.doc, state.selection.$from.pos, -1);\n if (point === null || point === void 0) {\n return false;\n }\n tr.join(point, 2);\n if (dispatch) {\n dispatch(tr);\n }\n return true;\n } catch {\n return false;\n }\n};\n\n// src/commands/joinItemForward.ts\nimport { joinPoint as joinPoint2 } from \"@tiptap/pm/transform\";\nvar joinItemForward = () => ({ state, dispatch, tr }) => {\n try {\n const point = joinPoint2(state.doc, state.selection.$from.pos, 1);\n if (point === null || point === void 0) {\n return false;\n }\n tr.join(point, 2);\n if (dispatch) {\n dispatch(tr);\n }\n return true;\n } catch {\n return false;\n }\n};\n\n// src/commands/joinTextblockBackward.ts\nimport { joinTextblockBackward as originalCommand } from \"@tiptap/pm/commands\";\nvar joinTextblockBackward = () => ({ state, dispatch }) => {\n return originalCommand(state, dispatch);\n};\n\n// src/commands/joinTextblockForward.ts\nimport { joinTextblockForward as originalCommand2 } from \"@tiptap/pm/commands\";\nvar joinTextblockForward = () => ({ state, dispatch }) => {\n return originalCommand2(state, dispatch);\n};\n\n// src/utilities/isMacOS.ts\nfunction isMacOS() {\n return typeof navigator !== \"undefined\" ? /Mac/.test(navigator.platform) : false;\n}\n\n// src/commands/keyboardShortcut.ts\nfunction normalizeKeyName(name) {\n const parts = name.split(/-(?!$)/);\n let result = parts[parts.length - 1];\n if (result === \"Space\") {\n result = \" \";\n }\n let alt;\n let ctrl;\n let shift;\n let meta;\n for (let i = 0; i < parts.length - 1; i += 1) {\n const mod = parts[i];\n if (/^(cmd|meta|m)$/i.test(mod)) {\n meta = true;\n } else if (/^a(lt)?$/i.test(mod)) {\n alt = true;\n } else if (/^(c|ctrl|control)$/i.test(mod)) {\n ctrl = true;\n } else if (/^s(hift)?$/i.test(mod)) {\n shift = true;\n } else if (/^mod$/i.test(mod)) {\n if (isiOS() || isMacOS()) {\n meta = true;\n } else {\n ctrl = true;\n }\n } else {\n throw new Error(`Unrecognized modifier name: ${mod}`);\n }\n }\n if (alt) {\n result = `Alt-${result}`;\n }\n if (ctrl) {\n result = `Ctrl-${result}`;\n }\n if (meta) {\n result = `Meta-${result}`;\n }\n if (shift) {\n result = `Shift-${result}`;\n }\n return result;\n}\nvar keyboardShortcut = (name) => ({ editor, view, tr, dispatch }) => {\n const keys = normalizeKeyName(name).split(/-(?!$)/);\n const key = keys.find((item) => ![\"Alt\", \"Ctrl\", \"Meta\", \"Shift\"].includes(item));\n const event = new KeyboardEvent(\"keydown\", {\n key: key === \"Space\" ? \" \" : key,\n altKey: keys.includes(\"Alt\"),\n ctrlKey: keys.includes(\"Ctrl\"),\n metaKey: keys.includes(\"Meta\"),\n shiftKey: keys.includes(\"Shift\"),\n bubbles: true,\n cancelable: true\n });\n const capturedTransaction = editor.captureTransaction(() => {\n view.someProp(\"handleKeyDown\", (f) => f(view, event));\n });\n capturedTransaction == null ? void 0 : capturedTransaction.steps.forEach((step) => {\n const newStep = step.map(tr.mapping);\n if (newStep && dispatch) {\n tr.maybeStep(newStep);\n }\n });\n return true;\n};\n\n// src/commands/lift.ts\nimport { lift as originalLift } from \"@tiptap/pm/commands\";\n\n// src/helpers/isNodeActive.ts\nfunction isNodeActive(state, typeOrName, attributes = {}) {\n const { from, to, empty } = state.selection;\n const type = typeOrName ? getNodeType(typeOrName, state.schema) : null;\n const nodeRanges = [];\n state.doc.nodesBetween(from, to, (node, pos) => {\n if (node.isText) {\n return;\n }\n const relativeFrom = Math.max(from, pos);\n const relativeTo = Math.min(to, pos + node.nodeSize);\n nodeRanges.push({\n node,\n from: relativeFrom,\n to: relativeTo\n });\n });\n const selectionRange = to - from;\n const matchedNodeRanges = nodeRanges.filter((nodeRange) => {\n if (!type) {\n return true;\n }\n return type.name === nodeRange.node.type.name;\n }).filter((nodeRange) => objectIncludes(nodeRange.node.attrs, attributes, { strict: false }));\n if (empty) {\n return !!matchedNodeRanges.length;\n }\n const range = matchedNodeRanges.reduce((sum, nodeRange) => sum + nodeRange.to - nodeRange.from, 0);\n return range >= selectionRange;\n}\n\n// src/commands/lift.ts\nvar lift = (typeOrName, attributes = {}) => ({ state, dispatch }) => {\n const type = getNodeType(typeOrName, state.schema);\n const isActive2 = isNodeActive(state, type, attributes);\n if (!isActive2) {\n return false;\n }\n return originalLift(state, dispatch);\n};\n\n// src/commands/liftEmptyBlock.ts\nimport { liftEmptyBlock as originalLiftEmptyBlock } from \"@tiptap/pm/commands\";\nvar liftEmptyBlock = () => ({ state, dispatch }) => {\n return originalLiftEmptyBlock(state, dispatch);\n};\n\n// src/commands/liftListItem.ts\nimport { liftListItem as originalLiftListItem } from \"@tiptap/pm/schema-list\";\nvar liftListItem = (typeOrName) => ({ state, dispatch }) => {\n const type = getNodeType(typeOrName, state.schema);\n return originalLiftListItem(type)(state, dispatch);\n};\n\n// src/commands/newlineInCode.ts\nimport { newlineInCode as originalNewlineInCode } from \"@tiptap/pm/commands\";\nvar newlineInCode = () => ({ state, dispatch }) => {\n return originalNewlineInCode(state, dispatch);\n};\n\n// src/helpers/getSchemaTypeNameByName.ts\nfunction getSchemaTypeNameByName(name, schema) {\n if (schema.nodes[name]) {\n return \"node\";\n }\n if (schema.marks[name]) {\n return \"mark\";\n }\n return null;\n}\n\n// src/utilities/deleteProps.ts\nfunction deleteProps(obj, propOrProps) {\n const props = typeof propOrProps === \"string\" ? [propOrProps] : propOrProps;\n return Object.keys(obj).reduce((newObj, prop) => {\n if (!props.includes(prop)) {\n newObj[prop] = obj[prop];\n }\n return newObj;\n }, {});\n}\n\n// src/commands/resetAttributes.ts\nvar resetAttributes = (typeOrName, attributes) => ({ tr, state, dispatch }) => {\n let nodeType = null;\n let markType = null;\n const schemaType = getSchemaTypeNameByName(\n typeof typeOrName === \"string\" ? typeOrName : typeOrName.name,\n state.schema\n );\n if (!schemaType) {\n return false;\n }\n if (schemaType === \"node\") {\n nodeType = getNodeType(typeOrName, state.schema);\n }\n if (schemaType === \"mark\") {\n markType = getMarkType(typeOrName, state.schema);\n }\n let canReset = false;\n tr.selection.ranges.forEach((range) => {\n state.doc.nodesBetween(range.$from.pos, range.$to.pos, (node, pos) => {\n if (nodeType && nodeType === node.type) {\n canReset = true;\n if (dispatch) {\n tr.setNodeMarkup(pos, void 0, deleteProps(node.attrs, attributes));\n }\n }\n if (markType && node.marks.length) {\n node.marks.forEach((mark) => {\n if (markType === mark.type) {\n canReset = true;\n if (dispatch) {\n tr.addMark(pos, pos + node.nodeSize, markType.create(deleteProps(mark.attrs, attributes)));\n }\n }\n });\n }\n });\n });\n return canReset;\n};\n\n// src/commands/scrollIntoView.ts\nvar scrollIntoView = () => ({ tr, dispatch }) => {\n if (dispatch) {\n tr.scrollIntoView();\n }\n return true;\n};\n\n// src/commands/selectAll.ts\nimport { AllSelection } from \"@tiptap/pm/state\";\nvar selectAll = () => ({ tr, dispatch }) => {\n if (dispatch) {\n const selection = new AllSelection(tr.doc);\n tr.setSelection(selection);\n }\n return true;\n};\n\n// src/commands/selectNodeBackward.ts\nimport { selectNodeBackward as originalSelectNodeBackward } from \"@tiptap/pm/commands\";\nvar selectNodeBackward = () => ({ state, dispatch }) => {\n return originalSelectNodeBackward(state, dispatch);\n};\n\n// src/commands/selectNodeForward.ts\nimport { selectNodeForward as originalSelectNodeForward } from \"@tiptap/pm/commands\";\nvar selectNodeForward = () => ({ state, dispatch }) => {\n return originalSelectNodeForward(state, dispatch);\n};\n\n// src/commands/selectParentNode.ts\nimport { selectParentNode as originalSelectParentNode } from \"@tiptap/pm/commands\";\nvar selectParentNode = () => ({ state, dispatch }) => {\n return originalSelectParentNode(state, dispatch);\n};\n\n// src/commands/selectTextblockEnd.ts\nimport { selectTextblockEnd as originalSelectTextblockEnd } from \"@tiptap/pm/commands\";\nvar selectTextblockEnd = () => ({ state, dispatch }) => {\n return originalSelectTextblockEnd(state, dispatch);\n};\n\n// src/commands/selectTextblockStart.ts\nimport { selectTextblockStart as originalSelectTextblockStart } from \"@tiptap/pm/commands\";\nvar selectTextblockStart = () => ({ state, dispatch }) => {\n return originalSelectTextblockStart(state, dispatch);\n};\n\n// src/helpers/createDocument.ts\nfunction createDocument(content, schema, parseOptions = {}, options = {}) {\n return createNodeFromContent(content, schema, {\n slice: false,\n parseOptions,\n errorOnInvalidContent: options.errorOnInvalidContent\n });\n}\n\n// src/commands/setContent.ts\nvar setContent = (content, { errorOnInvalidContent, emitUpdate = true, parseOptions = {} } = {}) => ({ editor, tr, dispatch, commands }) => {\n const { doc } = tr;\n if (parseOptions.preserveWhitespace !== \"full\") {\n const document2 = createDocument(content, editor.schema, parseOptions, {\n errorOnInvalidContent: errorOnInvalidContent != null ? errorOnInvalidContent : editor.options.enableContentCheck\n });\n if (dispatch) {\n tr.replaceWith(0, doc.content.size, document2).setMeta(\"preventUpdate\", !emitUpdate);\n }\n return true;\n }\n if (dispatch) {\n tr.setMeta(\"preventUpdate\", !emitUpdate);\n }\n return commands.insertContentAt({ from: 0, to: doc.content.size }, content, {\n parseOptions,\n errorOnInvalidContent: errorOnInvalidContent != null ? errorOnInvalidContent : editor.options.enableContentCheck\n });\n};\n\n// src/helpers/getMarkAttributes.ts\nfunction getMarkAttributes(state, typeOrName) {\n const type = getMarkType(typeOrName, state.schema);\n const { from, to, empty } = state.selection;\n const marks = [];\n if (empty) {\n if (state.storedMarks) {\n marks.push(...state.storedMarks);\n }\n marks.push(...state.selection.$head.marks());\n } else {\n state.doc.nodesBetween(from, to, (node) => {\n marks.push(...node.marks);\n });\n }\n const mark = marks.find((markItem) => markItem.type.name === type.name);\n if (!mark) {\n return {};\n }\n return { ...mark.attrs };\n}\n\n// src/helpers/combineTransactionSteps.ts\nimport { Transform } from \"@tiptap/pm/transform\";\nfunction combineTransactionSteps(oldDoc, transactions) {\n const transform = new Transform(oldDoc);\n transactions.forEach((transaction) => {\n transaction.steps.forEach((step) => {\n transform.step(step);\n });\n });\n return transform;\n}\n\n// src/helpers/defaultBlockAt.ts\nfunction defaultBlockAt(match) {\n for (let i = 0; i < match.edgeCount; i += 1) {\n const { type } = match.edge(i);\n if (type.isTextblock && !type.hasRequiredAttrs()) {\n return type;\n }\n }\n return null;\n}\n\n// src/helpers/findChildren.ts\nfunction findChildren(node, predicate) {\n const nodesWithPos = [];\n node.descendants((child, pos) => {\n if (predicate(child)) {\n nodesWithPos.push({\n node: child,\n pos\n });\n }\n });\n return nodesWithPos;\n}\n\n// src/helpers/findChildrenInRange.ts\nfunction findChildrenInRange(node, range, predicate) {\n const nodesWithPos = [];\n node.nodesBetween(range.from, range.to, (child, pos) => {\n if (predicate(child)) {\n nodesWithPos.push({\n node: child,\n pos\n });\n }\n });\n return nodesWithPos;\n}\n\n// src/helpers/findParentNodeClosestToPos.ts\nfunction findParentNodeClosestToPos($pos, predicate) {\n for (let i = $pos.depth; i > 0; i -= 1) {\n const node = $pos.node(i);\n if (predicate(node)) {\n return {\n pos: i > 0 ? $pos.before(i) : 0,\n start: $pos.start(i),\n depth: i,\n node\n };\n }\n }\n}\n\n// src/helpers/findParentNode.ts\nfunction findParentNode(predicate) {\n return (selection) => findParentNodeClosestToPos(selection.$from, predicate);\n}\n\n// src/helpers/getExtensionField.ts\nfunction getExtensionField(extension, field, context) {\n if (extension.config[field] === void 0 && extension.parent) {\n return getExtensionField(extension.parent, field, context);\n }\n if (typeof extension.config[field] === \"function\") {\n const value = extension.config[field].bind({\n ...context,\n parent: extension.parent ? getExtensionField(extension.parent, field, context) : null\n });\n return value;\n }\n return extension.config[field];\n}\n\n// src/helpers/flattenExtensions.ts\nfunction flattenExtensions(extensions) {\n return extensions.map((extension) => {\n const context = {\n name: extension.name,\n options: extension.options,\n storage: extension.storage\n };\n const addExtensions = getExtensionField(extension, \"addExtensions\", context);\n if (addExtensions) {\n return [extension, ...flattenExtensions(addExtensions())];\n }\n return extension;\n }).flat(10);\n}\n\n// src/helpers/generateHTML.ts\nimport { Node } from \"@tiptap/pm/model\";\n\n// src/helpers/getHTMLFromFragment.ts\nimport { DOMSerializer } from \"@tiptap/pm/model\";\nfunction getHTMLFromFragment(fragment, schema) {\n const documentFragment = DOMSerializer.fromSchema(schema).serializeFragment(fragment);\n const temporaryDocument = document.implementation.createHTMLDocument();\n const container = temporaryDocument.createElement(\"div\");\n container.appendChild(documentFragment);\n return container.innerHTML;\n}\n\n// src/helpers/getSchemaByResolvedExtensions.ts\nimport { Schema as Schema2 } from \"@tiptap/pm/model\";\n\n// src/utilities/isFunction.ts\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\n\n// src/utilities/callOrReturn.ts\nfunction callOrReturn(value, context = void 0, ...props) {\n if (isFunction(value)) {\n if (context) {\n return value.bind(context)(...props);\n }\n return value(...props);\n }\n return value;\n}\n\n// src/utilities/isEmptyObject.ts\nfunction isEmptyObject(value = {}) {\n return Object.keys(value).length === 0 && value.constructor === Object;\n}\n\n// src/helpers/splitExtensions.ts\nfunction splitExtensions(extensions) {\n const baseExtensions = extensions.filter((extension) => extension.type === \"extension\");\n const nodeExtensions = extensions.filter((extension) => extension.type === \"node\");\n const markExtensions = extensions.filter((extension) => extension.type === \"mark\");\n return {\n baseExtensions,\n nodeExtensions,\n markExtensions\n };\n}\n\n// src/helpers/getAttributesFromExtensions.ts\nfunction getAttributesFromExtensions(extensions) {\n const extensionAttributes = [];\n const { nodeExtensions, markExtensions } = splitExtensions(extensions);\n const nodeAndMarkExtensions = [...nodeExtensions, ...markExtensions];\n const defaultAttribute = {\n default: null,\n validate: void 0,\n rendered: true,\n renderHTML: null,\n parseHTML: null,\n keepOnSplit: true,\n isRequired: false\n };\n const nodeExtensionTypes = nodeExtensions.filter((ext) => ext.name !== \"text\").map((ext) => ext.name);\n const markExtensionTypes = markExtensions.map((ext) => ext.name);\n const allExtensionTypes = [...nodeExtensionTypes, ...markExtensionTypes];\n extensions.forEach((extension) => {\n const context = {\n name: extension.name,\n options: extension.options,\n storage: extension.storage,\n extensions: nodeAndMarkExtensions\n };\n const addGlobalAttributes = getExtensionField(\n extension,\n \"addGlobalAttributes\",\n context\n );\n if (!addGlobalAttributes) {\n return;\n }\n const globalAttributes = addGlobalAttributes();\n globalAttributes.forEach((globalAttribute) => {\n let resolvedTypes;\n if (Array.isArray(globalAttribute.types)) {\n resolvedTypes = globalAttribute.types;\n } else if (globalAttribute.types === \"*\") {\n resolvedTypes = allExtensionTypes;\n } else if (globalAttribute.types === \"nodes\") {\n resolvedTypes = nodeExtensionTypes;\n } else if (globalAttribute.types === \"marks\") {\n resolvedTypes = markExtensionTypes;\n } else {\n resolvedTypes = [];\n }\n resolvedTypes.forEach((type) => {\n Object.entries(globalAttribute.attributes).forEach(([name, attribute]) => {\n extensionAttributes.push({\n type,\n name,\n attribute: {\n ...defaultAttribute,\n ...attribute\n }\n });\n });\n });\n });\n });\n nodeAndMarkExtensions.forEach((extension) => {\n const context = {\n name: extension.name,\n options: extension.options,\n storage: extension.storage\n };\n const addAttributes = getExtensionField(\n extension,\n \"addAttributes\",\n context\n );\n if (!addAttributes) {\n return;\n }\n const attributes = addAttributes();\n Object.entries(attributes).forEach(([name, attribute]) => {\n const mergedAttr = {\n ...defaultAttribute,\n ...attribute\n };\n if (typeof (mergedAttr == null ? void 0 : mergedAttr.default) === \"function\") {\n mergedAttr.default = mergedAttr.default();\n }\n if ((mergedAttr == null ? void 0 : mergedAttr.isRequired) && (mergedAttr == null ? void 0 : mergedAttr.default) === void 0) {\n delete mergedAttr.default;\n }\n extensionAttributes.push({\n type: extension.name,\n name,\n attribute: mergedAttr\n });\n });\n });\n return extensionAttributes;\n}\n\n// src/utilities/mergeAttributes.ts\nfunction splitStyleDeclarations(styles) {\n const result = [];\n let current = \"\";\n let inSingleQuote = false;\n let inDoubleQuote = false;\n let parenDepth = 0;\n const length = styles.length;\n for (let i = 0; i < length; i += 1) {\n const char = styles[i];\n if (char === \"'\" && !inDoubleQuote) {\n inSingleQuote = !inSingleQuote;\n current += char;\n continue;\n }\n if (char === '\"' && !inSingleQuote) {\n inDoubleQuote = !inDoubleQuote;\n current += char;\n continue;\n }\n if (!inSingleQuote && !inDoubleQuote) {\n if (char === \"(\") {\n parenDepth += 1;\n current += char;\n continue;\n }\n if (char === \")\" && parenDepth > 0) {\n parenDepth -= 1;\n current += char;\n continue;\n }\n if (char === \";\" && parenDepth === 0) {\n result.push(current);\n current = \"\";\n continue;\n }\n }\n current += char;\n }\n if (current) {\n result.push(current);\n }\n return result;\n}\nfunction parseStyleEntries(styles) {\n const pairs = [];\n const declarations = splitStyleDeclarations(styles || \"\");\n const numDeclarations = declarations.length;\n for (let i = 0; i < numDeclarations; i += 1) {\n const declaration = declarations[i];\n const firstColonIndex = declaration.indexOf(\":\");\n if (firstColonIndex === -1) {\n continue;\n }\n const property = declaration.slice(0, firstColonIndex).trim();\n const value = declaration.slice(firstColonIndex + 1).trim();\n if (property && value) {\n pairs.push([property, value]);\n }\n }\n return pairs;\n}\nfunction mergeAttributes(...objects) {\n return objects.filter((item) => !!item).reduce((items, item) => {\n const mergedAttributes = { ...items };\n Object.entries(item).forEach(([key, value]) => {\n const exists = mergedAttributes[key];\n if (!exists) {\n mergedAttributes[key] = value;\n return;\n }\n if (key === \"class\") {\n const valueClasses = value ? String(value).split(\" \") : [];\n const existingClasses = mergedAttributes[key] ? mergedAttributes[key].split(\" \") : [];\n const insertClasses = valueClasses.filter((valueClass) => !existingClasses.includes(valueClass));\n mergedAttributes[key] = [...existingClasses, ...insertClasses].join(\" \");\n } else if (key === \"style\") {\n const styleMap = new Map([...parseStyleEntries(mergedAttributes[key]), ...parseStyleEntries(value)]);\n mergedAttributes[key] = Array.from(styleMap.entries()).map(([property, val]) => `${property}: ${val}`).join(\"; \");\n } else {\n mergedAttributes[key] = value;\n }\n });\n return mergedAttributes;\n }, {});\n}\n\n// src/helpers/getRenderedAttributes.ts\nfunction getRenderedAttributes(nodeOrMark, extensionAttributes) {\n return extensionAttributes.filter((attribute) => attribute.type === nodeOrMark.type.name).filter((item) => item.attribute.rendered).map((item) => {\n if (!item.attribute.renderHTML) {\n return {\n [item.name]: nodeOrMark.attrs[item.name]\n };\n }\n return item.attribute.renderHTML(nodeOrMark.attrs) || {};\n }).reduce((attributes, attribute) => mergeAttributes(attributes, attribute), {});\n}\n\n// src/utilities/fromString.ts\nfunction fromString(value) {\n if (typeof value !== \"string\") {\n return value;\n }\n if (value.match(/^[+-]?(?:\\d*\\.)?\\d+$/)) {\n return Number(value);\n }\n if (value === \"true\") {\n return true;\n }\n if (value === \"false\") {\n return false;\n }\n return value;\n}\n\n// src/helpers/injectExtensionAttributesToParseRule.ts\nfunction injectExtensionAttributesToParseRule(parseRule, extensionAttributes) {\n if (\"style\" in parseRule) {\n return parseRule;\n }\n return {\n ...parseRule,\n getAttrs: (node) => {\n const oldAttributes = parseRule.getAttrs ? parseRule.getAttrs(node) : parseRule.attrs;\n if (oldAttributes === false) {\n return false;\n }\n const newAttributes = extensionAttributes.reduce((items, item) => {\n const value = item.attribute.parseHTML ? item.attribute.parseHTML(node) : fromString(node.getAttribute(item.name));\n if (value === null || value === void 0) {\n return items;\n }\n return {\n ...items,\n [item.name]: value\n };\n }, {});\n return { ...oldAttributes, ...newAttributes };\n }\n };\n}\n\n// src/helpers/getSchemaByResolvedExtensions.ts\nfunction cleanUpSchemaItem(data) {\n return Object.fromEntries(\n // @ts-ignore\n Object.entries(data).filter(([key, value]) => {\n if (key === \"attrs\" && isEmptyObject(value)) {\n return false;\n }\n return value !== null && value !== void 0;\n })\n );\n}\nfunction buildAttributeSpec(extensionAttribute) {\n var _a, _b;\n const spec = {};\n if (!((_a = extensionAttribute == null ? void 0 : extensionAttribute.attribute) == null ? void 0 : _a.isRequired) && \"default\" in ((extensionAttribute == null ? void 0 : extensionAttribute.attribute) || {})) {\n spec.default = extensionAttribute.attribute.default;\n }\n if (((_b = extensionAttribute == null ? void 0 : extensionAttribute.attribute) == null ? void 0 : _b.validate) !== void 0) {\n spec.validate = extensionAttribute.attribute.validate;\n }\n return [extensionAttribute.name, spec];\n}\nfunction getSchemaByResolvedExtensions(extensions, editor) {\n var _a;\n const allAttributes = getAttributesFromExtensions(extensions);\n const { nodeExtensions, markExtensions } = splitExtensions(extensions);\n const topNode = (_a = nodeExtensions.find((extension) => getExtensionField(extension, \"topNode\"))) == null ? void 0 : _a.name;\n const nodes = Object.fromEntries(\n nodeExtensions.map((extension) => {\n const extensionAttributes = allAttributes.filter((attribute) => attribute.type === extension.name);\n const context = {\n name: extension.name,\n options: extension.options,\n storage: extension.storage,\n editor\n };\n const extraNodeFields = extensions.reduce((fields, e) => {\n const extendNodeSchema = getExtensionField(e, \"extendNodeSchema\", context);\n return {\n ...fields,\n ...extendNodeSchema ? extendNodeSchema(extension) : {}\n };\n }, {});\n const schema = cleanUpSchemaItem({\n ...extraNodeFields,\n content: callOrReturn(getExtensionField(extension, \"content\", context)),\n marks: callOrReturn(getExtensionField(extension, \"marks\", context)),\n group: callOrReturn(getExtensionField(extension, \"group\", context)),\n inline: callOrReturn(getExtensionField(extension, \"inline\", context)),\n atom: callOrReturn(getExtensionField(extension, \"atom\", context)),\n selectable: callOrReturn(getExtensionField(extension, \"selectable\", context)),\n draggable: callOrReturn(getExtensionField(extension, \"draggable\", context)),\n code: callOrReturn(getExtensionField(extension, \"code\", context)),\n whitespace: callOrReturn(getExtensionField(extension, \"whitespace\", context)),\n linebreakReplacement: callOrReturn(\n getExtensionField(extension, \"linebreakReplacement\", context)\n ),\n defining: callOrReturn(getExtensionField(extension, \"defining\", context)),\n isolating: callOrReturn(getExtensionField(extension, \"isolating\", context)),\n attrs: Object.fromEntries(extensionAttributes.map(buildAttributeSpec))\n });\n const parseHTML = callOrReturn(getExtensionField(extension, \"parseHTML\", context));\n if (parseHTML) {\n schema.parseDOM = parseHTML.map(\n (parseRule) => injectExtensionAttributesToParseRule(parseRule, extensionAttributes)\n );\n }\n const renderHTML = getExtensionField(extension, \"renderHTML\", context);\n if (renderHTML) {\n schema.toDOM = (node) => renderHTML({\n node,\n HTMLAttributes: getRenderedAttributes(node, extensionAttributes)\n });\n }\n const renderText = getExtensionField(extension, \"renderText\", context);\n if (renderText) {\n schema.toText = renderText;\n }\n return [extension.name, schema];\n })\n );\n const marks = Object.fromEntries(\n markExtensions.map((extension) => {\n const extensionAttributes = allAttributes.filter((attribute) => attribute.type === extension.name);\n const context = {\n name: extension.name,\n options: extension.options,\n storage: extension.storage,\n editor\n };\n const extraMarkFields = extensions.reduce((fields, e) => {\n const extendMarkSchema = getExtensionField(e, \"extendMarkSchema\", context);\n return {\n ...fields,\n ...extendMarkSchema ? extendMarkSchema(extension) : {}\n };\n }, {});\n const schema = cleanUpSchemaItem({\n ...extraMarkFields,\n inclusive: callOrReturn(getExtensionField(extension, \"inclusive\", context)),\n excludes: callOrReturn(getExtensionField(extension, \"excludes\", context)),\n group: callOrReturn(getExtensionField(extension, \"group\", context)),\n spanning: callOrReturn(getExtensionField(extension, \"spanning\", context)),\n code: callOrReturn(getExtensionField(extension, \"code\", context)),\n attrs: Object.fromEntries(extensionAttributes.map(buildAttributeSpec))\n });\n const parseHTML = callOrReturn(getExtensionField(extension, \"parseHTML\", context));\n if (parseHTML) {\n schema.parseDOM = parseHTML.map(\n (parseRule) => injectExtensionAttributesToParseRule(parseRule, extensionAttributes)\n );\n }\n const renderHTML = getExtensionField(extension, \"renderHTML\", context);\n if (renderHTML) {\n schema.toDOM = (mark) => renderHTML({\n mark,\n HTMLAttributes: getRenderedAttributes(mark, extensionAttributes)\n });\n }\n return [extension.name, schema];\n })\n );\n return new Schema2({\n topNode,\n nodes,\n marks\n });\n}\n\n// src/utilities/findDuplicates.ts\nfunction findDuplicates(items) {\n const filtered = items.filter((el, index) => items.indexOf(el) !== index);\n return Array.from(new Set(filtered));\n}\n\n// src/helpers/sortExtensions.ts\nfunction sortExtensions(extensions) {\n const defaultPriority = 100;\n return extensions.sort((a, b) => {\n const priorityA = getExtensionField(a, \"priority\") || defaultPriority;\n const priorityB = getExtensionField(b, \"priority\") || defaultPriority;\n if (priorityA > priorityB) {\n return -1;\n }\n if (priorityA < priorityB) {\n return 1;\n }\n return 0;\n });\n}\n\n// src/helpers/resolveExtensions.ts\nfunction resolveExtensions(extensions) {\n const resolvedExtensions = sortExtensions(flattenExtensions(extensions));\n const duplicatedNames = findDuplicates(resolvedExtensions.map((extension) => extension.name));\n if (duplicatedNames.length) {\n console.warn(\n `[tiptap warn]: Duplicate extension names found: [${duplicatedNames.map((item) => `'${item}'`).join(\", \")}]. This can lead to issues.`\n );\n }\n return resolvedExtensions;\n}\n\n// src/helpers/getSchema.ts\nfunction getSchema(extensions, editor) {\n const resolvedExtensions = resolveExtensions(extensions);\n return getSchemaByResolvedExtensions(resolvedExtensions, editor);\n}\n\n// src/helpers/generateHTML.ts\nfunction generateHTML(doc, extensions) {\n const schema = getSchema(extensions);\n const contentNode = Node.fromJSON(schema, doc);\n return getHTMLFromFragment(contentNode.content, schema);\n}\n\n// src/helpers/generateJSON.ts\nimport { DOMParser as DOMParser2 } from \"@tiptap/pm/model\";\nfunction generateJSON(html, extensions) {\n const schema = getSchema(extensions);\n const dom = elementFromString(html);\n return DOMParser2.fromSchema(schema).parse(dom).toJSON();\n}\n\n// src/helpers/generateText.ts\nimport { Node as Node2 } from \"@tiptap/pm/model\";\n\n// src/helpers/getTextBetween.ts\nfunction getTextBetween(startNode, range, options) {\n const { from, to } = range;\n const { blockSeparator = \"\\n\\n\", textSerializers = {} } = options || {};\n let text = \"\";\n startNode.nodesBetween(from, to, (node, pos, parent, index) => {\n var _a;\n if (node.isBlock && pos > from) {\n text += blockSeparator;\n }\n const textSerializer = textSerializers == null ? void 0 : textSerializers[node.type.name];\n if (textSerializer) {\n if (parent) {\n text += textSerializer({\n node,\n pos,\n parent,\n index,\n range\n });\n }\n return false;\n }\n if (node.isText) {\n text += (_a = node == null ? void 0 : node.text) == null ? void 0 : _a.slice(Math.max(from, pos) - pos, to - pos);\n }\n });\n return text;\n}\n\n// src/helpers/getText.ts\nfunction getText(node, options) {\n const range = {\n from: 0,\n to: node.content.size\n };\n return getTextBetween(node, range, options);\n}\n\n// src/helpers/getTextSerializersFromSchema.ts\nfunction getTextSerializersFromSchema(schema) {\n return Object.fromEntries(\n Object.entries(schema.nodes).filter(([, node]) => node.spec.toText).map(([name, node]) => [name, node.spec.toText])\n );\n}\n\n// src/helpers/generateText.ts\nfunction generateText(doc, extensions, options) {\n const { blockSeparator = \"\\n\\n\", textSerializers = {} } = options || {};\n const schema = getSchema(extensions);\n const contentNode = Node2.fromJSON(schema, doc);\n return getText(contentNode, {\n blockSeparator,\n textSerializers: {\n ...getTextSerializersFromSchema(schema),\n ...textSerializers\n }\n });\n}\n\n// src/helpers/getNodeAttributes.ts\nfunction getNodeAttributes(state, typeOrName) {\n const type = getNodeType(typeOrName, state.schema);\n const { from, to } = state.selection;\n const nodes = [];\n state.doc.nodesBetween(from, to, (node2) => {\n nodes.push(node2);\n });\n const node = nodes.reverse().find((nodeItem) => nodeItem.type.name === type.name);\n if (!node) {\n return {};\n }\n return { ...node.attrs };\n}\n\n// src/helpers/getAttributes.ts\nfunction getAttributes(state, typeOrName) {\n const schemaType = getSchemaTypeNameByName(\n typeof typeOrName === \"string\" ? typeOrName : typeOrName.name,\n state.schema\n );\n if (schemaType === \"node\") {\n return getNodeAttributes(state, typeOrName);\n }\n if (schemaType === \"mark\") {\n return getMarkAttributes(state, typeOrName);\n }\n return {};\n}\n\n// src/utilities/removeDuplicates.ts\nfunction removeDuplicates(array, by = JSON.stringify) {\n const seen = {};\n return array.filter((item) => {\n const key = by(item);\n return Object.prototype.hasOwnProperty.call(seen, key) ? false : seen[key] = true;\n });\n}\n\n// src/helpers/getChangedRanges.ts\nfunction simplifyChangedRanges(changes) {\n const uniqueChanges = removeDuplicates(changes);\n return uniqueChanges.length === 1 ? uniqueChanges : uniqueChanges.filter((change, index) => {\n const rest = uniqueChanges.filter((_, i) => i !== index);\n return !rest.some((otherChange) => {\n return change.oldRange.from >= otherChange.oldRange.from && change.oldRange.to <= otherChange.oldRange.to && change.newRange.from >= otherChange.newRange.from && change.newRange.to <= otherChange.newRange.to;\n });\n });\n}\nfunction getChangedRanges(transform) {\n const { mapping, steps } = transform;\n const changes = [];\n mapping.maps.forEach((stepMap, index) => {\n const ranges = [];\n if (!stepMap.ranges.length) {\n const { from, to } = steps[index];\n if (from === void 0 || to === void 0) {\n return;\n }\n ranges.push({ from, to });\n } else {\n stepMap.forEach((from, to) => {\n ranges.push({ from, to });\n });\n }\n ranges.forEach(({ from, to }) => {\n const newStart = mapping.slice(index).map(from, -1);\n const newEnd = mapping.slice(index).map(to);\n const oldStart = mapping.invert().map(newStart, -1);\n const oldEnd = mapping.invert().map(newEnd);\n changes.push({\n oldRange: {\n from: oldStart,\n to: oldEnd\n },\n newRange: {\n from: newStart,\n to: newEnd\n }\n });\n });\n });\n return simplifyChangedRanges(changes);\n}\n\n// src/helpers/getDebugJSON.ts\nfunction getDebugJSON(node, startOffset = 0) {\n const isTopNode = node.type === node.type.schema.topNodeType;\n const increment = isTopNode ? 0 : 1;\n const from = startOffset;\n const to = from + node.nodeSize;\n const marks = node.marks.map((mark) => {\n const output2 = {\n type: mark.type.name\n };\n if (Object.keys(mark.attrs).length) {\n output2.attrs = { ...mark.attrs };\n }\n return output2;\n });\n const attrs = { ...node.attrs };\n const output = {\n type: node.type.name,\n from,\n to\n };\n if (Object.keys(attrs).length) {\n output.attrs = attrs;\n }\n if (marks.length) {\n output.marks = marks;\n }\n if (node.content.childCount) {\n output.content = [];\n node.forEach((child, offset) => {\n var _a;\n (_a = output.content) == null ? void 0 : _a.push(getDebugJSON(child, startOffset + offset + increment));\n });\n }\n if (node.text) {\n output.text = node.text;\n }\n return output;\n}\n\n// src/helpers/getMarksBetween.ts\nfunction getMarksBetween(from, to, doc) {\n const marks = [];\n if (from === to) {\n doc.resolve(from).marks().forEach((mark) => {\n const $pos = doc.resolve(from);\n const range = getMarkRange($pos, mark.type);\n if (!range) {\n return;\n }\n marks.push({\n mark,\n ...range\n });\n });\n } else {\n doc.nodesBetween(from, to, (node, pos) => {\n if (!node || (node == null ? void 0 : node.nodeSize) === void 0) {\n return;\n }\n marks.push(\n ...node.marks.map((mark) => ({\n from: pos,\n to: pos + node.nodeSize,\n mark\n }))\n );\n });\n }\n return marks;\n}\n\n// src/helpers/getNodeAtPosition.ts\nvar getNodeAtPosition = (state, typeOrName, pos, maxDepth = 20) => {\n const $pos = state.doc.resolve(pos);\n let currentDepth = maxDepth;\n let node = null;\n while (currentDepth > 0 && node === null) {\n const currentNode = $pos.node(currentDepth);\n if ((currentNode == null ? void 0 : currentNode.type.name) === typeOrName) {\n node = currentNode;\n } else {\n currentDepth -= 1;\n }\n }\n return [node, currentDepth];\n};\n\n// src/helpers/getSchemaTypeByName.ts\nfunction getSchemaTypeByName(name, schema) {\n return schema.nodes[name] || schema.marks[name] || null;\n}\n\n// src/helpers/getSplittedAttributes.ts\nfunction getSplittedAttributes(extensionAttributes, typeName, attributes) {\n return Object.fromEntries(\n Object.entries(attributes).filter(([name]) => {\n const extensionAttribute = extensionAttributes.find((item) => {\n return item.type === typeName && item.name === name;\n });\n if (!extensionAttribute) {\n return false;\n }\n return extensionAttribute.attribute.keepOnSplit;\n })\n );\n}\n\n// src/helpers/getTextContentFromNodes.ts\nvar getTextContentFromNodes = ($from, maxMatch = 500) => {\n let textBefore = \"\";\n const sliceEndPos = $from.parentOffset;\n $from.parent.nodesBetween(Math.max(0, sliceEndPos - maxMatch), sliceEndPos, (node, pos, parent, index) => {\n var _a, _b;\n const chunk = ((_b = (_a = node.type.spec).toText) == null ? void 0 : _b.call(_a, {\n node,\n pos,\n parent,\n index\n })) || node.textContent || \"%leaf%\";\n textBefore += node.isAtom && !node.isText ? chunk : chunk.slice(0, Math.max(0, sliceEndPos - pos));\n });\n return textBefore;\n};\n\n// src/helpers/isMarkActive.ts\nfunction isMarkActive(state, typeOrName, attributes = {}) {\n const { empty, ranges } = state.selection;\n const type = typeOrName ? getMarkType(typeOrName, state.schema) : null;\n if (empty) {\n return !!(state.storedMarks || state.selection.$from.marks()).filter((mark) => {\n if (!type) {\n return true;\n }\n return type.name === mark.type.name;\n }).find((mark) => objectIncludes(mark.attrs, attributes, { strict: false }));\n }\n let selectionRange = 0;\n const markRanges = [];\n ranges.forEach(({ $from, $to }) => {\n const from = $from.pos;\n const to = $to.pos;\n state.doc.nodesBetween(from, to, (node, pos) => {\n if (type && node.inlineContent && !node.type.allowsMarkType(type)) {\n return false;\n }\n if (!node.isText && !node.marks.length) {\n return;\n }\n const relativeFrom = Math.max(from, pos);\n const relativeTo = Math.min(to, pos + node.nodeSize);\n const range2 = relativeTo - relativeFrom;\n selectionRange += range2;\n markRanges.push(\n ...node.marks.map((mark) => ({\n mark,\n from: relativeFrom,\n to: relativeTo\n }))\n );\n });\n });\n if (selectionRange === 0) {\n return false;\n }\n const matchedRange = markRanges.filter((markRange) => {\n if (!type) {\n return true;\n }\n return type.name === markRange.mark.type.name;\n }).filter((markRange) => objectIncludes(markRange.mark.attrs, attributes, { strict: false })).reduce((sum, markRange) => sum + markRange.to - markRange.from, 0);\n const excludedRange = markRanges.filter((markRange) => {\n if (!type) {\n return true;\n }\n return markRange.mark.type !== type && markRange.mark.type.excludes(type);\n }).reduce((sum, markRange) => sum + markRange.to - markRange.from, 0);\n const range = matchedRange > 0 ? matchedRange + excludedRange : matchedRange;\n return range >= selectionRange;\n}\n\n// src/helpers/isActive.ts\nfunction isActive(state, name, attributes = {}) {\n if (!name) {\n return isNodeActive(state, null, attributes) || isMarkActive(state, null, attributes);\n }\n const schemaType = getSchemaTypeNameByName(name, state.schema);\n if (schemaType === \"node\") {\n return isNodeActive(state, name, attributes);\n }\n if (schemaType === \"mark\") {\n return isMarkActive(state, name, attributes);\n }\n return false;\n}\n\n// src/helpers/isAtEndOfNode.ts\nvar isAtEndOfNode = (state, nodeType) => {\n const { $from, $to, $anchor } = state.selection;\n if (nodeType) {\n const parentNode = findParentNode((node) => node.type.name === nodeType)(state.selection);\n if (!parentNode) {\n return false;\n }\n const $parentPos = state.doc.resolve(parentNode.pos + 1);\n if ($anchor.pos + 1 === $parentPos.end()) {\n return true;\n }\n return false;\n }\n if ($to.parentOffset < $to.parent.nodeSize - 2 || $from.pos !== $to.pos) {\n return false;\n }\n return true;\n};\n\n// src/helpers/isAtStartOfNode.ts\nvar isAtStartOfNode = (state) => {\n const { $from, $to } = state.selection;\n if ($from.parentOffset > 0 || $from.pos !== $to.pos) {\n return false;\n }\n return true;\n};\n\n// src/helpers/isExtensionRulesEnabled.ts\nfunction isExtensionRulesEnabled(extension, enabled) {\n if (Array.isArray(enabled)) {\n return enabled.some((enabledExtension) => {\n const name = typeof enabledExtension === \"string\" ? enabledExtension : enabledExtension.name;\n return name === extension.name;\n });\n }\n return enabled;\n}\n\n// src/helpers/isList.ts\nfunction isList(name, extensions) {\n const { nodeExtensions } = splitExtensions(extensions);\n const extension = nodeExtensions.find((item) => item.name === name);\n if (!extension) {\n return false;\n }\n const context = {\n name: extension.name,\n options: extension.options,\n storage: extension.storage\n };\n const group = callOrReturn(getExtensionField(extension, \"group\", context));\n if (typeof group !== \"string\") {\n return false;\n }\n return group.split(\" \").includes(\"list\");\n}\n\n// src/helpers/isNodeEmpty.ts\nfunction isNodeEmpty(node, {\n checkChildren = true,\n ignoreWhitespace = false\n} = {}) {\n var _a;\n if (ignoreWhitespace) {\n if (node.type.name === \"hardBreak\") {\n return true;\n }\n if (node.isText) {\n return !/\\S/.test((_a = node.text) != null ? _a : \"\");\n }\n }\n if (node.isText) {\n return !node.text;\n }\n if (node.isAtom || node.isLeaf) {\n return false;\n }\n if (node.content.childCount === 0) {\n return true;\n }\n if (checkChildren) {\n let isContentEmpty = true;\n node.content.forEach((childNode) => {\n if (isContentEmpty === false) {\n return;\n }\n if (!isNodeEmpty(childNode, { ignoreWhitespace, checkChildren })) {\n isContentEmpty = false;\n }\n });\n return isContentEmpty;\n }\n return false;\n}\n\n// src/helpers/isNodeSelection.ts\nimport { NodeSelection } from \"@tiptap/pm/state\";\nfunction isNodeSelection(value) {\n return value instanceof NodeSelection;\n}\n\n// src/helpers/MappablePosition.ts\nvar MappablePosition = class _MappablePosition {\n constructor(position) {\n this.position = position;\n }\n /**\n * Creates a MappablePosition from a JSON object.\n */\n static fromJSON(json) {\n return new _MappablePosition(json.position);\n }\n /**\n * Converts the MappablePosition to a JSON object.\n */\n toJSON() {\n return {\n position: this.position\n };\n }\n};\nfunction getUpdatedPosition(position, transaction) {\n const mapResult = transaction.mapping.mapResult(position.position);\n return {\n position: new MappablePosition(mapResult.pos),\n mapResult\n };\n}\nfunction createMappablePosition(position) {\n return new MappablePosition(position);\n}\n\n// src/helpers/posToDOMRect.ts\nfunction posToDOMRect(view, from, to) {\n const minPos = 0;\n const maxPos = view.state.doc.content.size;\n const resolvedFrom = minMax(from, minPos, maxPos);\n const resolvedEnd = minMax(to, minPos, maxPos);\n const start = view.coordsAtPos(resolvedFrom);\n const end = view.coordsAtPos(resolvedEnd, -1);\n const top = Math.min(start.top, end.top);\n const bottom = Math.max(start.bottom, end.bottom);\n const left = Math.min(start.left, end.left);\n const right = Math.max(start.right, end.right);\n const width = right - left;\n const height = bottom - top;\n const x = left;\n const y = top;\n const data = {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x,\n y\n };\n return {\n ...data,\n toJSON: () => data\n };\n}\n\n// src/helpers/rewriteUnknownContent.ts\nfunction rewriteUnknownContentInner({\n json,\n validMarks,\n validNodes,\n options,\n rewrittenContent = []\n}) {\n if (json.marks && Array.isArray(json.marks)) {\n json.marks = json.marks.filter((mark) => {\n const name = typeof mark === \"string\" ? mark : mark.type;\n if (validMarks.has(name)) {\n return true;\n }\n rewrittenContent.push({\n original: JSON.parse(JSON.stringify(mark)),\n unsupported: name\n });\n return false;\n });\n }\n if (json.content && Array.isArray(json.content)) {\n json.content = json.content.map(\n (value) => rewriteUnknownContentInner({\n json: value,\n validMarks,\n validNodes,\n options,\n rewrittenContent\n }).json\n ).filter((a) => a !== null && a !== void 0);\n }\n if (json.type && !validNodes.has(json.type)) {\n rewrittenContent.push({\n original: JSON.parse(JSON.stringify(json)),\n unsupported: json.type\n });\n if (json.content && Array.isArray(json.content) && (options == null ? void 0 : options.fallbackToParagraph) !== false) {\n json.type = \"paragraph\";\n return {\n json,\n rewrittenContent\n };\n }\n return {\n json: null,\n rewrittenContent\n };\n }\n return { json, rewrittenContent };\n}\nfunction rewriteUnknownContent(json, schema, options) {\n return rewriteUnknownContentInner({\n json,\n validNodes: new Set(Object.keys(schema.nodes)),\n validMarks: new Set(Object.keys(schema.marks)),\n options\n });\n}\n\n// src/commands/setMark.ts\nfunction canSetMark(state, tr, newMarkType) {\n var _a;\n const { selection } = tr;\n let cursor = null;\n if (isTextSelection(selection)) {\n cursor = selection.$cursor;\n }\n if (cursor) {\n const currentMarks = (_a = state.storedMarks) != null ? _a : cursor.marks();\n const parentAllowsMarkType = cursor.parent.type.allowsMarkType(newMarkType);\n return parentAllowsMarkType && (!!newMarkType.isInSet(currentMarks) || !currentMarks.some((mark) => mark.type.excludes(newMarkType)));\n }\n const { ranges } = selection;\n return ranges.some(({ $from, $to }) => {\n let someNodeSupportsMark = $from.depth === 0 ? state.doc.inlineContent && state.doc.type.allowsMarkType(newMarkType) : false;\n state.doc.nodesBetween($from.pos, $to.pos, (node, _pos, parent) => {\n if (someNodeSupportsMark) {\n return false;\n }\n if (node.isInline) {\n const parentAllowsMarkType = !parent || parent.type.allowsMarkType(newMarkType);\n const currentMarksAllowMarkType = !!newMarkType.isInSet(node.marks) || !node.marks.some((otherMark) => otherMark.type.excludes(newMarkType));\n someNodeSupportsMark = parentAllowsMarkType && currentMarksAllowMarkType;\n }\n return !someNodeSupportsMark;\n });\n return someNodeSupportsMark;\n });\n}\nvar setMark = (typeOrName, attributes = {}) => ({ tr, state, dispatch }) => {\n const { selection } = tr;\n const { empty, ranges } = selection;\n const type = getMarkType(typeOrName, state.schema);\n if (dispatch) {\n if (empty) {\n const oldAttributes = getMarkAttributes(state, type);\n tr.addStoredMark(\n type.create({\n ...oldAttributes,\n ...attributes\n })\n );\n } else {\n ranges.forEach((range) => {\n const from = range.$from.pos;\n const to = range.$to.pos;\n state.doc.nodesBetween(from, to, (node, pos) => {\n const trimmedFrom = Math.max(pos, from);\n const trimmedTo = Math.min(pos + node.nodeSize, to);\n const someHasMark = node.marks.find((mark) => mark.type === type);\n if (someHasMark) {\n node.marks.forEach((mark) => {\n if (type === mark.type) {\n tr.addMark(\n trimmedFrom,\n trimmedTo,\n type.create({\n ...mark.attrs,\n ...attributes\n })\n );\n }\n });\n } else {\n tr.addMark(trimmedFrom, trimmedTo, type.create(attributes));\n }\n });\n });\n }\n }\n return canSetMark(state, tr, type);\n};\n\n// src/commands/setMeta.ts\nvar setMeta = (key, value) => ({ tr }) => {\n tr.setMeta(key, value);\n return true;\n};\n\n// src/commands/setNode.ts\nimport { setBlockType } from \"@tiptap/pm/commands\";\nvar setNode = (typeOrName, attributes = {}) => ({ state, dispatch, chain }) => {\n const type = getNodeType(typeOrName, state.schema);\n let attributesToCopy;\n if (state.selection.$anchor.sameParent(state.selection.$head)) {\n attributesToCopy = state.selection.$anchor.parent.attrs;\n }\n if (!type.isTextblock) {\n console.warn('[tiptap warn]: Currently \"setNode()\" only supports text block nodes.');\n return false;\n }\n return chain().command(({ commands }) => {\n const canSetBlock = setBlockType(type, { ...attributesToCopy, ...attributes })(state);\n if (canSetBlock) {\n return true;\n }\n return commands.clearNodes();\n }).command(({ state: updatedState }) => {\n return setBlockType(type, { ...attributesToCopy, ...attributes })(updatedState, dispatch);\n }).run();\n};\n\n// src/commands/setNodeSelection.ts\nimport { NodeSelection as NodeSelection2 } from \"@tiptap/pm/state\";\nvar setNodeSelection = (position) => ({ tr, dispatch }) => {\n if (dispatch) {\n const { doc } = tr;\n const from = minMax(position, 0, doc.content.size);\n const selection = NodeSelection2.create(doc, from);\n tr.setSelection(selection);\n }\n return true;\n};\n\n// src/commands/setTextDirection.ts\nvar setTextDirection = (direction, position) => ({ tr, state, dispatch }) => {\n const { selection } = state;\n let from;\n let to;\n if (typeof position === \"number\") {\n from = position;\n to = position;\n } else if (position && \"from\" in position && \"to\" in position) {\n from = position.from;\n to = position.to;\n } else {\n from = selection.from;\n to = selection.to;\n }\n if (dispatch) {\n tr.doc.nodesBetween(from, to, (node, pos) => {\n if (node.isText) {\n return;\n }\n tr.setNodeMarkup(pos, void 0, {\n ...node.attrs,\n dir: direction\n });\n });\n }\n return true;\n};\n\n// src/commands/setTextSelection.ts\nimport { TextSelection as TextSelection5 } from \"@tiptap/pm/state\";\nvar setTextSelection = (position) => ({ tr, dispatch }) => {\n if (dispatch) {\n const { doc } = tr;\n const { from, to } = typeof position === \"number\" ? { from: position, to: position } : position;\n const minPos = TextSelection5.atStart(doc).from;\n const maxPos = TextSelection5.atEnd(doc).to;\n const resolvedFrom = minMax(from, minPos, maxPos);\n const resolvedEnd = minMax(to, minPos, maxPos);\n const selection = TextSelection5.create(doc, resolvedFrom, resolvedEnd);\n tr.setSelection(selection);\n }\n return true;\n};\n\n// src/commands/sinkListItem.ts\nimport { sinkListItem as originalSinkListItem } from \"@tiptap/pm/schema-list\";\nvar sinkListItem = (typeOrName) => ({ state, dispatch }) => {\n const type = getNodeType(typeOrName, state.schema);\n return originalSinkListItem(type)(state, dispatch);\n};\n\n// src/commands/splitBlock.ts\nimport { NodeSelection as NodeSelection3, TextSelection as TextSelection6 } from \"@tiptap/pm/state\";\nimport { canSplit } from \"@tiptap/pm/transform\";\nfunction ensureMarks(state, splittableMarks) {\n const marks = state.storedMarks || state.selection.$to.parentOffset && state.selection.$from.marks();\n if (marks) {\n const filteredMarks = marks.filter((mark) => splittableMarks == null ? void 0 : splittableMarks.includes(mark.type.name));\n state.tr.ensureMarks(filteredMarks);\n }\n}\nvar splitBlock = ({ keepMarks = true } = {}) => ({ tr, state, dispatch, editor }) => {\n const { selection, doc } = tr;\n const { $from, $to } = selection;\n const extensionAttributes = editor.extensionManager.attributes;\n const newAttributes = getSplittedAttributes(extensionAttributes, $from.node().type.name, $from.node().attrs);\n if (selection instanceof NodeSelection3 && selection.node.isBlock) {\n if (!$from.parentOffset || !canSplit(doc, $from.pos)) {\n return false;\n }\n if (dispatch) {\n if (keepMarks) {\n ensureMarks(state, editor.extensionManager.splittableMarks);\n }\n tr.split($from.pos).scrollIntoView();\n }\n return true;\n }\n if (!$from.parent.isBlock) {\n return false;\n }\n const atEnd = $to.parentOffset === $to.parent.content.size;\n const deflt = $from.depth === 0 ? void 0 : defaultBlockAt($from.node(-1).contentMatchAt($from.indexAfter(-1)));\n let types = atEnd && deflt ? [\n {\n type: deflt,\n attrs: newAttributes\n }\n ] : void 0;\n let can = canSplit(tr.doc, tr.mapping.map($from.pos), 1, types);\n if (!types && !can && canSplit(tr.doc, tr.mapping.map($from.pos), 1, deflt ? [{ type: deflt }] : void 0)) {\n can = true;\n types = deflt ? [\n {\n type: deflt,\n attrs: newAttributes\n }\n ] : void 0;\n }\n if (dispatch) {\n if (can) {\n if (selection instanceof TextSelection6) {\n tr.deleteSelection();\n }\n tr.split(tr.mapping.map($from.pos), 1, types);\n if (deflt && !atEnd && !$from.parentOffset && $from.parent.type !== deflt) {\n const first2 = tr.mapping.map($from.before());\n const $first = tr.doc.resolve(first2);\n if ($from.node(-1).canReplaceWith($first.index(), $first.index() + 1, deflt)) {\n tr.setNodeMarkup(tr.mapping.map($from.before()), deflt);\n }\n }\n }\n if (keepMarks) {\n ensureMarks(state, editor.extensionManager.splittableMarks);\n }\n tr.scrollIntoView();\n }\n return can;\n};\n\n// src/commands/splitListItem.ts\nimport { Fragment as Fragment3, Slice } from \"@tiptap/pm/model\";\nimport { TextSelection as TextSelection7 } from \"@tiptap/pm/state\";\nimport { canSplit as canSplit2 } from \"@tiptap/pm/transform\";\nvar splitListItem = (typeOrName, overrideAttrs = {}) => ({ tr, state, dispatch, editor }) => {\n var _a;\n const type = getNodeType(typeOrName, state.schema);\n const { $from, $to } = state.selection;\n const node = state.selection.node;\n if (node && node.isBlock || $from.depth < 2 || !$from.sameParent($to)) {\n return false;\n }\n const grandParent = $from.node(-1);\n if (grandParent.type !== type) {\n return false;\n }\n const extensionAttributes = editor.extensionManager.attributes;\n if ($from.parent.content.size === 0 && $from.node(-1).childCount === $from.indexAfter(-1)) {\n if ($from.depth === 2 || $from.node(-3).type !== type || $from.index(-2) !== $from.node(-2).childCount - 1) {\n return false;\n }\n if (dispatch) {\n let wrap = Fragment3.empty;\n const depthBefore = $from.index(-1) ? 1 : $from.index(-2) ? 2 : 3;\n for (let d = $from.depth - depthBefore; d >= $from.depth - 3; d -= 1) {\n wrap = Fragment3.from($from.node(d).copy(wrap));\n }\n const depthAfter = (\n // eslint-disable-next-line no-nested-ternary\n $from.indexAfter(-1) < $from.node(-2).childCount ? 1 : $from.indexAfter(-2) < $from.node(-3).childCount ? 2 : 3\n );\n const newNextTypeAttributes2 = {\n ...getSplittedAttributes(extensionAttributes, $from.node().type.name, $from.node().attrs),\n ...overrideAttrs\n };\n const nextType2 = ((_a = type.contentMatch.defaultType) == null ? void 0 : _a.createAndFill(newNextTypeAttributes2)) || void 0;\n wrap = wrap.append(Fragment3.from(type.createAndFill(null, nextType2) || void 0));\n const start = $from.before($from.depth - (depthBefore - 1));\n tr.replace(start, $from.after(-depthAfter), new Slice(wrap, 4 - depthBefore, 0));\n let sel = -1;\n tr.doc.nodesBetween(start, tr.doc.content.size, (n, pos) => {\n if (sel > -1) {\n return false;\n }\n if (n.isTextblock && n.content.size === 0) {\n sel = pos + 1;\n }\n });\n if (sel > -1) {\n tr.setSelection(TextSelection7.near(tr.doc.resolve(sel)));\n }\n tr.scrollIntoView();\n }\n return true;\n }\n const nextType = $to.pos === $from.end() ? grandParent.contentMatchAt(0).defaultType : null;\n const newTypeAttributes = {\n ...getSplittedAttributes(extensionAttributes, grandParent.type.name, grandParent.attrs),\n ...overrideAttrs\n };\n const newNextTypeAttributes = {\n ...getSplittedAttributes(extensionAttributes, $from.node().type.name, $from.node().attrs),\n ...overrideAttrs\n };\n tr.delete($from.pos, $to.pos);\n const types = nextType ? [\n { type, attrs: newTypeAttributes },\n { type: nextType, attrs: newNextTypeAttributes }\n ] : [{ type, attrs: newTypeAttributes }];\n if (!canSplit2(tr.doc, $from.pos, 2)) {\n return false;\n }\n if (dispatch) {\n const { selection, storedMarks } = state;\n const { splittableMarks } = editor.extensionManager;\n const marks = storedMarks || selection.$to.parentOffset && selection.$from.marks();\n tr.split($from.pos, 2, types).scrollIntoView();\n if (!marks || !dispatch) {\n return true;\n }\n const filteredMarks = marks.filter((mark) => splittableMarks.includes(mark.type.name));\n tr.ensureMarks(filteredMarks);\n }\n return true;\n};\n\n// src/commands/toggleList.ts\nimport { TextSelection as TextSelection8 } from \"@tiptap/pm/state\";\nimport { canJoin } from \"@tiptap/pm/transform\";\nvar joinListBackwards = (tr, listType) => {\n const list = findParentNode((node) => node.type === listType)(tr.selection);\n if (!list) {\n return true;\n }\n const before = tr.doc.resolve(Math.max(0, list.pos - 1)).before(list.depth);\n if (before === void 0) {\n return true;\n }\n const nodeBefore = tr.doc.nodeAt(before);\n const canJoinBackwards = list.node.type === (nodeBefore == null ? void 0 : nodeBefore.type) && canJoin(tr.doc, list.pos);\n if (!canJoinBackwards) {\n return true;\n }\n tr.join(list.pos);\n return true;\n};\nvar joinListForwards = (tr, listType) => {\n const list = findParentNode((node) => node.type === listType)(tr.selection);\n if (!list) {\n return true;\n }\n const after = tr.doc.resolve(list.start).after(list.depth);\n if (after === void 0) {\n return true;\n }\n const nodeAfter = tr.doc.nodeAt(after);\n const canJoinForwards = list.node.type === (nodeAfter == null ? void 0 : nodeAfter.type) && canJoin(tr.doc, after);\n if (!canJoinForwards) {\n return true;\n }\n tr.join(after);\n return true;\n};\nfunction createInnerSelectionForWholeDocList(tr) {\n const doc = tr.doc;\n const list = doc.firstChild;\n if (!list) {\n return null;\n }\n const from = 1;\n const to = list.nodeSize - 1;\n return TextSelection8.create(doc, from, to);\n}\nvar toggleList = (listTypeOrName, itemTypeOrName, keepMarks, attributes = {}) => ({ editor, tr, state, dispatch, chain, commands, can }) => {\n const { extensions, splittableMarks } = editor.extensionManager;\n const listType = getNodeType(listTypeOrName, state.schema);\n const itemType = getNodeType(itemTypeOrName, state.schema);\n const { selection, storedMarks } = state;\n const { $from, $to } = selection;\n const range = $from.blockRange($to);\n const marks = storedMarks || selection.$to.parentOffset && selection.$from.marks();\n if (!range) {\n return false;\n }\n const parentList = findParentNode((node) => isList(node.type.name, extensions))(selection);\n const isAllSelection = selection.from === 0 && selection.to === state.doc.content.size;\n const topLevelNodes = state.doc.content.content;\n const soleTopLevelNode = topLevelNodes.length === 1 ? topLevelNodes[0] : null;\n const allSelectionList = isAllSelection && soleTopLevelNode && isList(soleTopLevelNode.type.name, extensions) ? {\n node: soleTopLevelNode,\n pos: 0,\n depth: 0\n } : null;\n const currentList = parentList != null ? parentList : allSelectionList;\n const isInsideExistingList = !!parentList && range.depth >= 1 && range.depth - parentList.depth <= 1;\n const hasWholeDocSelectedList = !!allSelectionList;\n if ((isInsideExistingList || hasWholeDocSelectedList) && currentList) {\n if (currentList.node.type === listType) {\n if (isAllSelection && hasWholeDocSelectedList) {\n return chain().command(({ tr: trx, dispatch: disp }) => {\n const nextSelection = createInnerSelectionForWholeDocList(trx);\n if (!nextSelection) {\n return false;\n }\n trx.setSelection(nextSelection);\n if (disp) {\n disp(trx);\n }\n return true;\n }).liftListItem(itemType).run();\n }\n return commands.liftListItem(itemType);\n }\n if (isList(currentList.node.type.name, extensions) && listType.validContent(currentList.node.content)) {\n return chain().command(() => {\n tr.setNodeMarkup(currentList.pos, listType);\n return true;\n }).command(() => joinListBackwards(tr, listType)).command(() => joinListForwards(tr, listType)).run();\n }\n }\n if (!keepMarks || !marks || !dispatch) {\n return chain().command(() => {\n const canWrapInList = can().wrapInList(listType, attributes);\n if (canWrapInList) {\n return true;\n }\n return commands.clearNodes();\n }).wrapInList(listType, attributes).command(() => joinListBackwards(tr, listType)).command(() => joinListForwards(tr, listType)).run();\n }\n return chain().command(() => {\n const canWrapInList = can().wrapInList(listType, attributes);\n const filteredMarks = marks.filter((mark) => splittableMarks.includes(mark.type.name));\n tr.ensureMarks(filteredMarks);\n if (canWrapInList) {\n return true;\n }\n return commands.clearNodes();\n }).wrapInList(listType, attributes).command(() => joinListBackwards(tr, listType)).command(() => joinListForwards(tr, listType)).run();\n};\n\n// src/commands/toggleMark.ts\nvar toggleMark = (typeOrName, attributes = {}, options = {}) => ({ state, commands }) => {\n const { extendEmptyMarkRange = false } = options;\n const type = getMarkType(typeOrName, state.schema);\n const isActive2 = isMarkActive(state, type, attributes);\n if (isActive2) {\n return commands.unsetMark(type, { extendEmptyMarkRange });\n }\n return commands.setMark(type, attributes);\n};\n\n// src/commands/toggleNode.ts\nvar toggleNode = (typeOrName, toggleTypeOrName, attributes = {}) => ({ state, commands }) => {\n const type = getNodeType(typeOrName, state.schema);\n const toggleType = getNodeType(toggleTypeOrName, state.schema);\n const isActive2 = isNodeActive(state, type, attributes);\n let attributesToCopy;\n if (state.selection.$anchor.sameParent(state.selection.$head)) {\n attributesToCopy = state.selection.$anchor.parent.attrs;\n }\n if (isActive2) {\n return commands.setNode(toggleType, attributesToCopy);\n }\n return commands.setNode(type, { ...attributesToCopy, ...attributes });\n};\n\n// src/commands/toggleWrap.ts\nvar toggleWrap = (typeOrName, attributes = {}) => ({ state, commands }) => {\n const type = getNodeType(typeOrName, state.schema);\n const isActive2 = isNodeActive(state, type, attributes);\n if (isActive2) {\n return commands.lift(type);\n }\n return commands.wrapIn(type, attributes);\n};\n\n// src/commands/undoInputRule.ts\nvar undoInputRule = () => ({ state, dispatch }) => {\n const plugins = state.plugins;\n for (let i = 0; i < plugins.length; i += 1) {\n const plugin = plugins[i];\n let undoable;\n if (plugin.spec.isInputRules && (undoable = plugin.getState(state))) {\n if (dispatch) {\n const tr = state.tr;\n const toUndo = undoable.transform;\n for (let j = toUndo.steps.length - 1; j >= 0; j -= 1) {\n tr.step(toUndo.steps[j].invert(toUndo.docs[j]));\n }\n if (undoable.text) {\n const marks = tr.doc.resolve(undoable.from).marks();\n tr.replaceWith(undoable.from, undoable.to, state.schema.text(undoable.text, marks));\n } else {\n tr.delete(undoable.from, undoable.to);\n }\n }\n return true;\n }\n }\n return false;\n};\n\n// src/commands/unsetAllMarks.ts\nvar unsetAllMarks = () => ({ tr, dispatch }) => {\n const { selection } = tr;\n const { empty, ranges } = selection;\n if (empty) {\n return true;\n }\n if (dispatch) {\n ranges.forEach((range) => {\n tr.removeMark(range.$from.pos, range.$to.pos);\n });\n }\n return true;\n};\n\n// src/commands/unsetMark.ts\nvar unsetMark = (typeOrName, options = {}) => ({ tr, state, dispatch }) => {\n var _a;\n const { extendEmptyMarkRange = false } = options;\n const { selection } = tr;\n const type = getMarkType(typeOrName, state.schema);\n const { $from, empty, ranges } = selection;\n if (!dispatch) {\n return true;\n }\n if (empty && extendEmptyMarkRange) {\n let { from, to } = selection;\n const attrs = (_a = $from.marks().find((mark) => mark.type === type)) == null ? void 0 : _a.attrs;\n const range = getMarkRange($from, type, attrs);\n if (range) {\n from = range.from;\n to = range.to;\n }\n tr.removeMark(from, to, type);\n } else {\n ranges.forEach((range) => {\n tr.removeMark(range.$from.pos, range.$to.pos, type);\n });\n }\n tr.removeStoredMark(type);\n return true;\n};\n\n// src/commands/unsetTextDirection.ts\nvar unsetTextDirection = (position) => ({ tr, state, dispatch }) => {\n const { selection } = state;\n let from;\n let to;\n if (typeof position === \"number\") {\n from = position;\n to = position;\n } else if (position && \"from\" in position && \"to\" in position) {\n from = position.from;\n to = position.to;\n } else {\n from = selection.from;\n to = selection.to;\n }\n if (dispatch) {\n tr.doc.nodesBetween(from, to, (node, pos) => {\n if (node.isText) {\n return;\n }\n const newAttrs = { ...node.attrs };\n delete newAttrs.dir;\n tr.setNodeMarkup(pos, void 0, newAttrs);\n });\n }\n return true;\n};\n\n// src/commands/updateAttributes.ts\nvar updateAttributes = (typeOrName, attributes = {}) => ({ tr, state, dispatch }) => {\n let nodeType = null;\n let markType = null;\n const schemaType = getSchemaTypeNameByName(\n typeof typeOrName === \"string\" ? typeOrName : typeOrName.name,\n state.schema\n );\n if (!schemaType) {\n return false;\n }\n if (schemaType === \"node\") {\n nodeType = getNodeType(typeOrName, state.schema);\n }\n if (schemaType === \"mark\") {\n markType = getMarkType(typeOrName, state.schema);\n }\n let canUpdate = false;\n tr.selection.ranges.forEach((range) => {\n const from = range.$from.pos;\n const to = range.$to.pos;\n let lastPos;\n let lastNode;\n let trimmedFrom;\n let trimmedTo;\n if (tr.selection.empty) {\n state.doc.nodesBetween(from, to, (node, pos) => {\n if (nodeType && nodeType === node.type) {\n canUpdate = true;\n trimmedFrom = Math.max(pos, from);\n trimmedTo = Math.min(pos + node.nodeSize, to);\n lastPos = pos;\n lastNode = node;\n }\n });\n } else {\n state.doc.nodesBetween(from, to, (node, pos) => {\n if (pos < from && nodeType && nodeType === node.type) {\n canUpdate = true;\n trimmedFrom = Math.max(pos, from);\n trimmedTo = Math.min(pos + node.nodeSize, to);\n lastPos = pos;\n lastNode = node;\n }\n if (pos >= from && pos <= to) {\n if (nodeType && nodeType === node.type) {\n canUpdate = true;\n if (dispatch) {\n tr.setNodeMarkup(pos, void 0, {\n ...node.attrs,\n ...attributes\n });\n }\n }\n if (markType && node.marks.length) {\n node.marks.forEach((mark) => {\n if (markType === mark.type) {\n canUpdate = true;\n if (dispatch) {\n const trimmedFrom2 = Math.max(pos, from);\n const trimmedTo2 = Math.min(pos + node.nodeSize, to);\n tr.addMark(\n trimmedFrom2,\n trimmedTo2,\n markType.create({\n ...mark.attrs,\n ...attributes\n })\n );\n }\n }\n });\n }\n }\n });\n }\n if (lastNode) {\n if (lastPos !== void 0 && dispatch) {\n tr.setNodeMarkup(lastPos, void 0, {\n ...lastNode.attrs,\n ...attributes\n });\n }\n if (markType && lastNode.marks.length) {\n lastNode.marks.forEach((mark) => {\n if (markType === mark.type && dispatch) {\n tr.addMark(\n trimmedFrom,\n trimmedTo,\n markType.create({\n ...mark.attrs,\n ...attributes\n })\n );\n }\n });\n }\n }\n });\n return canUpdate;\n};\n\n// src/commands/wrapIn.ts\nimport { wrapIn as originalWrapIn } from \"@tiptap/pm/commands\";\nvar wrapIn = (typeOrName, attributes = {}) => ({ state, dispatch }) => {\n const type = getNodeType(typeOrName, state.schema);\n return originalWrapIn(type, attributes)(state, dispatch);\n};\n\n// src/commands/wrapInList.ts\nimport { wrapInList as originalWrapInList } from \"@tiptap/pm/schema-list\";\nvar wrapInList = (typeOrName, attributes = {}) => ({ state, dispatch }) => {\n const type = getNodeType(typeOrName, state.schema);\n return originalWrapInList(type, attributes)(state, dispatch);\n};\n\n// src/Editor.ts\nimport { EditorState } from \"@tiptap/pm/state\";\nimport { EditorView } from \"@tiptap/pm/view\";\n\n// src/EventEmitter.ts\nvar EventEmitter = class {\n constructor() {\n this.callbacks = {};\n }\n on(event, fn) {\n if (!this.callbacks[event]) {\n this.callbacks[event] = [];\n }\n this.callbacks[event].push(fn);\n return this;\n }\n emit(event, ...args) {\n const callbacks = this.callbacks[event];\n if (callbacks) {\n callbacks.forEach((callback) => callback.apply(this, args));\n }\n return this;\n }\n off(event, fn) {\n const callbacks = this.callbacks[event];\n if (callbacks) {\n if (fn) {\n this.callbacks[event] = callbacks.filter((callback) => callback !== fn);\n } else {\n delete this.callbacks[event];\n }\n }\n return this;\n }\n once(event, fn) {\n const onceFn = (...args) => {\n this.off(event, onceFn);\n fn.apply(this, args);\n };\n return this.on(event, onceFn);\n }\n removeAllListeners() {\n this.callbacks = {};\n }\n};\n\n// src/ExtensionManager.ts\nimport { keymap } from \"@tiptap/pm/keymap\";\n\n// src/InputRule.ts\nimport { Fragment as Fragment4 } from \"@tiptap/pm/model\";\nimport { Plugin } from \"@tiptap/pm/state\";\nvar InputRule = class {\n constructor(config) {\n var _a;\n this.find = config.find;\n this.handler = config.handler;\n this.undoable = (_a = config.undoable) != null ? _a : true;\n }\n};\nvar inputRuleMatcherHandler = (text, find) => {\n if (isRegExp(find)) {\n return find.exec(text);\n }\n const inputRuleMatch = find(text);\n if (!inputRuleMatch) {\n return null;\n }\n const result = [inputRuleMatch.text];\n result.index = inputRuleMatch.index;\n result.input = text;\n result.data = inputRuleMatch.data;\n if (inputRuleMatch.replaceWith) {\n if (!inputRuleMatch.text.includes(inputRuleMatch.replaceWith)) {\n console.warn('[tiptap warn]: \"inputRuleMatch.replaceWith\" must be part of \"inputRuleMatch.text\".');\n }\n result.push(inputRuleMatch.replaceWith);\n }\n return result;\n};\nfunction run(config) {\n var _a;\n const { editor, from, to, text, rules, plugin } = config;\n const { view } = editor;\n if (view.composing) {\n return false;\n }\n const $from = view.state.doc.resolve(from);\n if (\n // check for code node\n $from.parent.type.spec.code || // check for code mark\n !!((_a = $from.nodeBefore || $from.nodeAfter) == null ? void 0 : _a.marks.find((mark) => mark.type.spec.code))\n ) {\n return false;\n }\n let matched = false;\n const textBefore = getTextContentFromNodes($from) + text;\n rules.forEach((rule) => {\n if (matched) {\n return;\n }\n const match = inputRuleMatcherHandler(textBefore, rule.find);\n if (!match) {\n return;\n }\n const tr = view.state.tr;\n const state = createChainableState({\n state: view.state,\n transaction: tr\n });\n const range = {\n from: from - (match[0].length - text.length),\n to\n };\n const { commands, chain, can } = new CommandManager({\n editor,\n state\n });\n const handler = rule.handler({\n state,\n range,\n match,\n commands,\n chain,\n can\n });\n if (handler === null || !tr.steps.length) {\n return;\n }\n if (rule.undoable) {\n tr.setMeta(plugin, {\n transform: tr,\n from,\n to,\n text\n });\n }\n view.dispatch(tr);\n matched = true;\n });\n return matched;\n}\nfunction inputRulesPlugin(props) {\n const { editor, rules } = props;\n const plugin = new Plugin({\n state: {\n init() {\n return null;\n },\n apply(tr, prev, state) {\n const stored = tr.getMeta(plugin);\n if (stored) {\n return stored;\n }\n const simulatedInputMeta = tr.getMeta(\"applyInputRules\");\n const isSimulatedInput = !!simulatedInputMeta;\n if (isSimulatedInput) {\n setTimeout(() => {\n let { text } = simulatedInputMeta;\n if (typeof text === \"string\") {\n text = text;\n } else {\n text = getHTMLFromFragment(Fragment4.from(text), state.schema);\n }\n const { from } = simulatedInputMeta;\n const to = from + text.length;\n run({\n editor,\n from,\n to,\n text,\n rules,\n plugin\n });\n });\n }\n return tr.selectionSet || tr.docChanged ? null : prev;\n }\n },\n props: {\n handleTextInput(view, from, to, text) {\n return run({\n editor,\n from,\n to,\n text,\n rules,\n plugin\n });\n },\n handleDOMEvents: {\n compositionend: (view) => {\n setTimeout(() => {\n const { $cursor } = view.state.selection;\n if ($cursor) {\n run({\n editor,\n from: $cursor.pos,\n to: $cursor.pos,\n text: \"\",\n rules,\n plugin\n });\n }\n });\n return false;\n }\n },\n // add support for input rules to trigger on enter\n // this is useful for example for code blocks\n handleKeyDown(view, event) {\n if (event.key !== \"Enter\") {\n return false;\n }\n const { $cursor } = view.state.selection;\n if ($cursor) {\n return run({\n editor,\n from: $cursor.pos,\n to: $cursor.pos,\n text: \"\\n\",\n rules,\n plugin\n });\n }\n return false;\n }\n },\n // @ts-ignore\n isInputRules: true\n });\n return plugin;\n}\n\n// src/utilities/isPlainObject.ts\nfunction getType(value) {\n return Object.prototype.toString.call(value).slice(8, -1);\n}\nfunction isPlainObject(value) {\n if (getType(value) !== \"Object\") {\n return false;\n }\n return value.constructor === Object && Object.getPrototypeOf(value) === Object.prototype;\n}\n\n// src/utilities/mergeDeep.ts\nfunction mergeDeep(target, source) {\n const output = { ...target };\n if (isPlainObject(target) && isPlainObject(source)) {\n Object.keys(source).forEach((key) => {\n if (isPlainObject(source[key]) && isPlainObject(target[key])) {\n output[key] = mergeDeep(target[key], source[key]);\n } else {\n output[key] = source[key];\n }\n });\n }\n return output;\n}\n\n// src/Extendable.ts\nvar Extendable = class {\n constructor(config = {}) {\n this.type = \"extendable\";\n this.parent = null;\n this.child = null;\n this.name = \"\";\n this.config = {\n name: this.name\n };\n this.config = {\n ...this.config,\n ...config\n };\n this.name = this.config.name;\n }\n get options() {\n return {\n ...callOrReturn(\n getExtensionField(this, \"addOptions\", {\n name: this.name\n })\n ) || {}\n };\n }\n get storage() {\n return {\n ...callOrReturn(\n getExtensionField(this, \"addStorage\", {\n name: this.name,\n options: this.options\n })\n ) || {}\n };\n }\n configure(options = {}) {\n const extension = this.extend({\n ...this.config,\n addOptions: () => {\n return mergeDeep(this.options, options);\n }\n });\n extension.name = this.name;\n extension.parent = this.parent;\n return extension;\n }\n extend(extendedConfig = {}) {\n const extension = new this.constructor({ ...this.config, ...extendedConfig });\n extension.parent = this;\n this.child = extension;\n extension.name = \"name\" in extendedConfig ? extendedConfig.name : extension.parent.name;\n return extension;\n }\n};\n\n// src/Mark.ts\nvar Mark = class _Mark extends Extendable {\n constructor() {\n super(...arguments);\n this.type = \"mark\";\n }\n /**\n * Create a new Mark instance\n * @param config - Mark configuration object or a function that returns a configuration object\n */\n static create(config = {}) {\n const resolvedConfig = typeof config === \"function\" ? config() : config;\n return new _Mark(resolvedConfig);\n }\n static handleExit({ editor, mark }) {\n const { tr } = editor.state;\n const currentPos = editor.state.selection.$from;\n const isAtEnd = currentPos.pos === currentPos.end();\n if (isAtEnd) {\n const currentMarks = currentPos.marks();\n const isInMark = !!currentMarks.find((m) => (m == null ? void 0 : m.type.name) === mark.name);\n if (!isInMark) {\n return false;\n }\n const removeMark = currentMarks.find((m) => (m == null ? void 0 : m.type.name) === mark.name);\n if (removeMark) {\n tr.removeStoredMark(removeMark);\n }\n tr.insertText(\" \", currentPos.pos);\n editor.view.dispatch(tr);\n return true;\n }\n return false;\n }\n configure(options) {\n return super.configure(options);\n }\n extend(extendedConfig) {\n const resolvedConfig = typeof extendedConfig === \"function\" ? extendedConfig() : extendedConfig;\n return super.extend(resolvedConfig);\n }\n};\n\n// src/PasteRule.ts\nimport { Fragment as Fragment5 } from \"@tiptap/pm/model\";\nimport { Plugin as Plugin2 } from \"@tiptap/pm/state\";\n\n// src/utilities/isNumber.ts\nfunction isNumber(value) {\n return typeof value === \"number\";\n}\n\n// src/PasteRule.ts\nvar PasteRule = class {\n constructor(config) {\n this.find = config.find;\n this.handler = config.handler;\n }\n};\nvar pasteRuleMatcherHandler = (text, find, event) => {\n if (isRegExp(find)) {\n return [...text.matchAll(find)];\n }\n const matches = find(text, event);\n if (!matches) {\n return [];\n }\n return matches.map((pasteRuleMatch) => {\n const result = [pasteRuleMatch.text];\n result.index = pasteRuleMatch.index;\n result.input = text;\n result.data = pasteRuleMatch.data;\n if (pasteRuleMatch.replaceWith) {\n if (!pasteRuleMatch.text.includes(pasteRuleMatch.replaceWith)) {\n console.warn('[tiptap warn]: \"pasteRuleMatch.replaceWith\" must be part of \"pasteRuleMatch.text\".');\n }\n result.push(pasteRuleMatch.replaceWith);\n }\n return result;\n });\n};\nfunction run2(config) {\n const { editor, state, from, to, rule, pasteEvent, dropEvent } = config;\n const { commands, chain, can } = new CommandManager({\n editor,\n state\n });\n const handlers = [];\n state.doc.nodesBetween(from, to, (node, pos) => {\n var _a, _b, _c, _d, _e;\n if (((_b = (_a = node.type) == null ? void 0 : _a.spec) == null ? void 0 : _b.code) || !(node.isText || node.isTextblock || node.isInline)) {\n return;\n }\n const contentSize = (_e = (_d = (_c = node.content) == null ? void 0 : _c.size) != null ? _d : node.nodeSize) != null ? _e : 0;\n const resolvedFrom = Math.max(from, pos);\n const resolvedTo = Math.min(to, pos + contentSize);\n if (resolvedFrom >= resolvedTo) {\n return;\n }\n const textToMatch = node.isText ? node.text || \"\" : node.textBetween(resolvedFrom - pos, resolvedTo - pos, void 0, \"\\uFFFC\");\n const matches = pasteRuleMatcherHandler(textToMatch, rule.find, pasteEvent);\n matches.forEach((match) => {\n if (match.index === void 0) {\n return;\n }\n const start = resolvedFrom + match.index + 1;\n const end = start + match[0].length;\n const range = {\n from: state.tr.mapping.map(start),\n to: state.tr.mapping.map(end)\n };\n const handler = rule.handler({\n state,\n range,\n match,\n commands,\n chain,\n can,\n pasteEvent,\n dropEvent\n });\n handlers.push(handler);\n });\n });\n const success = handlers.every((handler) => handler !== null);\n return success;\n}\nvar tiptapDragFromOtherEditor = null;\nvar createClipboardPasteEvent = (text) => {\n var _a;\n const event = new ClipboardEvent(\"paste\", {\n clipboardData: new DataTransfer()\n });\n (_a = event.clipboardData) == null ? void 0 : _a.setData(\"text/html\", text);\n return event;\n};\nfunction pasteRulesPlugin(props) {\n const { editor, rules } = props;\n let dragSourceElement = null;\n let isPastedFromProseMirror = false;\n let isDroppedFromProseMirror = false;\n let pasteEvent = typeof ClipboardEvent !== \"undefined\" ? new ClipboardEvent(\"paste\") : null;\n let dropEvent;\n try {\n dropEvent = typeof DragEvent !== \"undefined\" ? new DragEvent(\"drop\") : null;\n } catch {\n dropEvent = null;\n }\n const processEvent = ({\n state,\n from,\n to,\n rule,\n pasteEvt\n }) => {\n const tr = state.tr;\n const chainableState = createChainableState({\n state,\n transaction: tr\n });\n const handler = run2({\n editor,\n state: chainableState,\n from: Math.max(from - 1, 0),\n to: to.b - 1,\n rule,\n pasteEvent: pasteEvt,\n dropEvent\n });\n if (!handler || !tr.steps.length) {\n return;\n }\n try {\n dropEvent = typeof DragEvent !== \"undefined\" ? new DragEvent(\"drop\") : null;\n } catch {\n dropEvent = null;\n }\n pasteEvent = typeof ClipboardEvent !== \"undefined\" ? new ClipboardEvent(\"paste\") : null;\n return tr;\n };\n const plugins = rules.map((rule) => {\n return new Plugin2({\n // we register a global drag handler to track the current drag source element\n view(view) {\n const handleDragstart = (event) => {\n var _a;\n dragSourceElement = ((_a = view.dom.parentElement) == null ? void 0 : _a.contains(event.target)) ? view.dom.parentElement : null;\n if (dragSourceElement) {\n tiptapDragFromOtherEditor = editor;\n }\n };\n const handleDragend = () => {\n if (tiptapDragFromOtherEditor) {\n tiptapDragFromOtherEditor = null;\n }\n };\n window.addEventListener(\"dragstart\", handleDragstart);\n window.addEventListener(\"dragend\", handleDragend);\n return {\n destroy() {\n window.removeEventListener(\"dragstart\", handleDragstart);\n window.removeEventListener(\"dragend\", handleDragend);\n }\n };\n },\n props: {\n handleDOMEvents: {\n drop: (view, event) => {\n isDroppedFromProseMirror = dragSourceElement === view.dom.parentElement;\n dropEvent = event;\n if (!isDroppedFromProseMirror) {\n const dragFromOtherEditor = tiptapDragFromOtherEditor;\n if (dragFromOtherEditor == null ? void 0 : dragFromOtherEditor.isEditable) {\n setTimeout(() => {\n const selection = dragFromOtherEditor.state.selection;\n if (selection) {\n dragFromOtherEditor.commands.deleteRange({ from: selection.from, to: selection.to });\n }\n }, 10);\n }\n }\n return false;\n },\n paste: (_view, event) => {\n var _a;\n const html = (_a = event.clipboardData) == null ? void 0 : _a.getData(\"text/html\");\n pasteEvent = event;\n isPastedFromProseMirror = !!(html == null ? void 0 : html.includes(\"data-pm-slice\"));\n return false;\n }\n }\n },\n appendTransaction: (transactions, oldState, state) => {\n const transaction = transactions[0];\n const isPaste = transaction.getMeta(\"uiEvent\") === \"paste\" && !isPastedFromProseMirror;\n const isDrop = transaction.getMeta(\"uiEvent\") === \"drop\" && !isDroppedFromProseMirror;\n const simulatedPasteMeta = transaction.getMeta(\"applyPasteRules\");\n const isSimulatedPaste = !!simulatedPasteMeta;\n if (!isPaste && !isDrop && !isSimulatedPaste) {\n return;\n }\n if (isSimulatedPaste) {\n let { text } = simulatedPasteMeta;\n if (typeof text === \"string\") {\n text = text;\n } else {\n text = getHTMLFromFragment(Fragment5.from(text), state.schema);\n }\n const { from: from2 } = simulatedPasteMeta;\n const to2 = from2 + text.length;\n const pasteEvt = createClipboardPasteEvent(text);\n return processEvent({\n rule,\n state,\n from: from2,\n to: { b: to2 },\n pasteEvt\n });\n }\n const from = oldState.doc.content.findDiffStart(state.doc.content);\n const to = oldState.doc.content.findDiffEnd(state.doc.content);\n if (!isNumber(from) || !to || from === to.b) {\n return;\n }\n return processEvent({\n rule,\n state,\n from,\n to,\n pasteEvt: pasteEvent\n });\n }\n });\n });\n return plugins;\n}\n\n// src/ExtensionManager.ts\nvar ExtensionManager = class {\n constructor(extensions, editor) {\n this.splittableMarks = [];\n this.editor = editor;\n this.baseExtensions = extensions;\n this.extensions = resolveExtensions(extensions);\n this.schema = getSchemaByResolvedExtensions(this.extensions, editor);\n this.setupExtensions();\n }\n /**\n * Get all commands from the extensions.\n * @returns An object with all commands where the key is the command name and the value is the command function\n */\n get commands() {\n return this.extensions.reduce((commands, extension) => {\n const context = {\n name: extension.name,\n options: extension.options,\n storage: this.editor.extensionStorage[extension.name],\n editor: this.editor,\n type: getSchemaTypeByName(extension.name, this.schema)\n };\n const addCommands = getExtensionField(extension, \"addCommands\", context);\n if (!addCommands) {\n return commands;\n }\n return {\n ...commands,\n ...addCommands()\n };\n }, {});\n }\n /**\n * Get all registered Prosemirror plugins from the extensions.\n * @returns An array of Prosemirror plugins\n */\n get plugins() {\n const { editor } = this;\n const extensions = sortExtensions([...this.extensions].reverse());\n const allPlugins = extensions.flatMap((extension) => {\n const context = {\n name: extension.name,\n options: extension.options,\n storage: this.editor.extensionStorage[extension.name],\n editor,\n type: getSchemaTypeByName(extension.name, this.schema)\n };\n const plugins = [];\n const addKeyboardShortcuts = getExtensionField(\n extension,\n \"addKeyboardShortcuts\",\n context\n );\n let defaultBindings = {};\n if (extension.type === \"mark\" && getExtensionField(extension, \"exitable\", context)) {\n defaultBindings.ArrowRight = () => Mark.handleExit({ editor, mark: extension });\n }\n if (addKeyboardShortcuts) {\n const bindings = Object.fromEntries(\n Object.entries(addKeyboardShortcuts()).map(([shortcut, method]) => {\n return [shortcut, () => method({ editor })];\n })\n );\n defaultBindings = { ...defaultBindings, ...bindings };\n }\n const keyMapPlugin = keymap(defaultBindings);\n plugins.push(keyMapPlugin);\n const addInputRules = getExtensionField(extension, \"addInputRules\", context);\n if (isExtensionRulesEnabled(extension, editor.options.enableInputRules) && addInputRules) {\n const rules = addInputRules();\n if (rules && rules.length) {\n const inputResult = inputRulesPlugin({\n editor,\n rules\n });\n const inputPlugins = Array.isArray(inputResult) ? inputResult : [inputResult];\n plugins.push(...inputPlugins);\n }\n }\n const addPasteRules = getExtensionField(extension, \"addPasteRules\", context);\n if (isExtensionRulesEnabled(extension, editor.options.enablePasteRules) && addPasteRules) {\n const rules = addPasteRules();\n if (rules && rules.length) {\n const pasteRules = pasteRulesPlugin({ editor, rules });\n plugins.push(...pasteRules);\n }\n }\n const addProseMirrorPlugins = getExtensionField(\n extension,\n \"addProseMirrorPlugins\",\n context\n );\n if (addProseMirrorPlugins) {\n const proseMirrorPlugins = addProseMirrorPlugins();\n plugins.push(...proseMirrorPlugins);\n }\n return plugins;\n });\n return allPlugins;\n }\n /**\n * Get all attributes from the extensions.\n * @returns An array of attributes\n */\n get attributes() {\n return getAttributesFromExtensions(this.extensions);\n }\n /**\n * Get all node views from the extensions.\n * @returns An object with all node views where the key is the node name and the value is the node view function\n */\n get nodeViews() {\n const { editor } = this;\n const { nodeExtensions } = splitExtensions(this.extensions);\n return Object.fromEntries(\n nodeExtensions.filter((extension) => !!getExtensionField(extension, \"addNodeView\")).map((extension) => {\n const extensionAttributes = this.attributes.filter((attribute) => attribute.type === extension.name);\n const context = {\n name: extension.name,\n options: extension.options,\n storage: this.editor.extensionStorage[extension.name],\n editor,\n type: getNodeType(extension.name, this.schema)\n };\n const addNodeView = getExtensionField(extension, \"addNodeView\", context);\n if (!addNodeView) {\n return [];\n }\n const nodeViewResult = addNodeView();\n if (!nodeViewResult) {\n return [];\n }\n const nodeview = (node, view, getPos, decorations, innerDecorations) => {\n const HTMLAttributes = getRenderedAttributes(node, extensionAttributes);\n return nodeViewResult({\n // pass-through\n node,\n view,\n getPos,\n decorations,\n innerDecorations,\n // tiptap-specific\n editor,\n extension,\n HTMLAttributes\n });\n };\n return [extension.name, nodeview];\n })\n );\n }\n /**\n * Get the composed dispatchTransaction function from all extensions.\n * @param baseDispatch The base dispatch function (e.g. from the editor or user props)\n * @returns A composed dispatch function\n */\n dispatchTransaction(baseDispatch) {\n const { editor } = this;\n const extensions = sortExtensions([...this.extensions].reverse());\n return extensions.reduceRight((next, extension) => {\n const context = {\n name: extension.name,\n options: extension.options,\n storage: this.editor.extensionStorage[extension.name],\n editor,\n type: getSchemaTypeByName(extension.name, this.schema)\n };\n const dispatchTransaction = getExtensionField(\n extension,\n \"dispatchTransaction\",\n context\n );\n if (!dispatchTransaction) {\n return next;\n }\n return (transaction) => {\n dispatchTransaction.call(context, { transaction, next });\n };\n }, baseDispatch);\n }\n /**\n * Get the composed transformPastedHTML function from all extensions.\n * @param baseTransform The base transform function (e.g. from the editor props)\n * @returns A composed transform function that chains all extension transforms\n */\n transformPastedHTML(baseTransform) {\n const { editor } = this;\n const extensions = sortExtensions([...this.extensions]);\n return extensions.reduce(\n (transform, extension) => {\n const context = {\n name: extension.name,\n options: extension.options,\n storage: this.editor.extensionStorage[extension.name],\n editor,\n type: getSchemaTypeByName(extension.name, this.schema)\n };\n const extensionTransform = getExtensionField(\n extension,\n \"transformPastedHTML\",\n context\n );\n if (!extensionTransform) {\n return transform;\n }\n return (html, view) => {\n const transformedHtml = transform(html, view);\n return extensionTransform.call(context, transformedHtml);\n };\n },\n baseTransform || ((html) => html)\n );\n }\n get markViews() {\n const { editor } = this;\n const { markExtensions } = splitExtensions(this.extensions);\n return Object.fromEntries(\n markExtensions.filter((extension) => !!getExtensionField(extension, \"addMarkView\")).map((extension) => {\n const extensionAttributes = this.attributes.filter((attribute) => attribute.type === extension.name);\n const context = {\n name: extension.name,\n options: extension.options,\n storage: this.editor.extensionStorage[extension.name],\n editor,\n type: getMarkType(extension.name, this.schema)\n };\n const addMarkView = getExtensionField(extension, \"addMarkView\", context);\n if (!addMarkView) {\n return [];\n }\n const markView = (mark, view, inline) => {\n const HTMLAttributes = getRenderedAttributes(mark, extensionAttributes);\n return addMarkView()({\n // pass-through\n mark,\n view,\n inline,\n // tiptap-specific\n editor,\n extension,\n HTMLAttributes,\n updateAttributes: (attrs) => {\n updateMarkViewAttributes(mark, editor, attrs);\n }\n });\n };\n return [extension.name, markView];\n })\n );\n }\n /**\n * Go through all extensions, create extension storages & setup marks\n * & bind editor event listener.\n */\n setupExtensions() {\n const extensions = this.extensions;\n this.editor.extensionStorage = Object.fromEntries(\n extensions.map((extension) => [extension.name, extension.storage])\n );\n extensions.forEach((extension) => {\n var _a;\n const context = {\n name: extension.name,\n options: extension.options,\n storage: this.editor.extensionStorage[extension.name],\n editor: this.editor,\n type: getSchemaTypeByName(extension.name, this.schema)\n };\n if (extension.type === \"mark\") {\n const keepOnSplit = (_a = callOrReturn(getExtensionField(extension, \"keepOnSplit\", context))) != null ? _a : true;\n if (keepOnSplit) {\n this.splittableMarks.push(extension.name);\n }\n }\n const onBeforeCreate = getExtensionField(extension, \"onBeforeCreate\", context);\n const onCreate = getExtensionField(extension, \"onCreate\", context);\n const onUpdate = getExtensionField(extension, \"onUpdate\", context);\n const onSelectionUpdate = getExtensionField(\n extension,\n \"onSelectionUpdate\",\n context\n );\n const onTransaction = getExtensionField(extension, \"onTransaction\", context);\n const onFocus = getExtensionField(extension, \"onFocus\", context);\n const onBlur = getExtensionField(extension, \"onBlur\", context);\n const onDestroy = getExtensionField(extension, \"onDestroy\", context);\n if (onBeforeCreate) {\n this.editor.on(\"beforeCreate\", onBeforeCreate);\n }\n if (onCreate) {\n this.editor.on(\"create\", onCreate);\n }\n if (onUpdate) {\n this.editor.on(\"update\", onUpdate);\n }\n if (onSelectionUpdate) {\n this.editor.on(\"selectionUpdate\", onSelectionUpdate);\n }\n if (onTransaction) {\n this.editor.on(\"transaction\", onTransaction);\n }\n if (onFocus) {\n this.editor.on(\"focus\", onFocus);\n }\n if (onBlur) {\n this.editor.on(\"blur\", onBlur);\n }\n if (onDestroy) {\n this.editor.on(\"destroy\", onDestroy);\n }\n });\n }\n};\nExtensionManager.resolve = resolveExtensions;\nExtensionManager.sort = sortExtensions;\nExtensionManager.flatten = flattenExtensions;\n\n// src/extensions/index.ts\nvar extensions_exports = {};\n__export(extensions_exports, {\n ClipboardTextSerializer: () => ClipboardTextSerializer,\n Commands: () => Commands,\n Delete: () => Delete,\n Drop: () => Drop,\n Editable: () => Editable,\n FocusEvents: () => FocusEvents,\n Keymap: () => Keymap,\n Paste: () => Paste,\n Tabindex: () => Tabindex,\n TextDirection: () => TextDirection,\n focusEventsPluginKey: () => focusEventsPluginKey\n});\n\n// src/extensions/clipboardTextSerializer.ts\nimport { Plugin as Plugin3, PluginKey } from \"@tiptap/pm/state\";\n\n// src/Extension.ts\nvar Extension = class _Extension extends Extendable {\n constructor() {\n super(...arguments);\n this.type = \"extension\";\n }\n /**\n * Create a new Extension instance\n * @param config - Extension configuration object or a function that returns a configuration object\n */\n static create(config = {}) {\n const resolvedConfig = typeof config === \"function\" ? config() : config;\n return new _Extension(resolvedConfig);\n }\n configure(options) {\n return super.configure(options);\n }\n extend(extendedConfig) {\n const resolvedConfig = typeof extendedConfig === \"function\" ? extendedConfig() : extendedConfig;\n return super.extend(resolvedConfig);\n }\n};\n\n// src/extensions/clipboardTextSerializer.ts\nvar ClipboardTextSerializer = Extension.create({\n name: \"clipboardTextSerializer\",\n addOptions() {\n return {\n blockSeparator: void 0\n };\n },\n addProseMirrorPlugins() {\n return [\n new Plugin3({\n key: new PluginKey(\"clipboardTextSerializer\"),\n props: {\n clipboardTextSerializer: () => {\n const { editor } = this;\n const { state, schema } = editor;\n const { doc, selection } = state;\n const { ranges } = selection;\n const from = Math.min(...ranges.map((range2) => range2.$from.pos));\n const to = Math.max(...ranges.map((range2) => range2.$to.pos));\n const textSerializers = getTextSerializersFromSchema(schema);\n const range = { from, to };\n return getTextBetween(doc, range, {\n ...this.options.blockSeparator !== void 0 ? { blockSeparator: this.options.blockSeparator } : {},\n textSerializers\n });\n }\n }\n })\n ];\n }\n});\n\n// src/extensions/commands.ts\nvar Commands = Extension.create({\n name: \"commands\",\n addCommands() {\n return {\n ...commands_exports\n };\n }\n});\n\n// src/extensions/delete.ts\nimport { RemoveMarkStep } from \"@tiptap/pm/transform\";\nvar Delete = Extension.create({\n name: \"delete\",\n onUpdate({ transaction, appendedTransactions }) {\n var _a, _b, _c;\n const callback = () => {\n var _a2, _b2, _c2, _d;\n if ((_d = (_c2 = (_b2 = (_a2 = this.editor.options.coreExtensionOptions) == null ? void 0 : _a2.delete) == null ? void 0 : _b2.filterTransaction) == null ? void 0 : _c2.call(_b2, transaction)) != null ? _d : transaction.getMeta(\"y-sync$\")) {\n return;\n }\n const nextTransaction = combineTransactionSteps(transaction.before, [transaction, ...appendedTransactions]);\n const changes = getChangedRanges(nextTransaction);\n changes.forEach((change) => {\n if (nextTransaction.mapping.mapResult(change.oldRange.from).deletedAfter && nextTransaction.mapping.mapResult(change.oldRange.to).deletedBefore) {\n nextTransaction.before.nodesBetween(change.oldRange.from, change.oldRange.to, (node, from) => {\n const to = from + node.nodeSize - 2;\n const isFullyWithinRange = change.oldRange.from <= from && to <= change.oldRange.to;\n this.editor.emit(\"delete\", {\n type: \"node\",\n node,\n from,\n to,\n newFrom: nextTransaction.mapping.map(from),\n newTo: nextTransaction.mapping.map(to),\n deletedRange: change.oldRange,\n newRange: change.newRange,\n partial: !isFullyWithinRange,\n editor: this.editor,\n transaction,\n combinedTransform: nextTransaction\n });\n });\n }\n });\n const mapping = nextTransaction.mapping;\n nextTransaction.steps.forEach((step, index) => {\n var _a3, _b3;\n if (step instanceof RemoveMarkStep) {\n const newStart = mapping.slice(index).map(step.from, -1);\n const newEnd = mapping.slice(index).map(step.to);\n const oldStart = mapping.invert().map(newStart, -1);\n const oldEnd = mapping.invert().map(newEnd);\n const foundBeforeMark = newStart > 0 ? (_a3 = nextTransaction.doc.nodeAt(newStart - 1)) == null ? void 0 : _a3.marks.some((mark) => mark.eq(step.mark)) : false;\n const foundAfterMark = (_b3 = nextTransaction.doc.nodeAt(newEnd)) == null ? void 0 : _b3.marks.some((mark) => mark.eq(step.mark));\n this.editor.emit(\"delete\", {\n type: \"mark\",\n mark: step.mark,\n from: step.from,\n to: step.to,\n deletedRange: {\n from: oldStart,\n to: oldEnd\n },\n newRange: {\n from: newStart,\n to: newEnd\n },\n partial: Boolean(foundAfterMark || foundBeforeMark),\n editor: this.editor,\n transaction,\n combinedTransform: nextTransaction\n });\n }\n });\n };\n if ((_c = (_b = (_a = this.editor.options.coreExtensionOptions) == null ? void 0 : _a.delete) == null ? void 0 : _b.async) != null ? _c : true) {\n setTimeout(callback, 0);\n } else {\n callback();\n }\n }\n});\n\n// src/extensions/drop.ts\nimport { Plugin as Plugin4, PluginKey as PluginKey2 } from \"@tiptap/pm/state\";\nvar Drop = Extension.create({\n name: \"drop\",\n addProseMirrorPlugins() {\n return [\n new Plugin4({\n key: new PluginKey2(\"tiptapDrop\"),\n props: {\n handleDrop: (_, e, slice, moved) => {\n this.editor.emit(\"drop\", {\n editor: this.editor,\n event: e,\n slice,\n moved\n });\n }\n }\n })\n ];\n }\n});\n\n// src/extensions/editable.ts\nimport { Plugin as Plugin5, PluginKey as PluginKey3 } from \"@tiptap/pm/state\";\nvar Editable = Extension.create({\n name: \"editable\",\n addProseMirrorPlugins() {\n return [\n new Plugin5({\n key: new PluginKey3(\"editable\"),\n props: {\n editable: () => this.editor.options.editable\n }\n })\n ];\n }\n});\n\n// src/extensions/focusEvents.ts\nimport { Plugin as Plugin6, PluginKey as PluginKey4 } from \"@tiptap/pm/state\";\nvar focusEventsPluginKey = new PluginKey4(\"focusEvents\");\nvar FocusEvents = Extension.create({\n name: \"focusEvents\",\n addProseMirrorPlugins() {\n const { editor } = this;\n return [\n new Plugin6({\n key: focusEventsPluginKey,\n props: {\n handleDOMEvents: {\n focus: (view, event) => {\n editor.isFocused = true;\n const transaction = editor.state.tr.setMeta(\"focus\", { event }).setMeta(\"addToHistory\", false);\n view.dispatch(transaction);\n return false;\n },\n blur: (view, event) => {\n editor.isFocused = false;\n const transaction = editor.state.tr.setMeta(\"blur\", { event }).setMeta(\"addToHistory\", false);\n view.dispatch(transaction);\n return false;\n }\n }\n }\n })\n ];\n }\n});\n\n// src/extensions/keymap.ts\nimport { Plugin as Plugin7, PluginKey as PluginKey5, Selection as Selection3 } from \"@tiptap/pm/state\";\nvar Keymap = Extension.create({\n name: \"keymap\",\n addKeyboardShortcuts() {\n const handleBackspace = () => this.editor.commands.first(({ commands }) => [\n () => commands.undoInputRule(),\n // maybe convert first text block node to default node\n () => commands.command(({ tr }) => {\n const { selection, doc } = tr;\n const { empty, $anchor } = selection;\n const { pos, parent } = $anchor;\n const $parentPos = $anchor.parent.isTextblock && pos > 0 ? tr.doc.resolve(pos - 1) : $anchor;\n const parentIsIsolating = $parentPos.parent.type.spec.isolating;\n const parentPos = $anchor.pos - $anchor.parentOffset;\n const isAtStart = parentIsIsolating && $parentPos.parent.childCount === 1 ? parentPos === $anchor.pos : Selection3.atStart(doc).from === pos;\n if (!empty || !parent.type.isTextblock || parent.textContent.length || !isAtStart || isAtStart && $anchor.parent.type.name === \"paragraph\") {\n return false;\n }\n return commands.clearNodes();\n }),\n () => commands.deleteSelection(),\n () => commands.joinBackward(),\n () => commands.selectNodeBackward()\n ]);\n const handleDelete = () => this.editor.commands.first(({ commands }) => [\n () => commands.deleteSelection(),\n () => commands.deleteCurrentNode(),\n () => commands.joinForward(),\n () => commands.selectNodeForward()\n ]);\n const handleEnter = () => this.editor.commands.first(({ commands }) => [\n () => commands.newlineInCode(),\n () => commands.createParagraphNear(),\n () => commands.liftEmptyBlock(),\n () => commands.splitBlock()\n ]);\n const baseKeymap = {\n Enter: handleEnter,\n \"Mod-Enter\": () => this.editor.commands.exitCode(),\n Backspace: handleBackspace,\n \"Mod-Backspace\": handleBackspace,\n \"Shift-Backspace\": handleBackspace,\n Delete: handleDelete,\n \"Mod-Delete\": handleDelete,\n \"Mod-a\": () => this.editor.commands.selectAll()\n };\n const pcKeymap = {\n ...baseKeymap\n };\n const macKeymap = {\n ...baseKeymap,\n \"Ctrl-h\": handleBackspace,\n \"Alt-Backspace\": handleBackspace,\n \"Ctrl-d\": handleDelete,\n \"Ctrl-Alt-Backspace\": handleDelete,\n \"Alt-Delete\": handleDelete,\n \"Alt-d\": handleDelete,\n \"Ctrl-a\": () => this.editor.commands.selectTextblockStart(),\n \"Ctrl-e\": () => this.editor.commands.selectTextblockEnd()\n };\n if (isiOS() || isMacOS()) {\n return macKeymap;\n }\n return pcKeymap;\n },\n addProseMirrorPlugins() {\n return [\n // With this plugin we check if the whole document was selected and deleted.\n // In this case we will additionally call `clearNodes()` to convert e.g. a heading\n // to a paragraph if necessary.\n // This is an alternative to ProseMirror's `AllSelection`, which doesn’t work well\n // with many other commands.\n new Plugin7({\n key: new PluginKey5(\"clearDocument\"),\n appendTransaction: (transactions, oldState, newState) => {\n if (transactions.some((tr2) => tr2.getMeta(\"composition\"))) {\n return;\n }\n const docChanges = transactions.some((transaction) => transaction.docChanged) && !oldState.doc.eq(newState.doc);\n const ignoreTr = transactions.some((transaction) => transaction.getMeta(\"preventClearDocument\"));\n if (!docChanges || ignoreTr) {\n return;\n }\n const { empty, from, to } = oldState.selection;\n const allFrom = Selection3.atStart(oldState.doc).from;\n const allEnd = Selection3.atEnd(oldState.doc).to;\n const allWasSelected = from === allFrom && to === allEnd;\n if (empty || !allWasSelected) {\n return;\n }\n const isEmpty = isNodeEmpty(newState.doc);\n if (!isEmpty) {\n return;\n }\n const tr = newState.tr;\n const state = createChainableState({\n state: newState,\n transaction: tr\n });\n const { commands } = new CommandManager({\n editor: this.editor,\n state\n });\n commands.clearNodes();\n if (!tr.steps.length) {\n return;\n }\n return tr;\n }\n })\n ];\n }\n});\n\n// src/extensions/paste.ts\nimport { Plugin as Plugin8, PluginKey as PluginKey6 } from \"@tiptap/pm/state\";\nvar Paste = Extension.create({\n name: \"paste\",\n addProseMirrorPlugins() {\n return [\n new Plugin8({\n key: new PluginKey6(\"tiptapPaste\"),\n props: {\n handlePaste: (_view, e, slice) => {\n this.editor.emit(\"paste\", {\n editor: this.editor,\n event: e,\n slice\n });\n }\n }\n })\n ];\n }\n});\n\n// src/extensions/tabindex.ts\nimport { Plugin as Plugin9, PluginKey as PluginKey7 } from \"@tiptap/pm/state\";\nvar Tabindex = Extension.create({\n name: \"tabindex\",\n addProseMirrorPlugins() {\n return [\n new Plugin9({\n key: new PluginKey7(\"tabindex\"),\n props: {\n attributes: () => this.editor.isEditable ? { tabindex: \"0\" } : {}\n }\n })\n ];\n }\n});\n\n// src/extensions/textDirection.ts\nimport { Plugin as Plugin10, PluginKey as PluginKey8 } from \"@tiptap/pm/state\";\nvar TextDirection = Extension.create({\n name: \"textDirection\",\n addOptions() {\n return {\n direction: void 0\n };\n },\n addGlobalAttributes() {\n if (!this.options.direction) {\n return [];\n }\n const { nodeExtensions } = splitExtensions(this.extensions);\n return [\n {\n types: nodeExtensions.filter((extension) => extension.name !== \"text\").map((extension) => extension.name),\n attributes: {\n dir: {\n default: this.options.direction,\n parseHTML: (element) => {\n const dir = element.getAttribute(\"dir\");\n if (dir && (dir === \"ltr\" || dir === \"rtl\" || dir === \"auto\")) {\n return dir;\n }\n return this.options.direction;\n },\n renderHTML: (attributes) => {\n if (!attributes.dir) {\n return {};\n }\n return {\n dir: attributes.dir\n };\n }\n }\n }\n }\n ];\n },\n addProseMirrorPlugins() {\n return [\n new Plugin10({\n key: new PluginKey8(\"textDirection\"),\n props: {\n attributes: () => {\n const direction = this.options.direction;\n if (!direction) {\n return {};\n }\n return {\n dir: direction\n };\n }\n }\n })\n ];\n }\n});\n\n// src/NodePos.ts\nvar NodePos = class _NodePos {\n constructor(pos, editor, isBlock = false, node = null) {\n this.currentNode = null;\n this.actualDepth = null;\n this.isBlock = isBlock;\n this.resolvedPos = pos;\n this.editor = editor;\n this.currentNode = node;\n }\n get name() {\n return this.node.type.name;\n }\n get node() {\n return this.currentNode || this.resolvedPos.node();\n }\n get element() {\n return this.editor.view.domAtPos(this.pos).node;\n }\n get depth() {\n var _a;\n return (_a = this.actualDepth) != null ? _a : this.resolvedPos.depth;\n }\n get pos() {\n return this.resolvedPos.pos;\n }\n get content() {\n return this.node.content;\n }\n set content(content) {\n let from = this.from;\n let to = this.to;\n if (this.isBlock) {\n if (this.content.size === 0) {\n console.error(`You can\\u2019t set content on a block node. Tried to set content on ${this.name} at ${this.pos}`);\n return;\n }\n from = this.from + 1;\n to = this.to - 1;\n }\n this.editor.commands.insertContentAt({ from, to }, content);\n }\n get attributes() {\n return this.node.attrs;\n }\n get textContent() {\n return this.node.textContent;\n }\n get size() {\n return this.node.nodeSize;\n }\n get from() {\n if (this.isBlock) {\n return this.pos;\n }\n return this.resolvedPos.start(this.resolvedPos.depth);\n }\n get range() {\n return {\n from: this.from,\n to: this.to\n };\n }\n get to() {\n if (this.isBlock) {\n return this.pos + this.size;\n }\n return this.resolvedPos.end(this.resolvedPos.depth) + (this.node.isText ? 0 : 1);\n }\n get parent() {\n if (this.depth === 0) {\n return null;\n }\n const parentPos = this.resolvedPos.start(this.resolvedPos.depth - 1);\n const $pos = this.resolvedPos.doc.resolve(parentPos);\n return new _NodePos($pos, this.editor);\n }\n get before() {\n let $pos = this.resolvedPos.doc.resolve(this.from - (this.isBlock ? 1 : 2));\n if ($pos.depth !== this.depth) {\n $pos = this.resolvedPos.doc.resolve(this.from - 3);\n }\n return new _NodePos($pos, this.editor);\n }\n get after() {\n let $pos = this.resolvedPos.doc.resolve(this.to + (this.isBlock ? 2 : 1));\n if ($pos.depth !== this.depth) {\n $pos = this.resolvedPos.doc.resolve(this.to + 3);\n }\n return new _NodePos($pos, this.editor);\n }\n get children() {\n const children = [];\n this.node.content.forEach((node, offset) => {\n const isBlock = node.isBlock && !node.isTextblock;\n const isNonTextAtom = node.isAtom && !node.isText;\n const isInline = node.isInline;\n const targetPos = this.pos + offset + (isNonTextAtom ? 0 : 1);\n if (targetPos < 0 || targetPos > this.resolvedPos.doc.nodeSize - 2) {\n return;\n }\n const $pos = this.resolvedPos.doc.resolve(targetPos);\n if (!isBlock && !isInline && $pos.depth <= this.depth) {\n return;\n }\n const childNodePos = new _NodePos($pos, this.editor, isBlock, isBlock || isInline ? node : null);\n if (isBlock) {\n childNodePos.actualDepth = this.depth + 1;\n }\n children.push(childNodePos);\n });\n return children;\n }\n get firstChild() {\n return this.children[0] || null;\n }\n get lastChild() {\n const children = this.children;\n return children[children.length - 1] || null;\n }\n closest(selector, attributes = {}) {\n let node = null;\n let currentNode = this.parent;\n while (currentNode && !node) {\n if (currentNode.node.type.name === selector) {\n if (Object.keys(attributes).length > 0) {\n const nodeAttributes = currentNode.node.attrs;\n const attrKeys = Object.keys(attributes);\n for (let index = 0; index < attrKeys.length; index += 1) {\n const key = attrKeys[index];\n if (nodeAttributes[key] !== attributes[key]) {\n break;\n }\n }\n } else {\n node = currentNode;\n }\n }\n currentNode = currentNode.parent;\n }\n return node;\n }\n querySelector(selector, attributes = {}) {\n return this.querySelectorAll(selector, attributes, true)[0] || null;\n }\n querySelectorAll(selector, attributes = {}, firstItemOnly = false) {\n let nodes = [];\n if (!this.children || this.children.length === 0) {\n return nodes;\n }\n const attrKeys = Object.keys(attributes);\n this.children.forEach((childPos) => {\n if (firstItemOnly && nodes.length > 0) {\n return;\n }\n if (childPos.node.type.name === selector) {\n const doesAllAttributesMatch = attrKeys.every((key) => attributes[key] === childPos.node.attrs[key]);\n if (doesAllAttributesMatch) {\n nodes.push(childPos);\n }\n }\n if (firstItemOnly && nodes.length > 0) {\n return;\n }\n nodes = nodes.concat(childPos.querySelectorAll(selector, attributes, firstItemOnly));\n });\n return nodes;\n }\n setAttribute(attributes) {\n const { tr } = this.editor.state;\n tr.setNodeMarkup(this.from, void 0, {\n ...this.node.attrs,\n ...attributes\n });\n this.editor.view.dispatch(tr);\n }\n};\n\n// src/style.ts\nvar style = `.ProseMirror {\n position: relative;\n}\n\n.ProseMirror {\n word-wrap: break-word;\n white-space: pre-wrap;\n white-space: break-spaces;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n font-feature-settings: \"liga\" 0; /* the above doesn't seem to work in Edge */\n}\n\n.ProseMirror [contenteditable=\"false\"] {\n white-space: normal;\n}\n\n.ProseMirror [contenteditable=\"false\"] [contenteditable=\"true\"] {\n white-space: pre-wrap;\n}\n\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n\nimg.ProseMirror-separator {\n display: inline !important;\n border: none !important;\n margin: 0 !important;\n width: 0 !important;\n height: 0 !important;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n margin: 0;\n}\n\n.ProseMirror-gapcursor:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n\n.ProseMirror-hideselection *::selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection *::-moz-selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection * {\n caret-color: transparent;\n}\n\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}`;\n\n// src/utilities/createStyleTag.ts\nfunction createStyleTag(style2, nonce, suffix) {\n const tiptapStyleTag = document.querySelector(`style[data-tiptap-style${suffix ? `-${suffix}` : \"\"}]`);\n if (tiptapStyleTag !== null) {\n return tiptapStyleTag;\n }\n const styleNode = document.createElement(\"style\");\n if (nonce) {\n styleNode.setAttribute(\"nonce\", nonce);\n }\n styleNode.setAttribute(`data-tiptap-style${suffix ? `-${suffix}` : \"\"}`, \"\");\n styleNode.innerHTML = style2;\n document.getElementsByTagName(\"head\")[0].appendChild(styleNode);\n return styleNode;\n}\n\n// src/Editor.ts\nvar Editor = class extends EventEmitter {\n constructor(options = {}) {\n super();\n this.css = null;\n this.className = \"tiptap\";\n this.editorView = null;\n this.isFocused = false;\n /**\n * The editor is considered initialized after the `create` event has been emitted.\n */\n this.isInitialized = false;\n this.extensionStorage = {};\n /**\n * A unique ID for this editor instance.\n */\n this.instanceId = Math.random().toString(36).slice(2, 9);\n this.options = {\n element: typeof document !== \"undefined\" ? document.createElement(\"div\") : null,\n content: \"\",\n injectCSS: true,\n injectNonce: void 0,\n extensions: [],\n autofocus: false,\n editable: true,\n textDirection: void 0,\n editorProps: {},\n parseOptions: {},\n coreExtensionOptions: {},\n enableInputRules: true,\n enablePasteRules: true,\n enableCoreExtensions: true,\n enableContentCheck: false,\n emitContentError: false,\n onBeforeCreate: () => null,\n onCreate: () => null,\n onMount: () => null,\n onUnmount: () => null,\n onUpdate: () => null,\n onSelectionUpdate: () => null,\n onTransaction: () => null,\n onFocus: () => null,\n onBlur: () => null,\n onDestroy: () => null,\n onContentError: ({ error }) => {\n throw error;\n },\n onPaste: () => null,\n onDrop: () => null,\n onDelete: () => null,\n enableExtensionDispatchTransaction: true\n };\n this.isCapturingTransaction = false;\n this.capturedTransaction = null;\n /**\n * Returns a set of utilities for working with positions and ranges.\n */\n this.utils = {\n getUpdatedPosition,\n createMappablePosition\n };\n this.setOptions(options);\n this.createExtensionManager();\n this.createCommandManager();\n this.createSchema();\n this.on(\"beforeCreate\", this.options.onBeforeCreate);\n this.emit(\"beforeCreate\", { editor: this });\n this.on(\"mount\", this.options.onMount);\n this.on(\"unmount\", this.options.onUnmount);\n this.on(\"contentError\", this.options.onContentError);\n this.on(\"create\", this.options.onCreate);\n this.on(\"update\", this.options.onUpdate);\n this.on(\"selectionUpdate\", this.options.onSelectionUpdate);\n this.on(\"transaction\", this.options.onTransaction);\n this.on(\"focus\", this.options.onFocus);\n this.on(\"blur\", this.options.onBlur);\n this.on(\"destroy\", this.options.onDestroy);\n this.on(\"drop\", ({ event, slice, moved }) => this.options.onDrop(event, slice, moved));\n this.on(\"paste\", ({ event, slice }) => this.options.onPaste(event, slice));\n this.on(\"delete\", this.options.onDelete);\n const initialDoc = this.createDoc();\n const selection = resolveFocusPosition(initialDoc, this.options.autofocus);\n this.editorState = EditorState.create({\n doc: initialDoc,\n schema: this.schema,\n selection: selection || void 0\n });\n if (this.options.element) {\n this.mount(this.options.element);\n }\n }\n /**\n * Attach the editor to the DOM, creating a new editor view.\n */\n mount(el) {\n if (typeof document === \"undefined\") {\n throw new Error(\n `[tiptap error]: The editor cannot be mounted because there is no 'document' defined in this environment.`\n );\n }\n this.createView(el);\n this.emit(\"mount\", { editor: this });\n if (this.css && !document.head.contains(this.css)) {\n document.head.appendChild(this.css);\n }\n window.setTimeout(() => {\n if (this.isDestroyed) {\n return;\n }\n if (this.options.autofocus !== false && this.options.autofocus !== null) {\n this.commands.focus(this.options.autofocus);\n }\n this.emit(\"create\", { editor: this });\n this.isInitialized = true;\n }, 0);\n }\n /**\n * Remove the editor from the DOM, but still allow remounting at a different point in time\n */\n unmount() {\n if (this.editorView) {\n const dom = this.editorView.dom;\n if (dom == null ? void 0 : dom.editor) {\n delete dom.editor;\n }\n this.editorView.destroy();\n }\n this.editorView = null;\n this.isInitialized = false;\n if (this.css && !document.querySelectorAll(`.${this.className}`).length) {\n try {\n if (typeof this.css.remove === \"function\") {\n this.css.remove();\n } else if (this.css.parentNode) {\n this.css.parentNode.removeChild(this.css);\n }\n } catch (error) {\n console.warn(\"Failed to remove CSS element:\", error);\n }\n }\n this.css = null;\n this.emit(\"unmount\", { editor: this });\n }\n /**\n * Returns the editor storage.\n */\n get storage() {\n return this.extensionStorage;\n }\n /**\n * An object of all registered commands.\n */\n get commands() {\n return this.commandManager.commands;\n }\n /**\n * Create a command chain to call multiple commands at once.\n */\n chain() {\n return this.commandManager.chain();\n }\n /**\n * Check if a command or a command chain can be executed. Without executing it.\n */\n can() {\n return this.commandManager.can();\n }\n /**\n * Inject CSS styles.\n */\n injectCSS() {\n if (this.options.injectCSS && typeof document !== \"undefined\") {\n this.css = createStyleTag(style, this.options.injectNonce);\n }\n }\n /**\n * Update editor options.\n *\n * @param options A list of options\n */\n setOptions(options = {}) {\n this.options = {\n ...this.options,\n ...options\n };\n if (!this.editorView || !this.state || this.isDestroyed) {\n return;\n }\n if (this.options.editorProps) {\n this.view.setProps(this.options.editorProps);\n }\n this.view.updateState(this.state);\n }\n /**\n * Update editable state of the editor.\n */\n setEditable(editable, emitUpdate = true) {\n this.setOptions({ editable });\n if (emitUpdate) {\n this.emit(\"update\", { editor: this, transaction: this.state.tr, appendedTransactions: [] });\n }\n }\n /**\n * Returns whether the editor is editable.\n */\n get isEditable() {\n return this.options.editable && this.view && this.view.editable;\n }\n /**\n * Returns the editor view.\n */\n get view() {\n if (this.editorView) {\n return this.editorView;\n }\n return new Proxy(\n {\n state: this.editorState,\n updateState: (state) => {\n this.editorState = state;\n },\n dispatch: (tr) => {\n this.dispatchTransaction(tr);\n },\n // Stub some commonly accessed properties to prevent errors\n composing: false,\n dragging: null,\n editable: true,\n isDestroyed: false\n },\n {\n get: (obj, key) => {\n if (this.editorView) {\n return this.editorView[key];\n }\n if (key === \"state\") {\n return this.editorState;\n }\n if (key in obj) {\n return Reflect.get(obj, key);\n }\n throw new Error(\n `[tiptap error]: The editor view is not available. Cannot access view['${key}']. The editor may not be mounted yet.`\n );\n }\n }\n );\n }\n /**\n * Returns the editor state.\n */\n get state() {\n if (this.editorView) {\n this.editorState = this.view.state;\n }\n return this.editorState;\n }\n /**\n * Register a ProseMirror plugin.\n *\n * @param plugin A ProseMirror plugin\n * @param handlePlugins Control how to merge the plugin into the existing plugins.\n * @returns The new editor state\n */\n registerPlugin(plugin, handlePlugins) {\n const plugins = isFunction(handlePlugins) ? handlePlugins(plugin, [...this.state.plugins]) : [...this.state.plugins, plugin];\n const state = this.state.reconfigure({ plugins });\n this.view.updateState(state);\n return state;\n }\n /**\n * Unregister a ProseMirror plugin.\n *\n * @param nameOrPluginKeyToRemove The plugins name\n * @returns The new editor state or undefined if the editor is destroyed\n */\n unregisterPlugin(nameOrPluginKeyToRemove) {\n if (this.isDestroyed) {\n return void 0;\n }\n const prevPlugins = this.state.plugins;\n let plugins = prevPlugins;\n [].concat(nameOrPluginKeyToRemove).forEach((nameOrPluginKey) => {\n const name = typeof nameOrPluginKey === \"string\" ? `${nameOrPluginKey}$` : nameOrPluginKey.key;\n plugins = plugins.filter((plugin) => !plugin.key.startsWith(name));\n });\n if (prevPlugins.length === plugins.length) {\n return void 0;\n }\n const state = this.state.reconfigure({\n plugins\n });\n this.view.updateState(state);\n return state;\n }\n /**\n * Creates an extension manager.\n */\n createExtensionManager() {\n var _a, _b;\n const coreExtensions = this.options.enableCoreExtensions ? [\n Editable,\n ClipboardTextSerializer.configure({\n blockSeparator: (_b = (_a = this.options.coreExtensionOptions) == null ? void 0 : _a.clipboardTextSerializer) == null ? void 0 : _b.blockSeparator\n }),\n Commands,\n FocusEvents,\n Keymap,\n Tabindex,\n Drop,\n Paste,\n Delete,\n TextDirection.configure({\n direction: this.options.textDirection\n })\n ].filter((ext) => {\n if (typeof this.options.enableCoreExtensions === \"object\") {\n return this.options.enableCoreExtensions[ext.name] !== false;\n }\n return true;\n }) : [];\n const allExtensions = [...coreExtensions, ...this.options.extensions].filter((extension) => {\n return [\"extension\", \"node\", \"mark\"].includes(extension == null ? void 0 : extension.type);\n });\n this.extensionManager = new ExtensionManager(allExtensions, this);\n }\n /**\n * Creates an command manager.\n */\n createCommandManager() {\n this.commandManager = new CommandManager({\n editor: this\n });\n }\n /**\n * Creates a ProseMirror schema.\n */\n createSchema() {\n this.schema = this.extensionManager.schema;\n }\n /**\n * Creates the initial document.\n */\n createDoc() {\n let doc;\n try {\n doc = createDocument(this.options.content, this.schema, this.options.parseOptions, {\n errorOnInvalidContent: this.options.enableContentCheck\n });\n } catch (e) {\n if (!(e instanceof Error) || ![\"[tiptap error]: Invalid JSON content\", \"[tiptap error]: Invalid HTML content\"].includes(e.message)) {\n throw e;\n }\n this.emit(\"contentError\", {\n editor: this,\n error: e,\n disableCollaboration: () => {\n if (\"collaboration\" in this.storage && typeof this.storage.collaboration === \"object\" && this.storage.collaboration) {\n ;\n this.storage.collaboration.isDisabled = true;\n }\n this.options.extensions = this.options.extensions.filter((extension) => extension.name !== \"collaboration\");\n this.createExtensionManager();\n }\n });\n doc = createDocument(this.options.content, this.schema, this.options.parseOptions, {\n errorOnInvalidContent: false\n });\n }\n return doc;\n }\n /**\n * Creates a ProseMirror view.\n */\n createView(element) {\n const { editorProps, enableExtensionDispatchTransaction } = this.options;\n const baseDispatch = editorProps.dispatchTransaction || this.dispatchTransaction.bind(this);\n const dispatch = enableExtensionDispatchTransaction ? this.extensionManager.dispatchTransaction(baseDispatch) : baseDispatch;\n const baseTransformPastedHTML = editorProps.transformPastedHTML;\n const transformPastedHTML = this.extensionManager.transformPastedHTML(baseTransformPastedHTML);\n this.editorView = new EditorView(element, {\n ...editorProps,\n attributes: {\n // add `role=\"textbox\"` to the editor element\n role: \"textbox\",\n ...editorProps == null ? void 0 : editorProps.attributes\n },\n dispatchTransaction: dispatch,\n transformPastedHTML,\n state: this.editorState,\n markViews: this.extensionManager.markViews,\n nodeViews: this.extensionManager.nodeViews\n });\n const newState = this.state.reconfigure({\n plugins: this.extensionManager.plugins\n });\n this.view.updateState(newState);\n this.prependClass();\n this.injectCSS();\n const dom = this.view.dom;\n dom.editor = this;\n }\n /**\n * Creates all node and mark views.\n */\n createNodeViews() {\n if (this.view.isDestroyed) {\n return;\n }\n this.view.setProps({\n markViews: this.extensionManager.markViews,\n nodeViews: this.extensionManager.nodeViews\n });\n }\n /**\n * Prepend class name to element.\n */\n prependClass() {\n this.view.dom.className = `${this.className} ${this.view.dom.className}`;\n }\n captureTransaction(fn) {\n this.isCapturingTransaction = true;\n fn();\n this.isCapturingTransaction = false;\n const tr = this.capturedTransaction;\n this.capturedTransaction = null;\n return tr;\n }\n /**\n * The callback over which to send transactions (state updates) produced by the view.\n *\n * @param transaction An editor state transaction\n */\n dispatchTransaction(transaction) {\n if (this.view.isDestroyed) {\n return;\n }\n if (this.isCapturingTransaction) {\n if (!this.capturedTransaction) {\n this.capturedTransaction = transaction;\n return;\n }\n transaction.steps.forEach((step) => {\n var _a;\n return (_a = this.capturedTransaction) == null ? void 0 : _a.step(step);\n });\n return;\n }\n const { state, transactions } = this.state.applyTransaction(transaction);\n const selectionHasChanged = !this.state.selection.eq(state.selection);\n const rootTrWasApplied = transactions.includes(transaction);\n const prevState = this.state;\n this.emit(\"beforeTransaction\", {\n editor: this,\n transaction,\n nextState: state\n });\n if (!rootTrWasApplied) {\n return;\n }\n this.view.updateState(state);\n this.emit(\"transaction\", {\n editor: this,\n transaction,\n appendedTransactions: transactions.slice(1)\n });\n if (selectionHasChanged) {\n this.emit(\"selectionUpdate\", {\n editor: this,\n transaction\n });\n }\n const mostRecentFocusTr = transactions.findLast((tr) => tr.getMeta(\"focus\") || tr.getMeta(\"blur\"));\n const focus2 = mostRecentFocusTr == null ? void 0 : mostRecentFocusTr.getMeta(\"focus\");\n const blur2 = mostRecentFocusTr == null ? void 0 : mostRecentFocusTr.getMeta(\"blur\");\n if (focus2) {\n this.emit(\"focus\", {\n editor: this,\n event: focus2.event,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n transaction: mostRecentFocusTr\n });\n }\n if (blur2) {\n this.emit(\"blur\", {\n editor: this,\n event: blur2.event,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n transaction: mostRecentFocusTr\n });\n }\n if (transaction.getMeta(\"preventUpdate\") || !transactions.some((tr) => tr.docChanged) || prevState.doc.eq(state.doc)) {\n return;\n }\n this.emit(\"update\", {\n editor: this,\n transaction,\n appendedTransactions: transactions.slice(1)\n });\n }\n /**\n * Get attributes of the currently selected node or mark.\n */\n getAttributes(nameOrType) {\n return getAttributes(this.state, nameOrType);\n }\n isActive(nameOrAttributes, attributesOrUndefined) {\n const name = typeof nameOrAttributes === \"string\" ? nameOrAttributes : null;\n const attributes = typeof nameOrAttributes === \"string\" ? attributesOrUndefined : nameOrAttributes;\n return isActive(this.state, name, attributes);\n }\n /**\n * Get the document as JSON.\n */\n getJSON() {\n return this.state.doc.toJSON();\n }\n /**\n * Get the document as HTML.\n */\n getHTML() {\n return getHTMLFromFragment(this.state.doc.content, this.schema);\n }\n /**\n * Get the document as text.\n */\n getText(options) {\n const { blockSeparator = \"\\n\\n\", textSerializers = {} } = options || {};\n return getText(this.state.doc, {\n blockSeparator,\n textSerializers: {\n ...getTextSerializersFromSchema(this.schema),\n ...textSerializers\n }\n });\n }\n /**\n * Check if there is no content.\n */\n get isEmpty() {\n return isNodeEmpty(this.state.doc);\n }\n /**\n * Destroy the editor.\n */\n destroy() {\n this.emit(\"destroy\");\n this.unmount();\n this.removeAllListeners();\n }\n /**\n * Check if the editor is already destroyed.\n */\n get isDestroyed() {\n var _a, _b;\n return (_b = (_a = this.editorView) == null ? void 0 : _a.isDestroyed) != null ? _b : true;\n }\n $node(selector, attributes) {\n var _a;\n return ((_a = this.$doc) == null ? void 0 : _a.querySelector(selector, attributes)) || null;\n }\n $nodes(selector, attributes) {\n var _a;\n return ((_a = this.$doc) == null ? void 0 : _a.querySelectorAll(selector, attributes)) || null;\n }\n $pos(pos) {\n const $pos = this.state.doc.resolve(pos);\n return new NodePos($pos, this);\n }\n get $doc() {\n return this.$pos(0);\n }\n};\n\n// src/inputRules/markInputRule.ts\nfunction markInputRule(config) {\n return new InputRule({\n find: config.find,\n handler: ({ state, range, match }) => {\n const attributes = callOrReturn(config.getAttributes, void 0, match);\n if (attributes === false || attributes === null) {\n return null;\n }\n const { tr } = state;\n const captureGroup = match[match.length - 1];\n const fullMatch = match[0];\n if (captureGroup) {\n const startSpaces = fullMatch.search(/\\S/);\n const textStart = range.from + fullMatch.indexOf(captureGroup);\n const textEnd = textStart + captureGroup.length;\n const excludedMarks = getMarksBetween(range.from, range.to, state.doc).filter((item) => {\n const excluded = item.mark.type.excluded;\n return excluded.find((type) => type === config.type && type !== item.mark.type);\n }).filter((item) => item.to > textStart);\n if (excludedMarks.length) {\n return null;\n }\n if (textEnd < range.to) {\n tr.delete(textEnd, range.to);\n }\n if (textStart > range.from) {\n tr.delete(range.from + startSpaces, textStart);\n }\n const markEnd = range.from + startSpaces + captureGroup.length;\n tr.addMark(range.from + startSpaces, markEnd, config.type.create(attributes || {}));\n tr.removeStoredMark(config.type);\n }\n },\n undoable: config.undoable\n });\n}\n\n// src/inputRules/nodeInputRule.ts\nfunction nodeInputRule(config) {\n return new InputRule({\n find: config.find,\n handler: ({ state, range, match }) => {\n const attributes = callOrReturn(config.getAttributes, void 0, match) || {};\n const { tr } = state;\n const start = range.from;\n let end = range.to;\n const newNode = config.type.create(attributes);\n if (match[1]) {\n const offset = match[0].lastIndexOf(match[1]);\n let matchStart = start + offset;\n if (matchStart > end) {\n matchStart = end;\n } else {\n end = matchStart + match[1].length;\n }\n const lastChar = match[0][match[0].length - 1];\n tr.insertText(lastChar, start + match[0].length - 1);\n tr.replaceWith(matchStart, end, newNode);\n } else if (match[0]) {\n const insertionStart = config.type.isInline ? start : start - 1;\n tr.insert(insertionStart, config.type.create(attributes)).delete(tr.mapping.map(start), tr.mapping.map(end));\n }\n tr.scrollIntoView();\n },\n undoable: config.undoable\n });\n}\n\n// src/inputRules/textblockTypeInputRule.ts\nfunction textblockTypeInputRule(config) {\n return new InputRule({\n find: config.find,\n handler: ({ state, range, match }) => {\n const $start = state.doc.resolve(range.from);\n const attributes = callOrReturn(config.getAttributes, void 0, match) || {};\n if (!$start.node(-1).canReplaceWith($start.index(-1), $start.indexAfter(-1), config.type)) {\n return null;\n }\n state.tr.delete(range.from, range.to).setBlockType(range.from, range.from, config.type, attributes);\n },\n undoable: config.undoable\n });\n}\n\n// src/inputRules/textInputRule.ts\nfunction textInputRule(config) {\n return new InputRule({\n find: config.find,\n handler: ({ state, range, match }) => {\n let insert = config.replace;\n let start = range.from;\n const end = range.to;\n if (match[1]) {\n const offset = match[0].lastIndexOf(match[1]);\n insert += match[0].slice(offset + match[1].length);\n start += offset;\n const cutOff = start - end;\n if (cutOff > 0) {\n insert = match[0].slice(offset - cutOff, offset) + insert;\n start = end;\n }\n }\n state.tr.insertText(insert, start, end);\n },\n undoable: config.undoable\n });\n}\n\n// src/inputRules/wrappingInputRule.ts\nimport { canJoin as canJoin2, findWrapping } from \"@tiptap/pm/transform\";\nfunction wrappingInputRule(config) {\n return new InputRule({\n find: config.find,\n handler: ({ state, range, match, chain }) => {\n const attributes = callOrReturn(config.getAttributes, void 0, match) || {};\n const tr = state.tr.delete(range.from, range.to);\n const $start = tr.doc.resolve(range.from);\n const blockRange = $start.blockRange();\n const wrapping = blockRange && findWrapping(blockRange, config.type, attributes);\n if (!wrapping) {\n return null;\n }\n tr.wrap(blockRange, wrapping);\n if (config.keepMarks && config.editor) {\n const { selection, storedMarks } = state;\n const { splittableMarks } = config.editor.extensionManager;\n const marks = storedMarks || selection.$to.parentOffset && selection.$from.marks();\n if (marks) {\n const filteredMarks = marks.filter((mark) => splittableMarks.includes(mark.type.name));\n tr.ensureMarks(filteredMarks);\n }\n }\n if (config.keepAttributes) {\n const nodeType = config.type.name === \"bulletList\" || config.type.name === \"orderedList\" ? \"listItem\" : \"taskList\";\n chain().updateAttributes(nodeType, attributes).run();\n }\n const before = tr.doc.resolve(range.from - 1).nodeBefore;\n if (before && before.type === config.type && canJoin2(tr.doc, range.from - 1) && (!config.joinPredicate || config.joinPredicate(match, before))) {\n tr.join(range.from - 1);\n }\n },\n undoable: config.undoable\n });\n}\n\n// src/jsx-runtime.ts\nfunction Fragment6(props) {\n return props.children;\n}\nvar h = (tag, attributes) => {\n if (tag === \"slot\") {\n return 0;\n }\n if (tag instanceof Function) {\n return tag(attributes);\n }\n const { children, ...rest } = attributes != null ? attributes : {};\n if (tag === \"svg\") {\n throw new Error(\"SVG elements are not supported in the JSX syntax, use the array syntax instead\");\n }\n return [tag, rest, children];\n};\n\n// src/lib/ResizableNodeView.ts\nvar isTouchEvent = (e) => {\n return \"touches\" in e;\n};\nvar ResizableNodeView = class {\n /**\n * Creates a new ResizableNodeView instance.\n *\n * The constructor sets up the resize handles, applies initial sizing from\n * node attributes, and configures all resize behavior options.\n *\n * @param options - Configuration options for the resizable node view\n */\n constructor(options) {\n /** Active resize handle directions */\n this.directions = [\"bottom-left\", \"bottom-right\", \"top-left\", \"top-right\"];\n /** Minimum allowed dimensions */\n this.minSize = {\n height: 8,\n width: 8\n };\n /** Whether to always preserve aspect ratio */\n this.preserveAspectRatio = false;\n /** CSS class names for elements */\n this.classNames = {\n container: \"\",\n wrapper: \"\",\n handle: \"\",\n resizing: \"\"\n };\n /** Initial width of the element (for aspect ratio calculation) */\n this.initialWidth = 0;\n /** Initial height of the element (for aspect ratio calculation) */\n this.initialHeight = 0;\n /** Calculated aspect ratio (width / height) */\n this.aspectRatio = 1;\n /** Whether a resize operation is currently active */\n this.isResizing = false;\n /** The handle currently being dragged */\n this.activeHandle = null;\n /** Starting mouse X position when resize began */\n this.startX = 0;\n /** Starting mouse Y position when resize began */\n this.startY = 0;\n /** Element width when resize began */\n this.startWidth = 0;\n /** Element height when resize began */\n this.startHeight = 0;\n /** Whether Shift key is currently pressed (for temporary aspect ratio lock) */\n this.isShiftKeyPressed = false;\n /** Last known editable state of the editor */\n this.lastEditableState = void 0;\n /** Map of handle elements by direction */\n this.handleMap = /* @__PURE__ */ new Map();\n /**\n * Handles mouse movement during an active resize.\n *\n * Calculates the delta from the starting position, computes new dimensions\n * based on the active handle direction, applies constraints and aspect ratio,\n * then updates the element's style and calls the onResize callback.\n *\n * @param event - The mouse move event\n */\n this.handleMouseMove = (event) => {\n if (!this.isResizing || !this.activeHandle) {\n return;\n }\n const deltaX = event.clientX - this.startX;\n const deltaY = event.clientY - this.startY;\n this.handleResize(deltaX, deltaY);\n };\n this.handleTouchMove = (event) => {\n if (!this.isResizing || !this.activeHandle) {\n return;\n }\n const touch = event.touches[0];\n if (!touch) {\n return;\n }\n const deltaX = touch.clientX - this.startX;\n const deltaY = touch.clientY - this.startY;\n this.handleResize(deltaX, deltaY);\n };\n /**\n * Completes the resize operation when the mouse button is released.\n *\n * Captures final dimensions, calls the onCommit callback to persist changes,\n * removes the resizing state and class, and cleans up document-level listeners.\n */\n this.handleMouseUp = () => {\n if (!this.isResizing) {\n return;\n }\n const finalWidth = this.element.offsetWidth;\n const finalHeight = this.element.offsetHeight;\n this.onCommit(finalWidth, finalHeight);\n this.isResizing = false;\n this.activeHandle = null;\n this.container.dataset.resizeState = \"false\";\n if (this.classNames.resizing) {\n this.container.classList.remove(this.classNames.resizing);\n }\n document.removeEventListener(\"mousemove\", this.handleMouseMove);\n document.removeEventListener(\"mouseup\", this.handleMouseUp);\n document.removeEventListener(\"keydown\", this.handleKeyDown);\n document.removeEventListener(\"keyup\", this.handleKeyUp);\n };\n /**\n * Tracks Shift key state to enable temporary aspect ratio locking.\n *\n * When Shift is pressed during resize, aspect ratio is preserved even if\n * preserveAspectRatio is false.\n *\n * @param event - The keyboard event\n */\n this.handleKeyDown = (event) => {\n if (event.key === \"Shift\") {\n this.isShiftKeyPressed = true;\n }\n };\n /**\n * Tracks Shift key release to disable temporary aspect ratio locking.\n *\n * @param event - The keyboard event\n */\n this.handleKeyUp = (event) => {\n if (event.key === \"Shift\") {\n this.isShiftKeyPressed = false;\n }\n };\n var _a, _b, _c, _d, _e, _f;\n this.node = options.node;\n this.editor = options.editor;\n this.element = options.element;\n this.contentElement = options.contentElement;\n this.getPos = options.getPos;\n this.onResize = options.onResize;\n this.onCommit = options.onCommit;\n this.onUpdate = options.onUpdate;\n if ((_a = options.options) == null ? void 0 : _a.min) {\n this.minSize = {\n ...this.minSize,\n ...options.options.min\n };\n }\n if ((_b = options.options) == null ? void 0 : _b.max) {\n this.maxSize = options.options.max;\n }\n if ((_c = options == null ? void 0 : options.options) == null ? void 0 : _c.directions) {\n this.directions = options.options.directions;\n }\n if ((_d = options.options) == null ? void 0 : _d.preserveAspectRatio) {\n this.preserveAspectRatio = options.options.preserveAspectRatio;\n }\n if ((_e = options.options) == null ? void 0 : _e.className) {\n this.classNames = {\n container: options.options.className.container || \"\",\n wrapper: options.options.className.wrapper || \"\",\n handle: options.options.className.handle || \"\",\n resizing: options.options.className.resizing || \"\"\n };\n }\n if ((_f = options.options) == null ? void 0 : _f.createCustomHandle) {\n this.createCustomHandle = options.options.createCustomHandle;\n }\n this.wrapper = this.createWrapper();\n this.container = this.createContainer();\n this.applyInitialSize();\n this.attachHandles();\n this.editor.on(\"update\", this.handleEditorUpdate.bind(this));\n }\n /**\n * Returns the top-level DOM node that should be placed in the editor.\n *\n * This is required by the ProseMirror NodeView interface. The container\n * includes the wrapper, handles, and the actual content element.\n *\n * @returns The container element to be inserted into the editor\n */\n get dom() {\n return this.container;\n }\n get contentDOM() {\n var _a;\n return (_a = this.contentElement) != null ? _a : null;\n }\n handleEditorUpdate() {\n const isEditable = this.editor.isEditable;\n if (isEditable === this.lastEditableState) {\n return;\n }\n this.lastEditableState = isEditable;\n if (!isEditable) {\n this.removeHandles();\n } else if (isEditable && this.handleMap.size === 0) {\n this.attachHandles();\n }\n }\n /**\n * Called when the node's content or attributes change.\n *\n * Updates the internal node reference. If a custom `onUpdate` callback\n * was provided, it will be called to handle additional update logic.\n *\n * @param node - The new/updated node\n * @param decorations - Node decorations\n * @param innerDecorations - Inner decorations\n * @returns `false` if the node type has changed (requires full rebuild), otherwise the result of `onUpdate` or `true`\n */\n update(node, decorations, innerDecorations) {\n if (node.type !== this.node.type) {\n return false;\n }\n this.node = node;\n if (this.onUpdate) {\n return this.onUpdate(node, decorations, innerDecorations);\n }\n return true;\n }\n /**\n * Cleanup method called when the node view is being removed.\n *\n * Removes all event listeners to prevent memory leaks. This is required\n * by the ProseMirror NodeView interface. If a resize is active when\n * destroy is called, it will be properly cancelled.\n */\n destroy() {\n if (this.isResizing) {\n this.container.dataset.resizeState = \"false\";\n if (this.classNames.resizing) {\n this.container.classList.remove(this.classNames.resizing);\n }\n document.removeEventListener(\"mousemove\", this.handleMouseMove);\n document.removeEventListener(\"mouseup\", this.handleMouseUp);\n document.removeEventListener(\"keydown\", this.handleKeyDown);\n document.removeEventListener(\"keyup\", this.handleKeyUp);\n this.isResizing = false;\n this.activeHandle = null;\n }\n this.editor.off(\"update\", this.handleEditorUpdate.bind(this));\n this.container.remove();\n }\n /**\n * Creates the outer container element.\n *\n * The container is the top-level element returned by the NodeView and\n * wraps the entire resizable node. It's set up with flexbox to handle\n * alignment and includes data attributes for styling and identification.\n *\n * @returns The container element\n */\n createContainer() {\n const element = document.createElement(\"div\");\n element.dataset.resizeContainer = \"\";\n element.dataset.node = this.node.type.name;\n element.style.display = this.node.type.isInline ? \"inline-flex\" : \"flex\";\n if (this.classNames.container) {\n element.className = this.classNames.container;\n }\n element.appendChild(this.wrapper);\n return element;\n }\n /**\n * Creates the wrapper element that contains the content and handles.\n *\n * The wrapper uses relative positioning so that resize handles can be\n * positioned absolutely within it. This is the direct parent of the\n * content element being made resizable.\n *\n * @returns The wrapper element\n */\n createWrapper() {\n const element = document.createElement(\"div\");\n element.style.position = \"relative\";\n element.style.display = \"block\";\n element.dataset.resizeWrapper = \"\";\n if (this.classNames.wrapper) {\n element.className = this.classNames.wrapper;\n }\n element.appendChild(this.element);\n return element;\n }\n /**\n * Creates a resize handle element for a specific direction.\n *\n * Each handle is absolutely positioned and includes a data attribute\n * identifying its direction for styling purposes.\n *\n * @param direction - The resize direction for this handle\n * @returns The handle element\n */\n createHandle(direction) {\n const handle = document.createElement(\"div\");\n handle.dataset.resizeHandle = direction;\n handle.style.position = \"absolute\";\n if (this.classNames.handle) {\n handle.className = this.classNames.handle;\n }\n return handle;\n }\n /**\n * Positions a handle element according to its direction.\n *\n * Corner handles (e.g., 'top-left') are positioned at the intersection\n * of two edges. Edge handles (e.g., 'top') span the full width or height.\n *\n * @param handle - The handle element to position\n * @param direction - The direction determining the position\n */\n positionHandle(handle, direction) {\n const isTop = direction.includes(\"top\");\n const isBottom = direction.includes(\"bottom\");\n const isLeft = direction.includes(\"left\");\n const isRight = direction.includes(\"right\");\n if (isTop) {\n handle.style.top = \"0\";\n }\n if (isBottom) {\n handle.style.bottom = \"0\";\n }\n if (isLeft) {\n handle.style.left = \"0\";\n }\n if (isRight) {\n handle.style.right = \"0\";\n }\n if (direction === \"top\" || direction === \"bottom\") {\n handle.style.left = \"0\";\n handle.style.right = \"0\";\n }\n if (direction === \"left\" || direction === \"right\") {\n handle.style.top = \"0\";\n handle.style.bottom = \"0\";\n }\n }\n /**\n * Creates and attaches all resize handles to the wrapper.\n *\n * Iterates through the configured directions, creates a handle for each,\n * positions it, attaches the mousedown listener, and appends it to the DOM.\n */\n attachHandles() {\n this.directions.forEach((direction) => {\n let handle;\n if (this.createCustomHandle) {\n handle = this.createCustomHandle(direction);\n } else {\n handle = this.createHandle(direction);\n }\n if (!(handle instanceof HTMLElement)) {\n console.warn(\n `[ResizableNodeView] createCustomHandle(\"${direction}\") did not return an HTMLElement. Falling back to default handle.`\n );\n handle = this.createHandle(direction);\n }\n if (!this.createCustomHandle) {\n this.positionHandle(handle, direction);\n }\n handle.addEventListener(\"mousedown\", (event) => this.handleResizeStart(event, direction));\n handle.addEventListener(\"touchstart\", (event) => this.handleResizeStart(event, direction));\n this.handleMap.set(direction, handle);\n this.wrapper.appendChild(handle);\n });\n }\n /**\n * Removes all resize handles from the wrapper.\n *\n * Cleans up the handle map and removes each handle element from the DOM.\n */\n removeHandles() {\n this.handleMap.forEach((el) => el.remove());\n this.handleMap.clear();\n }\n /**\n * Applies initial sizing from node attributes to the element.\n *\n * If width/height attributes exist on the node, they're applied to the element.\n * Otherwise, the element's natural/current dimensions are measured. The aspect\n * ratio is calculated for later use in aspect-ratio-preserving resizes.\n */\n applyInitialSize() {\n const width = this.node.attrs.width;\n const height = this.node.attrs.height;\n if (width) {\n this.element.style.width = `${width}px`;\n this.initialWidth = width;\n } else {\n this.initialWidth = this.element.offsetWidth;\n }\n if (height) {\n this.element.style.height = `${height}px`;\n this.initialHeight = height;\n } else {\n this.initialHeight = this.element.offsetHeight;\n }\n if (this.initialWidth > 0 && this.initialHeight > 0) {\n this.aspectRatio = this.initialWidth / this.initialHeight;\n }\n }\n /**\n * Initiates a resize operation when a handle is clicked.\n *\n * Captures the starting mouse position and element dimensions, sets up\n * the resize state, adds the resizing class and state attribute, and\n * attaches document-level listeners for mouse movement and keyboard input.\n *\n * @param event - The mouse down event\n * @param direction - The direction of the handle being dragged\n */\n handleResizeStart(event, direction) {\n event.preventDefault();\n event.stopPropagation();\n this.isResizing = true;\n this.activeHandle = direction;\n if (isTouchEvent(event)) {\n this.startX = event.touches[0].clientX;\n this.startY = event.touches[0].clientY;\n } else {\n this.startX = event.clientX;\n this.startY = event.clientY;\n }\n this.startWidth = this.element.offsetWidth;\n this.startHeight = this.element.offsetHeight;\n if (this.startWidth > 0 && this.startHeight > 0) {\n this.aspectRatio = this.startWidth / this.startHeight;\n }\n const pos = this.getPos();\n if (pos !== void 0) {\n }\n this.container.dataset.resizeState = \"true\";\n if (this.classNames.resizing) {\n this.container.classList.add(this.classNames.resizing);\n }\n document.addEventListener(\"mousemove\", this.handleMouseMove);\n document.addEventListener(\"touchmove\", this.handleTouchMove);\n document.addEventListener(\"mouseup\", this.handleMouseUp);\n document.addEventListener(\"keydown\", this.handleKeyDown);\n document.addEventListener(\"keyup\", this.handleKeyUp);\n }\n handleResize(deltaX, deltaY) {\n if (!this.activeHandle) {\n return;\n }\n const shouldPreserveAspectRatio = this.preserveAspectRatio || this.isShiftKeyPressed;\n const { width, height } = this.calculateNewDimensions(this.activeHandle, deltaX, deltaY);\n const constrained = this.applyConstraints(width, height, shouldPreserveAspectRatio);\n this.element.style.width = `${constrained.width}px`;\n this.element.style.height = `${constrained.height}px`;\n if (this.onResize) {\n this.onResize(constrained.width, constrained.height);\n }\n }\n /**\n * Calculates new dimensions based on mouse delta and resize direction.\n *\n * Takes the starting dimensions and applies the mouse movement delta\n * according to the handle direction. For corner handles, both dimensions\n * are affected. For edge handles, only one dimension changes. If aspect\n * ratio should be preserved, delegates to applyAspectRatio.\n *\n * @param direction - The active resize handle direction\n * @param deltaX - Horizontal mouse movement since resize start\n * @param deltaY - Vertical mouse movement since resize start\n * @returns The calculated width and height\n */\n calculateNewDimensions(direction, deltaX, deltaY) {\n let newWidth = this.startWidth;\n let newHeight = this.startHeight;\n const isRight = direction.includes(\"right\");\n const isLeft = direction.includes(\"left\");\n const isBottom = direction.includes(\"bottom\");\n const isTop = direction.includes(\"top\");\n if (isRight) {\n newWidth = this.startWidth + deltaX;\n } else if (isLeft) {\n newWidth = this.startWidth - deltaX;\n }\n if (isBottom) {\n newHeight = this.startHeight + deltaY;\n } else if (isTop) {\n newHeight = this.startHeight - deltaY;\n }\n if (direction === \"right\" || direction === \"left\") {\n newWidth = this.startWidth + (isRight ? deltaX : -deltaX);\n }\n if (direction === \"top\" || direction === \"bottom\") {\n newHeight = this.startHeight + (isBottom ? deltaY : -deltaY);\n }\n const shouldPreserveAspectRatio = this.preserveAspectRatio || this.isShiftKeyPressed;\n if (shouldPreserveAspectRatio) {\n return this.applyAspectRatio(newWidth, newHeight, direction);\n }\n return { width: newWidth, height: newHeight };\n }\n /**\n * Applies min/max constraints to dimensions.\n *\n * When aspect ratio is NOT preserved, constraints are applied independently\n * to width and height. When aspect ratio IS preserved, constraints are\n * applied while maintaining the aspect ratio—if one dimension hits a limit,\n * the other is recalculated proportionally.\n *\n * This ensures that aspect ratio is never broken when constrained.\n *\n * @param width - The unconstrained width\n * @param height - The unconstrained height\n * @param preserveAspectRatio - Whether to maintain aspect ratio while constraining\n * @returns The constrained dimensions\n */\n applyConstraints(width, height, preserveAspectRatio) {\n var _a, _b, _c, _d;\n if (!preserveAspectRatio) {\n let constrainedWidth2 = Math.max(this.minSize.width, width);\n let constrainedHeight2 = Math.max(this.minSize.height, height);\n if ((_a = this.maxSize) == null ? void 0 : _a.width) {\n constrainedWidth2 = Math.min(this.maxSize.width, constrainedWidth2);\n }\n if ((_b = this.maxSize) == null ? void 0 : _b.height) {\n constrainedHeight2 = Math.min(this.maxSize.height, constrainedHeight2);\n }\n return { width: constrainedWidth2, height: constrainedHeight2 };\n }\n let constrainedWidth = width;\n let constrainedHeight = height;\n if (constrainedWidth < this.minSize.width) {\n constrainedWidth = this.minSize.width;\n constrainedHeight = constrainedWidth / this.aspectRatio;\n }\n if (constrainedHeight < this.minSize.height) {\n constrainedHeight = this.minSize.height;\n constrainedWidth = constrainedHeight * this.aspectRatio;\n }\n if (((_c = this.maxSize) == null ? void 0 : _c.width) && constrainedWidth > this.maxSize.width) {\n constrainedWidth = this.maxSize.width;\n constrainedHeight = constrainedWidth / this.aspectRatio;\n }\n if (((_d = this.maxSize) == null ? void 0 : _d.height) && constrainedHeight > this.maxSize.height) {\n constrainedHeight = this.maxSize.height;\n constrainedWidth = constrainedHeight * this.aspectRatio;\n }\n return { width: constrainedWidth, height: constrainedHeight };\n }\n /**\n * Adjusts dimensions to maintain the original aspect ratio.\n *\n * For horizontal handles (left/right), uses width as the primary dimension\n * and calculates height from it. For vertical handles (top/bottom), uses\n * height as primary and calculates width. For corner handles, uses width\n * as the primary dimension.\n *\n * @param width - The new width\n * @param height - The new height\n * @param direction - The active resize direction\n * @returns Dimensions adjusted to preserve aspect ratio\n */\n applyAspectRatio(width, height, direction) {\n const isHorizontal = direction === \"left\" || direction === \"right\";\n const isVertical = direction === \"top\" || direction === \"bottom\";\n if (isHorizontal) {\n return {\n width,\n height: width / this.aspectRatio\n };\n }\n if (isVertical) {\n return {\n width: height * this.aspectRatio,\n height\n };\n }\n return {\n width,\n height: width / this.aspectRatio\n };\n }\n};\nvar ResizableNodeview = ResizableNodeView;\n\n// src/utilities/canInsertNode.ts\nimport { NodeSelection as NodeSelection4 } from \"@tiptap/pm/state\";\nfunction canInsertNode(state, nodeType) {\n const { selection } = state;\n const { $from } = selection;\n if (selection instanceof NodeSelection4) {\n const index = $from.index();\n const parent = $from.parent;\n return parent.canReplaceWith(index, index + 1, nodeType);\n }\n let depth = $from.depth;\n while (depth >= 0) {\n const index = $from.index(depth);\n const parent = $from.node(depth);\n const match = parent.contentMatchAt(index);\n if (match.matchType(nodeType)) {\n return true;\n }\n depth -= 1;\n }\n return false;\n}\n\n// src/utilities/escapeForRegEx.ts\nfunction escapeForRegEx(string) {\n return string.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\");\n}\n\n// src/utilities/htmlEntities.ts\nfunction decodeHtmlEntities(text) {\n return text.replace(/&lt;/g, \"<\").replace(/&gt;/g, \">\").replace(/&quot;/g, '\"').replace(/&amp;/g, \"&\");\n}\nfunction encodeHtmlEntities(text) {\n return text.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\");\n}\n\n// src/utilities/isFirefox.ts\nfunction isFirefox() {\n return typeof navigator !== \"undefined\" ? /Firefox/.test(navigator.userAgent) : false;\n}\n\n// src/utilities/isString.ts\nfunction isString(value) {\n return typeof value === \"string\";\n}\n\n// src/utilities/markdown/index.ts\nvar markdown_exports = {};\n__export(markdown_exports, {\n createAtomBlockMarkdownSpec: () => createAtomBlockMarkdownSpec,\n createBlockMarkdownSpec: () => createBlockMarkdownSpec,\n createInlineMarkdownSpec: () => createInlineMarkdownSpec,\n parseAttributes: () => parseAttributes,\n parseIndentedBlocks: () => parseIndentedBlocks,\n renderNestedMarkdownContent: () => renderNestedMarkdownContent,\n serializeAttributes: () => serializeAttributes\n});\n\n// src/utilities/markdown/attributeUtils.ts\nfunction parseAttributes(attrString) {\n if (!(attrString == null ? void 0 : attrString.trim())) {\n return {};\n }\n const attributes = {};\n const quotedStrings = [];\n const tempString = attrString.replace(/[\"']([^\"']*)[\"']/g, (match) => {\n quotedStrings.push(match);\n return `__QUOTED_${quotedStrings.length - 1}__`;\n });\n const classMatches = tempString.match(/(?:^|\\s)\\.([a-zA-Z][\\w-]*)/g);\n if (classMatches) {\n const classes = classMatches.map((match) => match.trim().slice(1));\n attributes.class = classes.join(\" \");\n }\n const idMatch = tempString.match(/(?:^|\\s)#([a-zA-Z][\\w-]*)/);\n if (idMatch) {\n attributes.id = idMatch[1];\n }\n const kvRegex = /([a-zA-Z][\\w-]*)\\s*=\\s*(__QUOTED_\\d+__)/g;\n const kvMatches = Array.from(tempString.matchAll(kvRegex));\n kvMatches.forEach(([, key, quotedRef]) => {\n var _a;\n const quotedIndex = parseInt(((_a = quotedRef.match(/__QUOTED_(\\d+)__/)) == null ? void 0 : _a[1]) || \"0\", 10);\n const quotedValue = quotedStrings[quotedIndex];\n if (quotedValue) {\n attributes[key] = quotedValue.slice(1, -1);\n }\n });\n const cleanString = tempString.replace(/(?:^|\\s)\\.([a-zA-Z][\\w-]*)/g, \"\").replace(/(?:^|\\s)#([a-zA-Z][\\w-]*)/g, \"\").replace(/([a-zA-Z][\\w-]*)\\s*=\\s*__QUOTED_\\d+__/g, \"\").trim();\n if (cleanString) {\n const booleanAttrs = cleanString.split(/\\s+/).filter(Boolean);\n booleanAttrs.forEach((attr) => {\n if (attr.match(/^[a-zA-Z][\\w-]*$/)) {\n attributes[attr] = true;\n }\n });\n }\n return attributes;\n}\nfunction serializeAttributes(attributes) {\n if (!attributes || Object.keys(attributes).length === 0) {\n return \"\";\n }\n const parts = [];\n if (attributes.class) {\n const classes = String(attributes.class).split(/\\s+/).filter(Boolean);\n classes.forEach((cls) => parts.push(`.${cls}`));\n }\n if (attributes.id) {\n parts.push(`#${attributes.id}`);\n }\n Object.entries(attributes).forEach(([key, value]) => {\n if (key === \"class\" || key === \"id\") {\n return;\n }\n if (value === true) {\n parts.push(key);\n } else if (value !== false && value != null) {\n parts.push(`${key}=\"${String(value)}\"`);\n }\n });\n return parts.join(\" \");\n}\n\n// src/utilities/markdown/createAtomBlockMarkdownSpec.ts\nfunction createAtomBlockMarkdownSpec(options) {\n const {\n nodeName,\n name: markdownName,\n parseAttributes: parseAttributes2 = parseAttributes,\n serializeAttributes: serializeAttributes2 = serializeAttributes,\n defaultAttributes = {},\n requiredAttributes = [],\n allowedAttributes\n } = options;\n const blockName = markdownName || nodeName;\n const filterAttributes = (attrs) => {\n if (!allowedAttributes) {\n return attrs;\n }\n const filtered = {};\n allowedAttributes.forEach((key) => {\n if (key in attrs) {\n filtered[key] = attrs[key];\n }\n });\n return filtered;\n };\n return {\n parseMarkdown: (token, h2) => {\n const attrs = { ...defaultAttributes, ...token.attributes };\n return h2.createNode(nodeName, attrs, []);\n },\n markdownTokenizer: {\n name: nodeName,\n level: \"block\",\n start(src) {\n var _a;\n const regex = new RegExp(`^:::${blockName}(?:\\\\s|$)`, \"m\");\n const index = (_a = src.match(regex)) == null ? void 0 : _a.index;\n return index !== void 0 ? index : -1;\n },\n tokenize(src, _tokens, _lexer) {\n const regex = new RegExp(`^:::${blockName}(?:\\\\s+\\\\{([^}]*)\\\\})?\\\\s*:::(?:\\\\n|$)`);\n const match = src.match(regex);\n if (!match) {\n return void 0;\n }\n const attrString = match[1] || \"\";\n const attributes = parseAttributes2(attrString);\n const missingRequired = requiredAttributes.find((required) => !(required in attributes));\n if (missingRequired) {\n return void 0;\n }\n return {\n type: nodeName,\n raw: match[0],\n attributes\n };\n }\n },\n renderMarkdown: (node) => {\n const filteredAttrs = filterAttributes(node.attrs || {});\n const attrs = serializeAttributes2(filteredAttrs);\n const attrString = attrs ? ` {${attrs}}` : \"\";\n return `:::${blockName}${attrString} :::`;\n }\n };\n}\n\n// src/utilities/markdown/createBlockMarkdownSpec.ts\nfunction createBlockMarkdownSpec(options) {\n const {\n nodeName,\n name: markdownName,\n getContent,\n parseAttributes: parseAttributes2 = parseAttributes,\n serializeAttributes: serializeAttributes2 = serializeAttributes,\n defaultAttributes = {},\n content = \"block\",\n allowedAttributes\n } = options;\n const blockName = markdownName || nodeName;\n const filterAttributes = (attrs) => {\n if (!allowedAttributes) {\n return attrs;\n }\n const filtered = {};\n allowedAttributes.forEach((key) => {\n if (key in attrs) {\n filtered[key] = attrs[key];\n }\n });\n return filtered;\n };\n return {\n parseMarkdown: (token, h2) => {\n let nodeContent;\n if (getContent) {\n const contentResult = getContent(token);\n nodeContent = typeof contentResult === \"string\" ? [{ type: \"text\", text: contentResult }] : contentResult;\n } else if (content === \"block\") {\n nodeContent = h2.parseChildren(token.tokens || []);\n } else {\n nodeContent = h2.parseInline(token.tokens || []);\n }\n const attrs = { ...defaultAttributes, ...token.attributes };\n return h2.createNode(nodeName, attrs, nodeContent);\n },\n markdownTokenizer: {\n name: nodeName,\n level: \"block\",\n start(src) {\n var _a;\n const regex = new RegExp(`^:::${blockName}`, \"m\");\n const index = (_a = src.match(regex)) == null ? void 0 : _a.index;\n return index !== void 0 ? index : -1;\n },\n tokenize(src, _tokens, lexer) {\n var _a;\n const openingRegex = new RegExp(`^:::${blockName}(?:\\\\s+\\\\{([^}]*)\\\\})?\\\\s*\\\\n`);\n const openingMatch = src.match(openingRegex);\n if (!openingMatch) {\n return void 0;\n }\n const [openingTag, attrString = \"\"] = openingMatch;\n const attributes = parseAttributes2(attrString);\n let level = 1;\n const position = openingTag.length;\n let matchedContent = \"\";\n const blockPattern = /^:::([\\w-]*)(\\s.*)?/gm;\n const remaining = src.slice(position);\n blockPattern.lastIndex = 0;\n for (; ; ) {\n const match = blockPattern.exec(remaining);\n if (match === null) {\n break;\n }\n const matchPos = match.index;\n const blockType = match[1];\n if ((_a = match[2]) == null ? void 0 : _a.endsWith(\":::\")) {\n continue;\n }\n if (blockType) {\n level += 1;\n } else {\n level -= 1;\n if (level === 0) {\n const rawContent = remaining.slice(0, matchPos);\n matchedContent = rawContent.trim();\n const fullMatch = src.slice(0, position + matchPos + match[0].length);\n let contentTokens = [];\n if (matchedContent) {\n if (content === \"block\") {\n contentTokens = lexer.blockTokens(rawContent);\n contentTokens.forEach((token) => {\n if (token.text && (!token.tokens || token.tokens.length === 0)) {\n token.tokens = lexer.inlineTokens(token.text);\n }\n });\n while (contentTokens.length > 0) {\n const lastToken = contentTokens[contentTokens.length - 1];\n if (lastToken.type === \"paragraph\" && (!lastToken.text || lastToken.text.trim() === \"\")) {\n contentTokens.pop();\n } else {\n break;\n }\n }\n } else {\n contentTokens = lexer.inlineTokens(matchedContent);\n }\n }\n return {\n type: nodeName,\n raw: fullMatch,\n attributes,\n content: matchedContent,\n tokens: contentTokens\n };\n }\n }\n }\n return void 0;\n }\n },\n renderMarkdown: (node, h2) => {\n const filteredAttrs = filterAttributes(node.attrs || {});\n const attrs = serializeAttributes2(filteredAttrs);\n const attrString = attrs ? ` {${attrs}}` : \"\";\n const renderedContent = h2.renderChildren(node.content || [], \"\\n\\n\");\n return `:::${blockName}${attrString}\n\n${renderedContent}\n\n:::`;\n }\n };\n}\n\n// src/utilities/markdown/createInlineMarkdownSpec.ts\nfunction parseShortcodeAttributes(attrString) {\n if (!attrString.trim()) {\n return {};\n }\n const attributes = {};\n const regex = /(\\w+)=(?:\"([^\"]*)\"|'([^']*)')/g;\n let match = regex.exec(attrString);\n while (match !== null) {\n const [, key, doubleQuoted, singleQuoted] = match;\n attributes[key] = doubleQuoted || singleQuoted;\n match = regex.exec(attrString);\n }\n return attributes;\n}\nfunction serializeShortcodeAttributes(attrs) {\n return Object.entries(attrs).filter(([, value]) => value !== void 0 && value !== null).map(([key, value]) => `${key}=\"${value}\"`).join(\" \");\n}\nfunction createInlineMarkdownSpec(options) {\n const {\n nodeName,\n name: shortcodeName,\n getContent,\n parseAttributes: parseAttributes2 = parseShortcodeAttributes,\n serializeAttributes: serializeAttributes2 = serializeShortcodeAttributes,\n defaultAttributes = {},\n selfClosing = false,\n allowedAttributes\n } = options;\n const shortcode = shortcodeName || nodeName;\n const filterAttributes = (attrs) => {\n if (!allowedAttributes) {\n return attrs;\n }\n const filtered = {};\n allowedAttributes.forEach((attr) => {\n const attrName = typeof attr === \"string\" ? attr : attr.name;\n const skipIfDefault = typeof attr === \"string\" ? void 0 : attr.skipIfDefault;\n if (attrName in attrs) {\n const value = attrs[attrName];\n if (skipIfDefault !== void 0 && value === skipIfDefault) {\n return;\n }\n filtered[attrName] = value;\n }\n });\n return filtered;\n };\n const escapedShortcode = shortcode.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n return {\n parseMarkdown: (token, h2) => {\n const attrs = { ...defaultAttributes, ...token.attributes };\n if (selfClosing) {\n return h2.createNode(nodeName, attrs);\n }\n const content = getContent ? getContent(token) : token.content || \"\";\n if (content) {\n return h2.createNode(nodeName, attrs, [h2.createTextNode(content)]);\n }\n return h2.createNode(nodeName, attrs, []);\n },\n markdownTokenizer: {\n name: nodeName,\n level: \"inline\",\n start(src) {\n const startPattern = selfClosing ? new RegExp(`\\\\[${escapedShortcode}\\\\s*[^\\\\]]*\\\\]`) : new RegExp(`\\\\[${escapedShortcode}\\\\s*[^\\\\]]*\\\\][\\\\s\\\\S]*?\\\\[\\\\/${escapedShortcode}\\\\]`);\n const match = src.match(startPattern);\n const index = match == null ? void 0 : match.index;\n return index !== void 0 ? index : -1;\n },\n tokenize(src, _tokens, _lexer) {\n const tokenPattern = selfClosing ? new RegExp(`^\\\\[${escapedShortcode}\\\\s*([^\\\\]]*)\\\\]`) : new RegExp(`^\\\\[${escapedShortcode}\\\\s*([^\\\\]]*)\\\\]([\\\\s\\\\S]*?)\\\\[\\\\/${escapedShortcode}\\\\]`);\n const match = src.match(tokenPattern);\n if (!match) {\n return void 0;\n }\n let content = \"\";\n let attrString = \"\";\n if (selfClosing) {\n const [, attrs] = match;\n attrString = attrs;\n } else {\n const [, attrs, contentMatch] = match;\n attrString = attrs;\n content = contentMatch || \"\";\n }\n const attributes = parseAttributes2(attrString.trim());\n return {\n type: nodeName,\n raw: match[0],\n content: content.trim(),\n attributes\n };\n }\n },\n renderMarkdown: (node) => {\n let content = \"\";\n if (getContent) {\n content = getContent(node);\n } else if (node.content && node.content.length > 0) {\n content = node.content.filter((child) => child.type === \"text\").map((child) => child.text).join(\"\");\n }\n const filteredAttrs = filterAttributes(node.attrs || {});\n const attrs = serializeAttributes2(filteredAttrs);\n const attrString = attrs ? ` ${attrs}` : \"\";\n if (selfClosing) {\n return `[${shortcode}${attrString}]`;\n }\n return `[${shortcode}${attrString}]${content}[/${shortcode}]`;\n }\n };\n}\n\n// src/utilities/markdown/parseIndentedBlocks.ts\nfunction parseIndentedBlocks(src, config, lexer) {\n var _a, _b, _c, _d;\n const lines = src.split(\"\\n\");\n const items = [];\n let totalRaw = \"\";\n let i = 0;\n const baseIndentSize = config.baseIndentSize || 2;\n while (i < lines.length) {\n const currentLine = lines[i];\n const itemMatch = currentLine.match(config.itemPattern);\n if (!itemMatch) {\n if (items.length > 0) {\n break;\n } else if (currentLine.trim() === \"\") {\n i += 1;\n totalRaw = `${totalRaw}${currentLine}\n`;\n continue;\n } else {\n return void 0;\n }\n }\n const itemData = config.extractItemData(itemMatch);\n const { indentLevel, mainContent } = itemData;\n totalRaw = `${totalRaw}${currentLine}\n`;\n const itemContent = [mainContent];\n i += 1;\n while (i < lines.length) {\n const nextLine = lines[i];\n if (nextLine.trim() === \"\") {\n const nextNonEmptyIndex = lines.slice(i + 1).findIndex((l) => l.trim() !== \"\");\n if (nextNonEmptyIndex === -1) {\n break;\n }\n const nextNonEmpty = lines[i + 1 + nextNonEmptyIndex];\n const nextIndent2 = ((_b = (_a = nextNonEmpty.match(/^(\\s*)/)) == null ? void 0 : _a[1]) == null ? void 0 : _b.length) || 0;\n if (nextIndent2 > indentLevel) {\n itemContent.push(nextLine);\n totalRaw = `${totalRaw}${nextLine}\n`;\n i += 1;\n continue;\n } else {\n break;\n }\n }\n const nextIndent = ((_d = (_c = nextLine.match(/^(\\s*)/)) == null ? void 0 : _c[1]) == null ? void 0 : _d.length) || 0;\n if (nextIndent > indentLevel) {\n itemContent.push(nextLine);\n totalRaw = `${totalRaw}${nextLine}\n`;\n i += 1;\n } else {\n break;\n }\n }\n let nestedTokens;\n const nestedContent = itemContent.slice(1);\n if (nestedContent.length > 0) {\n const dedentedNested = nestedContent.map((nestedLine) => nestedLine.slice(indentLevel + baseIndentSize)).join(\"\\n\");\n if (dedentedNested.trim()) {\n if (config.customNestedParser) {\n nestedTokens = config.customNestedParser(dedentedNested);\n } else {\n nestedTokens = lexer.blockTokens(dedentedNested);\n }\n }\n }\n const token = config.createToken(itemData, nestedTokens);\n items.push(token);\n }\n if (items.length === 0) {\n return void 0;\n }\n return {\n items,\n raw: totalRaw\n };\n}\n\n// src/utilities/markdown/renderNestedMarkdownContent.ts\nfunction renderNestedMarkdownContent(node, h2, prefixOrGenerator, ctx) {\n if (!node || !Array.isArray(node.content)) {\n return \"\";\n }\n const prefix = typeof prefixOrGenerator === \"function\" ? prefixOrGenerator(ctx) : prefixOrGenerator;\n const [content, ...children] = node.content;\n const mainContent = h2.renderChildren([content]);\n let output = `${prefix}${mainContent}`;\n if (children && children.length > 0) {\n children.forEach((child, index) => {\n var _a, _b;\n const childContent = (_b = (_a = h2.renderChild) == null ? void 0 : _a.call(h2, child, index + 1)) != null ? _b : h2.renderChildren([child]);\n if (childContent !== void 0 && childContent !== null) {\n const indentedChild = childContent.split(\"\\n\").map((line) => line ? h2.indent(line) : h2.indent(\"\")).join(\"\\n\");\n output += child.type === \"paragraph\" ? `\n\n${indentedChild}` : `\n${indentedChild}`;\n }\n });\n }\n return output;\n}\n\n// src/utilities/nodeViewPositionRegistry.ts\nvar positionUpdateRegistries = /* @__PURE__ */ new WeakMap();\nfunction schedulePositionCheck(editor, callback) {\n let registry = positionUpdateRegistries.get(editor);\n if (!registry) {\n const newRegistry = {\n callbacks: /* @__PURE__ */ new Set(),\n rafId: null,\n handler: () => {\n if (newRegistry.rafId !== null) {\n cancelAnimationFrame(newRegistry.rafId);\n }\n newRegistry.rafId = requestAnimationFrame(() => {\n newRegistry.rafId = null;\n newRegistry.callbacks.forEach((cb) => cb());\n });\n }\n };\n positionUpdateRegistries.set(editor, newRegistry);\n editor.on(\"update\", newRegistry.handler);\n registry = newRegistry;\n }\n registry.callbacks.add(callback);\n}\nfunction cancelPositionCheck(editor, callback) {\n const registry = positionUpdateRegistries.get(editor);\n if (!registry) {\n return;\n }\n registry.callbacks.delete(callback);\n if (registry.callbacks.size === 0) {\n if (registry.rafId !== null) {\n cancelAnimationFrame(registry.rafId);\n }\n editor.off(\"update\", registry.handler);\n positionUpdateRegistries.delete(editor);\n }\n}\n\n// src/MarkView.ts\nfunction updateMarkViewAttributes(checkMark, editor, attrs = {}) {\n const { state } = editor;\n const { doc, tr } = state;\n const thisMark = checkMark;\n doc.descendants((node, pos) => {\n const from = tr.mapping.map(pos);\n const to = tr.mapping.map(pos) + node.nodeSize;\n let foundMark = null;\n node.marks.forEach((mark) => {\n if (mark !== thisMark) {\n return false;\n }\n foundMark = mark;\n });\n if (!foundMark) {\n return;\n }\n let needsUpdate = false;\n Object.keys(attrs).forEach((k) => {\n if (attrs[k] !== foundMark.attrs[k]) {\n needsUpdate = true;\n }\n });\n if (needsUpdate) {\n const updatedMark = checkMark.type.create({\n ...checkMark.attrs,\n ...attrs\n });\n tr.removeMark(from, to, checkMark.type);\n tr.addMark(from, to, updatedMark);\n }\n });\n if (tr.docChanged) {\n editor.view.dispatch(tr);\n }\n}\nvar MarkView = class {\n constructor(component, props, options) {\n this.component = component;\n this.editor = props.editor;\n this.options = { ...options };\n this.mark = props.mark;\n this.HTMLAttributes = props.HTMLAttributes;\n }\n get dom() {\n return this.editor.view.dom;\n }\n get contentDOM() {\n return null;\n }\n /**\n * Update the attributes of the mark in the document.\n * @param attrs The attributes to update.\n */\n updateAttributes(attrs, checkMark) {\n updateMarkViewAttributes(checkMark || this.mark, this.editor, attrs);\n }\n ignoreMutation(mutation) {\n if (!this.dom || !this.contentDOM) {\n return true;\n }\n if (typeof this.options.ignoreMutation === \"function\") {\n return this.options.ignoreMutation({ mutation });\n }\n if (mutation.type === \"selection\") {\n return false;\n }\n if (this.dom.contains(mutation.target) && mutation.type === \"childList\" && (isiOS() || isAndroid()) && this.editor.isFocused) {\n const changedNodes = [...Array.from(mutation.addedNodes), ...Array.from(mutation.removedNodes)];\n if (changedNodes.every((node) => node.isContentEditable)) {\n return false;\n }\n }\n if (this.contentDOM === mutation.target && mutation.type === \"attributes\") {\n return true;\n }\n if (this.contentDOM.contains(mutation.target)) {\n return false;\n }\n return true;\n }\n};\n\n// src/Node.ts\nvar Node3 = class _Node extends Extendable {\n constructor() {\n super(...arguments);\n this.type = \"node\";\n }\n /**\n * Create a new Node instance\n * @param config - Node configuration object or a function that returns a configuration object\n */\n static create(config = {}) {\n const resolvedConfig = typeof config === \"function\" ? config() : config;\n return new _Node(resolvedConfig);\n }\n configure(options) {\n return super.configure(options);\n }\n extend(extendedConfig) {\n const resolvedConfig = typeof extendedConfig === \"function\" ? extendedConfig() : extendedConfig;\n return super.extend(resolvedConfig);\n }\n};\n\n// src/NodeView.ts\nimport { NodeSelection as NodeSelection5 } from \"@tiptap/pm/state\";\nvar NodeView = class {\n constructor(component, props, options) {\n this.isDragging = false;\n this.component = component;\n this.editor = props.editor;\n this.options = {\n stopEvent: null,\n ignoreMutation: null,\n ...options\n };\n this.extension = props.extension;\n this.node = props.node;\n this.decorations = props.decorations;\n this.innerDecorations = props.innerDecorations;\n this.view = props.view;\n this.HTMLAttributes = props.HTMLAttributes;\n this.getPos = props.getPos;\n this.mount();\n }\n mount() {\n return;\n }\n get dom() {\n return this.editor.view.dom;\n }\n get contentDOM() {\n return null;\n }\n onDragStart(event) {\n var _a, _b, _c, _d, _e, _f, _g;\n const { view } = this.editor;\n const target = event.target;\n const dragHandle = target.nodeType === 3 ? (_a = target.parentElement) == null ? void 0 : _a.closest(\"[data-drag-handle]\") : target.closest(\"[data-drag-handle]\");\n if (!this.dom || ((_b = this.contentDOM) == null ? void 0 : _b.contains(target)) || !dragHandle) {\n return;\n }\n let x = 0;\n let y = 0;\n if (this.dom !== dragHandle) {\n const domBox = this.dom.getBoundingClientRect();\n const handleBox = dragHandle.getBoundingClientRect();\n const offsetX = (_d = event.offsetX) != null ? _d : (_c = event.nativeEvent) == null ? void 0 : _c.offsetX;\n const offsetY = (_f = event.offsetY) != null ? _f : (_e = event.nativeEvent) == null ? void 0 : _e.offsetY;\n x = handleBox.x - domBox.x + offsetX;\n y = handleBox.y - domBox.y + offsetY;\n }\n const clonedNode = this.dom.cloneNode(true);\n try {\n const domBox = this.dom.getBoundingClientRect();\n clonedNode.style.width = `${Math.round(domBox.width)}px`;\n clonedNode.style.height = `${Math.round(domBox.height)}px`;\n clonedNode.style.boxSizing = \"border-box\";\n clonedNode.style.pointerEvents = \"none\";\n } catch {\n }\n let dragImageWrapper = null;\n try {\n dragImageWrapper = document.createElement(\"div\");\n dragImageWrapper.style.position = \"absolute\";\n dragImageWrapper.style.top = \"-9999px\";\n dragImageWrapper.style.left = \"-9999px\";\n dragImageWrapper.style.pointerEvents = \"none\";\n dragImageWrapper.appendChild(clonedNode);\n document.body.appendChild(dragImageWrapper);\n (_g = event.dataTransfer) == null ? void 0 : _g.setDragImage(clonedNode, x, y);\n } finally {\n if (dragImageWrapper) {\n setTimeout(() => {\n try {\n dragImageWrapper == null ? void 0 : dragImageWrapper.remove();\n } catch {\n }\n }, 0);\n }\n }\n const pos = this.getPos();\n if (typeof pos !== \"number\") {\n return;\n }\n const selection = NodeSelection5.create(view.state.doc, pos);\n const transaction = view.state.tr.setSelection(selection);\n view.dispatch(transaction);\n }\n stopEvent(event) {\n var _a;\n if (!this.dom) {\n return false;\n }\n if (typeof this.options.stopEvent === \"function\") {\n return this.options.stopEvent({ event });\n }\n const target = event.target;\n const isInElement = this.dom.contains(target) && !((_a = this.contentDOM) == null ? void 0 : _a.contains(target));\n if (!isInElement) {\n return false;\n }\n const isDragEvent = event.type.startsWith(\"drag\");\n const isDragOverEnterEvent = event.type === \"dragover\" || event.type === \"dragenter\";\n const isDropEvent = event.type === \"drop\";\n const isInput = [\"INPUT\", \"BUTTON\", \"SELECT\", \"TEXTAREA\"].includes(target.tagName) || target.isContentEditable;\n if (isInput && !isDropEvent && !isDragEvent) {\n return true;\n }\n const { isEditable } = this.editor;\n const { isDragging } = this;\n const isDraggable = !!this.node.type.spec.draggable;\n const isSelectable = NodeSelection5.isSelectable(this.node);\n const isCopyEvent = event.type === \"copy\";\n const isPasteEvent = event.type === \"paste\";\n const isCutEvent = event.type === \"cut\";\n const isClickEvent = event.type === \"mousedown\";\n if (!isDraggable && isSelectable && isDragEvent && event.target === this.dom) {\n event.preventDefault();\n }\n if (isDraggable && isDragEvent && !isDragging && event.target === this.dom) {\n event.preventDefault();\n return false;\n }\n if (isDraggable && isEditable && !isDragging && isClickEvent) {\n const dragHandle = target.closest(\"[data-drag-handle]\");\n const isValidDragHandle = dragHandle && (this.dom === dragHandle || this.dom.contains(dragHandle));\n if (isValidDragHandle) {\n this.isDragging = true;\n document.addEventListener(\n \"dragend\",\n () => {\n this.isDragging = false;\n },\n { once: true }\n );\n document.addEventListener(\n \"drop\",\n () => {\n this.isDragging = false;\n },\n { once: true }\n );\n document.addEventListener(\n \"mouseup\",\n () => {\n this.isDragging = false;\n },\n { once: true }\n );\n }\n }\n if (isDragging || isDragOverEnterEvent || isDropEvent || isCopyEvent || isPasteEvent || isCutEvent || isClickEvent && isSelectable) {\n return false;\n }\n return true;\n }\n /**\n * Called when a DOM [mutation](https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver) or a selection change happens within the view.\n * @return `false` if the editor should re-read the selection or re-parse the range around the mutation\n * @return `true` if it can safely be ignored.\n */\n ignoreMutation(mutation) {\n if (!this.dom || !this.contentDOM) {\n return true;\n }\n if (typeof this.options.ignoreMutation === \"function\") {\n return this.options.ignoreMutation({ mutation });\n }\n if (this.node.isLeaf || this.node.isAtom) {\n return true;\n }\n if (mutation.type === \"selection\") {\n return false;\n }\n if (this.dom.contains(mutation.target) && mutation.type === \"childList\" && (isiOS() || isAndroid()) && this.editor.isFocused) {\n const changedNodes = [...Array.from(mutation.addedNodes), ...Array.from(mutation.removedNodes)];\n if (changedNodes.every((node) => node.isContentEditable)) {\n return false;\n }\n }\n if (this.contentDOM === mutation.target && mutation.type === \"attributes\") {\n return true;\n }\n if (this.contentDOM.contains(mutation.target)) {\n return false;\n }\n return true;\n }\n /**\n * Update the attributes of the prosemirror node.\n */\n updateAttributes(attributes) {\n this.editor.commands.command(({ tr }) => {\n const pos = this.getPos();\n if (typeof pos !== \"number\") {\n return false;\n }\n tr.setNodeMarkup(pos, void 0, {\n ...this.node.attrs,\n ...attributes\n });\n return true;\n });\n }\n /**\n * Delete the node.\n */\n deleteNode() {\n const from = this.getPos();\n if (typeof from !== \"number\") {\n return;\n }\n const to = from + this.node.nodeSize;\n this.editor.commands.deleteRange({ from, to });\n }\n};\n\n// src/pasteRules/markPasteRule.ts\nfunction markPasteRule(config) {\n return new PasteRule({\n find: config.find,\n handler: ({ state, range, match, pasteEvent }) => {\n const attributes = callOrReturn(config.getAttributes, void 0, match, pasteEvent);\n if (attributes === false || attributes === null) {\n return null;\n }\n const { tr } = state;\n const captureGroup = match[match.length - 1];\n const fullMatch = match[0];\n let markEnd = range.to;\n if (captureGroup) {\n const startSpaces = fullMatch.search(/\\S/);\n const textStart = range.from + fullMatch.indexOf(captureGroup);\n const textEnd = textStart + captureGroup.length;\n const excludedMarks = getMarksBetween(range.from, range.to, state.doc).filter((item) => {\n const excluded = item.mark.type.excluded;\n return excluded.find((type) => type === config.type && type !== item.mark.type);\n }).filter((item) => item.to > textStart);\n if (excludedMarks.length) {\n return null;\n }\n if (textEnd < range.to) {\n tr.delete(textEnd, range.to);\n }\n if (textStart > range.from) {\n tr.delete(range.from + startSpaces, textStart);\n }\n markEnd = range.from + startSpaces + captureGroup.length;\n tr.addMark(range.from + startSpaces, markEnd, config.type.create(attributes || {}));\n const isMatchAtEndOfText = match.index !== void 0 && match.input !== void 0 && match.index + match[0].length >= match.input.length;\n if (!isMatchAtEndOfText) {\n tr.removeStoredMark(config.type);\n }\n }\n }\n });\n}\n\n// src/pasteRules/nodePasteRule.ts\nfunction nodePasteRule(config) {\n return new PasteRule({\n find: config.find,\n handler({ match, chain, range, pasteEvent }) {\n const attributes = callOrReturn(config.getAttributes, void 0, match, pasteEvent);\n const content = callOrReturn(config.getContent, void 0, attributes);\n if (attributes === false || attributes === null) {\n return null;\n }\n const node = { type: config.type.name, attrs: attributes };\n if (content) {\n node.content = content;\n }\n if (match.input) {\n chain().deleteRange(range).insertContentAt(range.from, node);\n }\n }\n });\n}\n\n// src/pasteRules/textPasteRule.ts\nfunction textPasteRule(config) {\n return new PasteRule({\n find: config.find,\n handler: ({ state, range, match }) => {\n let insert = config.replace;\n let start = range.from;\n const end = range.to;\n if (match[1]) {\n const offset = match[0].lastIndexOf(match[1]);\n insert += match[0].slice(offset + match[1].length);\n start += offset;\n const cutOff = start - end;\n if (cutOff > 0) {\n insert = match[0].slice(offset - cutOff, offset) + insert;\n start = end;\n }\n }\n state.tr.insertText(insert, start, end);\n }\n });\n}\n\n// src/Tracker.ts\nvar Tracker = class {\n constructor(transaction) {\n this.transaction = transaction;\n this.currentStep = this.transaction.steps.length;\n }\n map(position) {\n let deleted = false;\n const mappedPosition = this.transaction.steps.slice(this.currentStep).reduce((newPosition, step) => {\n const mapResult = step.getMap().mapResult(newPosition);\n if (mapResult.deleted) {\n deleted = true;\n }\n return mapResult.pos;\n }, position);\n return {\n position: mappedPosition,\n deleted\n };\n }\n};\nexport {\n CommandManager,\n Editor,\n Extendable,\n Extension,\n Fragment6 as Fragment,\n InputRule,\n MappablePosition,\n Mark,\n MarkView,\n Node3 as Node,\n NodePos,\n NodeView,\n PasteRule,\n ResizableNodeView,\n ResizableNodeview,\n Tracker,\n callOrReturn,\n canInsertNode,\n cancelPositionCheck,\n combineTransactionSteps,\n commands_exports as commands,\n createAtomBlockMarkdownSpec,\n createBlockMarkdownSpec,\n createChainableState,\n createDocument,\n h as createElement,\n createInlineMarkdownSpec,\n createMappablePosition,\n createNodeFromContent,\n createStyleTag,\n decodeHtmlEntities,\n defaultBlockAt,\n deleteProps,\n elementFromString,\n encodeHtmlEntities,\n escapeForRegEx,\n extensions_exports as extensions,\n findChildren,\n findChildrenInRange,\n findDuplicates,\n findParentNode,\n findParentNodeClosestToPos,\n flattenExtensions,\n fromString,\n generateHTML,\n generateJSON,\n generateText,\n getAttributes,\n getAttributesFromExtensions,\n getChangedRanges,\n getDebugJSON,\n getExtensionField,\n getHTMLFromFragment,\n getMarkAttributes,\n getMarkRange,\n getMarkType,\n getMarksBetween,\n getNodeAtPosition,\n getNodeAttributes,\n getNodeType,\n getRenderedAttributes,\n getSchema,\n getSchemaByResolvedExtensions,\n getSchemaTypeByName,\n getSchemaTypeNameByName,\n getSplittedAttributes,\n getText,\n getTextBetween,\n getTextContentFromNodes,\n getTextSerializersFromSchema,\n getUpdatedPosition,\n h,\n injectExtensionAttributesToParseRule,\n inputRulesPlugin,\n isActive,\n isAndroid,\n isAtEndOfNode,\n isAtStartOfNode,\n isEmptyObject,\n isExtensionRulesEnabled,\n isFirefox,\n isFunction,\n isList,\n isMacOS,\n isMarkActive,\n isNodeActive,\n isNodeEmpty,\n isNodeSelection,\n isNumber,\n isPlainObject,\n isRegExp,\n isSafari,\n isString,\n isTextSelection,\n isiOS,\n markInputRule,\n markPasteRule,\n markdown_exports as markdown,\n mergeAttributes,\n mergeDeep,\n minMax,\n nodeInputRule,\n nodePasteRule,\n objectIncludes,\n parseAttributes,\n parseIndentedBlocks,\n pasteRulesPlugin,\n posToDOMRect,\n removeDuplicates,\n renderNestedMarkdownContent,\n resolveExtensions,\n resolveFocusPosition,\n rewriteUnknownContent,\n schedulePositionCheck,\n selectionToInsertionEnd,\n serializeAttributes,\n sortExtensions,\n splitExtensions,\n textInputRule,\n textPasteRule,\n textblockTypeInputRule,\n updateMarkViewAttributes,\n wrappingInputRule\n};\n//# sourceMappingURL=index.js.map"],"names":["originalCreateParagraphNear","originalDeleteSelection","originalExitCode","TextSelection2","TextSelection3","TextSelection4","ProseMirrorNode","Selection2","Fragment2","originalJoinUp","originalJoinDown","originalJoinBackward","originalJoinForward","joinPoint2","originalCommand","originalCommand2","originalLift","originalLiftEmptyBlock","originalLiftListItem","originalNewlineInCode","originalSelectNodeBackward","originalSelectNodeForward","originalSelectParentNode","originalSelectTextblockEnd","originalSelectTextblockStart","Schema2","NodeSelection2","TextSelection5","originalSinkListItem","NodeSelection3","TextSelection6","Fragment3","TextSelection7","canSplit2","TextSelection8","originalWrapIn","originalWrapInList","Fragment4","Plugin2","Fragment5","Plugin3","Plugin4","PluginKey2","Plugin5","PluginKey3","PluginKey4","Plugin6","Selection3","Plugin7","PluginKey5","Plugin8","PluginKey6","Plugin9","PluginKey7","Plugin10","PluginKey8","canJoin2","NodeSelection4"],"mappings":"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","x_google_ignoreList":[0]}