@scbt-ecom/ui 0.93.0 → 0.95.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/lib/configs/tailwindConfigBase.js.map +1 -1
- package/dist/lib/configs/tailwindPresets/resetPreset.js.map +1 -1
- package/dist/lib/next/utils/hasWidget.js.map +1 -1
- package/dist/lib/next/utils/hideWidgetsWithQueryParams.js.map +1 -1
- package/dist/lib/next/utils/orderWidgetWithQueryParams.js.map +1 -1
- package/dist/lib/shared/api/apiInstance.js.map +1 -1
- package/dist/lib/shared/hooks/useClickOutside.js.map +1 -1
- package/dist/lib/shared/hooks/useDebounce.js.map +1 -1
- package/dist/lib/shared/hooks/useDevice.js.map +1 -1
- package/dist/lib/shared/hooks/useFieldsProgress.js.map +1 -1
- package/dist/lib/shared/hooks/useFloating.js.map +1 -1
- package/dist/lib/shared/hooks/useObserverWidgets.js.map +1 -1
- package/dist/lib/shared/hooks/useOverflow.js.map +1 -1
- package/dist/lib/shared/ui/accordion/Accordion.js.map +1 -1
- package/dist/lib/shared/ui/calendar/Calendar.js.map +1 -1
- package/dist/lib/shared/ui/calendar/ui/MonthCaption.js.map +1 -1
- package/dist/lib/shared/ui/calendar/ui/Navigation.js.map +1 -1
- package/dist/lib/shared/ui/calendar/ui/selectDate/SelectDate.js.map +1 -1
- package/dist/lib/shared/ui/calendar/ui/selectDate/ui/SelectList.js.map +1 -1
- package/dist/lib/shared/ui/carousel/CarouselNative.js.map +1 -1
- package/dist/lib/shared/ui/carousel/model/hooks/useArrowNavigation.js.map +1 -1
- package/dist/lib/shared/ui/carousel/model/hooks/useCarousel.js.map +1 -1
- package/dist/lib/shared/ui/carousel/model/hooks/useDotsNavigation.js.map +1 -1
- package/dist/lib/shared/ui/carousel/ui/CarouselContent.js.map +1 -1
- package/dist/lib/shared/ui/dialog/Dialog.js.map +1 -1
- package/dist/lib/shared/ui/dropdownList/DropdownList.js.map +1 -1
- package/dist/lib/shared/ui/dropdownList/hooks/useKeyboardNavigation.js.map +1 -1
- package/dist/lib/shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/combobox/ComboboxControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/address/DadataAddress.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/address/DadataAddress.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/address/query.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/auto/DadataAuto.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/auto/DadataAuto.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/auto/query.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/country/DadataCountry.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/country/DadataCountry.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/country/query.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/fio/DadataFio.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/fio/DadataFio.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/fio/query.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/party/DadataOrganization.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/party/query.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/model/utils.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/range.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/single.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/model/config.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/Editor.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/setCustomLink.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/inputCurrency/InputCurrencyControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/inputCurrency/model/useInputCurrency.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/select/SelectControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/autocomplete/types.js +2 -0
- package/dist/lib/shared/ui/formElements/uncontrolled/autocomplete/types.js.map +1 -0
- package/dist/lib/shared/ui/formElements/uncontrolled/checkbox/Checkbox.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/combobox/combobox.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/combobox/hooks/useCombobox.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/index.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/input/Input.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/radio/RadioGroup.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/select/Select.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/select/hooks/useSelectController.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/select/ui/Chip.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/select/ui/SelectItem.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/model/useLogarithmic.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/Slider.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderAlgorithmic/SliderAlgorithmic.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderAlgorithmic/hooks/useSliderAlgorithmic.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderMarks/SliderMarks.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderMarks/hooks/useSliderMarks.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderStep/SliderStep.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderStep/hooks/useSliderStep.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/switch/Switch.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/textarea/Textarea.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/uploader/UploaderBase.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/uploader/model/hooks/useUploader.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderInput.js.map +1 -1
- package/dist/lib/shared/ui/modal/Modal.js.map +1 -1
- package/dist/lib/shared/ui/modal/ui/IframeModalContent.js.map +1 -1
- package/dist/lib/shared/ui/pagination/Pagination.js.map +1 -1
- package/dist/lib/shared/ui/providers/NotificationProvider.js.map +1 -1
- package/dist/lib/shared/ui/slot/Slot.js.map +1 -1
- package/dist/lib/shared/ui/slot/model/mergeProps.js.map +1 -1
- package/dist/lib/shared/ui/slot/ui/SlotClone.js.map +1 -1
- package/dist/lib/shared/ui/tabSwitcher/ui/TabContent.js.map +1 -1
- package/dist/lib/shared/ui/table/Mobile.js.map +1 -1
- package/dist/lib/shared/ui/table/model/TableUtils.js.map +1 -1
- package/dist/lib/shared/ui/table/ui/editableCell/EditableCell.js.map +1 -1
- package/dist/lib/shared/utils/localStorageActions.js.map +1 -1
- package/dist/lib/shared/utils/mergeRefs.js.map +1 -1
- package/dist/lib/shared/utils/scrollToElement.js.map +1 -1
- package/dist/lib/shared/utils/sessionStorage.js.map +1 -1
- package/dist/lib/shared/utils/typeGuards.js.map +1 -1
- package/dist/lib/shared/validation/base/base.constants.js.map +1 -1
- package/dist/lib/shared/validation/base/date.validators.js.map +1 -1
- package/dist/lib/shared/validation/base/phone.validators.js.map +1 -1
- package/dist/lib/shared/validation/base/select.validators.js.map +1 -1
- package/dist/lib/shared/validation/dadata/fio.validators.js.map +1 -1
- package/dist/lib/shared/validation/utils/zodUtils.js.map +1 -1
- package/dist/lib/widgets/breadcrumbs/Breadcrumb.js +1 -1
- package/dist/lib/widgets/breadcrumbs/Breadcrumb.js.map +1 -1
- package/dist/lib/widgets/breadcrumbs/Breadcrumbs.js +1 -1
- package/dist/lib/widgets/breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist/lib/widgets/buttonWithHandlers/model/useButtonHandler.js.map +1 -1
- package/dist/lib/widgets/calculator/CalculatorView.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/hooks/useAdditionalSlider.js.map +1 -1
- package/dist/lib/widgets/dynamicForm/DynamicForm.js.map +1 -1
- package/dist/lib/widgets/dynamicFormDialog/DynamicFormDialog.js.map +1 -1
- package/dist/lib/widgets/fieldMapper/FieldMapper.js.map +1 -1
- package/dist/lib/widgets/footer/ui/Ligal.js.map +1 -1
- package/dist/lib/widgets/htmlParser/baseHtmlParser.js.map +1 -1
- package/dist/lib/widgets/htmlParser/htmlParser.js.map +1 -1
- package/dist/lib/widgets/htmlParser/reactHtmlParser.js.map +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/CategoriesDesktop.js.map +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/CategoryTabs.js.map +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/rootTab/RootTab.js.map +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/tab/ui/content/TabContent.js.map +1 -1
- package/dist/lib/widgets/seoHeader/ui/mobile/menu/Menu.js.map +1 -1
- package/dist/lib/widgets/seoHeader/ui/mobile/menu/MenuItem.js.map +1 -1
- package/dist/lib/widgets/userFeedback/model/hooks/useRating.js.map +1 -1
- package/dist/lib/widgets/userFeedback/ui/FeedbackTrigger.js.map +1 -1
- package/dist/lib/widgets/userFeedback/ui/UserReview.js.map +1 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/extends.js.map +1 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js.map +1 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/objectSpread2.js.map +1 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js.map +1 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js.map +1 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/toPrimitive.js.map +1 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/typeof.js.map +1 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js.map +1 -1
- package/dist/node_modules/@date-fns/tz/date/index.js.map +1 -1
- package/dist/node_modules/@date-fns/tz/date/mini.js.map +1 -1
- package/dist/node_modules/@date-fns/tz/tzOffset/index.js.map +1 -1
- package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js.map +1 -1
- package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +1 -1
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.js.map +1 -1
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.utils.js.map +1 -1
- package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js.map +1 -1
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +1 -1
- package/dist/node_modules/@headlessui/react/dist/hooks/document-overflow/handle-ios-locking.js.map +1 -1
- package/dist/node_modules/@headlessui/react/dist/hooks/use-server-handoff-complete.js.map +1 -1
- package/dist/node_modules/@headlessui/react/dist/hooks/use-transition.js.map +1 -1
- package/dist/node_modules/@headlessui/react/dist/internal/floating.js.map +1 -1
- package/dist/node_modules/@headlessui/react/node_modules/@floating-ui/react/dist/floating-ui.react.js.map +1 -1
- package/dist/node_modules/@headlessui/react/node_modules/@floating-ui/react/dist/floating-ui.react.utils.js.map +1 -1
- package/dist/node_modules/@radix-ui/primitive/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-checkbox/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-collection/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-context/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-id/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-popover/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-popper/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-presence/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-primitive/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-radio-group/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-switch/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-tabs/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-tooltip/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-use-size/dist/index.js.map +1 -1
- package/dist/node_modules/@react-aria/focus/dist/useFocusRing.js.map +1 -1
- package/dist/node_modules/@react-aria/interactions/dist/useFocus.js.map +1 -1
- package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.js.map +1 -1
- package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.js.map +1 -1
- package/dist/node_modules/@react-aria/interactions/dist/useHover.js.map +1 -1
- package/dist/node_modules/@react-aria/interactions/dist/utils.js.map +1 -1
- package/dist/node_modules/@react-aria/utils/dist/DOMFunctions.js.map +1 -1
- package/dist/node_modules/@react-aria/utils/dist/useEffectEvent.js.map +1 -1
- package/dist/node_modules/@react-aria/utils/dist/useGlobalListeners.js.map +1 -1
- package/dist/node_modules/@react-aria/utils/dist/useLayoutEffect.js.map +1 -1
- package/dist/node_modules/@tanstack/query-core/build/modern/focusManager.js.map +1 -1
- package/dist/node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js.map +1 -1
- package/dist/node_modules/@tanstack/query-core/build/modern/mutation.js.map +1 -1
- package/dist/node_modules/@tanstack/query-core/build/modern/mutationCache.js.map +1 -1
- package/dist/node_modules/@tanstack/query-core/build/modern/notifyManager.js.map +1 -1
- package/dist/node_modules/@tanstack/query-core/build/modern/onlineManager.js.map +1 -1
- package/dist/node_modules/@tanstack/query-core/build/modern/query.js.map +1 -1
- package/dist/node_modules/@tanstack/query-core/build/modern/queryCache.js.map +1 -1
- package/dist/node_modules/@tanstack/query-core/build/modern/queryClient.js.map +1 -1
- package/dist/node_modules/@tanstack/query-core/build/modern/queryObserver.js.map +1 -1
- package/dist/node_modules/@tanstack/query-core/build/modern/removable.js.map +1 -1
- package/dist/node_modules/@tanstack/query-core/build/modern/retryer.js.map +1 -1
- package/dist/node_modules/@tanstack/query-core/build/modern/subscribable.js.map +1 -1
- package/dist/node_modules/@tanstack/query-core/build/modern/thenable.js.map +1 -1
- package/dist/node_modules/@tanstack/query-core/build/modern/utils.js.map +1 -1
- package/dist/node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js.map +1 -1
- package/dist/node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js.map +1 -1
- package/dist/node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js.map +1 -1
- package/dist/node_modules/@tanstack/react-query/build/modern/suspense.js.map +1 -1
- package/dist/node_modules/@tanstack/react-query/build/modern/useBaseQuery.js.map +1 -1
- package/dist/node_modules/@tanstack/react-table/build/lib/index.js.map +1 -1
- package/dist/node_modules/@tanstack/react-virtual/dist/esm/index.js.map +1 -1
- package/dist/node_modules/@tanstack/table-core/build/lib/index.js.map +1 -1
- package/dist/node_modules/@tanstack/virtual-core/dist/esm/index.js.map +1 -1
- package/dist/node_modules/@tanstack/virtual-core/dist/esm/utils.js.map +1 -1
- package/dist/node_modules/@tiptap/core/dist/index.js.map +1 -1
- package/dist/node_modules/@tiptap/extension-blockquote/dist/index.js.map +1 -1
- package/dist/node_modules/@tiptap/extension-bold/dist/index.js.map +1 -1
- package/dist/node_modules/@tiptap/extension-bullet-list/dist/index.js.map +1 -1
- package/dist/node_modules/@tiptap/extension-character-count/dist/index.js.map +1 -1
- package/dist/node_modules/@tiptap/extension-code/dist/index.js.map +1 -1
- package/dist/node_modules/@tiptap/extension-code-block/dist/index.js.map +1 -1
- package/dist/node_modules/@tiptap/extension-color/dist/index.js.map +1 -1
- package/dist/node_modules/@tiptap/extension-dropcursor/dist/index.js.map +1 -1
- package/dist/node_modules/@tiptap/extension-gapcursor/dist/index.js.map +1 -1
- package/dist/node_modules/@tiptap/extension-hard-break/dist/index.js.map +1 -1
- package/dist/node_modules/@tiptap/extension-heading/dist/index.js.map +1 -1
- package/dist/node_modules/@tiptap/extension-history/dist/index.js.map +1 -1
- package/dist/node_modules/@tiptap/extension-horizontal-rule/dist/index.js.map +1 -1
- package/dist/node_modules/@tiptap/extension-italic/dist/index.js.map +1 -1
- package/dist/node_modules/@tiptap/extension-link/dist/index.js.map +1 -1
- package/dist/node_modules/@tiptap/extension-list-item/dist/index.js.map +1 -1
- package/dist/node_modules/@tiptap/extension-ordered-list/dist/index.js.map +1 -1
- package/dist/node_modules/@tiptap/extension-paragraph/dist/index.js.map +1 -1
- package/dist/node_modules/@tiptap/extension-strike/dist/index.js.map +1 -1
- package/dist/node_modules/@tiptap/extension-text-style/dist/index.js.map +1 -1
- package/dist/node_modules/@tiptap/extension-underline/dist/index.js.map +1 -1
- package/dist/node_modules/@tiptap/react/dist/index.js.map +1 -1
- package/dist/node_modules/@tiptap/starter-kit/dist/index.js.map +1 -1
- package/dist/node_modules/aria-hidden/dist/es2015/index.js.map +1 -1
- package/dist/node_modules/class-variance-authority/dist/index.js.map +1 -1
- package/dist/node_modules/classnames/index.js.map +1 -1
- package/dist/node_modules/date-fns/_lib/format/formatters.js.map +1 -1
- package/dist/node_modules/date-fns/_lib/format/lightFormatters.js.map +1 -1
- package/dist/node_modules/date-fns/format.js.map +1 -1
- package/dist/node_modules/date-fns/locale/_lib/buildFormatLongFn.js.map +1 -1
- package/dist/node_modules/date-fns/locale/_lib/buildLocalizeFn.js.map +1 -1
- package/dist/node_modules/date-fns/locale/_lib/buildMatchFn.js.map +1 -1
- package/dist/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js.map +1 -1
- package/dist/node_modules/date-fns/locale/ru/_lib/formatRelative.js.map +1 -1
- package/dist/node_modules/date-fns/max.js.map +1 -1
- package/dist/node_modules/date-fns/min.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/Parser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/Setter.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/AMPMParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/DateParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/DayParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/EraParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/ISODayParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/LocalDayParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/MinuteParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/MonthParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/QuarterParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/SecondParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/YearParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/utils.js.map +1 -1
- package/dist/node_modules/date-fns/parse.js.map +1 -1
- package/dist/node_modules/embla-carousel/esm/embla-carousel.esm.js.map +1 -1
- package/dist/node_modules/embla-carousel-autoplay/esm/embla-carousel-autoplay.esm.js.map +1 -1
- package/dist/node_modules/embla-carousel-react/esm/embla-carousel-react.esm.js.map +1 -1
- package/dist/node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.js.map +1 -1
- package/dist/node_modules/file-selector/dist/es2015/file-selector.js.map +1 -1
- package/dist/node_modules/file-selector/dist/es2015/file.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/animation/animators/AcceleratedAnimation.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/animation/animators/BaseAnimation.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/animation/animators/MainThreadAnimation.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/animation/generators/inertia.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/animation/generators/spring/find.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/animation/generators/spring/index.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/animation/interfaces/motion-value.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/animation/interfaces/visual-element-target.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/animation/interfaces/visual-element-variant.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/animation/interfaces/visual-element.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/PopChild.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/index.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/utils.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/context/MotionContext/utils.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/easing/utils/map.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/frameloop/batcher.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/frameloop/render-step.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/frameloop/sync-time.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/gestures/drag/index.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/gestures/focus.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/gestures/hover.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/gestures/pan/PanSession.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/gestures/pan/index.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/gestures/press.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/motion/features/Feature.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/motion/features/animation/exit.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/motion/features/animation/index.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/motion/features/viewport/index.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/motion/features/viewport/observers.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/motion/index.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/motion/utils/use-visual-element.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/motion/utils/use-visual-state.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/projection/animation/mix-values.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/projection/geometry/delta-apply.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/projection/node/HTMLProjectionNode.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/projection/node/create-projection-node.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/projection/shared/stack.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/projection/styles/scale-border-radius.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/projection/styles/scale-box-shadow.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/projection/styles/transform.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/render/VisualElement.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/render/components/create-factory.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/render/dom/DOMKeyframesResolver.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/render/dom/DOMVisualElement.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/render/dom/use-render.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/render/dom/utils/css-variables-conversion.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/render/dom/utils/unit-conversion.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/render/html/HTMLVisualElement.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/render/html/use-props.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/render/html/utils/build-styles.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/render/html/utils/build-transform.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/render/html/utils/make-none-animatable.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/render/svg/SVGVisualElement.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/render/svg/config-motion.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/render/svg/use-props.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/render/svg/utils/build-attrs.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/render/svg/utils/scrape-motion-values.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/render/utils/KeyframesResolver.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/render/utils/animation-state.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/render/utils/flat-tree.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/render/utils/get-variant-context.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/render/utils/motion-values.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/render/utils/resolve-variants.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/render/utils/setters.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/utils/delay.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/utils/hsla-to-rgba.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/utils/interpolate.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/utils/mix/complex.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/utils/offsets/fill.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/utils/reduced-motion/index.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/utils/subscription-manager.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/value/index.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/value/types/complex/filter.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/es/value/types/complex/index.js.map +1 -1
- package/dist/node_modules/linkifyjs/dist/linkify.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/controls/BaseGroup.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/animation/controls/Group.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/gestures/hover.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/gestures/press/index.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/utils/resolve-elements.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/utils/supports/linear-easing.js.map +1 -1
- package/dist/node_modules/motion-dom/dist/es/utils/supports/memo.js.map +1 -1
- package/dist/node_modules/orderedmap/dist/index.js.map +1 -1
- package/dist/node_modules/prosemirror-commands/dist/index.js.map +1 -1
- package/dist/node_modules/prosemirror-dropcursor/dist/index.js.map +1 -1
- package/dist/node_modules/prosemirror-gapcursor/dist/index.js.map +1 -1
- package/dist/node_modules/prosemirror-history/dist/index.js.map +1 -1
- package/dist/node_modules/prosemirror-keymap/dist/index.js.map +1 -1
- package/dist/node_modules/prosemirror-model/dist/index.js.map +1 -1
- package/dist/node_modules/prosemirror-schema-list/dist/index.js.map +1 -1
- package/dist/node_modules/prosemirror-state/dist/index.js.map +1 -1
- package/dist/node_modules/prosemirror-transform/dist/index.js.map +1 -1
- package/dist/node_modules/prosemirror-view/dist/index.js.map +1 -1
- package/dist/node_modules/rc-slider/es/Handles/Handle.js.map +1 -1
- package/dist/node_modules/rc-slider/es/Handles/index.js.map +1 -1
- package/dist/node_modules/rc-slider/es/Marks/Mark.js.map +1 -1
- package/dist/node_modules/rc-slider/es/Marks/index.js.map +1 -1
- package/dist/node_modules/rc-slider/es/Slider.js.map +1 -1
- package/dist/node_modules/rc-slider/es/Steps/index.js.map +1 -1
- package/dist/node_modules/rc-slider/es/Tracks/Track.js.map +1 -1
- package/dist/node_modules/rc-slider/es/Tracks/index.js.map +1 -1
- package/dist/node_modules/rc-slider/es/hooks/useDrag.js.map +1 -1
- package/dist/node_modules/rc-slider/es/hooks/useOffset.js.map +1 -1
- package/dist/node_modules/rc-slider/es/hooks/useRange.js.map +1 -1
- package/dist/node_modules/rc-util/es/hooks/useEvent.js.map +1 -1
- package/dist/node_modules/rc-util/es/hooks/useLayoutEffect.js.map +1 -1
- package/dist/node_modules/rc-util/es/hooks/useMergedState.js.map +1 -1
- package/dist/node_modules/rc-util/es/hooks/useState.js.map +1 -1
- package/dist/node_modules/rc-util/es/isEqual.js.map +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/DayPicker.js +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/DayPicker.js.map +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/classes/CalendarDay.js.map +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/classes/CalendarMonth.js.map +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/classes/CalendarWeek.js.map +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/classes/DateLib.js.map +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/components/DayButton.js.map +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/components/Nav.js.map +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/helpers/calculateFocusTarget.js.map +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/helpers/createGetModifiers.js +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/helpers/createGetModifiers.js.map +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getDataAttributes.js.map +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getDates.js.map +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getDays.js.map +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getDisplayMonths.js.map +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getInitialMonth.js +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getInitialMonth.js.map +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getMonthOptions.js.map +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getMonths.js.map +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getStyleForModifiers.js.map +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getWeekdays.js.map +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getYearOptions.js.map +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/selection/useMulti.js.map +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/selection/useRange.js.map +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/selection/useSingle.js.map +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/useAnimation.js.map +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/useCalendar.js +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/useCalendar.js.map +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/useFocus.js.map +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/utils/addToRange.js.map +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/utils/dateMatchModifiers.js.map +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/utils/rangeContainsDayOfWeek.js.map +1 -1
- package/dist/node_modules/react-day-picker/dist/esm/utils/rangeContainsModifiers.js.map +1 -1
- package/dist/node_modules/react-dropzone/dist/es/index.js.map +1 -1
- package/dist/node_modules/react-dropzone/dist/es/utils/index.js.map +1 -1
- package/dist/node_modules/react-hook-form/dist/index.esm.js +1 -1
- package/dist/node_modules/react-hook-form/dist/index.esm.js.map +1 -1
- package/dist/node_modules/react-number-format/dist/react-number-format.es.js.map +1 -1
- package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.js.map +1 -1
- package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js.map +1 -1
- package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js.map +1 -1
- package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js.map +1 -1
- package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.js.map +1 -1
- package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.js.map +1 -1
- package/dist/node_modules/react-style-singleton/dist/es2015/component.js.map +1 -1
- package/dist/node_modules/react-style-singleton/dist/es2015/hook.js.map +1 -1
- package/dist/node_modules/react-style-singleton/dist/es2015/singleton.js.map +1 -1
- package/dist/node_modules/rope-sequence/dist/index.js.map +1 -1
- package/dist/node_modules/tailwindcss/lib/public/create-plugin.js.map +1 -1
- package/dist/node_modules/tailwindcss/lib/util/createPlugin.js.map +1 -1
- package/dist/node_modules/tslib/tslib.es6.js.map +1 -1
- package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.js.map +1 -1
- package/dist/node_modules/use-callback-ref/dist/es2015/useRef.js.map +1 -1
- package/dist/node_modules/use-sidecar/dist/es2015/medium.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
- package/dist/node_modules/zod/v3/ZodError.js.map +1 -1
- package/dist/node_modules/zod/v3/helpers/parseUtil.js.map +1 -1
- package/dist/node_modules/zod/v3/helpers/util.js.map +1 -1
- package/dist/node_modules/zod/v3/types.js.map +1 -1
- package/dist/src/shared/utils/getDynamicSchema.js.map +1 -1
- package/dist/stats.html +1 -1
- package/dist/types/lib/shared/ui/formElements/controlled/dadata/address/DadataAddress.d.ts +2 -2
- package/dist/types/lib/shared/ui/formElements/controlled/dadata/auto/DadataAuto.d.ts +2 -2
- package/dist/types/lib/shared/ui/formElements/controlled/dadata/country/DadataCountry.d.ts +2 -2
- package/dist/types/lib/shared/ui/formElements/controlled/dadata/fio/DadataFio.d.ts +2 -2
- package/dist/types/lib/shared/ui/formElements/controlled/dadata/party/DadataOrganization.d.ts +2 -2
- package/dist/types/lib/shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.d.ts +3 -2
- package/dist/types/lib/shared/ui/formElements/uncontrolled/autocomplete/index.d.ts +1 -0
- package/dist/types/lib/shared/ui/formElements/uncontrolled/autocomplete/types.d.ts +4 -0
- package/dist/types/lib/shared/ui/formElements/uncontrolled/index.d.ts +1 -1
- package/dist/types/lib/widgets/breadcrumbs/Breadcrumb.d.ts +3 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-blockquote/dist/index.js"],"sourcesContent":["import { Node, mergeAttributes, wrappingInputRule } from '@tiptap/core';\n\n/**\n * Matches a blockquote to a `>` as input.\n */\nconst inputRegex = /^\\s*>\\s$/;\n/**\n * This extension allows you to create blockquotes.\n * @see https://tiptap.dev/api/nodes/blockquote\n */\nconst Blockquote = Node.create({\n name: 'blockquote',\n addOptions() {\n return {\n HTMLAttributes: {},\n };\n },\n content: 'block+',\n group: 'block',\n defining: true,\n parseHTML() {\n return [\n { tag: 'blockquote' },\n ];\n },\n renderHTML({ HTMLAttributes }) {\n return ['blockquote', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n addCommands() {\n return {\n setBlockquote: () => ({ commands }) => {\n return commands.wrapIn(this.name);\n },\n toggleBlockquote: () => ({ commands }) => {\n return commands.toggleWrap(this.name);\n },\n unsetBlockquote: () => ({ commands }) => {\n return commands.lift(this.name);\n },\n };\n },\n addKeyboardShortcuts() {\n return {\n 'Mod-Shift-b': () => this.editor.commands.toggleBlockquote(),\n };\n },\n addInputRules() {\n return [\n wrappingInputRule({\n find: inputRegex,\n type: this.type,\n }),\n ];\n },\n});\n\nexport { Blockquote, Blockquote as default, inputRegex };\n//# sourceMappingURL=index.js.map\n"],"names":["inputRegex","Blockquote","Node","HTMLAttributes","mergeAttributes","commands","wrappingInputRule"],"mappings":"4FAKK,MAACA,EAAa,WAKbC,EAAaC,EAAK,OAAO,CAC3B,KAAM,aACN,YAAa,CACT,MAAO,CACH,eAAgB,CAAA,CAC5B,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-blockquote/dist/index.js"],"sourcesContent":["import { Node, mergeAttributes, wrappingInputRule } from '@tiptap/core';\n\n/**\n * Matches a blockquote to a `>` as input.\n */\nconst inputRegex = /^\\s*>\\s$/;\n/**\n * This extension allows you to create blockquotes.\n * @see https://tiptap.dev/api/nodes/blockquote\n */\nconst Blockquote = Node.create({\n name: 'blockquote',\n addOptions() {\n return {\n HTMLAttributes: {},\n };\n },\n content: 'block+',\n group: 'block',\n defining: true,\n parseHTML() {\n return [\n { tag: 'blockquote' },\n ];\n },\n renderHTML({ HTMLAttributes }) {\n return ['blockquote', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n addCommands() {\n return {\n setBlockquote: () => ({ commands }) => {\n return commands.wrapIn(this.name);\n },\n toggleBlockquote: () => ({ commands }) => {\n return commands.toggleWrap(this.name);\n },\n unsetBlockquote: () => ({ commands }) => {\n return commands.lift(this.name);\n },\n };\n },\n addKeyboardShortcuts() {\n return {\n 'Mod-Shift-b': () => this.editor.commands.toggleBlockquote(),\n };\n },\n addInputRules() {\n return [\n wrappingInputRule({\n find: inputRegex,\n type: this.type,\n }),\n ];\n },\n});\n\nexport { Blockquote, Blockquote as default, inputRegex };\n//# sourceMappingURL=index.js.map\n"],"names":["inputRegex","Blockquote","Node","HTMLAttributes","mergeAttributes","commands","wrappingInputRule"],"mappings":"4FAKK,MAACA,EAAa,WAKbC,EAAaC,EAAK,OAAO,CAC3B,KAAM,aACN,YAAa,CACT,MAAO,CACH,eAAgB,CAAA,CAC5B,CACI,EACA,QAAS,SACT,MAAO,QACP,SAAU,GACV,WAAY,CACR,MAAO,CACH,CAAE,IAAK,YAAY,CAC/B,CACI,EACA,WAAW,CAAE,eAAAC,GAAkB,CAC3B,MAAO,CAAC,aAAcC,EAAgB,KAAK,QAAQ,eAAgBD,CAAc,EAAG,CAAC,CACzF,EACA,aAAc,CACV,MAAO,CACH,cAAe,IAAM,CAAC,CAAE,SAAAE,KACbA,EAAS,OAAO,KAAK,IAAI,EAEpC,iBAAkB,IAAM,CAAC,CAAE,SAAAA,KAChBA,EAAS,WAAW,KAAK,IAAI,EAExC,gBAAiB,IAAM,CAAC,CAAE,SAAAA,KACfA,EAAS,KAAK,KAAK,IAAI,CAE9C,CACI,EACA,sBAAuB,CACnB,MAAO,CACH,cAAe,IAAM,KAAK,OAAO,SAAS,iBAAgB,CACtE,CACI,EACA,eAAgB,CACZ,MAAO,CACHC,EAAkB,CACd,KAAMN,EACN,KAAM,KAAK,IAC3B,CAAa,CACb,CACI,CACJ,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-bold/dist/index.js"],"sourcesContent":["import { Mark, mergeAttributes, markInputRule, markPasteRule } from '@tiptap/core';\n\n/**\n * Matches bold text via `**` as input.\n */\nconst starInputRegex = /(?:^|\\s)(\\*\\*(?!\\s+\\*\\*)((?:[^*]+))\\*\\*(?!\\s+\\*\\*))$/;\n/**\n * Matches bold text via `**` while pasting.\n */\nconst starPasteRegex = /(?:^|\\s)(\\*\\*(?!\\s+\\*\\*)((?:[^*]+))\\*\\*(?!\\s+\\*\\*))/g;\n/**\n * Matches bold text via `__` as input.\n */\nconst underscoreInputRegex = /(?:^|\\s)(__(?!\\s+__)((?:[^_]+))__(?!\\s+__))$/;\n/**\n * Matches bold text via `__` while pasting.\n */\nconst underscorePasteRegex = /(?:^|\\s)(__(?!\\s+__)((?:[^_]+))__(?!\\s+__))/g;\n/**\n * This extension allows you to mark text as bold.\n * @see https://tiptap.dev/api/marks/bold\n */\nconst Bold = Mark.create({\n name: 'bold',\n addOptions() {\n return {\n HTMLAttributes: {},\n };\n },\n parseHTML() {\n return [\n {\n tag: 'strong',\n },\n {\n tag: 'b',\n getAttrs: node => node.style.fontWeight !== 'normal' && null,\n },\n {\n style: 'font-weight=400',\n clearMark: mark => mark.type.name === this.name,\n },\n {\n style: 'font-weight',\n getAttrs: value => /^(bold(er)?|[5-9]\\d{2,})$/.test(value) && null,\n },\n ];\n },\n renderHTML({ HTMLAttributes }) {\n return ['strong', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n addCommands() {\n return {\n setBold: () => ({ commands }) => {\n return commands.setMark(this.name);\n },\n toggleBold: () => ({ commands }) => {\n return commands.toggleMark(this.name);\n },\n unsetBold: () => ({ commands }) => {\n return commands.unsetMark(this.name);\n },\n };\n },\n addKeyboardShortcuts() {\n return {\n 'Mod-b': () => this.editor.commands.toggleBold(),\n 'Mod-B': () => this.editor.commands.toggleBold(),\n };\n },\n addInputRules() {\n return [\n markInputRule({\n find: starInputRegex,\n type: this.type,\n }),\n markInputRule({\n find: underscoreInputRegex,\n type: this.type,\n }),\n ];\n },\n addPasteRules() {\n return [\n markPasteRule({\n find: starPasteRegex,\n type: this.type,\n }),\n markPasteRule({\n find: underscorePasteRegex,\n type: this.type,\n }),\n ];\n },\n});\n\nexport { Bold, Bold as default, starInputRegex, starPasteRegex, underscoreInputRegex, underscorePasteRegex };\n//# sourceMappingURL=index.js.map\n"],"names":["starInputRegex","starPasteRegex","underscoreInputRegex","underscorePasteRegex","Bold","Mark","node","mark","value","HTMLAttributes","mergeAttributes","commands","markInputRule","markPasteRule"],"mappings":"2GAKK,MAACA,EAAiB,uDAIjBC,EAAiB,uDAIjBC,EAAuB,+CAIvBC,EAAuB,+CAKvBC,EAAOC,EAAK,OAAO,CACrB,KAAM,OACN,YAAa,CACT,MAAO,CACH,eAAgB,CAAA,CAC5B,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-bold/dist/index.js"],"sourcesContent":["import { Mark, mergeAttributes, markInputRule, markPasteRule } from '@tiptap/core';\n\n/**\n * Matches bold text via `**` as input.\n */\nconst starInputRegex = /(?:^|\\s)(\\*\\*(?!\\s+\\*\\*)((?:[^*]+))\\*\\*(?!\\s+\\*\\*))$/;\n/**\n * Matches bold text via `**` while pasting.\n */\nconst starPasteRegex = /(?:^|\\s)(\\*\\*(?!\\s+\\*\\*)((?:[^*]+))\\*\\*(?!\\s+\\*\\*))/g;\n/**\n * Matches bold text via `__` as input.\n */\nconst underscoreInputRegex = /(?:^|\\s)(__(?!\\s+__)((?:[^_]+))__(?!\\s+__))$/;\n/**\n * Matches bold text via `__` while pasting.\n */\nconst underscorePasteRegex = /(?:^|\\s)(__(?!\\s+__)((?:[^_]+))__(?!\\s+__))/g;\n/**\n * This extension allows you to mark text as bold.\n * @see https://tiptap.dev/api/marks/bold\n */\nconst Bold = Mark.create({\n name: 'bold',\n addOptions() {\n return {\n HTMLAttributes: {},\n };\n },\n parseHTML() {\n return [\n {\n tag: 'strong',\n },\n {\n tag: 'b',\n getAttrs: node => node.style.fontWeight !== 'normal' && null,\n },\n {\n style: 'font-weight=400',\n clearMark: mark => mark.type.name === this.name,\n },\n {\n style: 'font-weight',\n getAttrs: value => /^(bold(er)?|[5-9]\\d{2,})$/.test(value) && null,\n },\n ];\n },\n renderHTML({ HTMLAttributes }) {\n return ['strong', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n addCommands() {\n return {\n setBold: () => ({ commands }) => {\n return commands.setMark(this.name);\n },\n toggleBold: () => ({ commands }) => {\n return commands.toggleMark(this.name);\n },\n unsetBold: () => ({ commands }) => {\n return commands.unsetMark(this.name);\n },\n };\n },\n addKeyboardShortcuts() {\n return {\n 'Mod-b': () => this.editor.commands.toggleBold(),\n 'Mod-B': () => this.editor.commands.toggleBold(),\n };\n },\n addInputRules() {\n return [\n markInputRule({\n find: starInputRegex,\n type: this.type,\n }),\n markInputRule({\n find: underscoreInputRegex,\n type: this.type,\n }),\n ];\n },\n addPasteRules() {\n return [\n markPasteRule({\n find: starPasteRegex,\n type: this.type,\n }),\n markPasteRule({\n find: underscorePasteRegex,\n type: this.type,\n }),\n ];\n },\n});\n\nexport { Bold, Bold as default, starInputRegex, starPasteRegex, underscoreInputRegex, underscorePasteRegex };\n//# sourceMappingURL=index.js.map\n"],"names":["starInputRegex","starPasteRegex","underscoreInputRegex","underscorePasteRegex","Bold","Mark","node","mark","value","HTMLAttributes","mergeAttributes","commands","markInputRule","markPasteRule"],"mappings":"2GAKK,MAACA,EAAiB,uDAIjBC,EAAiB,uDAIjBC,EAAuB,+CAIvBC,EAAuB,+CAKvBC,EAAOC,EAAK,OAAO,CACrB,KAAM,OACN,YAAa,CACT,MAAO,CACH,eAAgB,CAAA,CAC5B,CACI,EACA,WAAY,CACR,MAAO,CACH,CACI,IAAK,QACrB,EACY,CACI,IAAK,IACL,SAAUC,GAAQA,EAAK,MAAM,aAAe,UAAY,IACxE,EACY,CACI,MAAO,kBACP,UAAWC,GAAQA,EAAK,KAAK,OAAS,KAAK,IAC3D,EACY,CACI,MAAO,cACP,SAAUC,GAAS,4BAA4B,KAAKA,CAAK,GAAK,IAC9E,CACA,CACI,EACA,WAAW,CAAE,eAAAC,GAAkB,CAC3B,MAAO,CAAC,SAAUC,EAAgB,KAAK,QAAQ,eAAgBD,CAAc,EAAG,CAAC,CACrF,EACA,aAAc,CACV,MAAO,CACH,QAAS,IAAM,CAAC,CAAE,SAAAE,KACPA,EAAS,QAAQ,KAAK,IAAI,EAErC,WAAY,IAAM,CAAC,CAAE,SAAAA,KACVA,EAAS,WAAW,KAAK,IAAI,EAExC,UAAW,IAAM,CAAC,CAAE,SAAAA,KACTA,EAAS,UAAU,KAAK,IAAI,CAEnD,CACI,EACA,sBAAuB,CACnB,MAAO,CACH,QAAS,IAAM,KAAK,OAAO,SAAS,WAAU,EAC9C,QAAS,IAAM,KAAK,OAAO,SAAS,WAAU,CAC1D,CACI,EACA,eAAgB,CACZ,MAAO,CACHC,EAAc,CACV,KAAMZ,EACN,KAAM,KAAK,IAC3B,CAAa,EACDY,EAAc,CACV,KAAMV,EACN,KAAM,KAAK,IAC3B,CAAa,CACb,CACI,EACA,eAAgB,CACZ,MAAO,CACHW,EAAc,CACV,KAAMZ,EACN,KAAM,KAAK,IAC3B,CAAa,EACDY,EAAc,CACV,KAAMV,EACN,KAAM,KAAK,IAC3B,CAAa,CACb,CACI,CACJ,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-bullet-list/dist/index.js"],"sourcesContent":["import { Node, mergeAttributes, wrappingInputRule } from '@tiptap/core';\n\nconst ListItemName = 'listItem';\nconst TextStyleName = 'textStyle';\n/**\n * Matches a bullet list to a dash or asterisk.\n */\nconst inputRegex = /^\\s*([-+*])\\s$/;\n/**\n * This extension allows you to create bullet lists.\n * This requires the ListItem extension\n * @see https://tiptap.dev/api/nodes/bullet-list\n * @see https://tiptap.dev/api/nodes/list-item.\n */\nconst BulletList = Node.create({\n name: 'bulletList',\n addOptions() {\n return {\n itemTypeName: 'listItem',\n HTMLAttributes: {},\n keepMarks: false,\n keepAttributes: false,\n };\n },\n group: 'block list',\n content() {\n return `${this.options.itemTypeName}+`;\n },\n parseHTML() {\n return [\n { tag: 'ul' },\n ];\n },\n renderHTML({ HTMLAttributes }) {\n return ['ul', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n addCommands() {\n return {\n toggleBulletList: () => ({ commands, chain }) => {\n if (this.options.keepAttributes) {\n return chain().toggleList(this.name, this.options.itemTypeName, this.options.keepMarks).updateAttributes(ListItemName, this.editor.getAttributes(TextStyleName)).run();\n }\n return commands.toggleList(this.name, this.options.itemTypeName, this.options.keepMarks);\n },\n };\n },\n addKeyboardShortcuts() {\n return {\n 'Mod-Shift-8': () => this.editor.commands.toggleBulletList(),\n };\n },\n addInputRules() {\n let inputRule = wrappingInputRule({\n find: inputRegex,\n type: this.type,\n });\n if (this.options.keepMarks || this.options.keepAttributes) {\n inputRule = wrappingInputRule({\n find: inputRegex,\n type: this.type,\n keepMarks: this.options.keepMarks,\n keepAttributes: this.options.keepAttributes,\n getAttributes: () => { return this.editor.getAttributes(TextStyleName); },\n editor: this.editor,\n });\n }\n return [\n inputRule,\n ];\n },\n});\n\nexport { BulletList, BulletList as default, inputRegex };\n//# sourceMappingURL=index.js.map\n"],"names":["ListItemName","TextStyleName","inputRegex","BulletList","Node","HTMLAttributes","mergeAttributes","commands","chain","inputRule","wrappingInputRule"],"mappings":"4FAEA,MAAMA,EAAe,WACfC,EAAgB,YAIhBC,EAAa,iBAObC,EAAaC,EAAK,OAAO,CAC3B,KAAM,aACN,YAAa,CACT,MAAO,CACH,aAAc,WACd,eAAgB,CAAA,EAChB,UAAW,GACX,eAAgB,EAC5B,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-bullet-list/dist/index.js"],"sourcesContent":["import { Node, mergeAttributes, wrappingInputRule } from '@tiptap/core';\n\nconst ListItemName = 'listItem';\nconst TextStyleName = 'textStyle';\n/**\n * Matches a bullet list to a dash or asterisk.\n */\nconst inputRegex = /^\\s*([-+*])\\s$/;\n/**\n * This extension allows you to create bullet lists.\n * This requires the ListItem extension\n * @see https://tiptap.dev/api/nodes/bullet-list\n * @see https://tiptap.dev/api/nodes/list-item.\n */\nconst BulletList = Node.create({\n name: 'bulletList',\n addOptions() {\n return {\n itemTypeName: 'listItem',\n HTMLAttributes: {},\n keepMarks: false,\n keepAttributes: false,\n };\n },\n group: 'block list',\n content() {\n return `${this.options.itemTypeName}+`;\n },\n parseHTML() {\n return [\n { tag: 'ul' },\n ];\n },\n renderHTML({ HTMLAttributes }) {\n return ['ul', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n addCommands() {\n return {\n toggleBulletList: () => ({ commands, chain }) => {\n if (this.options.keepAttributes) {\n return chain().toggleList(this.name, this.options.itemTypeName, this.options.keepMarks).updateAttributes(ListItemName, this.editor.getAttributes(TextStyleName)).run();\n }\n return commands.toggleList(this.name, this.options.itemTypeName, this.options.keepMarks);\n },\n };\n },\n addKeyboardShortcuts() {\n return {\n 'Mod-Shift-8': () => this.editor.commands.toggleBulletList(),\n };\n },\n addInputRules() {\n let inputRule = wrappingInputRule({\n find: inputRegex,\n type: this.type,\n });\n if (this.options.keepMarks || this.options.keepAttributes) {\n inputRule = wrappingInputRule({\n find: inputRegex,\n type: this.type,\n keepMarks: this.options.keepMarks,\n keepAttributes: this.options.keepAttributes,\n getAttributes: () => { return this.editor.getAttributes(TextStyleName); },\n editor: this.editor,\n });\n }\n return [\n inputRule,\n ];\n },\n});\n\nexport { BulletList, BulletList as default, inputRegex };\n//# sourceMappingURL=index.js.map\n"],"names":["ListItemName","TextStyleName","inputRegex","BulletList","Node","HTMLAttributes","mergeAttributes","commands","chain","inputRule","wrappingInputRule"],"mappings":"4FAEA,MAAMA,EAAe,WACfC,EAAgB,YAIhBC,EAAa,iBAObC,EAAaC,EAAK,OAAO,CAC3B,KAAM,aACN,YAAa,CACT,MAAO,CACH,aAAc,WACd,eAAgB,CAAA,EAChB,UAAW,GACX,eAAgB,EAC5B,CACI,EACA,MAAO,aACP,SAAU,CACN,MAAO,GAAG,KAAK,QAAQ,YAAY,GACvC,EACA,WAAY,CACR,MAAO,CACH,CAAE,IAAK,IAAI,CACvB,CACI,EACA,WAAW,CAAE,eAAAC,GAAkB,CAC3B,MAAO,CAAC,KAAMC,EAAgB,KAAK,QAAQ,eAAgBD,CAAc,EAAG,CAAC,CACjF,EACA,aAAc,CACV,MAAO,CACH,iBAAkB,IAAM,CAAC,CAAE,SAAAE,EAAU,MAAAC,CAAK,IAClC,KAAK,QAAQ,eACNA,EAAK,EAAG,WAAW,KAAK,KAAM,KAAK,QAAQ,aAAc,KAAK,QAAQ,SAAS,EAAE,iBAAiBR,EAAc,KAAK,OAAO,cAAcC,CAAa,CAAC,EAAE,IAAG,EAEjKM,EAAS,WAAW,KAAK,KAAM,KAAK,QAAQ,aAAc,KAAK,QAAQ,SAAS,CAEvG,CACI,EACA,sBAAuB,CACnB,MAAO,CACH,cAAe,IAAM,KAAK,OAAO,SAAS,iBAAgB,CACtE,CACI,EACA,eAAgB,CACZ,IAAIE,EAAYC,EAAkB,CAC9B,KAAMR,EACN,KAAM,KAAK,IACvB,CAAS,EACD,OAAI,KAAK,QAAQ,WAAa,KAAK,QAAQ,kBACvCO,EAAYC,EAAkB,CAC1B,KAAMR,EACN,KAAM,KAAK,KACX,UAAW,KAAK,QAAQ,UACxB,eAAgB,KAAK,QAAQ,eAC7B,cAAe,IAAe,KAAK,OAAO,cAAcD,CAAa,EACrE,OAAQ,KAAK,MAC7B,CAAa,GAEE,CACHQ,CACZ,CACI,CACJ,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-character-count/dist/index.js"],"sourcesContent":["import { Extension } from '@tiptap/core';\nimport { Plugin, PluginKey } from '@tiptap/pm/state';\n\n/**\n * This extension allows you to count the characters and words of your document.\n * @see https://tiptap.dev/api/extensions/character-count\n */\nconst CharacterCount = Extension.create({\n name: 'characterCount',\n addOptions() {\n return {\n limit: null,\n mode: 'textSize',\n textCounter: text => text.length,\n wordCounter: text => text.split(' ').filter(word => word !== '').length,\n };\n },\n addStorage() {\n return {\n characters: () => 0,\n words: () => 0,\n };\n },\n onBeforeCreate() {\n this.storage.characters = options => {\n const node = (options === null || options === void 0 ? void 0 : options.node) || this.editor.state.doc;\n const mode = (options === null || options === void 0 ? void 0 : options.mode) || this.options.mode;\n if (mode === 'textSize') {\n const text = node.textBetween(0, node.content.size, undefined, ' ');\n return this.options.textCounter(text);\n }\n return node.nodeSize;\n };\n this.storage.words = options => {\n const node = (options === null || options === void 0 ? void 0 : options.node) || this.editor.state.doc;\n const text = node.textBetween(0, node.content.size, ' ', ' ');\n return this.options.wordCounter(text);\n };\n },\n addProseMirrorPlugins() {\n let initialEvaluationDone = false;\n return [\n new Plugin({\n key: new PluginKey('characterCount'),\n appendTransaction: (transactions, oldState, newState) => {\n if (initialEvaluationDone) {\n return;\n }\n const limit = this.options.limit;\n if (limit === null || limit === undefined || limit === 0) {\n initialEvaluationDone = true;\n return;\n }\n const initialContentSize = this.storage.characters({ node: newState.doc });\n if (initialContentSize > limit) {\n const over = initialContentSize - limit;\n const from = 0;\n const to = over;\n console.warn(`[CharacterCount] Initial content exceeded limit of ${limit} characters. Content was automatically trimmed.`);\n const tr = newState.tr.deleteRange(from, to);\n initialEvaluationDone = true;\n return tr;\n }\n initialEvaluationDone = true;\n },\n filterTransaction: (transaction, state) => {\n const limit = this.options.limit;\n // Nothing has changed or no limit is defined. Ignore it.\n if (!transaction.docChanged || limit === 0 || limit === null || limit === undefined) {\n return true;\n }\n const oldSize = this.storage.characters({ node: state.doc });\n const newSize = this.storage.characters({ node: transaction.doc });\n // Everything is in the limit. Good.\n if (newSize <= limit) {\n return true;\n }\n // The limit has already been exceeded but will be reduced.\n if (oldSize > limit && newSize > limit && newSize <= oldSize) {\n return true;\n }\n // The limit has already been exceeded and will be increased further.\n if (oldSize > limit && newSize > limit && newSize > oldSize) {\n return false;\n }\n const isPaste = transaction.getMeta('paste');\n // Block all exceeding transactions that were not pasted.\n if (!isPaste) {\n return false;\n }\n // For pasted content, we try to remove the exceeding content.\n const pos = transaction.selection.$head.pos;\n const over = newSize - limit;\n const from = pos - over;\n const to = pos;\n // It’s probably a bad idea to mutate transactions within `filterTransaction`\n // but for now this is working fine.\n transaction.deleteRange(from, to);\n // In some situations, the limit will continue to be exceeded after trimming.\n // This happens e.g. when truncating within a complex node (e.g. table)\n // and ProseMirror has to close this node again.\n // If this is the case, we prevent the transaction completely.\n const updatedSize = this.storage.characters({ node: transaction.doc });\n if (updatedSize > limit) {\n return false;\n }\n return true;\n },\n }),\n ];\n },\n});\n\nexport { CharacterCount, CharacterCount as default };\n//# sourceMappingURL=index.js.map\n"],"names":["CharacterCount","Extension","text","word","options","node","initialEvaluationDone","Plugin","PluginKey","transactions","oldState","newState","limit","initialContentSize","over","from","to","tr","transaction","state","oldSize","newSize","pos"],"mappings":"sIAOK,MAACA,EAAiBC,EAAU,OAAO,CACpC,KAAM,iBACN,YAAa,CACT,MAAO,CACH,MAAO,KACP,KAAM,WACN,YAAaC,GAAQA,EAAK,OAC1B,YAAaA,GAAQA,EAAK,MAAM,GAAG,EAAE,OAAOC,GAAQA,IAAS,EAAE,EAAE,MAC7E,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-character-count/dist/index.js"],"sourcesContent":["import { Extension } from '@tiptap/core';\nimport { Plugin, PluginKey } from '@tiptap/pm/state';\n\n/**\n * This extension allows you to count the characters and words of your document.\n * @see https://tiptap.dev/api/extensions/character-count\n */\nconst CharacterCount = Extension.create({\n name: 'characterCount',\n addOptions() {\n return {\n limit: null,\n mode: 'textSize',\n textCounter: text => text.length,\n wordCounter: text => text.split(' ').filter(word => word !== '').length,\n };\n },\n addStorage() {\n return {\n characters: () => 0,\n words: () => 0,\n };\n },\n onBeforeCreate() {\n this.storage.characters = options => {\n const node = (options === null || options === void 0 ? void 0 : options.node) || this.editor.state.doc;\n const mode = (options === null || options === void 0 ? void 0 : options.mode) || this.options.mode;\n if (mode === 'textSize') {\n const text = node.textBetween(0, node.content.size, undefined, ' ');\n return this.options.textCounter(text);\n }\n return node.nodeSize;\n };\n this.storage.words = options => {\n const node = (options === null || options === void 0 ? void 0 : options.node) || this.editor.state.doc;\n const text = node.textBetween(0, node.content.size, ' ', ' ');\n return this.options.wordCounter(text);\n };\n },\n addProseMirrorPlugins() {\n let initialEvaluationDone = false;\n return [\n new Plugin({\n key: new PluginKey('characterCount'),\n appendTransaction: (transactions, oldState, newState) => {\n if (initialEvaluationDone) {\n return;\n }\n const limit = this.options.limit;\n if (limit === null || limit === undefined || limit === 0) {\n initialEvaluationDone = true;\n return;\n }\n const initialContentSize = this.storage.characters({ node: newState.doc });\n if (initialContentSize > limit) {\n const over = initialContentSize - limit;\n const from = 0;\n const to = over;\n console.warn(`[CharacterCount] Initial content exceeded limit of ${limit} characters. Content was automatically trimmed.`);\n const tr = newState.tr.deleteRange(from, to);\n initialEvaluationDone = true;\n return tr;\n }\n initialEvaluationDone = true;\n },\n filterTransaction: (transaction, state) => {\n const limit = this.options.limit;\n // Nothing has changed or no limit is defined. Ignore it.\n if (!transaction.docChanged || limit === 0 || limit === null || limit === undefined) {\n return true;\n }\n const oldSize = this.storage.characters({ node: state.doc });\n const newSize = this.storage.characters({ node: transaction.doc });\n // Everything is in the limit. Good.\n if (newSize <= limit) {\n return true;\n }\n // The limit has already been exceeded but will be reduced.\n if (oldSize > limit && newSize > limit && newSize <= oldSize) {\n return true;\n }\n // The limit has already been exceeded and will be increased further.\n if (oldSize > limit && newSize > limit && newSize > oldSize) {\n return false;\n }\n const isPaste = transaction.getMeta('paste');\n // Block all exceeding transactions that were not pasted.\n if (!isPaste) {\n return false;\n }\n // For pasted content, we try to remove the exceeding content.\n const pos = transaction.selection.$head.pos;\n const over = newSize - limit;\n const from = pos - over;\n const to = pos;\n // It’s probably a bad idea to mutate transactions within `filterTransaction`\n // but for now this is working fine.\n transaction.deleteRange(from, to);\n // In some situations, the limit will continue to be exceeded after trimming.\n // This happens e.g. when truncating within a complex node (e.g. table)\n // and ProseMirror has to close this node again.\n // If this is the case, we prevent the transaction completely.\n const updatedSize = this.storage.characters({ node: transaction.doc });\n if (updatedSize > limit) {\n return false;\n }\n return true;\n },\n }),\n ];\n },\n});\n\nexport { CharacterCount, CharacterCount as default };\n//# sourceMappingURL=index.js.map\n"],"names":["CharacterCount","Extension","text","word","options","node","initialEvaluationDone","Plugin","PluginKey","transactions","oldState","newState","limit","initialContentSize","over","from","to","tr","transaction","state","oldSize","newSize","pos"],"mappings":"sIAOK,MAACA,EAAiBC,EAAU,OAAO,CACpC,KAAM,iBACN,YAAa,CACT,MAAO,CACH,MAAO,KACP,KAAM,WACN,YAAaC,GAAQA,EAAK,OAC1B,YAAaA,GAAQA,EAAK,MAAM,GAAG,EAAE,OAAOC,GAAQA,IAAS,EAAE,EAAE,MAC7E,CACI,EACA,YAAa,CACT,MAAO,CACH,WAAY,IAAM,EAClB,MAAO,IAAM,CACzB,CACI,EACA,gBAAiB,CACb,KAAK,QAAQ,WAAaC,GAAW,CACjC,MAAMC,GAAQD,GAAY,KAA6B,OAASA,EAAQ,OAAS,KAAK,OAAO,MAAM,IAEnG,KADcA,GAAY,KAA6B,OAASA,EAAQ,OAAS,KAAK,QAAQ,QACjF,WAAY,CACrB,MAAMF,EAAOG,EAAK,YAAY,EAAGA,EAAK,QAAQ,KAAM,OAAW,GAAG,EAClE,OAAO,KAAK,QAAQ,YAAYH,CAAI,CACxC,CACA,OAAOG,EAAK,QAChB,EACA,KAAK,QAAQ,MAAQD,GAAW,CAC5B,MAAMC,GAAQD,GAAY,KAA6B,OAASA,EAAQ,OAAS,KAAK,OAAO,MAAM,IAC7FF,EAAOG,EAAK,YAAY,EAAGA,EAAK,QAAQ,KAAM,IAAK,GAAG,EAC5D,OAAO,KAAK,QAAQ,YAAYH,CAAI,CACxC,CACJ,EACA,uBAAwB,CACpB,IAAII,EAAwB,GAC5B,MAAO,CACH,IAAIC,EAAO,CACP,IAAK,IAAIC,EAAU,gBAAgB,EACnC,kBAAmB,CAACC,EAAcC,EAAUC,IAAa,CACrD,GAAIL,EACA,OAEJ,MAAMM,EAAQ,KAAK,QAAQ,MAC3B,GAAIA,GAAU,MAA+BA,IAAU,EAAG,CACtDN,EAAwB,GACxB,MACJ,CACA,MAAMO,EAAqB,KAAK,QAAQ,WAAW,CAAE,KAAMF,EAAS,IAAK,EACzE,GAAIE,EAAqBD,EAAO,CAC5B,MAAME,EAAOD,EAAqBD,EAC5BG,EAAO,EACPC,EAAKF,EACX,QAAQ,KAAK,sDAAsDF,CAAK,iDAAiD,EACzH,MAAMK,EAAKN,EAAS,GAAG,YAAYI,EAAMC,CAAE,EAC3C,OAAAV,EAAwB,GACjBW,CACX,CACAX,EAAwB,EAC5B,EACA,kBAAmB,CAACY,EAAaC,IAAU,CACvC,MAAMP,EAAQ,KAAK,QAAQ,MAE3B,GAAI,CAACM,EAAY,YAAcN,IAAU,GAAKA,IAAU,MAAQA,IAAU,OACtE,MAAO,GAEX,MAAMQ,EAAU,KAAK,QAAQ,WAAW,CAAE,KAAMD,EAAM,IAAK,EACrDE,EAAU,KAAK,QAAQ,WAAW,CAAE,KAAMH,EAAY,IAAK,EAMjE,GAJIG,GAAWT,GAIXQ,EAAUR,GAASS,EAAUT,GAASS,GAAWD,EACjD,MAAO,GAQX,GALIA,EAAUR,GAASS,EAAUT,GAASS,EAAUD,GAKhD,CAFYF,EAAY,QAAQ,OAAO,EAGvC,MAAO,GAGX,MAAMI,EAAMJ,EAAY,UAAU,MAAM,IAClCJ,EAAOO,EAAUT,EACjBG,EAAOO,EAAMR,EACbE,EAAKM,EASX,OANAJ,EAAY,YAAYH,EAAMC,CAAE,EAM5B,EADgB,KAAK,QAAQ,WAAW,CAAE,KAAME,EAAY,IAAK,EACnDN,EAItB,CAChB,CAAa,CACb,CACI,CACJ,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-code/dist/index.js"],"sourcesContent":["import { Mark, mergeAttributes, markInputRule, markPasteRule } from '@tiptap/core';\n\n/**\n * Regular expressions to match inline code blocks enclosed in backticks.\n * It matches:\n * - An opening backtick, followed by\n * - Any text that doesn't include a backtick (captured for marking), followed by\n * - A closing backtick.\n * This ensures that any text between backticks is formatted as code,\n * regardless of the surrounding characters (exception being another backtick).\n */\nconst inputRegex = /(^|[^`])`([^`]+)`(?!`)/;\n/**\n * Matches inline code while pasting.\n */\nconst pasteRegex = /(^|[^`])`([^`]+)`(?!`)/g;\n/**\n * This extension allows you to mark text as inline code.\n * @see https://tiptap.dev/api/marks/code\n */\nconst Code = Mark.create({\n name: 'code',\n addOptions() {\n return {\n HTMLAttributes: {},\n };\n },\n excludes: '_',\n code: true,\n exitable: true,\n parseHTML() {\n return [\n { tag: 'code' },\n ];\n },\n renderHTML({ HTMLAttributes }) {\n return ['code', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n addCommands() {\n return {\n setCode: () => ({ commands }) => {\n return commands.setMark(this.name);\n },\n toggleCode: () => ({ commands }) => {\n return commands.toggleMark(this.name);\n },\n unsetCode: () => ({ commands }) => {\n return commands.unsetMark(this.name);\n },\n };\n },\n addKeyboardShortcuts() {\n return {\n 'Mod-e': () => this.editor.commands.toggleCode(),\n };\n },\n addInputRules() {\n return [\n markInputRule({\n find: inputRegex,\n type: this.type,\n }),\n ];\n },\n addPasteRules() {\n return [\n markPasteRule({\n find: pasteRegex,\n type: this.type,\n }),\n ];\n },\n});\n\nexport { Code, Code as default, inputRegex, pasteRegex };\n//# sourceMappingURL=index.js.map\n"],"names":["inputRegex","pasteRegex","Code","Mark","HTMLAttributes","mergeAttributes","commands","markInputRule","markPasteRule"],"mappings":"2GAWK,MAACA,EAAa,yBAIbC,EAAa,0BAKbC,EAAOC,EAAK,OAAO,CACrB,KAAM,OACN,YAAa,CACT,MAAO,CACH,eAAgB,CAAA,CAC5B,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-code/dist/index.js"],"sourcesContent":["import { Mark, mergeAttributes, markInputRule, markPasteRule } from '@tiptap/core';\n\n/**\n * Regular expressions to match inline code blocks enclosed in backticks.\n * It matches:\n * - An opening backtick, followed by\n * - Any text that doesn't include a backtick (captured for marking), followed by\n * - A closing backtick.\n * This ensures that any text between backticks is formatted as code,\n * regardless of the surrounding characters (exception being another backtick).\n */\nconst inputRegex = /(^|[^`])`([^`]+)`(?!`)/;\n/**\n * Matches inline code while pasting.\n */\nconst pasteRegex = /(^|[^`])`([^`]+)`(?!`)/g;\n/**\n * This extension allows you to mark text as inline code.\n * @see https://tiptap.dev/api/marks/code\n */\nconst Code = Mark.create({\n name: 'code',\n addOptions() {\n return {\n HTMLAttributes: {},\n };\n },\n excludes: '_',\n code: true,\n exitable: true,\n parseHTML() {\n return [\n { tag: 'code' },\n ];\n },\n renderHTML({ HTMLAttributes }) {\n return ['code', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n addCommands() {\n return {\n setCode: () => ({ commands }) => {\n return commands.setMark(this.name);\n },\n toggleCode: () => ({ commands }) => {\n return commands.toggleMark(this.name);\n },\n unsetCode: () => ({ commands }) => {\n return commands.unsetMark(this.name);\n },\n };\n },\n addKeyboardShortcuts() {\n return {\n 'Mod-e': () => this.editor.commands.toggleCode(),\n };\n },\n addInputRules() {\n return [\n markInputRule({\n find: inputRegex,\n type: this.type,\n }),\n ];\n },\n addPasteRules() {\n return [\n markPasteRule({\n find: pasteRegex,\n type: this.type,\n }),\n ];\n },\n});\n\nexport { Code, Code as default, inputRegex, pasteRegex };\n//# sourceMappingURL=index.js.map\n"],"names":["inputRegex","pasteRegex","Code","Mark","HTMLAttributes","mergeAttributes","commands","markInputRule","markPasteRule"],"mappings":"2GAWK,MAACA,EAAa,yBAIbC,EAAa,0BAKbC,EAAOC,EAAK,OAAO,CACrB,KAAM,OACN,YAAa,CACT,MAAO,CACH,eAAgB,CAAA,CAC5B,CACI,EACA,SAAU,IACV,KAAM,GACN,SAAU,GACV,WAAY,CACR,MAAO,CACH,CAAE,IAAK,MAAM,CACzB,CACI,EACA,WAAW,CAAE,eAAAC,GAAkB,CAC3B,MAAO,CAAC,OAAQC,EAAgB,KAAK,QAAQ,eAAgBD,CAAc,EAAG,CAAC,CACnF,EACA,aAAc,CACV,MAAO,CACH,QAAS,IAAM,CAAC,CAAE,SAAAE,KACPA,EAAS,QAAQ,KAAK,IAAI,EAErC,WAAY,IAAM,CAAC,CAAE,SAAAA,KACVA,EAAS,WAAW,KAAK,IAAI,EAExC,UAAW,IAAM,CAAC,CAAE,SAAAA,KACTA,EAAS,UAAU,KAAK,IAAI,CAEnD,CACI,EACA,sBAAuB,CACnB,MAAO,CACH,QAAS,IAAM,KAAK,OAAO,SAAS,WAAU,CAC1D,CACI,EACA,eAAgB,CACZ,MAAO,CACHC,EAAc,CACV,KAAMP,EACN,KAAM,KAAK,IAC3B,CAAa,CACb,CACI,EACA,eAAgB,CACZ,MAAO,CACHQ,EAAc,CACV,KAAMP,EACN,KAAM,KAAK,IAC3B,CAAa,CACb,CACI,CACJ,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-code-block/dist/index.js"],"sourcesContent":["import { Node, mergeAttributes, textblockTypeInputRule } from '@tiptap/core';\nimport { Selection, Plugin, PluginKey, TextSelection } from '@tiptap/pm/state';\n\n/**\n * Matches a code block with backticks.\n */\nconst backtickInputRegex = /^```([a-z]+)?[\\s\\n]$/;\n/**\n * Matches a code block with tildes.\n */\nconst tildeInputRegex = /^~~~([a-z]+)?[\\s\\n]$/;\n/**\n * This extension allows you to create code blocks.\n * @see https://tiptap.dev/api/nodes/code-block\n */\nconst CodeBlock = Node.create({\n name: 'codeBlock',\n addOptions() {\n return {\n languageClassPrefix: 'language-',\n exitOnTripleEnter: true,\n exitOnArrowDown: true,\n defaultLanguage: null,\n HTMLAttributes: {},\n };\n },\n content: 'text*',\n marks: '',\n group: 'block',\n code: true,\n defining: true,\n addAttributes() {\n return {\n language: {\n default: this.options.defaultLanguage,\n parseHTML: element => {\n var _a;\n const { languageClassPrefix } = this.options;\n const classNames = [...(((_a = element.firstElementChild) === null || _a === void 0 ? void 0 : _a.classList) || [])];\n const languages = classNames\n .filter(className => className.startsWith(languageClassPrefix))\n .map(className => className.replace(languageClassPrefix, ''));\n const language = languages[0];\n if (!language) {\n return null;\n }\n return language;\n },\n rendered: false,\n },\n };\n },\n parseHTML() {\n return [\n {\n tag: 'pre',\n preserveWhitespace: 'full',\n },\n ];\n },\n renderHTML({ node, HTMLAttributes }) {\n return [\n 'pre',\n mergeAttributes(this.options.HTMLAttributes, HTMLAttributes),\n [\n 'code',\n {\n class: node.attrs.language\n ? this.options.languageClassPrefix + node.attrs.language\n : null,\n },\n 0,\n ],\n ];\n },\n addCommands() {\n return {\n setCodeBlock: attributes => ({ commands }) => {\n return commands.setNode(this.name, attributes);\n },\n toggleCodeBlock: attributes => ({ commands }) => {\n return commands.toggleNode(this.name, 'paragraph', attributes);\n },\n };\n },\n addKeyboardShortcuts() {\n return {\n 'Mod-Alt-c': () => this.editor.commands.toggleCodeBlock(),\n // remove code block when at start of document or code block is empty\n Backspace: () => {\n const { empty, $anchor } = this.editor.state.selection;\n const isAtStart = $anchor.pos === 1;\n if (!empty || $anchor.parent.type.name !== this.name) {\n return false;\n }\n if (isAtStart || !$anchor.parent.textContent.length) {\n return this.editor.commands.clearNodes();\n }\n return false;\n },\n // exit node on triple enter\n Enter: ({ editor }) => {\n if (!this.options.exitOnTripleEnter) {\n return false;\n }\n const { state } = editor;\n const { selection } = state;\n const { $from, empty } = selection;\n if (!empty || $from.parent.type !== this.type) {\n return false;\n }\n const isAtEnd = $from.parentOffset === $from.parent.nodeSize - 2;\n const endsWithDoubleNewline = $from.parent.textContent.endsWith('\\n\\n');\n if (!isAtEnd || !endsWithDoubleNewline) {\n return false;\n }\n return editor\n .chain()\n .command(({ tr }) => {\n tr.delete($from.pos - 2, $from.pos);\n return true;\n })\n .exitCode()\n .run();\n },\n // exit node on arrow down\n ArrowDown: ({ editor }) => {\n if (!this.options.exitOnArrowDown) {\n return false;\n }\n const { state } = editor;\n const { selection, doc } = state;\n const { $from, empty } = selection;\n if (!empty || $from.parent.type !== this.type) {\n return false;\n }\n const isAtEnd = $from.parentOffset === $from.parent.nodeSize - 2;\n if (!isAtEnd) {\n return false;\n }\n const after = $from.after();\n if (after === undefined) {\n return false;\n }\n const nodeAfter = doc.nodeAt(after);\n if (nodeAfter) {\n return editor.commands.command(({ tr }) => {\n tr.setSelection(Selection.near(doc.resolve(after)));\n return true;\n });\n }\n return editor.commands.exitCode();\n },\n };\n },\n addInputRules() {\n return [\n textblockTypeInputRule({\n find: backtickInputRegex,\n type: this.type,\n getAttributes: match => ({\n language: match[1],\n }),\n }),\n textblockTypeInputRule({\n find: tildeInputRegex,\n type: this.type,\n getAttributes: match => ({\n language: match[1],\n }),\n }),\n ];\n },\n addProseMirrorPlugins() {\n return [\n // this plugin creates a code block for pasted content from VS Code\n // we can also detect the copied code language\n new Plugin({\n key: new PluginKey('codeBlockVSCodeHandler'),\n props: {\n handlePaste: (view, event) => {\n if (!event.clipboardData) {\n return false;\n }\n // don’t create a new code block within code blocks\n if (this.editor.isActive(this.type.name)) {\n return false;\n }\n const text = event.clipboardData.getData('text/plain');\n const vscode = event.clipboardData.getData('vscode-editor-data');\n const vscodeData = vscode ? JSON.parse(vscode) : undefined;\n const language = vscodeData === null || vscodeData === void 0 ? void 0 : vscodeData.mode;\n if (!text || !language) {\n return false;\n }\n const { tr, schema } = view.state;\n // prepare a text node\n // strip carriage return chars from text pasted as code\n // see: https://github.com/ProseMirror/prosemirror-view/commit/a50a6bcceb4ce52ac8fcc6162488d8875613aacd\n const textNode = schema.text(text.replace(/\\r\\n?/g, '\\n'));\n // create a code block with the text node\n // replace selection with the code block\n tr.replaceSelectionWith(this.type.create({ language }, textNode));\n if (tr.selection.$from.parent.type !== this.type) {\n // put cursor inside the newly created code block\n tr.setSelection(TextSelection.near(tr.doc.resolve(Math.max(0, tr.selection.from - 2))));\n }\n // store meta information\n // this is useful for other plugins that depends on the paste event\n // like the paste rule plugin\n tr.setMeta('paste', true);\n view.dispatch(tr);\n return true;\n },\n },\n }),\n ];\n },\n});\n\nexport { CodeBlock, backtickInputRegex, CodeBlock as default, tildeInputRegex };\n//# sourceMappingURL=index.js.map\n"],"names":["backtickInputRegex","tildeInputRegex","CodeBlock","Node","element","_a","languageClassPrefix","language","className","node","HTMLAttributes","mergeAttributes","attributes","commands","empty","$anchor","isAtStart","editor","state","selection","$from","isAtEnd","endsWithDoubleNewline","tr","doc","after","Selection","textblockTypeInputRule","match","Plugin","PluginKey","view","event","text","vscode","vscodeData","schema","textNode","TextSelection"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-code-block/dist/index.js"],"sourcesContent":["import { Node, mergeAttributes, textblockTypeInputRule } from '@tiptap/core';\nimport { Selection, Plugin, PluginKey, TextSelection } from '@tiptap/pm/state';\n\n/**\n * Matches a code block with backticks.\n */\nconst backtickInputRegex = /^```([a-z]+)?[\\s\\n]$/;\n/**\n * Matches a code block with tildes.\n */\nconst tildeInputRegex = /^~~~([a-z]+)?[\\s\\n]$/;\n/**\n * This extension allows you to create code blocks.\n * @see https://tiptap.dev/api/nodes/code-block\n */\nconst CodeBlock = Node.create({\n name: 'codeBlock',\n addOptions() {\n return {\n languageClassPrefix: 'language-',\n exitOnTripleEnter: true,\n exitOnArrowDown: true,\n defaultLanguage: null,\n HTMLAttributes: {},\n };\n },\n content: 'text*',\n marks: '',\n group: 'block',\n code: true,\n defining: true,\n addAttributes() {\n return {\n language: {\n default: this.options.defaultLanguage,\n parseHTML: element => {\n var _a;\n const { languageClassPrefix } = this.options;\n const classNames = [...(((_a = element.firstElementChild) === null || _a === void 0 ? void 0 : _a.classList) || [])];\n const languages = classNames\n .filter(className => className.startsWith(languageClassPrefix))\n .map(className => className.replace(languageClassPrefix, ''));\n const language = languages[0];\n if (!language) {\n return null;\n }\n return language;\n },\n rendered: false,\n },\n };\n },\n parseHTML() {\n return [\n {\n tag: 'pre',\n preserveWhitespace: 'full',\n },\n ];\n },\n renderHTML({ node, HTMLAttributes }) {\n return [\n 'pre',\n mergeAttributes(this.options.HTMLAttributes, HTMLAttributes),\n [\n 'code',\n {\n class: node.attrs.language\n ? this.options.languageClassPrefix + node.attrs.language\n : null,\n },\n 0,\n ],\n ];\n },\n addCommands() {\n return {\n setCodeBlock: attributes => ({ commands }) => {\n return commands.setNode(this.name, attributes);\n },\n toggleCodeBlock: attributes => ({ commands }) => {\n return commands.toggleNode(this.name, 'paragraph', attributes);\n },\n };\n },\n addKeyboardShortcuts() {\n return {\n 'Mod-Alt-c': () => this.editor.commands.toggleCodeBlock(),\n // remove code block when at start of document or code block is empty\n Backspace: () => {\n const { empty, $anchor } = this.editor.state.selection;\n const isAtStart = $anchor.pos === 1;\n if (!empty || $anchor.parent.type.name !== this.name) {\n return false;\n }\n if (isAtStart || !$anchor.parent.textContent.length) {\n return this.editor.commands.clearNodes();\n }\n return false;\n },\n // exit node on triple enter\n Enter: ({ editor }) => {\n if (!this.options.exitOnTripleEnter) {\n return false;\n }\n const { state } = editor;\n const { selection } = state;\n const { $from, empty } = selection;\n if (!empty || $from.parent.type !== this.type) {\n return false;\n }\n const isAtEnd = $from.parentOffset === $from.parent.nodeSize - 2;\n const endsWithDoubleNewline = $from.parent.textContent.endsWith('\\n\\n');\n if (!isAtEnd || !endsWithDoubleNewline) {\n return false;\n }\n return editor\n .chain()\n .command(({ tr }) => {\n tr.delete($from.pos - 2, $from.pos);\n return true;\n })\n .exitCode()\n .run();\n },\n // exit node on arrow down\n ArrowDown: ({ editor }) => {\n if (!this.options.exitOnArrowDown) {\n return false;\n }\n const { state } = editor;\n const { selection, doc } = state;\n const { $from, empty } = selection;\n if (!empty || $from.parent.type !== this.type) {\n return false;\n }\n const isAtEnd = $from.parentOffset === $from.parent.nodeSize - 2;\n if (!isAtEnd) {\n return false;\n }\n const after = $from.after();\n if (after === undefined) {\n return false;\n }\n const nodeAfter = doc.nodeAt(after);\n if (nodeAfter) {\n return editor.commands.command(({ tr }) => {\n tr.setSelection(Selection.near(doc.resolve(after)));\n return true;\n });\n }\n return editor.commands.exitCode();\n },\n };\n },\n addInputRules() {\n return [\n textblockTypeInputRule({\n find: backtickInputRegex,\n type: this.type,\n getAttributes: match => ({\n language: match[1],\n }),\n }),\n textblockTypeInputRule({\n find: tildeInputRegex,\n type: this.type,\n getAttributes: match => ({\n language: match[1],\n }),\n }),\n ];\n },\n addProseMirrorPlugins() {\n return [\n // this plugin creates a code block for pasted content from VS Code\n // we can also detect the copied code language\n new Plugin({\n key: new PluginKey('codeBlockVSCodeHandler'),\n props: {\n handlePaste: (view, event) => {\n if (!event.clipboardData) {\n return false;\n }\n // don’t create a new code block within code blocks\n if (this.editor.isActive(this.type.name)) {\n return false;\n }\n const text = event.clipboardData.getData('text/plain');\n const vscode = event.clipboardData.getData('vscode-editor-data');\n const vscodeData = vscode ? JSON.parse(vscode) : undefined;\n const language = vscodeData === null || vscodeData === void 0 ? void 0 : vscodeData.mode;\n if (!text || !language) {\n return false;\n }\n const { tr, schema } = view.state;\n // prepare a text node\n // strip carriage return chars from text pasted as code\n // see: https://github.com/ProseMirror/prosemirror-view/commit/a50a6bcceb4ce52ac8fcc6162488d8875613aacd\n const textNode = schema.text(text.replace(/\\r\\n?/g, '\\n'));\n // create a code block with the text node\n // replace selection with the code block\n tr.replaceSelectionWith(this.type.create({ language }, textNode));\n if (tr.selection.$from.parent.type !== this.type) {\n // put cursor inside the newly created code block\n tr.setSelection(TextSelection.near(tr.doc.resolve(Math.max(0, tr.selection.from - 2))));\n }\n // store meta information\n // this is useful for other plugins that depends on the paste event\n // like the paste rule plugin\n tr.setMeta('paste', true);\n view.dispatch(tr);\n return true;\n },\n },\n }),\n ];\n },\n});\n\nexport { CodeBlock, backtickInputRegex, CodeBlock as default, tildeInputRegex };\n//# sourceMappingURL=index.js.map\n"],"names":["backtickInputRegex","tildeInputRegex","CodeBlock","Node","element","_a","languageClassPrefix","language","className","node","HTMLAttributes","mergeAttributes","attributes","commands","empty","$anchor","isAtStart","editor","state","selection","$from","isAtEnd","endsWithDoubleNewline","tr","doc","after","Selection","textblockTypeInputRule","match","Plugin","PluginKey","view","event","text","vscode","vscodeData","schema","textNode","TextSelection"],"mappings":"oNAMK,MAACA,EAAqB,uBAIrBC,EAAkB,uBAKlBC,EAAYC,EAAK,OAAO,CAC1B,KAAM,YACN,YAAa,CACT,MAAO,CACH,oBAAqB,YACrB,kBAAmB,GACnB,gBAAiB,GACjB,gBAAiB,KACjB,eAAgB,CAAA,CAC5B,CACI,EACA,QAAS,QACT,MAAO,GACP,MAAO,QACP,KAAM,GACN,SAAU,GACV,eAAgB,CACZ,MAAO,CACH,SAAU,CACN,QAAS,KAAK,QAAQ,gBACtB,UAAWC,GAAW,CAClB,IAAIC,EACJ,KAAM,CAAE,oBAAAC,GAAwB,KAAK,QAK/BC,EAJa,CAAC,KAAMF,EAAKD,EAAQ,qBAAuB,MAAQC,IAAO,OAAS,OAASA,EAAG,YAAc,CAAA,CAAG,EAE9G,OAAOG,GAAaA,EAAU,WAAWF,CAAmB,CAAC,EAC7D,IAAIE,GAAaA,EAAU,QAAQF,EAAqB,EAAE,CAAC,EACrC,CAAC,EAC5B,OAAKC,GACM,IAGf,EACA,SAAU,EAC1B,CACA,CACI,EACA,WAAY,CACR,MAAO,CACH,CACI,IAAK,MACL,mBAAoB,MACpC,CACA,CACI,EACA,WAAW,CAAE,KAAAE,EAAM,eAAAC,GAAkB,CACjC,MAAO,CACH,MACAC,EAAgB,KAAK,QAAQ,eAAgBD,CAAc,EAC3D,CACI,OACA,CACI,MAAOD,EAAK,MAAM,SACZ,KAAK,QAAQ,oBAAsBA,EAAK,MAAM,SAC9C,IAC1B,EACgB,CAChB,CACA,CACI,EACA,aAAc,CACV,MAAO,CACH,aAAcG,GAAc,CAAC,CAAE,SAAAC,KACpBA,EAAS,QAAQ,KAAK,KAAMD,CAAU,EAEjD,gBAAiBA,GAAc,CAAC,CAAE,SAAAC,KACvBA,EAAS,WAAW,KAAK,KAAM,YAAaD,CAAU,CAE7E,CACI,EACA,sBAAuB,CACnB,MAAO,CACH,YAAa,IAAM,KAAK,OAAO,SAAS,gBAAe,EAEvD,UAAW,IAAM,CACb,KAAM,CAAE,MAAAE,EAAO,QAAAC,CAAO,EAAK,KAAK,OAAO,MAAM,UACvCC,EAAYD,EAAQ,MAAQ,EAClC,MAAI,CAACD,GAASC,EAAQ,OAAO,KAAK,OAAS,KAAK,KACrC,GAEPC,GAAa,CAACD,EAAQ,OAAO,YAAY,OAClC,KAAK,OAAO,SAAS,WAAU,EAEnC,EACX,EAEA,MAAO,CAAC,CAAE,OAAAE,KAAa,CACnB,GAAI,CAAC,KAAK,QAAQ,kBACd,MAAO,GAEX,KAAM,CAAE,MAAAC,CAAK,EAAKD,EACZ,CAAE,UAAAE,CAAS,EAAKD,EAChB,CAAE,MAAAE,EAAO,MAAAN,CAAK,EAAKK,EACzB,GAAI,CAACL,GAASM,EAAM,OAAO,OAAS,KAAK,KACrC,MAAO,GAEX,MAAMC,EAAUD,EAAM,eAAiBA,EAAM,OAAO,SAAW,EACzDE,EAAwBF,EAAM,OAAO,YAAY,SAAS;AAAA;AAAA,CAAM,EACtE,MAAI,CAACC,GAAW,CAACC,EACN,GAEJL,EACF,MAAK,EACL,QAAQ,CAAC,CAAE,GAAAM,MACZA,EAAG,OAAOH,EAAM,IAAM,EAAGA,EAAM,GAAG,EAC3B,GACV,EACI,SAAQ,EACR,IAAG,CACZ,EAEA,UAAW,CAAC,CAAE,OAAAH,KAAa,CACvB,GAAI,CAAC,KAAK,QAAQ,gBACd,MAAO,GAEX,KAAM,CAAE,MAAAC,CAAK,EAAKD,EACZ,CAAE,UAAAE,EAAW,IAAAK,CAAG,EAAKN,EACrB,CAAE,MAAAE,EAAO,MAAAN,CAAK,EAAKK,EAKzB,GAJI,CAACL,GAASM,EAAM,OAAO,OAAS,KAAK,MAIrC,EADYA,EAAM,eAAiBA,EAAM,OAAO,SAAW,GAE3D,MAAO,GAEX,MAAMK,EAAQL,EAAM,MAAK,EACzB,OAAIK,IAAU,OACH,GAEOD,EAAI,OAAOC,CAAK,EAEvBR,EAAO,SAAS,QAAQ,CAAC,CAAE,GAAAM,CAAE,KAChCA,EAAG,aAAaG,EAAU,KAAKF,EAAI,QAAQC,CAAK,CAAC,CAAC,EAC3C,GACV,EAEER,EAAO,SAAS,SAAQ,CACnC,CACZ,CACI,EACA,eAAgB,CACZ,MAAO,CACHU,EAAuB,CACnB,KAAM3B,EACN,KAAM,KAAK,KACX,cAAe4B,IAAU,CACrB,SAAUA,EAAM,CAAC,CACrC,EACA,CAAa,EACDD,EAAuB,CACnB,KAAM1B,EACN,KAAM,KAAK,KACX,cAAe2B,IAAU,CACrB,SAAUA,EAAM,CAAC,CACrC,EACA,CAAa,CACb,CACI,EACA,uBAAwB,CACpB,MAAO,CAGH,IAAIC,EAAO,CACP,IAAK,IAAIC,EAAU,wBAAwB,EAC3C,MAAO,CACH,YAAa,CAACC,EAAMC,IAAU,CAK1B,GAJI,CAACA,EAAM,eAIP,KAAK,OAAO,SAAS,KAAK,KAAK,IAAI,EACnC,MAAO,GAEX,MAAMC,EAAOD,EAAM,cAAc,QAAQ,YAAY,EAC/CE,EAASF,EAAM,cAAc,QAAQ,oBAAoB,EACzDG,EAAaD,EAAS,KAAK,MAAMA,CAAM,EAAI,OAC3C3B,EAAW4B,GAAe,KAAgC,OAASA,EAAW,KACpF,GAAI,CAACF,GAAQ,CAAC1B,EACV,MAAO,GAEX,KAAM,CAAE,GAAAgB,EAAI,OAAAa,CAAM,EAAKL,EAAK,MAItBM,EAAWD,EAAO,KAAKH,EAAK,QAAQ,SAAU;AAAA,CAAI,CAAC,EAGzD,OAAAV,EAAG,qBAAqB,KAAK,KAAK,OAAO,CAAE,SAAAhB,CAAQ,EAAI8B,CAAQ,CAAC,EAC5Dd,EAAG,UAAU,MAAM,OAAO,OAAS,KAAK,MAExCA,EAAG,aAAae,EAAc,KAAKf,EAAG,IAAI,QAAQ,KAAK,IAAI,EAAGA,EAAG,UAAU,KAAO,CAAC,CAAC,CAAC,CAAC,EAK1FA,EAAG,QAAQ,QAAS,EAAI,EACxBQ,EAAK,SAASR,CAAE,EACT,EACX,CACpB,CACA,CAAa,CACb,CACI,CACJ,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-color/dist/index.js"],"sourcesContent":["import '@tiptap/extension-text-style';\nimport { Extension } from '@tiptap/core';\n\n/**\n * This extension allows you to color your text.\n * @see https://tiptap.dev/api/extensions/color\n */\nconst Color = Extension.create({\n name: 'color',\n addOptions() {\n return {\n types: ['textStyle'],\n };\n },\n addGlobalAttributes() {\n return [\n {\n types: this.options.types,\n attributes: {\n color: {\n default: null,\n parseHTML: element => { var _a; return (_a = element.style.color) === null || _a === void 0 ? void 0 : _a.replace(/['\"]+/g, ''); },\n renderHTML: attributes => {\n if (!attributes.color) {\n return {};\n }\n return {\n style: `color: ${attributes.color}`,\n };\n },\n },\n },\n },\n ];\n },\n addCommands() {\n return {\n setColor: color => ({ chain }) => {\n return chain()\n .setMark('textStyle', { color })\n .run();\n },\n unsetColor: () => ({ chain }) => {\n return chain()\n .setMark('textStyle', { color: null })\n .removeEmptyTextStyle()\n .run();\n },\n };\n },\n});\n\nexport { Color, Color as default };\n//# sourceMappingURL=index.js.map\n"],"names":["Color","Extension","element","_a","attributes","color","chain"],"mappings":"sGAOK,MAACA,EAAQC,EAAU,OAAO,CAC3B,KAAM,QACN,YAAa,CACT,MAAO,CACH,MAAO,CAAC,WAAW,CAC/B,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-color/dist/index.js"],"sourcesContent":["import '@tiptap/extension-text-style';\nimport { Extension } from '@tiptap/core';\n\n/**\n * This extension allows you to color your text.\n * @see https://tiptap.dev/api/extensions/color\n */\nconst Color = Extension.create({\n name: 'color',\n addOptions() {\n return {\n types: ['textStyle'],\n };\n },\n addGlobalAttributes() {\n return [\n {\n types: this.options.types,\n attributes: {\n color: {\n default: null,\n parseHTML: element => { var _a; return (_a = element.style.color) === null || _a === void 0 ? void 0 : _a.replace(/['\"]+/g, ''); },\n renderHTML: attributes => {\n if (!attributes.color) {\n return {};\n }\n return {\n style: `color: ${attributes.color}`,\n };\n },\n },\n },\n },\n ];\n },\n addCommands() {\n return {\n setColor: color => ({ chain }) => {\n return chain()\n .setMark('textStyle', { color })\n .run();\n },\n unsetColor: () => ({ chain }) => {\n return chain()\n .setMark('textStyle', { color: null })\n .removeEmptyTextStyle()\n .run();\n },\n };\n },\n});\n\nexport { Color, Color as default };\n//# sourceMappingURL=index.js.map\n"],"names":["Color","Extension","element","_a","attributes","color","chain"],"mappings":"sGAOK,MAACA,EAAQC,EAAU,OAAO,CAC3B,KAAM,QACN,YAAa,CACT,MAAO,CACH,MAAO,CAAC,WAAW,CAC/B,CACI,EACA,qBAAsB,CAClB,MAAO,CACH,CACI,MAAO,KAAK,QAAQ,MACpB,WAAY,CACR,MAAO,CACH,QAAS,KACT,UAAWC,GAAW,CAAE,IAAIC,EAAI,OAAQA,EAAKD,EAAQ,MAAM,SAAW,MAAQC,IAAO,OAAS,OAASA,EAAG,QAAQ,SAAU,EAAE,CAAG,EACjI,WAAYC,GACHA,EAAW,MAGT,CACH,MAAO,UAAUA,EAAW,KAAK,EACjE,EAJuC,CAAA,CAMvC,CACA,CACA,CACA,CACI,EACA,aAAc,CACV,MAAO,CACH,SAAUC,GAAS,CAAC,CAAE,MAAAC,KACXA,EAAK,EACP,QAAQ,YAAa,CAAE,MAAAD,CAAK,CAAE,EAC9B,IAAG,EAEZ,WAAY,IAAM,CAAC,CAAE,MAAAC,KACVA,EAAK,EACP,QAAQ,YAAa,CAAE,MAAO,IAAI,CAAE,EACpC,qBAAoB,EACpB,IAAG,CAExB,CACI,CACJ,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-dropcursor/dist/index.js"],"sourcesContent":["import { Extension } from '@tiptap/core';\nimport { dropCursor } from '@tiptap/pm/dropcursor';\n\n/**\n * This extension allows you to add a drop cursor to your editor.\n * A drop cursor is a line that appears when you drag and drop content\n * inbetween nodes.\n * @see https://tiptap.dev/api/extensions/dropcursor\n */\nconst Dropcursor = Extension.create({\n name: 'dropCursor',\n addOptions() {\n return {\n color: 'currentColor',\n width: 1,\n class: undefined,\n };\n },\n addProseMirrorPlugins() {\n return [\n dropCursor(this.options),\n ];\n },\n});\n\nexport { Dropcursor, Dropcursor as default };\n//# sourceMappingURL=index.js.map\n"],"names":["Dropcursor","Extension","dropCursor"],"mappings":"gIASK,MAACA,EAAaC,EAAU,OAAO,CAChC,KAAM,aACN,YAAa,CACT,MAAO,CACH,MAAO,eACP,MAAO,EACP,MAAO,MACnB,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-dropcursor/dist/index.js"],"sourcesContent":["import { Extension } from '@tiptap/core';\nimport { dropCursor } from '@tiptap/pm/dropcursor';\n\n/**\n * This extension allows you to add a drop cursor to your editor.\n * A drop cursor is a line that appears when you drag and drop content\n * inbetween nodes.\n * @see https://tiptap.dev/api/extensions/dropcursor\n */\nconst Dropcursor = Extension.create({\n name: 'dropCursor',\n addOptions() {\n return {\n color: 'currentColor',\n width: 1,\n class: undefined,\n };\n },\n addProseMirrorPlugins() {\n return [\n dropCursor(this.options),\n ];\n },\n});\n\nexport { Dropcursor, Dropcursor as default };\n//# sourceMappingURL=index.js.map\n"],"names":["Dropcursor","Extension","dropCursor"],"mappings":"gIASK,MAACA,EAAaC,EAAU,OAAO,CAChC,KAAM,aACN,YAAa,CACT,MAAO,CACH,MAAO,eACP,MAAO,EACP,MAAO,MACnB,CACI,EACA,uBAAwB,CACpB,MAAO,CACHC,EAAW,KAAK,OAAO,CACnC,CACI,CACJ,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-gapcursor/dist/index.js"],"sourcesContent":["import { Extension, callOrReturn, getExtensionField } from '@tiptap/core';\nimport { gapCursor } from '@tiptap/pm/gapcursor';\n\n/**\n * This extension allows you to add a gap cursor to your editor.\n * A gap cursor is a cursor that appears when you click on a place\n * where no content is present, for example inbetween nodes.\n * @see https://tiptap.dev/api/extensions/gapcursor\n */\nconst Gapcursor = Extension.create({\n name: 'gapCursor',\n addProseMirrorPlugins() {\n return [\n gapCursor(),\n ];\n },\n extendNodeSchema(extension) {\n var _a;\n const context = {\n name: extension.name,\n options: extension.options,\n storage: extension.storage,\n };\n return {\n allowGapCursor: (_a = callOrReturn(getExtensionField(extension, 'allowGapCursor', context))) !== null && _a !== void 0 ? _a : null,\n };\n },\n});\n\nexport { Gapcursor, Gapcursor as default };\n//# sourceMappingURL=index.js.map\n"],"names":["Gapcursor","Extension","gapCursor","extension","_a","context","callOrReturn","getExtensionField"],"mappings":"uKASK,MAACA,EAAYC,EAAU,OAAO,CAC/B,KAAM,YACN,uBAAwB,CACpB,MAAO,CACHC,EAAS,CACrB,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-gapcursor/dist/index.js"],"sourcesContent":["import { Extension, callOrReturn, getExtensionField } from '@tiptap/core';\nimport { gapCursor } from '@tiptap/pm/gapcursor';\n\n/**\n * This extension allows you to add a gap cursor to your editor.\n * A gap cursor is a cursor that appears when you click on a place\n * where no content is present, for example inbetween nodes.\n * @see https://tiptap.dev/api/extensions/gapcursor\n */\nconst Gapcursor = Extension.create({\n name: 'gapCursor',\n addProseMirrorPlugins() {\n return [\n gapCursor(),\n ];\n },\n extendNodeSchema(extension) {\n var _a;\n const context = {\n name: extension.name,\n options: extension.options,\n storage: extension.storage,\n };\n return {\n allowGapCursor: (_a = callOrReturn(getExtensionField(extension, 'allowGapCursor', context))) !== null && _a !== void 0 ? _a : null,\n };\n },\n});\n\nexport { Gapcursor, Gapcursor as default };\n//# sourceMappingURL=index.js.map\n"],"names":["Gapcursor","Extension","gapCursor","extension","_a","context","callOrReturn","getExtensionField"],"mappings":"uKASK,MAACA,EAAYC,EAAU,OAAO,CAC/B,KAAM,YACN,uBAAwB,CACpB,MAAO,CACHC,EAAS,CACrB,CACI,EACA,iBAAiBC,EAAW,CACxB,IAAIC,EACJ,MAAMC,EAAU,CACZ,KAAMF,EAAU,KAChB,QAASA,EAAU,QACnB,QAASA,EAAU,OAC/B,EACQ,MAAO,CACH,gBAAiBC,EAAKE,EAAaC,EAAkBJ,EAAW,iBAAkBE,CAAO,CAAC,KAAO,MAAQD,IAAO,OAASA,EAAK,IAC1I,CACI,CACJ,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-hard-break/dist/index.js"],"sourcesContent":["import { Node, mergeAttributes } from '@tiptap/core';\n\n/**\n * This extension allows you to insert hard breaks.\n * @see https://www.tiptap.dev/api/nodes/hard-break\n */\nconst HardBreak = Node.create({\n name: 'hardBreak',\n addOptions() {\n return {\n keepMarks: true,\n HTMLAttributes: {},\n };\n },\n inline: true,\n group: 'inline',\n selectable: false,\n linebreakReplacement: true,\n parseHTML() {\n return [\n { tag: 'br' },\n ];\n },\n renderHTML({ HTMLAttributes }) {\n return ['br', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes)];\n },\n renderText() {\n return '\\n';\n },\n addCommands() {\n return {\n setHardBreak: () => ({ commands, chain, state, editor, }) => {\n return commands.first([\n () => commands.exitCode(),\n () => commands.command(() => {\n const { selection, storedMarks } = state;\n if (selection.$from.parent.type.spec.isolating) {\n return false;\n }\n const { keepMarks } = this.options;\n const { splittableMarks } = editor.extensionManager;\n const marks = storedMarks\n || (selection.$to.parentOffset && selection.$from.marks());\n return chain()\n .insertContent({ type: this.name })\n .command(({ tr, dispatch }) => {\n if (dispatch && marks && keepMarks) {\n const filteredMarks = marks\n .filter(mark => splittableMarks.includes(mark.type.name));\n tr.ensureMarks(filteredMarks);\n }\n return true;\n })\n .run();\n }),\n ]);\n },\n };\n },\n addKeyboardShortcuts() {\n return {\n 'Mod-Enter': () => this.editor.commands.setHardBreak(),\n 'Shift-Enter': () => this.editor.commands.setHardBreak(),\n };\n },\n});\n\nexport { HardBreak, HardBreak as default };\n//# sourceMappingURL=index.js.map\n"],"names":["HardBreak","Node","HTMLAttributes","mergeAttributes","commands","chain","state","editor","selection","storedMarks","keepMarks","splittableMarks","marks","tr","dispatch","filteredMarks","mark"],"mappings":"qEAMK,MAACA,EAAYC,EAAK,OAAO,CAC1B,KAAM,YACN,YAAa,CACT,MAAO,CACH,UAAW,GACX,eAAgB,CAAA,CAC5B,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-hard-break/dist/index.js"],"sourcesContent":["import { Node, mergeAttributes } from '@tiptap/core';\n\n/**\n * This extension allows you to insert hard breaks.\n * @see https://www.tiptap.dev/api/nodes/hard-break\n */\nconst HardBreak = Node.create({\n name: 'hardBreak',\n addOptions() {\n return {\n keepMarks: true,\n HTMLAttributes: {},\n };\n },\n inline: true,\n group: 'inline',\n selectable: false,\n linebreakReplacement: true,\n parseHTML() {\n return [\n { tag: 'br' },\n ];\n },\n renderHTML({ HTMLAttributes }) {\n return ['br', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes)];\n },\n renderText() {\n return '\\n';\n },\n addCommands() {\n return {\n setHardBreak: () => ({ commands, chain, state, editor, }) => {\n return commands.first([\n () => commands.exitCode(),\n () => commands.command(() => {\n const { selection, storedMarks } = state;\n if (selection.$from.parent.type.spec.isolating) {\n return false;\n }\n const { keepMarks } = this.options;\n const { splittableMarks } = editor.extensionManager;\n const marks = storedMarks\n || (selection.$to.parentOffset && selection.$from.marks());\n return chain()\n .insertContent({ type: this.name })\n .command(({ tr, dispatch }) => {\n if (dispatch && marks && keepMarks) {\n const filteredMarks = marks\n .filter(mark => splittableMarks.includes(mark.type.name));\n tr.ensureMarks(filteredMarks);\n }\n return true;\n })\n .run();\n }),\n ]);\n },\n };\n },\n addKeyboardShortcuts() {\n return {\n 'Mod-Enter': () => this.editor.commands.setHardBreak(),\n 'Shift-Enter': () => this.editor.commands.setHardBreak(),\n };\n },\n});\n\nexport { HardBreak, HardBreak as default };\n//# sourceMappingURL=index.js.map\n"],"names":["HardBreak","Node","HTMLAttributes","mergeAttributes","commands","chain","state","editor","selection","storedMarks","keepMarks","splittableMarks","marks","tr","dispatch","filteredMarks","mark"],"mappings":"qEAMK,MAACA,EAAYC,EAAK,OAAO,CAC1B,KAAM,YACN,YAAa,CACT,MAAO,CACH,UAAW,GACX,eAAgB,CAAA,CAC5B,CACI,EACA,OAAQ,GACR,MAAO,SACP,WAAY,GACZ,qBAAsB,GACtB,WAAY,CACR,MAAO,CACH,CAAE,IAAK,IAAI,CACvB,CACI,EACA,WAAW,CAAE,eAAAC,GAAkB,CAC3B,MAAO,CAAC,KAAMC,EAAgB,KAAK,QAAQ,eAAgBD,CAAc,CAAC,CAC9E,EACA,YAAa,CACT,MAAO;AAAA,CACX,EACA,aAAc,CACV,MAAO,CACH,aAAc,IAAM,CAAC,CAAE,SAAAE,EAAU,MAAAC,EAAO,MAAAC,EAAO,OAAAC,KACpCH,EAAS,MAAM,CAClB,IAAMA,EAAS,SAAQ,EACvB,IAAMA,EAAS,QAAQ,IAAM,CACzB,KAAM,CAAE,UAAAI,EAAW,YAAAC,CAAW,EAAKH,EACnC,GAAIE,EAAU,MAAM,OAAO,KAAK,KAAK,UACjC,MAAO,GAEX,KAAM,CAAE,UAAAE,GAAc,KAAK,QACrB,CAAE,gBAAAC,GAAoBJ,EAAO,iBAC7BK,EAAQH,GACND,EAAU,IAAI,cAAgBA,EAAU,MAAM,MAAK,EAC3D,OAAOH,EAAK,EACP,cAAc,CAAE,KAAM,KAAK,IAAI,CAAE,EACjC,QAAQ,CAAC,CAAE,GAAAQ,EAAI,SAAAC,KAAe,CAC/B,GAAIA,GAAYF,GAASF,EAAW,CAChC,MAAMK,EAAgBH,EACjB,OAAOI,GAAQL,EAAgB,SAASK,EAAK,KAAK,IAAI,CAAC,EAC5DH,EAAG,YAAYE,CAAa,CAChC,CACA,MAAO,EACX,CAAC,EACI,IAAG,CACZ,CAAC,CACrB,CAAiB,CAEjB,CACI,EACA,sBAAuB,CACnB,MAAO,CACH,YAAa,IAAM,KAAK,OAAO,SAAS,aAAY,EACpD,cAAe,IAAM,KAAK,OAAO,SAAS,aAAY,CAClE,CACI,CACJ,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-heading/dist/index.js"],"sourcesContent":["import { Node, mergeAttributes, textblockTypeInputRule } from '@tiptap/core';\n\n/**\n * This extension allows you to create headings.\n * @see https://www.tiptap.dev/api/nodes/heading\n */\nconst Heading = Node.create({\n name: 'heading',\n addOptions() {\n return {\n levels: [1, 2, 3, 4, 5, 6],\n HTMLAttributes: {},\n };\n },\n content: 'inline*',\n group: 'block',\n defining: true,\n addAttributes() {\n return {\n level: {\n default: 1,\n rendered: false,\n },\n };\n },\n parseHTML() {\n return this.options.levels\n .map((level) => ({\n tag: `h${level}`,\n attrs: { level },\n }));\n },\n renderHTML({ node, HTMLAttributes }) {\n const hasLevel = this.options.levels.includes(node.attrs.level);\n const level = hasLevel\n ? node.attrs.level\n : this.options.levels[0];\n return [`h${level}`, mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n addCommands() {\n return {\n setHeading: attributes => ({ commands }) => {\n if (!this.options.levels.includes(attributes.level)) {\n return false;\n }\n return commands.setNode(this.name, attributes);\n },\n toggleHeading: attributes => ({ commands }) => {\n if (!this.options.levels.includes(attributes.level)) {\n return false;\n }\n return commands.toggleNode(this.name, 'paragraph', attributes);\n },\n };\n },\n addKeyboardShortcuts() {\n return this.options.levels.reduce((items, level) => ({\n ...items,\n ...{\n [`Mod-Alt-${level}`]: () => this.editor.commands.toggleHeading({ level }),\n },\n }), {});\n },\n addInputRules() {\n return this.options.levels.map(level => {\n return textblockTypeInputRule({\n find: new RegExp(`^(#{${Math.min(...this.options.levels)},${level}})\\\\s$`),\n type: this.type,\n getAttributes: {\n level,\n },\n });\n });\n },\n});\n\nexport { Heading, Heading as default };\n//# sourceMappingURL=index.js.map\n"],"names":["Heading","Node","level","node","HTMLAttributes","mergeAttributes","attributes","commands","items","textblockTypeInputRule"],"mappings":"iGAMK,MAACA,EAAUC,EAAK,OAAO,CACxB,KAAM,UACN,YAAa,CACT,MAAO,CACH,OAAQ,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EACzB,eAAgB,CAAA,CAC5B,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-heading/dist/index.js"],"sourcesContent":["import { Node, mergeAttributes, textblockTypeInputRule } from '@tiptap/core';\n\n/**\n * This extension allows you to create headings.\n * @see https://www.tiptap.dev/api/nodes/heading\n */\nconst Heading = Node.create({\n name: 'heading',\n addOptions() {\n return {\n levels: [1, 2, 3, 4, 5, 6],\n HTMLAttributes: {},\n };\n },\n content: 'inline*',\n group: 'block',\n defining: true,\n addAttributes() {\n return {\n level: {\n default: 1,\n rendered: false,\n },\n };\n },\n parseHTML() {\n return this.options.levels\n .map((level) => ({\n tag: `h${level}`,\n attrs: { level },\n }));\n },\n renderHTML({ node, HTMLAttributes }) {\n const hasLevel = this.options.levels.includes(node.attrs.level);\n const level = hasLevel\n ? node.attrs.level\n : this.options.levels[0];\n return [`h${level}`, mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n addCommands() {\n return {\n setHeading: attributes => ({ commands }) => {\n if (!this.options.levels.includes(attributes.level)) {\n return false;\n }\n return commands.setNode(this.name, attributes);\n },\n toggleHeading: attributes => ({ commands }) => {\n if (!this.options.levels.includes(attributes.level)) {\n return false;\n }\n return commands.toggleNode(this.name, 'paragraph', attributes);\n },\n };\n },\n addKeyboardShortcuts() {\n return this.options.levels.reduce((items, level) => ({\n ...items,\n ...{\n [`Mod-Alt-${level}`]: () => this.editor.commands.toggleHeading({ level }),\n },\n }), {});\n },\n addInputRules() {\n return this.options.levels.map(level => {\n return textblockTypeInputRule({\n find: new RegExp(`^(#{${Math.min(...this.options.levels)},${level}})\\\\s$`),\n type: this.type,\n getAttributes: {\n level,\n },\n });\n });\n },\n});\n\nexport { Heading, Heading as default };\n//# sourceMappingURL=index.js.map\n"],"names":["Heading","Node","level","node","HTMLAttributes","mergeAttributes","attributes","commands","items","textblockTypeInputRule"],"mappings":"iGAMK,MAACA,EAAUC,EAAK,OAAO,CACxB,KAAM,UACN,YAAa,CACT,MAAO,CACH,OAAQ,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EACzB,eAAgB,CAAA,CAC5B,CACI,EACA,QAAS,UACT,MAAO,QACP,SAAU,GACV,eAAgB,CACZ,MAAO,CACH,MAAO,CACH,QAAS,EACT,SAAU,EAC1B,CACA,CACI,EACA,WAAY,CACR,OAAO,KAAK,QAAQ,OACf,IAAKC,IAAW,CACjB,IAAK,IAAIA,CAAK,GACd,MAAO,CAAE,MAAAA,CAAK,CAC1B,EAAU,CACN,EACA,WAAW,CAAE,KAAAC,EAAM,eAAAC,GAAkB,CAKjC,MAAO,CAAC,IAJS,KAAK,QAAQ,OAAO,SAASD,EAAK,MAAM,KAAK,EAExDA,EAAK,MAAM,MACX,KAAK,QAAQ,OAAO,CAAC,CACV,GAAIE,EAAgB,KAAK,QAAQ,eAAgBD,CAAc,EAAG,CAAC,CACxF,EACA,aAAc,CACV,MAAO,CACH,WAAYE,GAAc,CAAC,CAAE,SAAAC,KACpB,KAAK,QAAQ,OAAO,SAASD,EAAW,KAAK,EAG3CC,EAAS,QAAQ,KAAK,KAAMD,CAAU,EAFlC,GAIf,cAAeA,GAAc,CAAC,CAAE,SAAAC,KACvB,KAAK,QAAQ,OAAO,SAASD,EAAW,KAAK,EAG3CC,EAAS,WAAW,KAAK,KAAM,YAAaD,CAAU,EAFlD,EAI3B,CACI,EACA,sBAAuB,CACnB,OAAO,KAAK,QAAQ,OAAO,OAAO,CAACE,EAAON,KAAW,CACjD,GAAGM,EAEC,CAAC,WAAWN,CAAK,EAAE,EAAG,IAAM,KAAK,OAAO,SAAS,cAAc,CAAE,MAAAA,EAAO,CAExF,GAAY,CAAA,CAAE,CACV,EACA,eAAgB,CACZ,OAAO,KAAK,QAAQ,OAAO,IAAIA,GACpBO,EAAuB,CAC1B,KAAM,IAAI,OAAO,OAAO,KAAK,IAAI,GAAG,KAAK,QAAQ,MAAM,CAAC,IAAIP,CAAK,QAAQ,EACzE,KAAM,KAAK,KACX,cAAe,CACX,MAAAA,CACpB,CACA,CAAa,CACJ,CACL,CACJ,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-history/dist/index.js"],"sourcesContent":["import { Extension } from '@tiptap/core';\nimport { undo, redo, history } from '@tiptap/pm/history';\n\n/**\n * This extension allows you to undo and redo recent changes.\n * @see https://www.tiptap.dev/api/extensions/history\n *\n * **Important**: If the `@tiptap/extension-collaboration` package is used, make sure to remove\n * the `history` extension, as it is not compatible with the `collaboration` extension.\n *\n * `@tiptap/extension-collaboration` uses its own history implementation.\n */\nconst History = Extension.create({\n name: 'history',\n addOptions() {\n return {\n depth: 100,\n newGroupDelay: 500,\n };\n },\n addCommands() {\n return {\n undo: () => ({ state, dispatch }) => {\n return undo(state, dispatch);\n },\n redo: () => ({ state, dispatch }) => {\n return redo(state, dispatch);\n },\n };\n },\n addProseMirrorPlugins() {\n return [\n history(this.options),\n ];\n },\n addKeyboardShortcuts() {\n return {\n 'Mod-z': () => this.editor.commands.undo(),\n 'Shift-Mod-z': () => this.editor.commands.redo(),\n 'Mod-y': () => this.editor.commands.redo(),\n // Russian keyboard layouts\n 'Mod-я': () => this.editor.commands.undo(),\n 'Shift-Mod-я': () => this.editor.commands.redo(),\n };\n },\n});\n\nexport { History, History as default };\n//# sourceMappingURL=index.js.map\n"],"names":["History","Extension","state","dispatch","undo","redo","history"],"mappings":"8IAYK,MAACA,EAAUC,EAAU,OAAO,CAC7B,KAAM,UACN,YAAa,CACT,MAAO,CACH,MAAO,IACP,cAAe,GAC3B,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-history/dist/index.js"],"sourcesContent":["import { Extension } from '@tiptap/core';\nimport { undo, redo, history } from '@tiptap/pm/history';\n\n/**\n * This extension allows you to undo and redo recent changes.\n * @see https://www.tiptap.dev/api/extensions/history\n *\n * **Important**: If the `@tiptap/extension-collaboration` package is used, make sure to remove\n * the `history` extension, as it is not compatible with the `collaboration` extension.\n *\n * `@tiptap/extension-collaboration` uses its own history implementation.\n */\nconst History = Extension.create({\n name: 'history',\n addOptions() {\n return {\n depth: 100,\n newGroupDelay: 500,\n };\n },\n addCommands() {\n return {\n undo: () => ({ state, dispatch }) => {\n return undo(state, dispatch);\n },\n redo: () => ({ state, dispatch }) => {\n return redo(state, dispatch);\n },\n };\n },\n addProseMirrorPlugins() {\n return [\n history(this.options),\n ];\n },\n addKeyboardShortcuts() {\n return {\n 'Mod-z': () => this.editor.commands.undo(),\n 'Shift-Mod-z': () => this.editor.commands.redo(),\n 'Mod-y': () => this.editor.commands.redo(),\n // Russian keyboard layouts\n 'Mod-я': () => this.editor.commands.undo(),\n 'Shift-Mod-я': () => this.editor.commands.redo(),\n };\n },\n});\n\nexport { History, History as default };\n//# sourceMappingURL=index.js.map\n"],"names":["History","Extension","state","dispatch","undo","redo","history"],"mappings":"8IAYK,MAACA,EAAUC,EAAU,OAAO,CAC7B,KAAM,UACN,YAAa,CACT,MAAO,CACH,MAAO,IACP,cAAe,GAC3B,CACI,EACA,aAAc,CACV,MAAO,CACH,KAAM,IAAM,CAAC,CAAE,MAAAC,EAAO,SAAAC,CAAQ,IACnBC,EAAKF,EAAOC,CAAQ,EAE/B,KAAM,IAAM,CAAC,CAAE,MAAAD,EAAO,SAAAC,CAAQ,IACnBE,EAAKH,EAAOC,CAAQ,CAE3C,CACI,EACA,uBAAwB,CACpB,MAAO,CACHG,EAAQ,KAAK,OAAO,CAChC,CACI,EACA,sBAAuB,CACnB,MAAO,CACH,QAAS,IAAM,KAAK,OAAO,SAAS,KAAI,EACxC,cAAe,IAAM,KAAK,OAAO,SAAS,KAAI,EAC9C,QAAS,IAAM,KAAK,OAAO,SAAS,KAAI,EAExC,QAAS,IAAM,KAAK,OAAO,SAAS,KAAI,EACxC,cAAe,IAAM,KAAK,OAAO,SAAS,KAAI,CAC1D,CACI,CACJ,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-horizontal-rule/dist/index.js"],"sourcesContent":["import { Node, mergeAttributes, canInsertNode, isNodeSelection, nodeInputRule } from '@tiptap/core';\nimport { TextSelection, NodeSelection } from '@tiptap/pm/state';\n\n/**\n * This extension allows you to insert horizontal rules.\n * @see https://www.tiptap.dev/api/nodes/horizontal-rule\n */\nconst HorizontalRule = Node.create({\n name: 'horizontalRule',\n addOptions() {\n return {\n HTMLAttributes: {},\n };\n },\n group: 'block',\n parseHTML() {\n return [{ tag: 'hr' }];\n },\n renderHTML({ HTMLAttributes }) {\n return ['hr', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes)];\n },\n addCommands() {\n return {\n setHorizontalRule: () => ({ chain, state }) => {\n // Check if we can insert the node at the current selection\n if (!canInsertNode(state, state.schema.nodes[this.name])) {\n return false;\n }\n const { selection } = state;\n const { $from: $originFrom, $to: $originTo } = selection;\n const currentChain = chain();\n if ($originFrom.parentOffset === 0) {\n currentChain.insertContentAt({\n from: Math.max($originFrom.pos - 1, 0),\n to: $originTo.pos,\n }, {\n type: this.name,\n });\n }\n else if (isNodeSelection(selection)) {\n currentChain.insertContentAt($originTo.pos, {\n type: this.name,\n });\n }\n else {\n currentChain.insertContent({ type: this.name });\n }\n return (currentChain\n // set cursor after horizontal rule\n .command(({ tr, dispatch }) => {\n var _a;\n if (dispatch) {\n const { $to } = tr.selection;\n const posAfter = $to.end();\n if ($to.nodeAfter) {\n if ($to.nodeAfter.isTextblock) {\n tr.setSelection(TextSelection.create(tr.doc, $to.pos + 1));\n }\n else if ($to.nodeAfter.isBlock) {\n tr.setSelection(NodeSelection.create(tr.doc, $to.pos));\n }\n else {\n tr.setSelection(TextSelection.create(tr.doc, $to.pos));\n }\n }\n else {\n // add node after horizontal rule if it’s the end of the document\n const node = (_a = $to.parent.type.contentMatch.defaultType) === null || _a === void 0 ? void 0 : _a.create();\n if (node) {\n tr.insert(posAfter, node);\n tr.setSelection(TextSelection.create(tr.doc, posAfter + 1));\n }\n }\n tr.scrollIntoView();\n }\n return true;\n })\n .run());\n },\n };\n },\n addInputRules() {\n return [\n nodeInputRule({\n find: /^(?:---|—-|___\\s|\\*\\*\\*\\s)$/,\n type: this.type,\n }),\n ];\n },\n});\n\nexport { HorizontalRule, HorizontalRule as default };\n//# sourceMappingURL=index.js.map\n"],"names":["HorizontalRule","Node","HTMLAttributes","mergeAttributes","chain","state","canInsertNode","selection","$originFrom","$originTo","currentChain","isNodeSelection","tr","dispatch","_a","$to","posAfter","TextSelection","NodeSelection","node","nodeInputRule"],"mappings":"4NAOK,MAACA,EAAiBC,EAAK,OAAO,CAC/B,KAAM,iBACN,YAAa,CACT,MAAO,CACH,eAAgB,CAAA,CAC5B,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-horizontal-rule/dist/index.js"],"sourcesContent":["import { Node, mergeAttributes, canInsertNode, isNodeSelection, nodeInputRule } from '@tiptap/core';\nimport { TextSelection, NodeSelection } from '@tiptap/pm/state';\n\n/**\n * This extension allows you to insert horizontal rules.\n * @see https://www.tiptap.dev/api/nodes/horizontal-rule\n */\nconst HorizontalRule = Node.create({\n name: 'horizontalRule',\n addOptions() {\n return {\n HTMLAttributes: {},\n };\n },\n group: 'block',\n parseHTML() {\n return [{ tag: 'hr' }];\n },\n renderHTML({ HTMLAttributes }) {\n return ['hr', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes)];\n },\n addCommands() {\n return {\n setHorizontalRule: () => ({ chain, state }) => {\n // Check if we can insert the node at the current selection\n if (!canInsertNode(state, state.schema.nodes[this.name])) {\n return false;\n }\n const { selection } = state;\n const { $from: $originFrom, $to: $originTo } = selection;\n const currentChain = chain();\n if ($originFrom.parentOffset === 0) {\n currentChain.insertContentAt({\n from: Math.max($originFrom.pos - 1, 0),\n to: $originTo.pos,\n }, {\n type: this.name,\n });\n }\n else if (isNodeSelection(selection)) {\n currentChain.insertContentAt($originTo.pos, {\n type: this.name,\n });\n }\n else {\n currentChain.insertContent({ type: this.name });\n }\n return (currentChain\n // set cursor after horizontal rule\n .command(({ tr, dispatch }) => {\n var _a;\n if (dispatch) {\n const { $to } = tr.selection;\n const posAfter = $to.end();\n if ($to.nodeAfter) {\n if ($to.nodeAfter.isTextblock) {\n tr.setSelection(TextSelection.create(tr.doc, $to.pos + 1));\n }\n else if ($to.nodeAfter.isBlock) {\n tr.setSelection(NodeSelection.create(tr.doc, $to.pos));\n }\n else {\n tr.setSelection(TextSelection.create(tr.doc, $to.pos));\n }\n }\n else {\n // add node after horizontal rule if it’s the end of the document\n const node = (_a = $to.parent.type.contentMatch.defaultType) === null || _a === void 0 ? void 0 : _a.create();\n if (node) {\n tr.insert(posAfter, node);\n tr.setSelection(TextSelection.create(tr.doc, posAfter + 1));\n }\n }\n tr.scrollIntoView();\n }\n return true;\n })\n .run());\n },\n };\n },\n addInputRules() {\n return [\n nodeInputRule({\n find: /^(?:---|—-|___\\s|\\*\\*\\*\\s)$/,\n type: this.type,\n }),\n ];\n },\n});\n\nexport { HorizontalRule, HorizontalRule as default };\n//# sourceMappingURL=index.js.map\n"],"names":["HorizontalRule","Node","HTMLAttributes","mergeAttributes","chain","state","canInsertNode","selection","$originFrom","$originTo","currentChain","isNodeSelection","tr","dispatch","_a","$to","posAfter","TextSelection","NodeSelection","node","nodeInputRule"],"mappings":"4NAOK,MAACA,EAAiBC,EAAK,OAAO,CAC/B,KAAM,iBACN,YAAa,CACT,MAAO,CACH,eAAgB,CAAA,CAC5B,CACI,EACA,MAAO,QACP,WAAY,CACR,MAAO,CAAC,CAAE,IAAK,KAAM,CACzB,EACA,WAAW,CAAE,eAAAC,GAAkB,CAC3B,MAAO,CAAC,KAAMC,EAAgB,KAAK,QAAQ,eAAgBD,CAAc,CAAC,CAC9E,EACA,aAAc,CACV,MAAO,CACH,kBAAmB,IAAM,CAAC,CAAE,MAAAE,EAAO,MAAAC,CAAK,IAAO,CAE3C,GAAI,CAACC,EAAcD,EAAOA,EAAM,OAAO,MAAM,KAAK,IAAI,CAAC,EACnD,MAAO,GAEX,KAAM,CAAE,UAAAE,CAAS,EAAKF,EAChB,CAAE,MAAOG,EAAa,IAAKC,CAAS,EAAKF,EACzCG,EAAeN,EAAK,EAC1B,OAAII,EAAY,eAAiB,EAC7BE,EAAa,gBAAgB,CACzB,KAAM,KAAK,IAAIF,EAAY,IAAM,EAAG,CAAC,EACrC,GAAIC,EAAU,GACtC,EAAuB,CACC,KAAM,KAAK,IACnC,CAAqB,EAEIE,EAAgBJ,CAAS,EAC9BG,EAAa,gBAAgBD,EAAU,IAAK,CACxC,KAAM,KAAK,IACnC,CAAqB,EAGDC,EAAa,cAAc,CAAE,KAAM,KAAK,IAAI,CAAE,EAE1CA,EAEH,QAAQ,CAAC,CAAE,GAAAE,EAAI,SAAAC,KAAe,CAC/B,IAAIC,EACJ,GAAID,EAAU,CACV,KAAM,CAAE,IAAAE,GAAQH,EAAG,UACbI,EAAWD,EAAI,IAAG,EACxB,GAAIA,EAAI,UACAA,EAAI,UAAU,YACdH,EAAG,aAAaK,EAAc,OAAOL,EAAG,IAAKG,EAAI,IAAM,CAAC,CAAC,EAEpDA,EAAI,UAAU,QACnBH,EAAG,aAAaM,EAAc,OAAON,EAAG,IAAKG,EAAI,GAAG,CAAC,EAGrDH,EAAG,aAAaK,EAAc,OAAOL,EAAG,IAAKG,EAAI,GAAG,CAAC,MAGxD,CAED,MAAMI,GAAQL,EAAKC,EAAI,OAAO,KAAK,aAAa,eAAiB,MAAQD,IAAO,OAAS,OAASA,EAAG,OAAM,EACvGK,IACAP,EAAG,OAAOI,EAAUG,CAAI,EACxBP,EAAG,aAAaK,EAAc,OAAOL,EAAG,IAAKI,EAAW,CAAC,CAAC,EAElE,CACAJ,EAAG,eAAc,CACrB,CACA,MAAO,EACX,CAAC,EACI,IAAG,CACZ,CACZ,CACI,EACA,eAAgB,CACZ,MAAO,CACHQ,EAAc,CACV,KAAM,8BACN,KAAM,KAAK,IAC3B,CAAa,CACb,CACI,CACJ,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-italic/dist/index.js"],"sourcesContent":["import { Mark, mergeAttributes, markInputRule, markPasteRule } from '@tiptap/core';\n\n/**\n * Matches an italic to a *italic* on input.\n */\nconst starInputRegex = /(?:^|\\s)(\\*(?!\\s+\\*)((?:[^*]+))\\*(?!\\s+\\*))$/;\n/**\n * Matches an italic to a *italic* on paste.\n */\nconst starPasteRegex = /(?:^|\\s)(\\*(?!\\s+\\*)((?:[^*]+))\\*(?!\\s+\\*))/g;\n/**\n * Matches an italic to a _italic_ on input.\n */\nconst underscoreInputRegex = /(?:^|\\s)(_(?!\\s+_)((?:[^_]+))_(?!\\s+_))$/;\n/**\n * Matches an italic to a _italic_ on paste.\n */\nconst underscorePasteRegex = /(?:^|\\s)(_(?!\\s+_)((?:[^_]+))_(?!\\s+_))/g;\n/**\n * This extension allows you to create italic text.\n * @see https://www.tiptap.dev/api/marks/italic\n */\nconst Italic = Mark.create({\n name: 'italic',\n addOptions() {\n return {\n HTMLAttributes: {},\n };\n },\n parseHTML() {\n return [\n {\n tag: 'em',\n },\n {\n tag: 'i',\n getAttrs: node => node.style.fontStyle !== 'normal' && null,\n },\n {\n style: 'font-style=normal',\n clearMark: mark => mark.type.name === this.name,\n },\n {\n style: 'font-style=italic',\n },\n ];\n },\n renderHTML({ HTMLAttributes }) {\n return ['em', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n addCommands() {\n return {\n setItalic: () => ({ commands }) => {\n return commands.setMark(this.name);\n },\n toggleItalic: () => ({ commands }) => {\n return commands.toggleMark(this.name);\n },\n unsetItalic: () => ({ commands }) => {\n return commands.unsetMark(this.name);\n },\n };\n },\n addKeyboardShortcuts() {\n return {\n 'Mod-i': () => this.editor.commands.toggleItalic(),\n 'Mod-I': () => this.editor.commands.toggleItalic(),\n };\n },\n addInputRules() {\n return [\n markInputRule({\n find: starInputRegex,\n type: this.type,\n }),\n markInputRule({\n find: underscoreInputRegex,\n type: this.type,\n }),\n ];\n },\n addPasteRules() {\n return [\n markPasteRule({\n find: starPasteRegex,\n type: this.type,\n }),\n markPasteRule({\n find: underscorePasteRegex,\n type: this.type,\n }),\n ];\n },\n});\n\nexport { Italic, Italic as default, starInputRegex, starPasteRegex, underscoreInputRegex, underscorePasteRegex };\n//# sourceMappingURL=index.js.map\n"],"names":["starInputRegex","starPasteRegex","underscoreInputRegex","underscorePasteRegex","Italic","Mark","node","mark","HTMLAttributes","mergeAttributes","commands","markInputRule","markPasteRule"],"mappings":"2GAKK,MAACA,EAAiB,+CAIjBC,EAAiB,+CAIjBC,EAAuB,2CAIvBC,EAAuB,2CAKvBC,EAASC,EAAK,OAAO,CACvB,KAAM,SACN,YAAa,CACT,MAAO,CACH,eAAgB,CAAA,CAC5B,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-italic/dist/index.js"],"sourcesContent":["import { Mark, mergeAttributes, markInputRule, markPasteRule } from '@tiptap/core';\n\n/**\n * Matches an italic to a *italic* on input.\n */\nconst starInputRegex = /(?:^|\\s)(\\*(?!\\s+\\*)((?:[^*]+))\\*(?!\\s+\\*))$/;\n/**\n * Matches an italic to a *italic* on paste.\n */\nconst starPasteRegex = /(?:^|\\s)(\\*(?!\\s+\\*)((?:[^*]+))\\*(?!\\s+\\*))/g;\n/**\n * Matches an italic to a _italic_ on input.\n */\nconst underscoreInputRegex = /(?:^|\\s)(_(?!\\s+_)((?:[^_]+))_(?!\\s+_))$/;\n/**\n * Matches an italic to a _italic_ on paste.\n */\nconst underscorePasteRegex = /(?:^|\\s)(_(?!\\s+_)((?:[^_]+))_(?!\\s+_))/g;\n/**\n * This extension allows you to create italic text.\n * @see https://www.tiptap.dev/api/marks/italic\n */\nconst Italic = Mark.create({\n name: 'italic',\n addOptions() {\n return {\n HTMLAttributes: {},\n };\n },\n parseHTML() {\n return [\n {\n tag: 'em',\n },\n {\n tag: 'i',\n getAttrs: node => node.style.fontStyle !== 'normal' && null,\n },\n {\n style: 'font-style=normal',\n clearMark: mark => mark.type.name === this.name,\n },\n {\n style: 'font-style=italic',\n },\n ];\n },\n renderHTML({ HTMLAttributes }) {\n return ['em', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n addCommands() {\n return {\n setItalic: () => ({ commands }) => {\n return commands.setMark(this.name);\n },\n toggleItalic: () => ({ commands }) => {\n return commands.toggleMark(this.name);\n },\n unsetItalic: () => ({ commands }) => {\n return commands.unsetMark(this.name);\n },\n };\n },\n addKeyboardShortcuts() {\n return {\n 'Mod-i': () => this.editor.commands.toggleItalic(),\n 'Mod-I': () => this.editor.commands.toggleItalic(),\n };\n },\n addInputRules() {\n return [\n markInputRule({\n find: starInputRegex,\n type: this.type,\n }),\n markInputRule({\n find: underscoreInputRegex,\n type: this.type,\n }),\n ];\n },\n addPasteRules() {\n return [\n markPasteRule({\n find: starPasteRegex,\n type: this.type,\n }),\n markPasteRule({\n find: underscorePasteRegex,\n type: this.type,\n }),\n ];\n },\n});\n\nexport { Italic, Italic as default, starInputRegex, starPasteRegex, underscoreInputRegex, underscorePasteRegex };\n//# sourceMappingURL=index.js.map\n"],"names":["starInputRegex","starPasteRegex","underscoreInputRegex","underscorePasteRegex","Italic","Mark","node","mark","HTMLAttributes","mergeAttributes","commands","markInputRule","markPasteRule"],"mappings":"2GAKK,MAACA,EAAiB,+CAIjBC,EAAiB,+CAIjBC,EAAuB,2CAIvBC,EAAuB,2CAKvBC,EAASC,EAAK,OAAO,CACvB,KAAM,SACN,YAAa,CACT,MAAO,CACH,eAAgB,CAAA,CAC5B,CACI,EACA,WAAY,CACR,MAAO,CACH,CACI,IAAK,IACrB,EACY,CACI,IAAK,IACL,SAAUC,GAAQA,EAAK,MAAM,YAAc,UAAY,IACvE,EACY,CACI,MAAO,oBACP,UAAWC,GAAQA,EAAK,KAAK,OAAS,KAAK,IAC3D,EACY,CACI,MAAO,mBACvB,CACA,CACI,EACA,WAAW,CAAE,eAAAC,GAAkB,CAC3B,MAAO,CAAC,KAAMC,EAAgB,KAAK,QAAQ,eAAgBD,CAAc,EAAG,CAAC,CACjF,EACA,aAAc,CACV,MAAO,CACH,UAAW,IAAM,CAAC,CAAE,SAAAE,KACTA,EAAS,QAAQ,KAAK,IAAI,EAErC,aAAc,IAAM,CAAC,CAAE,SAAAA,KACZA,EAAS,WAAW,KAAK,IAAI,EAExC,YAAa,IAAM,CAAC,CAAE,SAAAA,KACXA,EAAS,UAAU,KAAK,IAAI,CAEnD,CACI,EACA,sBAAuB,CACnB,MAAO,CACH,QAAS,IAAM,KAAK,OAAO,SAAS,aAAY,EAChD,QAAS,IAAM,KAAK,OAAO,SAAS,aAAY,CAC5D,CACI,EACA,eAAgB,CACZ,MAAO,CACHC,EAAc,CACV,KAAMX,EACN,KAAM,KAAK,IAC3B,CAAa,EACDW,EAAc,CACV,KAAMT,EACN,KAAM,KAAK,IAC3B,CAAa,CACb,CACI,EACA,eAAgB,CACZ,MAAO,CACHU,EAAc,CACV,KAAMX,EACN,KAAM,KAAK,IAC3B,CAAa,EACDW,EAAc,CACV,KAAMT,EACN,KAAM,KAAK,IAC3B,CAAa,CACb,CACI,CACJ,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-link/dist/index.js"],"sourcesContent":["import { combineTransactionSteps, getChangedRanges, findChildrenInRange, getMarksBetween, getAttributes, Mark, mergeAttributes, markPasteRule } from '@tiptap/core';\nimport { tokenize, find, registerCustomProtocol, reset } from 'linkifyjs';\nimport { Plugin, PluginKey } from '@tiptap/pm/state';\n\n// From DOMPurify\n// https://github.com/cure53/DOMPurify/blob/main/src/regexp.ts\nconst UNICODE_WHITESPACE_PATTERN = '[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]';\nconst UNICODE_WHITESPACE_REGEX = new RegExp(UNICODE_WHITESPACE_PATTERN);\nconst UNICODE_WHITESPACE_REGEX_END = new RegExp(`${UNICODE_WHITESPACE_PATTERN}$`);\nconst UNICODE_WHITESPACE_REGEX_GLOBAL = new RegExp(UNICODE_WHITESPACE_PATTERN, 'g');\n\n/**\n * Check if the provided tokens form a valid link structure, which can either be a single link token\n * or a link token surrounded by parentheses or square brackets.\n *\n * This ensures that only complete and valid text is hyperlinked, preventing cases where a valid\n * top-level domain (TLD) is immediately followed by an invalid character, like a number. For\n * example, with the `find` method from Linkify, entering `example.com1` would result in\n * `example.com` being linked and the trailing `1` left as plain text. By using the `tokenize`\n * method, we can perform more comprehensive validation on the input text.\n */\nfunction isValidLinkStructure(tokens) {\n if (tokens.length === 1) {\n return tokens[0].isLink;\n }\n if (tokens.length === 3 && tokens[1].isLink) {\n return ['()', '[]'].includes(tokens[0].value + tokens[2].value);\n }\n return false;\n}\n/**\n * This plugin allows you to automatically add links to your editor.\n * @param options The plugin options\n * @returns The plugin instance\n */\nfunction autolink(options) {\n return new Plugin({\n key: new PluginKey('autolink'),\n appendTransaction: (transactions, oldState, newState) => {\n /**\n * Does the transaction change the document?\n */\n const docChanges = transactions.some(transaction => transaction.docChanged) && !oldState.doc.eq(newState.doc);\n /**\n * Prevent autolink if the transaction is not a document change or if the transaction has the meta `preventAutolink`.\n */\n const preventAutolink = transactions.some(transaction => transaction.getMeta('preventAutolink'));\n /**\n * Prevent autolink if the transaction is not a document change\n * or if the transaction has the meta `preventAutolink`.\n */\n if (!docChanges || preventAutolink) {\n return;\n }\n const { tr } = newState;\n const transform = combineTransactionSteps(oldState.doc, [...transactions]);\n const changes = getChangedRanges(transform);\n changes.forEach(({ newRange }) => {\n // Now let’s see if we can add new links.\n const nodesInChangedRanges = findChildrenInRange(newState.doc, newRange, node => node.isTextblock);\n let textBlock;\n let textBeforeWhitespace;\n if (nodesInChangedRanges.length > 1) {\n // Grab the first node within the changed ranges (ex. the first of two paragraphs when hitting enter).\n textBlock = nodesInChangedRanges[0];\n textBeforeWhitespace = newState.doc.textBetween(textBlock.pos, textBlock.pos + textBlock.node.nodeSize, undefined, ' ');\n }\n else if (nodesInChangedRanges.length) {\n const endText = newState.doc.textBetween(newRange.from, newRange.to, ' ', ' ');\n if (!UNICODE_WHITESPACE_REGEX_END.test(endText)) {\n return;\n }\n textBlock = nodesInChangedRanges[0];\n textBeforeWhitespace = newState.doc.textBetween(textBlock.pos, newRange.to, undefined, ' ');\n }\n if (textBlock && textBeforeWhitespace) {\n const wordsBeforeWhitespace = textBeforeWhitespace.split(UNICODE_WHITESPACE_REGEX).filter(Boolean);\n if (wordsBeforeWhitespace.length <= 0) {\n return false;\n }\n const lastWordBeforeSpace = wordsBeforeWhitespace[wordsBeforeWhitespace.length - 1];\n const lastWordAndBlockOffset = textBlock.pos + textBeforeWhitespace.lastIndexOf(lastWordBeforeSpace);\n if (!lastWordBeforeSpace) {\n return false;\n }\n const linksBeforeSpace = tokenize(lastWordBeforeSpace).map(t => t.toObject(options.defaultProtocol));\n if (!isValidLinkStructure(linksBeforeSpace)) {\n return false;\n }\n linksBeforeSpace\n .filter(link => link.isLink)\n // Calculate link position.\n .map(link => ({\n ...link,\n from: lastWordAndBlockOffset + link.start + 1,\n to: lastWordAndBlockOffset + link.end + 1,\n }))\n // ignore link inside code mark\n .filter(link => {\n if (!newState.schema.marks.code) {\n return true;\n }\n return !newState.doc.rangeHasMark(link.from, link.to, newState.schema.marks.code);\n })\n // validate link\n .filter(link => options.validate(link.value))\n // check whether should autolink\n .filter(link => options.shouldAutoLink(link.value))\n // Add link mark.\n .forEach(link => {\n if (getMarksBetween(link.from, link.to, newState.doc).some(item => item.mark.type === options.type)) {\n return;\n }\n tr.addMark(link.from, link.to, options.type.create({\n href: link.href,\n }));\n });\n }\n });\n if (!tr.steps.length) {\n return;\n }\n return tr;\n },\n });\n}\n\nfunction clickHandler(options) {\n return new Plugin({\n key: new PluginKey('handleClickLink'),\n props: {\n handleClick: (view, pos, event) => {\n var _a, _b;\n if (event.button !== 0) {\n return false;\n }\n if (!view.editable) {\n return false;\n }\n let a = event.target;\n const els = [];\n while (a.nodeName !== 'DIV') {\n els.push(a);\n a = a.parentNode;\n }\n if (!els.find(value => value.nodeName === 'A')) {\n return false;\n }\n const attrs = getAttributes(view.state, options.type.name);\n const link = event.target;\n const href = (_a = link === null || link === void 0 ? void 0 : link.href) !== null && _a !== void 0 ? _a : attrs.href;\n const target = (_b = link === null || link === void 0 ? void 0 : link.target) !== null && _b !== void 0 ? _b : attrs.target;\n if (link && href) {\n window.open(href, target);\n return true;\n }\n return false;\n },\n },\n });\n}\n\nfunction pasteHandler(options) {\n return new Plugin({\n key: new PluginKey('handlePasteLink'),\n props: {\n handlePaste: (view, event, slice) => {\n const { state } = view;\n const { selection } = state;\n const { empty } = selection;\n if (empty) {\n return false;\n }\n let textContent = '';\n slice.content.forEach(node => {\n textContent += node.textContent;\n });\n const link = find(textContent, { defaultProtocol: options.defaultProtocol }).find(item => item.isLink && item.value === textContent);\n if (!textContent || !link) {\n return false;\n }\n return options.editor.commands.setMark(options.type, {\n href: link.href,\n });\n },\n },\n });\n}\n\nconst pasteRegex = /https?:\\/\\/(?:www\\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z]{2,}\\b(?:[-a-zA-Z0-9@:%._+~#=?!&/]*)(?:[-a-zA-Z0-9@:%._+~#=?!&/]*)/gi;\nfunction isAllowedUri(uri, protocols) {\n const allowedProtocols = [\n 'http',\n 'https',\n 'ftp',\n 'ftps',\n 'mailto',\n 'tel',\n 'callto',\n 'sms',\n 'cid',\n 'xmpp',\n ];\n if (protocols) {\n protocols.forEach(protocol => {\n const nextProtocol = typeof protocol === 'string' ? protocol : protocol.scheme;\n if (nextProtocol) {\n allowedProtocols.push(nextProtocol);\n }\n });\n }\n return (!uri\n || uri.replace(UNICODE_WHITESPACE_REGEX_GLOBAL, '').match(new RegExp(\n // eslint-disable-next-line no-useless-escape\n `^(?:(?:${allowedProtocols.join('|')}):|[^a-z]|[a-z0-9+.\\-]+(?:[^a-z+.\\-:]|$))`, 'i')));\n}\n/**\n * This extension allows you to create links.\n * @see https://www.tiptap.dev/api/marks/link\n */\nconst Link = Mark.create({\n name: 'link',\n priority: 1000,\n keepOnSplit: false,\n exitable: true,\n onCreate() {\n if (this.options.validate && !this.options.shouldAutoLink) {\n // Copy the validate function to the shouldAutoLink option\n this.options.shouldAutoLink = this.options.validate;\n console.warn('The `validate` option is deprecated. Rename to the `shouldAutoLink` option instead.');\n }\n this.options.protocols.forEach(protocol => {\n if (typeof protocol === 'string') {\n registerCustomProtocol(protocol);\n return;\n }\n registerCustomProtocol(protocol.scheme, protocol.optionalSlashes);\n });\n },\n onDestroy() {\n reset();\n },\n inclusive() {\n return this.options.autolink;\n },\n addOptions() {\n return {\n openOnClick: true,\n linkOnPaste: true,\n autolink: true,\n protocols: [],\n defaultProtocol: 'http',\n HTMLAttributes: {\n target: '_blank',\n rel: 'noopener noreferrer nofollow',\n class: null,\n },\n isAllowedUri: (url, ctx) => !!isAllowedUri(url, ctx.protocols),\n validate: url => !!url,\n shouldAutoLink: url => !!url,\n };\n },\n addAttributes() {\n return {\n href: {\n default: null,\n parseHTML(element) {\n return element.getAttribute('href');\n },\n },\n target: {\n default: this.options.HTMLAttributes.target,\n },\n rel: {\n default: this.options.HTMLAttributes.rel,\n },\n class: {\n default: this.options.HTMLAttributes.class,\n },\n };\n },\n parseHTML() {\n return [\n {\n tag: 'a[href]',\n getAttrs: dom => {\n const href = dom.getAttribute('href');\n // prevent XSS attacks\n if (!href\n || !this.options.isAllowedUri(href, {\n defaultValidate: url => !!isAllowedUri(url, this.options.protocols),\n protocols: this.options.protocols,\n defaultProtocol: this.options.defaultProtocol,\n })) {\n return false;\n }\n return null;\n },\n },\n ];\n },\n renderHTML({ HTMLAttributes }) {\n // prevent XSS attacks\n if (!this.options.isAllowedUri(HTMLAttributes.href, {\n defaultValidate: href => !!isAllowedUri(href, this.options.protocols),\n protocols: this.options.protocols,\n defaultProtocol: this.options.defaultProtocol,\n })) {\n // strip out the href\n return [\n 'a',\n mergeAttributes(this.options.HTMLAttributes, { ...HTMLAttributes, href: '' }),\n 0,\n ];\n }\n return ['a', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n addCommands() {\n return {\n setLink: attributes => ({ chain }) => {\n const { href } = attributes;\n if (!this.options.isAllowedUri(href, {\n defaultValidate: url => !!isAllowedUri(url, this.options.protocols),\n protocols: this.options.protocols,\n defaultProtocol: this.options.defaultProtocol,\n })) {\n return false;\n }\n return chain().setMark(this.name, attributes).setMeta('preventAutolink', true).run();\n },\n toggleLink: attributes => ({ chain }) => {\n const { href } = attributes;\n if (!this.options.isAllowedUri(href, {\n defaultValidate: url => !!isAllowedUri(url, this.options.protocols),\n protocols: this.options.protocols,\n defaultProtocol: this.options.defaultProtocol,\n })) {\n return false;\n }\n return chain()\n .toggleMark(this.name, attributes, { extendEmptyMarkRange: true })\n .setMeta('preventAutolink', true)\n .run();\n },\n unsetLink: () => ({ chain }) => {\n return chain()\n .unsetMark(this.name, { extendEmptyMarkRange: true })\n .setMeta('preventAutolink', true)\n .run();\n },\n };\n },\n addPasteRules() {\n return [\n markPasteRule({\n find: text => {\n const foundLinks = [];\n if (text) {\n const { protocols, defaultProtocol } = this.options;\n const links = find(text).filter(item => item.isLink\n && this.options.isAllowedUri(item.value, {\n defaultValidate: href => !!isAllowedUri(href, protocols),\n protocols,\n defaultProtocol,\n }));\n if (links.length) {\n links.forEach(link => foundLinks.push({\n text: link.value,\n data: {\n href: link.href,\n },\n index: link.start,\n }));\n }\n }\n return foundLinks;\n },\n type: this.type,\n getAttributes: match => {\n var _a;\n return {\n href: (_a = match.data) === null || _a === void 0 ? void 0 : _a.href,\n };\n },\n }),\n ];\n },\n addProseMirrorPlugins() {\n const plugins = [];\n const { protocols, defaultProtocol } = this.options;\n if (this.options.autolink) {\n plugins.push(autolink({\n type: this.type,\n defaultProtocol: this.options.defaultProtocol,\n validate: url => this.options.isAllowedUri(url, {\n defaultValidate: href => !!isAllowedUri(href, protocols),\n protocols,\n defaultProtocol,\n }),\n shouldAutoLink: this.options.shouldAutoLink,\n }));\n }\n if (this.options.openOnClick === true) {\n plugins.push(clickHandler({\n type: this.type,\n }));\n }\n if (this.options.linkOnPaste) {\n plugins.push(pasteHandler({\n editor: this.editor,\n defaultProtocol: this.options.defaultProtocol,\n type: this.type,\n }));\n }\n return plugins;\n },\n});\n\nexport { Link, Link as default, isAllowedUri, pasteRegex };\n//# sourceMappingURL=index.js.map\n"],"names":["UNICODE_WHITESPACE_PATTERN","UNICODE_WHITESPACE_REGEX","UNICODE_WHITESPACE_REGEX_END","UNICODE_WHITESPACE_REGEX_GLOBAL","isValidLinkStructure","tokens","autolink","options","Plugin","PluginKey","transactions","oldState","newState","docChanges","transaction","preventAutolink","tr","transform","combineTransactionSteps","getChangedRanges","newRange","nodesInChangedRanges","findChildrenInRange","node","textBlock","textBeforeWhitespace","endText","wordsBeforeWhitespace","lastWordBeforeSpace","lastWordAndBlockOffset","linksBeforeSpace","tokenize","t","link","getMarksBetween","item","clickHandler","view","pos","event","_a","_b","els","value","attrs","getAttributes","href","target","pasteHandler","slice","state","selection","empty","textContent","find","isAllowedUri","uri","protocols","allowedProtocols","protocol","nextProtocol","Link","Mark","registerCustomProtocol","reset","url","ctx","element","dom","HTMLAttributes","mergeAttributes","attributes","chain","markPasteRule","text","foundLinks","defaultProtocol","links","match","plugins"],"mappings":"4YAMA,MAAMA,EAA6B,sBAC7BC,EAA2B,IAAI,OAAOD,CAA0B,EAChEE,EAA+B,IAAI,OAAO,GAAGF,CAA0B,GAAG,EAC1EG,EAAkC,IAAI,OAAOH,EAA4B,GAAG,EAYlF,SAASI,EAAqBC,EAAQ,CAClC,OAAIA,EAAO,SAAW,EACXA,EAAO,CAAC,EAAE,OAEjBA,EAAO,SAAW,GAAKA,EAAO,CAAC,EAAE,OAC1B,CAAC,KAAM,IAAI,EAAE,SAASA,EAAO,CAAC,EAAE,MAAQA,EAAO,CAAC,EAAE,KAAK,EAE3D,EACX,CAMA,SAASC,EAASC,EAAS,CACvB,OAAO,IAAIC,EAAO,CACd,IAAK,IAAIC,EAAU,UAAU,EAC7B,kBAAmB,CAACC,EAAcC,EAAUC,IAAa,CAIrD,MAAMC,EAAaH,EAAa,KAAKI,GAAeA,EAAY,UAAU,GAAK,CAACH,EAAS,IAAI,GAAGC,EAAS,GAAG,EAItGG,EAAkBL,EAAa,KAAKI,GAAeA,EAAY,QAAQ,iBAAiB,CAAC,EAK/F,GAAI,CAACD,GAAcE,EACf,OAEJ,KAAM,CAAE,GAAAC,CAAE,EAAKJ,EACTK,EAAYC,EAAwBP,EAAS,IAAK,CAAC,GAAGD,CAAY,CAAC,EAgEzE,GA/DgBS,EAAiBF,CAAS,EAClC,QAAQ,CAAC,CAAE,SAAAG,KAAe,CAE9B,MAAMC,EAAuBC,EAAoBV,EAAS,IAAKQ,EAAUG,GAAQA,EAAK,WAAW,EACjG,IAAIC,EACAC,EACJ,GAAIJ,EAAqB,OAAS,EAE9BG,EAAYH,EAAqB,CAAC,EAClCI,EAAuBb,EAAS,IAAI,YAAYY,EAAU,IAAKA,EAAU,IAAMA,EAAU,KAAK,SAAU,OAAW,GAAG,UAEjHH,EAAqB,OAAQ,CAClC,MAAMK,EAAUd,EAAS,IAAI,YAAYQ,EAAS,KAAMA,EAAS,GAAI,IAAK,GAAG,EAC7E,GAAI,CAAClB,EAA6B,KAAKwB,CAAO,EAC1C,OAEJF,EAAYH,EAAqB,CAAC,EAClCI,EAAuBb,EAAS,IAAI,YAAYY,EAAU,IAAKJ,EAAS,GAAI,OAAW,GAAG,CAC9G,CACgB,GAAII,GAAaC,EAAsB,CACnC,MAAME,EAAwBF,EAAqB,MAAMxB,CAAwB,EAAE,OAAO,OAAO,EACjG,GAAI0B,EAAsB,QAAU,EAChC,MAAO,GAEX,MAAMC,EAAsBD,EAAsBA,EAAsB,OAAS,CAAC,EAC5EE,EAAyBL,EAAU,IAAMC,EAAqB,YAAYG,CAAmB,EACnG,GAAI,CAACA,EACD,MAAO,GAEX,MAAME,EAAmBC,EAASH,CAAmB,EAAE,IAAII,GAAKA,EAAE,SAASzB,EAAQ,eAAe,CAAC,EACnG,GAAI,CAACH,EAAqB0B,CAAgB,EACtC,MAAO,GAEXA,EACK,OAAOG,GAAQA,EAAK,MAAM,EAE1B,IAAIA,IAAS,CACd,GAAGA,EACH,KAAMJ,EAAyBI,EAAK,MAAQ,EAC5C,GAAIJ,EAAyBI,EAAK,IAAM,CAChE,EAAsB,EAEG,OAAOA,GACHrB,EAAS,OAAO,MAAM,KAGpB,CAACA,EAAS,IAAI,aAAaqB,EAAK,KAAMA,EAAK,GAAIrB,EAAS,OAAO,MAAM,IAAI,EAFrE,EAGd,EAEI,OAAOqB,GAAQ1B,EAAQ,SAAS0B,EAAK,KAAK,CAAC,EAE3C,OAAOA,GAAQ1B,EAAQ,eAAe0B,EAAK,KAAK,CAAC,EAEjD,QAAQA,GAAQ,CACbC,EAAgBD,EAAK,KAAMA,EAAK,GAAIrB,EAAS,GAAG,EAAE,KAAKuB,GAAQA,EAAK,KAAK,OAAS5B,EAAQ,IAAI,GAGlGS,EAAG,QAAQiB,EAAK,KAAMA,EAAK,GAAI1B,EAAQ,KAAK,OAAO,CAC/C,KAAM0B,EAAK,IACvC,CAAyB,CAAC,CAC1B,CAAqB,CACrB,CACA,CAAa,EACG,EAACjB,EAAG,MAAM,OAGd,OAAOA,CACnB,CACA,CAAK,CACL,CAEA,SAASoB,EAAa7B,EAAS,CAC3B,OAAO,IAAIC,EAAO,CACd,IAAK,IAAIC,EAAU,iBAAiB,EACpC,MAAO,CACH,YAAa,CAAC4B,EAAMC,EAAKC,IAAU,CAC/B,IAAIC,EAAIC,EAIR,GAHIF,EAAM,SAAW,GAGjB,CAACF,EAAK,SACN,MAAO,GAEX,IAAI,EAAIE,EAAM,OACd,MAAMG,EAAM,CAAA,EACZ,KAAO,EAAE,WAAa,OAClBA,EAAI,KAAK,CAAC,EACV,EAAI,EAAE,WAEV,GAAI,CAACA,EAAI,KAAKC,GAASA,EAAM,WAAa,GAAG,EACzC,MAAO,GAEX,MAAMC,EAAQC,EAAcR,EAAK,MAAO9B,EAAQ,KAAK,IAAI,EACnD0B,EAAOM,EAAM,OACbO,GAAQN,EAAKP,GAAS,KAA0B,OAASA,EAAK,QAAU,MAAQO,IAAO,OAASA,EAAKI,EAAM,KAC3GG,GAAUN,EAAKR,GAAS,KAA0B,OAASA,EAAK,UAAY,MAAQQ,IAAO,OAASA,EAAKG,EAAM,OACrH,OAAIX,GAAQa,GACR,OAAO,KAAKA,EAAMC,CAAM,EACjB,IAEJ,EACvB,CACA,CACA,CAAK,CACL,CAEA,SAASC,EAAazC,EAAS,CAC3B,OAAO,IAAIC,EAAO,CACd,IAAK,IAAIC,EAAU,iBAAiB,EACpC,MAAO,CACH,YAAa,CAAC4B,EAAME,EAAOU,IAAU,CACjC,KAAM,CAAE,MAAAC,CAAK,EAAKb,EACZ,CAAE,UAAAc,CAAS,EAAKD,EAChB,CAAE,MAAAE,CAAK,EAAKD,EAClB,GAAIC,EACA,MAAO,GAEX,IAAIC,EAAc,GAClBJ,EAAM,QAAQ,QAAQ1B,GAAQ,CAC1B8B,GAAe9B,EAAK,WACxC,CAAiB,EACD,MAAMU,EAAOqB,EAAKD,EAAa,CAAE,gBAAiB9C,EAAQ,eAAe,CAAE,EAAE,KAAK4B,GAAQA,EAAK,QAAUA,EAAK,QAAUkB,CAAW,EACnI,MAAI,CAACA,GAAe,CAACpB,EACV,GAEJ1B,EAAQ,OAAO,SAAS,QAAQA,EAAQ,KAAM,CACjD,KAAM0B,EAAK,IAC/B,CAAiB,CACjB,CACA,CACA,CAAK,CACL,CAGA,SAASsB,EAAaC,EAAKC,EAAW,CAClC,MAAMC,EAAmB,CACrB,OACA,QACA,MACA,OACA,SACA,MACA,SACA,MACA,MACA,MACR,EACI,OAAID,GACAA,EAAU,QAAQE,GAAY,CAC1B,MAAMC,EAAe,OAAOD,GAAa,SAAWA,EAAWA,EAAS,OACpEC,GACAF,EAAiB,KAAKE,CAAY,CAElD,CAAS,EAEG,CAACJ,GACFA,EAAI,QAAQrD,EAAiC,EAAE,EAAE,MAAM,IAAI,OAE9D,UAAUuD,EAAiB,KAAK,GAAG,CAAC,0CAA6C,GAAG,CAAC,CAC7F,CAKK,MAACG,EAAOC,EAAK,OAAO,CACrB,KAAM,OACN,SAAU,IACV,YAAa,GACb,SAAU,GACV,UAAW,CACH,KAAK,QAAQ,UAAY,CAAC,KAAK,QAAQ,iBAEvC,KAAK,QAAQ,eAAiB,KAAK,QAAQ,SAC3C,QAAQ,KAAK,qFAAqF,GAEtG,KAAK,QAAQ,UAAU,QAAQH,GAAY,CACvC,GAAI,OAAOA,GAAa,SAAU,CAC9BI,EAAuBJ,CAAQ,EAC/B,MAChB,CACYI,EAAuBJ,EAAS,OAAQA,EAAS,eAAe,CAC5E,CAAS,CACT,EACI,WAAY,CACRK,EAAK,CACb,EACI,WAAY,CACR,OAAO,KAAK,QAAQ,QAC5B,EACI,YAAa,CACT,MAAO,CACH,YAAa,GACb,YAAa,GACb,SAAU,GACV,UAAW,CAAA,EACX,gBAAiB,OACjB,eAAgB,CACZ,OAAQ,SACR,IAAK,+BACL,MAAO,IACvB,EACY,aAAc,CAACC,EAAKC,IAAQ,CAAC,CAACX,EAAaU,EAAKC,EAAI,SAAS,EAC7D,SAAUD,GAAO,CAAC,CAACA,EACnB,eAAgBA,GAAO,CAAC,CAACA,CACrC,CACA,EACI,eAAgB,CACZ,MAAO,CACH,KAAM,CACF,QAAS,KACT,UAAUE,EAAS,CACf,OAAOA,EAAQ,aAAa,MAAM,CACtD,CACA,EACY,OAAQ,CACJ,QAAS,KAAK,QAAQ,eAAe,MACrD,EACY,IAAK,CACD,QAAS,KAAK,QAAQ,eAAe,GACrD,EACY,MAAO,CACH,QAAS,KAAK,QAAQ,eAAe,KACrD,CACA,CACA,EACI,WAAY,CACR,MAAO,CACH,CACI,IAAK,UACL,SAAUC,GAAO,CACb,MAAMtB,EAAOsB,EAAI,aAAa,MAAM,EAEpC,MAAI,CAACtB,GACE,CAAC,KAAK,QAAQ,aAAaA,EAAM,CAChC,gBAAiBmB,GAAO,CAAC,CAACV,EAAaU,EAAK,KAAK,QAAQ,SAAS,EAClE,UAAW,KAAK,QAAQ,UACxB,gBAAiB,KAAK,QAAQ,eAC1D,CAAyB,EACM,GAEJ,IAC3B,CACA,CACA,CACA,EACI,WAAW,CAAE,eAAAI,GAAkB,CAE3B,OAAK,KAAK,QAAQ,aAAaA,EAAe,KAAM,CAChD,gBAAiBvB,GAAQ,CAAC,CAACS,EAAaT,EAAM,KAAK,QAAQ,SAAS,EACpE,UAAW,KAAK,QAAQ,UACxB,gBAAiB,KAAK,QAAQ,eAC1C,CAAS,EAQM,CAAC,IAAKwB,EAAgB,KAAK,QAAQ,eAAgBD,CAAc,EAAG,CAAC,EANjE,CACH,IACAC,EAAgB,KAAK,QAAQ,eAAgB,CAAE,GAAGD,EAAgB,KAAM,GAAI,EAC5E,CAChB,CAGA,EACI,aAAc,CACV,MAAO,CACH,QAASE,GAAc,CAAC,CAAE,MAAAC,KAAY,CAClC,KAAM,CAAE,KAAA1B,CAAI,EAAKyB,EACjB,OAAK,KAAK,QAAQ,aAAazB,EAAM,CACjC,gBAAiBmB,GAAO,CAAC,CAACV,EAAaU,EAAK,KAAK,QAAQ,SAAS,EAClE,UAAW,KAAK,QAAQ,UACxB,gBAAiB,KAAK,QAAQ,eAClD,CAAiB,EAGMO,EAAK,EAAG,QAAQ,KAAK,KAAMD,CAAU,EAAE,QAAQ,kBAAmB,EAAI,EAAE,IAAG,EAFvE,EAG3B,EACY,WAAYA,GAAc,CAAC,CAAE,MAAAC,KAAY,CACrC,KAAM,CAAE,KAAA1B,CAAI,EAAKyB,EACjB,OAAK,KAAK,QAAQ,aAAazB,EAAM,CACjC,gBAAiBmB,GAAO,CAAC,CAACV,EAAaU,EAAK,KAAK,QAAQ,SAAS,EAClE,UAAW,KAAK,QAAQ,UACxB,gBAAiB,KAAK,QAAQ,eAClD,CAAiB,EAGMO,EAAK,EACP,WAAW,KAAK,KAAMD,EAAY,CAAE,qBAAsB,EAAI,CAAE,EAChE,QAAQ,kBAAmB,EAAI,EAC/B,IAAG,EALG,EAM3B,EACY,UAAW,IAAM,CAAC,CAAE,MAAAC,KACTA,EAAK,EACP,UAAU,KAAK,KAAM,CAAE,qBAAsB,EAAI,CAAE,EACnD,QAAQ,kBAAmB,EAAI,EAC/B,IAAG,CAExB,CACA,EACI,eAAgB,CACZ,MAAO,CACHC,EAAc,CACV,KAAMC,GAAQ,CACV,MAAMC,EAAa,CAAA,EACnB,GAAID,EAAM,CACN,KAAM,CAAE,UAAAjB,EAAW,gBAAAmB,CAAe,EAAK,KAAK,QACtCC,EAAQvB,EAAKoB,CAAI,EAAE,OAAOvC,GAAQA,EAAK,QACtC,KAAK,QAAQ,aAAaA,EAAK,MAAO,CACrC,gBAAiBW,GAAQ,CAAC,CAACS,EAAaT,EAAMW,CAAS,EACvD,UAAAA,EACA,gBAAAmB,CAChC,CAA6B,CAAC,EACFC,EAAM,QACNA,EAAM,QAAQ5C,GAAQ0C,EAAW,KAAK,CAClC,KAAM1C,EAAK,MACX,KAAM,CACF,KAAMA,EAAK,IAC/C,EACgC,MAAOA,EAAK,KAC5C,CAA6B,CAAC,CAE9B,CACoB,OAAO0C,CAC3B,EACgB,KAAM,KAAK,KACX,cAAeG,GAAS,CACpB,IAAItC,EACJ,MAAO,CACH,MAAOA,EAAKsC,EAAM,QAAU,MAAQtC,IAAO,OAAS,OAASA,EAAG,IACxF,CACA,CACA,CAAa,CACb,CACA,EACI,uBAAwB,CACpB,MAAMuC,EAAU,CAAA,EACV,CAAE,UAAAtB,EAAW,gBAAAmB,CAAe,EAAK,KAAK,QAC5C,OAAI,KAAK,QAAQ,UACbG,EAAQ,KAAKzE,EAAS,CAClB,KAAM,KAAK,KACX,gBAAiB,KAAK,QAAQ,gBAC9B,SAAU2D,GAAO,KAAK,QAAQ,aAAaA,EAAK,CAC5C,gBAAiBnB,GAAQ,CAAC,CAACS,EAAaT,EAAMW,CAAS,EACvD,UAAAA,EACA,gBAAAmB,CACpB,CAAiB,EACD,eAAgB,KAAK,QAAQ,cAC7C,CAAa,CAAC,EAEF,KAAK,QAAQ,cAAgB,IAC7BG,EAAQ,KAAK3C,EAAa,CACtB,KAAM,KAAK,IAC3B,CAAa,CAAC,EAEF,KAAK,QAAQ,aACb2C,EAAQ,KAAK/B,EAAa,CACtB,OAAQ,KAAK,OACb,gBAAiB,KAAK,QAAQ,gBAC9B,KAAM,KAAK,IAC3B,CAAa,CAAC,EAEC+B,CACf,CACA,CAAC","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-link/dist/index.js"],"sourcesContent":["import { combineTransactionSteps, getChangedRanges, findChildrenInRange, getMarksBetween, getAttributes, Mark, mergeAttributes, markPasteRule } from '@tiptap/core';\nimport { tokenize, find, registerCustomProtocol, reset } from 'linkifyjs';\nimport { Plugin, PluginKey } from '@tiptap/pm/state';\n\n// From DOMPurify\n// https://github.com/cure53/DOMPurify/blob/main/src/regexp.ts\nconst UNICODE_WHITESPACE_PATTERN = '[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]';\nconst UNICODE_WHITESPACE_REGEX = new RegExp(UNICODE_WHITESPACE_PATTERN);\nconst UNICODE_WHITESPACE_REGEX_END = new RegExp(`${UNICODE_WHITESPACE_PATTERN}$`);\nconst UNICODE_WHITESPACE_REGEX_GLOBAL = new RegExp(UNICODE_WHITESPACE_PATTERN, 'g');\n\n/**\n * Check if the provided tokens form a valid link structure, which can either be a single link token\n * or a link token surrounded by parentheses or square brackets.\n *\n * This ensures that only complete and valid text is hyperlinked, preventing cases where a valid\n * top-level domain (TLD) is immediately followed by an invalid character, like a number. For\n * example, with the `find` method from Linkify, entering `example.com1` would result in\n * `example.com` being linked and the trailing `1` left as plain text. By using the `tokenize`\n * method, we can perform more comprehensive validation on the input text.\n */\nfunction isValidLinkStructure(tokens) {\n if (tokens.length === 1) {\n return tokens[0].isLink;\n }\n if (tokens.length === 3 && tokens[1].isLink) {\n return ['()', '[]'].includes(tokens[0].value + tokens[2].value);\n }\n return false;\n}\n/**\n * This plugin allows you to automatically add links to your editor.\n * @param options The plugin options\n * @returns The plugin instance\n */\nfunction autolink(options) {\n return new Plugin({\n key: new PluginKey('autolink'),\n appendTransaction: (transactions, oldState, newState) => {\n /**\n * Does the transaction change the document?\n */\n const docChanges = transactions.some(transaction => transaction.docChanged) && !oldState.doc.eq(newState.doc);\n /**\n * Prevent autolink if the transaction is not a document change or if the transaction has the meta `preventAutolink`.\n */\n const preventAutolink = transactions.some(transaction => transaction.getMeta('preventAutolink'));\n /**\n * Prevent autolink if the transaction is not a document change\n * or if the transaction has the meta `preventAutolink`.\n */\n if (!docChanges || preventAutolink) {\n return;\n }\n const { tr } = newState;\n const transform = combineTransactionSteps(oldState.doc, [...transactions]);\n const changes = getChangedRanges(transform);\n changes.forEach(({ newRange }) => {\n // Now let’s see if we can add new links.\n const nodesInChangedRanges = findChildrenInRange(newState.doc, newRange, node => node.isTextblock);\n let textBlock;\n let textBeforeWhitespace;\n if (nodesInChangedRanges.length > 1) {\n // Grab the first node within the changed ranges (ex. the first of two paragraphs when hitting enter).\n textBlock = nodesInChangedRanges[0];\n textBeforeWhitespace = newState.doc.textBetween(textBlock.pos, textBlock.pos + textBlock.node.nodeSize, undefined, ' ');\n }\n else if (nodesInChangedRanges.length) {\n const endText = newState.doc.textBetween(newRange.from, newRange.to, ' ', ' ');\n if (!UNICODE_WHITESPACE_REGEX_END.test(endText)) {\n return;\n }\n textBlock = nodesInChangedRanges[0];\n textBeforeWhitespace = newState.doc.textBetween(textBlock.pos, newRange.to, undefined, ' ');\n }\n if (textBlock && textBeforeWhitespace) {\n const wordsBeforeWhitespace = textBeforeWhitespace.split(UNICODE_WHITESPACE_REGEX).filter(Boolean);\n if (wordsBeforeWhitespace.length <= 0) {\n return false;\n }\n const lastWordBeforeSpace = wordsBeforeWhitespace[wordsBeforeWhitespace.length - 1];\n const lastWordAndBlockOffset = textBlock.pos + textBeforeWhitespace.lastIndexOf(lastWordBeforeSpace);\n if (!lastWordBeforeSpace) {\n return false;\n }\n const linksBeforeSpace = tokenize(lastWordBeforeSpace).map(t => t.toObject(options.defaultProtocol));\n if (!isValidLinkStructure(linksBeforeSpace)) {\n return false;\n }\n linksBeforeSpace\n .filter(link => link.isLink)\n // Calculate link position.\n .map(link => ({\n ...link,\n from: lastWordAndBlockOffset + link.start + 1,\n to: lastWordAndBlockOffset + link.end + 1,\n }))\n // ignore link inside code mark\n .filter(link => {\n if (!newState.schema.marks.code) {\n return true;\n }\n return !newState.doc.rangeHasMark(link.from, link.to, newState.schema.marks.code);\n })\n // validate link\n .filter(link => options.validate(link.value))\n // check whether should autolink\n .filter(link => options.shouldAutoLink(link.value))\n // Add link mark.\n .forEach(link => {\n if (getMarksBetween(link.from, link.to, newState.doc).some(item => item.mark.type === options.type)) {\n return;\n }\n tr.addMark(link.from, link.to, options.type.create({\n href: link.href,\n }));\n });\n }\n });\n if (!tr.steps.length) {\n return;\n }\n return tr;\n },\n });\n}\n\nfunction clickHandler(options) {\n return new Plugin({\n key: new PluginKey('handleClickLink'),\n props: {\n handleClick: (view, pos, event) => {\n var _a, _b;\n if (event.button !== 0) {\n return false;\n }\n if (!view.editable) {\n return false;\n }\n let a = event.target;\n const els = [];\n while (a.nodeName !== 'DIV') {\n els.push(a);\n a = a.parentNode;\n }\n if (!els.find(value => value.nodeName === 'A')) {\n return false;\n }\n const attrs = getAttributes(view.state, options.type.name);\n const link = event.target;\n const href = (_a = link === null || link === void 0 ? void 0 : link.href) !== null && _a !== void 0 ? _a : attrs.href;\n const target = (_b = link === null || link === void 0 ? void 0 : link.target) !== null && _b !== void 0 ? _b : attrs.target;\n if (link && href) {\n window.open(href, target);\n return true;\n }\n return false;\n },\n },\n });\n}\n\nfunction pasteHandler(options) {\n return new Plugin({\n key: new PluginKey('handlePasteLink'),\n props: {\n handlePaste: (view, event, slice) => {\n const { state } = view;\n const { selection } = state;\n const { empty } = selection;\n if (empty) {\n return false;\n }\n let textContent = '';\n slice.content.forEach(node => {\n textContent += node.textContent;\n });\n const link = find(textContent, { defaultProtocol: options.defaultProtocol }).find(item => item.isLink && item.value === textContent);\n if (!textContent || !link) {\n return false;\n }\n return options.editor.commands.setMark(options.type, {\n href: link.href,\n });\n },\n },\n });\n}\n\nconst pasteRegex = /https?:\\/\\/(?:www\\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z]{2,}\\b(?:[-a-zA-Z0-9@:%._+~#=?!&/]*)(?:[-a-zA-Z0-9@:%._+~#=?!&/]*)/gi;\nfunction isAllowedUri(uri, protocols) {\n const allowedProtocols = [\n 'http',\n 'https',\n 'ftp',\n 'ftps',\n 'mailto',\n 'tel',\n 'callto',\n 'sms',\n 'cid',\n 'xmpp',\n ];\n if (protocols) {\n protocols.forEach(protocol => {\n const nextProtocol = typeof protocol === 'string' ? protocol : protocol.scheme;\n if (nextProtocol) {\n allowedProtocols.push(nextProtocol);\n }\n });\n }\n return (!uri\n || uri.replace(UNICODE_WHITESPACE_REGEX_GLOBAL, '').match(new RegExp(\n // eslint-disable-next-line no-useless-escape\n `^(?:(?:${allowedProtocols.join('|')}):|[^a-z]|[a-z0-9+.\\-]+(?:[^a-z+.\\-:]|$))`, 'i')));\n}\n/**\n * This extension allows you to create links.\n * @see https://www.tiptap.dev/api/marks/link\n */\nconst Link = Mark.create({\n name: 'link',\n priority: 1000,\n keepOnSplit: false,\n exitable: true,\n onCreate() {\n if (this.options.validate && !this.options.shouldAutoLink) {\n // Copy the validate function to the shouldAutoLink option\n this.options.shouldAutoLink = this.options.validate;\n console.warn('The `validate` option is deprecated. Rename to the `shouldAutoLink` option instead.');\n }\n this.options.protocols.forEach(protocol => {\n if (typeof protocol === 'string') {\n registerCustomProtocol(protocol);\n return;\n }\n registerCustomProtocol(protocol.scheme, protocol.optionalSlashes);\n });\n },\n onDestroy() {\n reset();\n },\n inclusive() {\n return this.options.autolink;\n },\n addOptions() {\n return {\n openOnClick: true,\n linkOnPaste: true,\n autolink: true,\n protocols: [],\n defaultProtocol: 'http',\n HTMLAttributes: {\n target: '_blank',\n rel: 'noopener noreferrer nofollow',\n class: null,\n },\n isAllowedUri: (url, ctx) => !!isAllowedUri(url, ctx.protocols),\n validate: url => !!url,\n shouldAutoLink: url => !!url,\n };\n },\n addAttributes() {\n return {\n href: {\n default: null,\n parseHTML(element) {\n return element.getAttribute('href');\n },\n },\n target: {\n default: this.options.HTMLAttributes.target,\n },\n rel: {\n default: this.options.HTMLAttributes.rel,\n },\n class: {\n default: this.options.HTMLAttributes.class,\n },\n };\n },\n parseHTML() {\n return [\n {\n tag: 'a[href]',\n getAttrs: dom => {\n const href = dom.getAttribute('href');\n // prevent XSS attacks\n if (!href\n || !this.options.isAllowedUri(href, {\n defaultValidate: url => !!isAllowedUri(url, this.options.protocols),\n protocols: this.options.protocols,\n defaultProtocol: this.options.defaultProtocol,\n })) {\n return false;\n }\n return null;\n },\n },\n ];\n },\n renderHTML({ HTMLAttributes }) {\n // prevent XSS attacks\n if (!this.options.isAllowedUri(HTMLAttributes.href, {\n defaultValidate: href => !!isAllowedUri(href, this.options.protocols),\n protocols: this.options.protocols,\n defaultProtocol: this.options.defaultProtocol,\n })) {\n // strip out the href\n return [\n 'a',\n mergeAttributes(this.options.HTMLAttributes, { ...HTMLAttributes, href: '' }),\n 0,\n ];\n }\n return ['a', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n addCommands() {\n return {\n setLink: attributes => ({ chain }) => {\n const { href } = attributes;\n if (!this.options.isAllowedUri(href, {\n defaultValidate: url => !!isAllowedUri(url, this.options.protocols),\n protocols: this.options.protocols,\n defaultProtocol: this.options.defaultProtocol,\n })) {\n return false;\n }\n return chain().setMark(this.name, attributes).setMeta('preventAutolink', true).run();\n },\n toggleLink: attributes => ({ chain }) => {\n const { href } = attributes;\n if (!this.options.isAllowedUri(href, {\n defaultValidate: url => !!isAllowedUri(url, this.options.protocols),\n protocols: this.options.protocols,\n defaultProtocol: this.options.defaultProtocol,\n })) {\n return false;\n }\n return chain()\n .toggleMark(this.name, attributes, { extendEmptyMarkRange: true })\n .setMeta('preventAutolink', true)\n .run();\n },\n unsetLink: () => ({ chain }) => {\n return chain()\n .unsetMark(this.name, { extendEmptyMarkRange: true })\n .setMeta('preventAutolink', true)\n .run();\n },\n };\n },\n addPasteRules() {\n return [\n markPasteRule({\n find: text => {\n const foundLinks = [];\n if (text) {\n const { protocols, defaultProtocol } = this.options;\n const links = find(text).filter(item => item.isLink\n && this.options.isAllowedUri(item.value, {\n defaultValidate: href => !!isAllowedUri(href, protocols),\n protocols,\n defaultProtocol,\n }));\n if (links.length) {\n links.forEach(link => foundLinks.push({\n text: link.value,\n data: {\n href: link.href,\n },\n index: link.start,\n }));\n }\n }\n return foundLinks;\n },\n type: this.type,\n getAttributes: match => {\n var _a;\n return {\n href: (_a = match.data) === null || _a === void 0 ? void 0 : _a.href,\n };\n },\n }),\n ];\n },\n addProseMirrorPlugins() {\n const plugins = [];\n const { protocols, defaultProtocol } = this.options;\n if (this.options.autolink) {\n plugins.push(autolink({\n type: this.type,\n defaultProtocol: this.options.defaultProtocol,\n validate: url => this.options.isAllowedUri(url, {\n defaultValidate: href => !!isAllowedUri(href, protocols),\n protocols,\n defaultProtocol,\n }),\n shouldAutoLink: this.options.shouldAutoLink,\n }));\n }\n if (this.options.openOnClick === true) {\n plugins.push(clickHandler({\n type: this.type,\n }));\n }\n if (this.options.linkOnPaste) {\n plugins.push(pasteHandler({\n editor: this.editor,\n defaultProtocol: this.options.defaultProtocol,\n type: this.type,\n }));\n }\n return plugins;\n },\n});\n\nexport { Link, Link as default, isAllowedUri, pasteRegex };\n//# sourceMappingURL=index.js.map\n"],"names":["UNICODE_WHITESPACE_PATTERN","UNICODE_WHITESPACE_REGEX","UNICODE_WHITESPACE_REGEX_END","UNICODE_WHITESPACE_REGEX_GLOBAL","isValidLinkStructure","tokens","autolink","options","Plugin","PluginKey","transactions","oldState","newState","docChanges","transaction","preventAutolink","tr","transform","combineTransactionSteps","getChangedRanges","newRange","nodesInChangedRanges","findChildrenInRange","node","textBlock","textBeforeWhitespace","endText","wordsBeforeWhitespace","lastWordBeforeSpace","lastWordAndBlockOffset","linksBeforeSpace","tokenize","t","link","getMarksBetween","item","clickHandler","view","pos","event","_a","_b","els","value","attrs","getAttributes","href","target","pasteHandler","slice","state","selection","empty","textContent","find","isAllowedUri","uri","protocols","allowedProtocols","protocol","nextProtocol","Link","Mark","registerCustomProtocol","reset","url","ctx","element","dom","HTMLAttributes","mergeAttributes","attributes","chain","markPasteRule","text","foundLinks","defaultProtocol","links","match","plugins"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-list-item/dist/index.js"],"sourcesContent":["import { Node, mergeAttributes } from '@tiptap/core';\n\n/**\n * This extension allows you to create list items.\n * @see https://www.tiptap.dev/api/nodes/list-item\n */\nconst ListItem = Node.create({\n name: 'listItem',\n addOptions() {\n return {\n HTMLAttributes: {},\n bulletListTypeName: 'bulletList',\n orderedListTypeName: 'orderedList',\n };\n },\n content: 'paragraph block*',\n defining: true,\n parseHTML() {\n return [\n {\n tag: 'li',\n },\n ];\n },\n renderHTML({ HTMLAttributes }) {\n return ['li', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n addKeyboardShortcuts() {\n return {\n Enter: () => this.editor.commands.splitListItem(this.name),\n Tab: () => this.editor.commands.sinkListItem(this.name),\n 'Shift-Tab': () => this.editor.commands.liftListItem(this.name),\n };\n },\n});\n\nexport { ListItem, ListItem as default };\n//# sourceMappingURL=index.js.map\n"],"names":["ListItem","Node","HTMLAttributes","mergeAttributes"],"mappings":"qEAMK,MAACA,EAAWC,EAAK,OAAO,CACzB,KAAM,WACN,YAAa,CACT,MAAO,CACH,eAAgB,CAAA,EAChB,mBAAoB,aACpB,oBAAqB,aACjC,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-list-item/dist/index.js"],"sourcesContent":["import { Node, mergeAttributes } from '@tiptap/core';\n\n/**\n * This extension allows you to create list items.\n * @see https://www.tiptap.dev/api/nodes/list-item\n */\nconst ListItem = Node.create({\n name: 'listItem',\n addOptions() {\n return {\n HTMLAttributes: {},\n bulletListTypeName: 'bulletList',\n orderedListTypeName: 'orderedList',\n };\n },\n content: 'paragraph block*',\n defining: true,\n parseHTML() {\n return [\n {\n tag: 'li',\n },\n ];\n },\n renderHTML({ HTMLAttributes }) {\n return ['li', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n addKeyboardShortcuts() {\n return {\n Enter: () => this.editor.commands.splitListItem(this.name),\n Tab: () => this.editor.commands.sinkListItem(this.name),\n 'Shift-Tab': () => this.editor.commands.liftListItem(this.name),\n };\n },\n});\n\nexport { ListItem, ListItem as default };\n//# sourceMappingURL=index.js.map\n"],"names":["ListItem","Node","HTMLAttributes","mergeAttributes"],"mappings":"qEAMK,MAACA,EAAWC,EAAK,OAAO,CACzB,KAAM,WACN,YAAa,CACT,MAAO,CACH,eAAgB,CAAA,EAChB,mBAAoB,aACpB,oBAAqB,aACjC,CACI,EACA,QAAS,mBACT,SAAU,GACV,WAAY,CACR,MAAO,CACH,CACI,IAAK,IACrB,CACA,CACI,EACA,WAAW,CAAE,eAAAC,GAAkB,CAC3B,MAAO,CAAC,KAAMC,EAAgB,KAAK,QAAQ,eAAgBD,CAAc,EAAG,CAAC,CACjF,EACA,sBAAuB,CACnB,MAAO,CACH,MAAO,IAAM,KAAK,OAAO,SAAS,cAAc,KAAK,IAAI,EACzD,IAAK,IAAM,KAAK,OAAO,SAAS,aAAa,KAAK,IAAI,EACtD,YAAa,IAAM,KAAK,OAAO,SAAS,aAAa,KAAK,IAAI,CAC1E,CACI,CACJ,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-ordered-list/dist/index.js"],"sourcesContent":["import { Node, mergeAttributes, wrappingInputRule } from '@tiptap/core';\n\nconst ListItemName = 'listItem';\nconst TextStyleName = 'textStyle';\n/**\n * Matches an ordered list to a 1. on input (or any number followed by a dot).\n */\nconst inputRegex = /^(\\d+)\\.\\s$/;\n/**\n * This extension allows you to create ordered lists.\n * This requires the ListItem extension\n * @see https://www.tiptap.dev/api/nodes/ordered-list\n * @see https://www.tiptap.dev/api/nodes/list-item\n */\nconst OrderedList = Node.create({\n name: 'orderedList',\n addOptions() {\n return {\n itemTypeName: 'listItem',\n HTMLAttributes: {},\n keepMarks: false,\n keepAttributes: false,\n };\n },\n group: 'block list',\n content() {\n return `${this.options.itemTypeName}+`;\n },\n addAttributes() {\n return {\n start: {\n default: 1,\n parseHTML: element => {\n return element.hasAttribute('start')\n ? parseInt(element.getAttribute('start') || '', 10)\n : 1;\n },\n },\n type: {\n default: null,\n parseHTML: element => element.getAttribute('type'),\n },\n };\n },\n parseHTML() {\n return [\n {\n tag: 'ol',\n },\n ];\n },\n renderHTML({ HTMLAttributes }) {\n const { start, ...attributesWithoutStart } = HTMLAttributes;\n return start === 1\n ? ['ol', mergeAttributes(this.options.HTMLAttributes, attributesWithoutStart), 0]\n : ['ol', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n addCommands() {\n return {\n toggleOrderedList: () => ({ commands, chain }) => {\n if (this.options.keepAttributes) {\n return chain().toggleList(this.name, this.options.itemTypeName, this.options.keepMarks).updateAttributes(ListItemName, this.editor.getAttributes(TextStyleName)).run();\n }\n return commands.toggleList(this.name, this.options.itemTypeName, this.options.keepMarks);\n },\n };\n },\n addKeyboardShortcuts() {\n return {\n 'Mod-Shift-7': () => this.editor.commands.toggleOrderedList(),\n };\n },\n addInputRules() {\n let inputRule = wrappingInputRule({\n find: inputRegex,\n type: this.type,\n getAttributes: match => ({ start: +match[1] }),\n joinPredicate: (match, node) => node.childCount + node.attrs.start === +match[1],\n });\n if (this.options.keepMarks || this.options.keepAttributes) {\n inputRule = wrappingInputRule({\n find: inputRegex,\n type: this.type,\n keepMarks: this.options.keepMarks,\n keepAttributes: this.options.keepAttributes,\n getAttributes: match => ({ start: +match[1], ...this.editor.getAttributes(TextStyleName) }),\n joinPredicate: (match, node) => node.childCount + node.attrs.start === +match[1],\n editor: this.editor,\n });\n }\n return [\n inputRule,\n ];\n },\n});\n\nexport { OrderedList, OrderedList as default, inputRegex };\n//# sourceMappingURL=index.js.map\n"],"names":["ListItemName","TextStyleName","inputRegex","OrderedList","Node","element","HTMLAttributes","start","attributesWithoutStart","mergeAttributes","commands","chain","inputRule","wrappingInputRule","match","node"],"mappings":"4FAEA,MAAMA,EAAe,WACfC,EAAgB,YAIhBC,EAAa,cAObC,EAAcC,EAAK,OAAO,CAC5B,KAAM,cACN,YAAa,CACT,MAAO,CACH,aAAc,WACd,eAAgB,CAAA,EAChB,UAAW,GACX,eAAgB,EAC5B,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-ordered-list/dist/index.js"],"sourcesContent":["import { Node, mergeAttributes, wrappingInputRule } from '@tiptap/core';\n\nconst ListItemName = 'listItem';\nconst TextStyleName = 'textStyle';\n/**\n * Matches an ordered list to a 1. on input (or any number followed by a dot).\n */\nconst inputRegex = /^(\\d+)\\.\\s$/;\n/**\n * This extension allows you to create ordered lists.\n * This requires the ListItem extension\n * @see https://www.tiptap.dev/api/nodes/ordered-list\n * @see https://www.tiptap.dev/api/nodes/list-item\n */\nconst OrderedList = Node.create({\n name: 'orderedList',\n addOptions() {\n return {\n itemTypeName: 'listItem',\n HTMLAttributes: {},\n keepMarks: false,\n keepAttributes: false,\n };\n },\n group: 'block list',\n content() {\n return `${this.options.itemTypeName}+`;\n },\n addAttributes() {\n return {\n start: {\n default: 1,\n parseHTML: element => {\n return element.hasAttribute('start')\n ? parseInt(element.getAttribute('start') || '', 10)\n : 1;\n },\n },\n type: {\n default: null,\n parseHTML: element => element.getAttribute('type'),\n },\n };\n },\n parseHTML() {\n return [\n {\n tag: 'ol',\n },\n ];\n },\n renderHTML({ HTMLAttributes }) {\n const { start, ...attributesWithoutStart } = HTMLAttributes;\n return start === 1\n ? ['ol', mergeAttributes(this.options.HTMLAttributes, attributesWithoutStart), 0]\n : ['ol', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n addCommands() {\n return {\n toggleOrderedList: () => ({ commands, chain }) => {\n if (this.options.keepAttributes) {\n return chain().toggleList(this.name, this.options.itemTypeName, this.options.keepMarks).updateAttributes(ListItemName, this.editor.getAttributes(TextStyleName)).run();\n }\n return commands.toggleList(this.name, this.options.itemTypeName, this.options.keepMarks);\n },\n };\n },\n addKeyboardShortcuts() {\n return {\n 'Mod-Shift-7': () => this.editor.commands.toggleOrderedList(),\n };\n },\n addInputRules() {\n let inputRule = wrappingInputRule({\n find: inputRegex,\n type: this.type,\n getAttributes: match => ({ start: +match[1] }),\n joinPredicate: (match, node) => node.childCount + node.attrs.start === +match[1],\n });\n if (this.options.keepMarks || this.options.keepAttributes) {\n inputRule = wrappingInputRule({\n find: inputRegex,\n type: this.type,\n keepMarks: this.options.keepMarks,\n keepAttributes: this.options.keepAttributes,\n getAttributes: match => ({ start: +match[1], ...this.editor.getAttributes(TextStyleName) }),\n joinPredicate: (match, node) => node.childCount + node.attrs.start === +match[1],\n editor: this.editor,\n });\n }\n return [\n inputRule,\n ];\n },\n});\n\nexport { OrderedList, OrderedList as default, inputRegex };\n//# sourceMappingURL=index.js.map\n"],"names":["ListItemName","TextStyleName","inputRegex","OrderedList","Node","element","HTMLAttributes","start","attributesWithoutStart","mergeAttributes","commands","chain","inputRule","wrappingInputRule","match","node"],"mappings":"4FAEA,MAAMA,EAAe,WACfC,EAAgB,YAIhBC,EAAa,cAObC,EAAcC,EAAK,OAAO,CAC5B,KAAM,cACN,YAAa,CACT,MAAO,CACH,aAAc,WACd,eAAgB,CAAA,EAChB,UAAW,GACX,eAAgB,EAC5B,CACI,EACA,MAAO,aACP,SAAU,CACN,MAAO,GAAG,KAAK,QAAQ,YAAY,GACvC,EACA,eAAgB,CACZ,MAAO,CACH,MAAO,CACH,QAAS,EACT,UAAWC,GACAA,EAAQ,aAAa,OAAO,EAC7B,SAASA,EAAQ,aAAa,OAAO,GAAK,GAAI,EAAE,EAChD,CAE1B,EACY,KAAM,CACF,QAAS,KACT,UAAWA,GAAWA,EAAQ,aAAa,MAAM,CACjE,CACA,CACI,EACA,WAAY,CACR,MAAO,CACH,CACI,IAAK,IACrB,CACA,CACI,EACA,WAAW,CAAE,eAAAC,GAAkB,CAC3B,KAAM,CAAE,MAAAC,EAAO,GAAGC,CAAsB,EAAKF,EAC7C,OAAOC,IAAU,EACX,CAAC,KAAME,EAAgB,KAAK,QAAQ,eAAgBD,CAAsB,EAAG,CAAC,EAC9E,CAAC,KAAMC,EAAgB,KAAK,QAAQ,eAAgBH,CAAc,EAAG,CAAC,CAChF,EACA,aAAc,CACV,MAAO,CACH,kBAAmB,IAAM,CAAC,CAAE,SAAAI,EAAU,MAAAC,CAAK,IACnC,KAAK,QAAQ,eACNA,EAAK,EAAG,WAAW,KAAK,KAAM,KAAK,QAAQ,aAAc,KAAK,QAAQ,SAAS,EAAE,iBAAiBX,EAAc,KAAK,OAAO,cAAcC,CAAa,CAAC,EAAE,IAAG,EAEjKS,EAAS,WAAW,KAAK,KAAM,KAAK,QAAQ,aAAc,KAAK,QAAQ,SAAS,CAEvG,CACI,EACA,sBAAuB,CACnB,MAAO,CACH,cAAe,IAAM,KAAK,OAAO,SAAS,kBAAiB,CACvE,CACI,EACA,eAAgB,CACZ,IAAIE,EAAYC,EAAkB,CAC9B,KAAMX,EACN,KAAM,KAAK,KACX,cAAeY,IAAU,CAAE,MAAO,CAACA,EAAM,CAAC,IAC1C,cAAe,CAACA,EAAOC,IAASA,EAAK,WAAaA,EAAK,MAAM,QAAU,CAACD,EAAM,CAAC,CAC3F,CAAS,EACD,OAAI,KAAK,QAAQ,WAAa,KAAK,QAAQ,kBACvCF,EAAYC,EAAkB,CAC1B,KAAMX,EACN,KAAM,KAAK,KACX,UAAW,KAAK,QAAQ,UACxB,eAAgB,KAAK,QAAQ,eAC7B,cAAeY,IAAU,CAAE,MAAO,CAACA,EAAM,CAAC,EAAG,GAAG,KAAK,OAAO,cAAcb,CAAa,CAAC,GACxF,cAAe,CAACa,EAAOC,IAASA,EAAK,WAAaA,EAAK,MAAM,QAAU,CAACD,EAAM,CAAC,EAC/E,OAAQ,KAAK,MAC7B,CAAa,GAEE,CACHF,CACZ,CACI,CACJ,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-paragraph/dist/index.js"],"sourcesContent":["import { Node, mergeAttributes } from '@tiptap/core';\n\n/**\n * This extension allows you to create paragraphs.\n * @see https://www.tiptap.dev/api/nodes/paragraph\n */\nconst Paragraph = Node.create({\n name: 'paragraph',\n priority: 1000,\n addOptions() {\n return {\n HTMLAttributes: {},\n };\n },\n group: 'block',\n content: 'inline*',\n parseHTML() {\n return [\n { tag: 'p' },\n ];\n },\n renderHTML({ HTMLAttributes }) {\n return ['p', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n addCommands() {\n return {\n setParagraph: () => ({ commands }) => {\n return commands.setNode(this.name);\n },\n };\n },\n addKeyboardShortcuts() {\n return {\n 'Mod-Alt-0': () => this.editor.commands.setParagraph(),\n };\n },\n});\n\nexport { Paragraph, Paragraph as default };\n//# sourceMappingURL=index.js.map\n"],"names":["Paragraph","Node","HTMLAttributes","mergeAttributes","commands"],"mappings":"qEAMK,MAACA,EAAYC,EAAK,OAAO,CAC1B,KAAM,YACN,SAAU,IACV,YAAa,CACT,MAAO,CACH,eAAgB,CAAA,CAC5B,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-paragraph/dist/index.js"],"sourcesContent":["import { Node, mergeAttributes } from '@tiptap/core';\n\n/**\n * This extension allows you to create paragraphs.\n * @see https://www.tiptap.dev/api/nodes/paragraph\n */\nconst Paragraph = Node.create({\n name: 'paragraph',\n priority: 1000,\n addOptions() {\n return {\n HTMLAttributes: {},\n };\n },\n group: 'block',\n content: 'inline*',\n parseHTML() {\n return [\n { tag: 'p' },\n ];\n },\n renderHTML({ HTMLAttributes }) {\n return ['p', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n addCommands() {\n return {\n setParagraph: () => ({ commands }) => {\n return commands.setNode(this.name);\n },\n };\n },\n addKeyboardShortcuts() {\n return {\n 'Mod-Alt-0': () => this.editor.commands.setParagraph(),\n };\n },\n});\n\nexport { Paragraph, Paragraph as default };\n//# sourceMappingURL=index.js.map\n"],"names":["Paragraph","Node","HTMLAttributes","mergeAttributes","commands"],"mappings":"qEAMK,MAACA,EAAYC,EAAK,OAAO,CAC1B,KAAM,YACN,SAAU,IACV,YAAa,CACT,MAAO,CACH,eAAgB,CAAA,CAC5B,CACI,EACA,MAAO,QACP,QAAS,UACT,WAAY,CACR,MAAO,CACH,CAAE,IAAK,GAAG,CACtB,CACI,EACA,WAAW,CAAE,eAAAC,GAAkB,CAC3B,MAAO,CAAC,IAAKC,EAAgB,KAAK,QAAQ,eAAgBD,CAAc,EAAG,CAAC,CAChF,EACA,aAAc,CACV,MAAO,CACH,aAAc,IAAM,CAAC,CAAE,SAAAE,KACZA,EAAS,QAAQ,KAAK,IAAI,CAEjD,CACI,EACA,sBAAuB,CACnB,MAAO,CACH,YAAa,IAAM,KAAK,OAAO,SAAS,aAAY,CAChE,CACI,CACJ,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-strike/dist/index.js"],"sourcesContent":["import { Mark, mergeAttributes, markInputRule, markPasteRule } from '@tiptap/core';\n\n/**\n * Matches a strike to a ~~strike~~ on input.\n */\nconst inputRegex = /(?:^|\\s)(~~(?!\\s+~~)((?:[^~]+))~~(?!\\s+~~))$/;\n/**\n * Matches a strike to a ~~strike~~ on paste.\n */\nconst pasteRegex = /(?:^|\\s)(~~(?!\\s+~~)((?:[^~]+))~~(?!\\s+~~))/g;\n/**\n * This extension allows you to create strike text.\n * @see https://www.tiptap.dev/api/marks/strike\n */\nconst Strike = Mark.create({\n name: 'strike',\n addOptions() {\n return {\n HTMLAttributes: {},\n };\n },\n parseHTML() {\n return [\n {\n tag: 's',\n },\n {\n tag: 'del',\n },\n {\n tag: 'strike',\n },\n {\n style: 'text-decoration',\n consuming: false,\n getAttrs: style => (style.includes('line-through') ? {} : false),\n },\n ];\n },\n renderHTML({ HTMLAttributes }) {\n return ['s', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n addCommands() {\n return {\n setStrike: () => ({ commands }) => {\n return commands.setMark(this.name);\n },\n toggleStrike: () => ({ commands }) => {\n return commands.toggleMark(this.name);\n },\n unsetStrike: () => ({ commands }) => {\n return commands.unsetMark(this.name);\n },\n };\n },\n addKeyboardShortcuts() {\n return {\n 'Mod-Shift-s': () => this.editor.commands.toggleStrike(),\n };\n },\n addInputRules() {\n return [\n markInputRule({\n find: inputRegex,\n type: this.type,\n }),\n ];\n },\n addPasteRules() {\n return [\n markPasteRule({\n find: pasteRegex,\n type: this.type,\n }),\n ];\n },\n});\n\nexport { Strike, Strike as default, inputRegex, pasteRegex };\n//# sourceMappingURL=index.js.map\n"],"names":["inputRegex","pasteRegex","Strike","Mark","style","HTMLAttributes","mergeAttributes","commands","markInputRule","markPasteRule"],"mappings":"2GAKK,MAACA,EAAa,+CAIbC,EAAa,+CAKbC,EAASC,EAAK,OAAO,CACvB,KAAM,SACN,YAAa,CACT,MAAO,CACH,eAAgB,CAAA,CAC5B,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@tiptap/extension-strike/dist/index.js"],"sourcesContent":["import { Mark, mergeAttributes, markInputRule, markPasteRule } from '@tiptap/core';\n\n/**\n * Matches a strike to a ~~strike~~ on input.\n */\nconst inputRegex = /(?:^|\\s)(~~(?!\\s+~~)((?:[^~]+))~~(?!\\s+~~))$/;\n/**\n * Matches a strike to a ~~strike~~ on paste.\n */\nconst pasteRegex = /(?:^|\\s)(~~(?!\\s+~~)((?:[^~]+))~~(?!\\s+~~))/g;\n/**\n * This extension allows you to create strike text.\n * @see https://www.tiptap.dev/api/marks/strike\n */\nconst Strike = Mark.create({\n name: 'strike',\n addOptions() {\n return {\n HTMLAttributes: {},\n };\n },\n parseHTML() {\n return [\n {\n tag: 's',\n },\n {\n tag: 'del',\n },\n {\n tag: 'strike',\n },\n {\n style: 'text-decoration',\n consuming: false,\n getAttrs: style => (style.includes('line-through') ? {} : false),\n },\n ];\n },\n renderHTML({ HTMLAttributes }) {\n return ['s', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n addCommands() {\n return {\n setStrike: () => ({ commands }) => {\n return commands.setMark(this.name);\n },\n toggleStrike: () => ({ commands }) => {\n return commands.toggleMark(this.name);\n },\n unsetStrike: () => ({ commands }) => {\n return commands.unsetMark(this.name);\n },\n };\n },\n addKeyboardShortcuts() {\n return {\n 'Mod-Shift-s': () => this.editor.commands.toggleStrike(),\n };\n },\n addInputRules() {\n return [\n markInputRule({\n find: inputRegex,\n type: this.type,\n }),\n ];\n },\n addPasteRules() {\n return [\n markPasteRule({\n find: pasteRegex,\n type: this.type,\n }),\n ];\n },\n});\n\nexport { Strike, Strike as default, inputRegex, pasteRegex };\n//# sourceMappingURL=index.js.map\n"],"names":["inputRegex","pasteRegex","Strike","Mark","style","HTMLAttributes","mergeAttributes","commands","markInputRule","markPasteRule"],"mappings":"2GAKK,MAACA,EAAa,+CAIbC,EAAa,+CAKbC,EAASC,EAAK,OAAO,CACvB,KAAM,SACN,YAAa,CACT,MAAO,CACH,eAAgB,CAAA,CAC5B,CACI,EACA,WAAY,CACR,MAAO,CACH,CACI,IAAK,GACrB,EACY,CACI,IAAK,KACrB,EACY,CACI,IAAK,QACrB,EACY,CACI,MAAO,kBACP,UAAW,GACX,SAAUC,GAAUA,EAAM,SAAS,cAAc,EAAI,CAAA,EAAK,EAC1E,CACA,CACI,EACA,WAAW,CAAE,eAAAC,GAAkB,CAC3B,MAAO,CAAC,IAAKC,EAAgB,KAAK,QAAQ,eAAgBD,CAAc,EAAG,CAAC,CAChF,EACA,aAAc,CACV,MAAO,CACH,UAAW,IAAM,CAAC,CAAE,SAAAE,KACTA,EAAS,QAAQ,KAAK,IAAI,EAErC,aAAc,IAAM,CAAC,CAAE,SAAAA,KACZA,EAAS,WAAW,KAAK,IAAI,EAExC,YAAa,IAAM,CAAC,CAAE,SAAAA,KACXA,EAAS,UAAU,KAAK,IAAI,CAEnD,CACI,EACA,sBAAuB,CACnB,MAAO,CACH,cAAe,IAAM,KAAK,OAAO,SAAS,aAAY,CAClE,CACI,EACA,eAAgB,CACZ,MAAO,CACHC,EAAc,CACV,KAAMR,EACN,KAAM,KAAK,IAC3B,CAAa,CACb,CACI,EACA,eAAgB,CACZ,MAAO,CACHS,EAAc,CACV,KAAMR,EACN,KAAM,KAAK,IAC3B,CAAa,CACb,CACI,CACJ,CAAC","x_google_ignoreList":[0]}
|