@makeswift/runtime 0.0.0-1faafb3 → 0.0.0-20221019211549
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/api.js +1 -0
- package/box-model.js +1 -0
- package/builder.js +1 -0
- package/components.js +1 -0
- package/controls.js +1 -0
- package/dist/Box.cjs.js +507 -0
- package/dist/Box.cjs.js.map +1 -0
- package/dist/Box.es.js +501 -0
- package/dist/Box.es.js.map +1 -0
- package/dist/Button.cjs.js +315 -0
- package/dist/Button.cjs.js.map +1 -0
- package/dist/Button.es.js +308 -0
- package/dist/Button.es.js.map +1 -0
- package/dist/Carousel.cjs.js +493 -0
- package/dist/Carousel.cjs.js.map +1 -0
- package/dist/Carousel.es.js +487 -0
- package/dist/Carousel.es.js.map +1 -0
- package/dist/Countdown.cjs.js +347 -0
- package/dist/Countdown.cjs.js.map +1 -0
- package/dist/Countdown.es.js +341 -0
- package/dist/Countdown.es.js.map +1 -0
- package/dist/Divider.cjs.js +122 -0
- package/dist/Divider.cjs.js.map +1 -0
- package/dist/Divider.es.js +116 -0
- package/dist/Divider.es.js.map +1 -0
- package/dist/Embed.cjs.js +136 -0
- package/dist/Embed.cjs.js.map +1 -0
- package/dist/Embed.es.js +130 -0
- package/dist/Embed.es.js.map +1 -0
- package/dist/Form.cjs.js +1731 -0
- package/dist/Form.cjs.js.map +1 -0
- package/dist/Form.es.js +1704 -0
- package/dist/Form.es.js.map +1 -0
- package/dist/Image.cjs2.js +155 -0
- package/dist/Image.cjs2.js.map +1 -0
- package/dist/Image.es2.js +148 -0
- package/dist/Image.es2.js.map +1 -0
- package/dist/Navigation.cjs.js +742 -0
- package/dist/Navigation.cjs.js.map +1 -0
- package/dist/Navigation.es.js +716 -0
- package/dist/Navigation.es.js.map +1 -0
- package/dist/Root.cjs.js +149 -0
- package/dist/Root.cjs.js.map +1 -0
- package/dist/Root.es.js +143 -0
- package/dist/Root.es.js.map +1 -0
- package/dist/SocialLinks.cjs.js +906 -0
- package/dist/SocialLinks.cjs.js.map +1 -0
- package/dist/SocialLinks.es.js +880 -0
- package/dist/SocialLinks.es.js.map +1 -0
- package/dist/Text.cjs.js +482 -0
- package/dist/Text.cjs.js.map +1 -0
- package/dist/Text.es.js +474 -0
- package/dist/Text.es.js.map +1 -0
- package/dist/Video.cjs.js +128 -0
- package/dist/Video.cjs.js.map +1 -0
- package/dist/Video.es.js +121 -0
- package/dist/Video.es.js.map +1 -0
- package/dist/actions.cjs.js +140 -17
- package/dist/actions.cjs.js.map +1 -1
- package/dist/actions.es.js +122 -16
- package/dist/actions.es.js.map +1 -1
- package/dist/api.cjs.js +6 -0
- package/dist/api.cjs.js.map +1 -0
- package/dist/api.es.js +3 -0
- package/dist/api.es.js.map +1 -0
- package/dist/box-model.cjs.js +2 -2
- package/dist/box-model.es.js +1 -0
- package/dist/box-model.es.js.map +1 -1
- package/dist/box-models.cjs.js +28 -156
- package/dist/box-models.cjs.js.map +1 -1
- package/dist/box-models.es.js +31 -159
- package/dist/box-models.es.js.map +1 -1
- package/dist/builder.cjs.js +13 -0
- package/dist/builder.cjs.js.map +1 -0
- package/dist/builder.es.js +4 -0
- package/dist/builder.es.js.map +1 -0
- package/dist/color.cjs.js +8 -0
- package/dist/color.cjs.js.map +1 -0
- package/dist/color.es.js +6 -0
- package/dist/color.es.js.map +1 -0
- package/dist/components.cjs.js +107 -6901
- package/dist/components.cjs.js.map +1 -1
- package/dist/components.es.js +66 -6866
- package/dist/components.es.js.map +1 -1
- package/dist/constants.cjs.js +15 -0
- package/dist/constants.cjs.js.map +1 -0
- package/dist/constants.es.js +14 -0
- package/dist/constants.es.js.map +1 -0
- package/dist/control-serialization.cjs.js +485 -0
- package/dist/control-serialization.cjs.js.map +1 -0
- package/dist/control-serialization.es.js +478 -0
- package/dist/control-serialization.es.js.map +1 -0
- package/dist/controls.cjs.js +38 -0
- package/dist/controls.cjs.js.map +1 -0
- package/dist/controls.es.js +6 -0
- package/dist/controls.es.js.map +1 -0
- package/dist/cssMediaRules.cjs.js +210 -0
- package/dist/cssMediaRules.cjs.js.map +1 -0
- package/dist/cssMediaRules.es.js +201 -0
- package/dist/cssMediaRules.es.js.map +1 -0
- package/dist/graphql.cjs.js +365 -0
- package/dist/graphql.cjs.js.map +1 -0
- package/dist/graphql.es.js +356 -0
- package/dist/graphql.es.js.map +1 -0
- package/dist/image.cjs.js +282 -0
- package/dist/image.cjs.js.map +1 -0
- package/dist/image.es.js +240 -0
- package/dist/image.es.js.map +1 -0
- package/dist/index.cjs.js +3211 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.cjs2.js +522 -0
- package/dist/index.cjs2.js.map +1 -0
- package/dist/index.cjs3.js +146 -0
- package/dist/index.cjs3.js.map +1 -0
- package/dist/index.cjs4.js +18 -0
- package/dist/index.cjs4.js.map +1 -0
- package/dist/index.es.js +3104 -0
- package/dist/index.es.js.map +1 -0
- package/dist/index.es2.js +514 -0
- package/dist/index.es2.js.map +1 -0
- package/dist/index.es3.js +140 -0
- package/dist/index.es3.js.map +1 -0
- package/dist/index.es4.js +13 -0
- package/dist/index.es4.js.map +1 -0
- package/dist/main.cjs.js +16 -2
- package/dist/main.cjs.js.map +1 -1
- package/dist/main.es.js +7 -1
- package/dist/main.es.js.map +1 -1
- package/dist/next.cjs.js +432 -0
- package/dist/next.cjs.js.map +1 -0
- package/dist/next.es.js +416 -0
- package/dist/next.es.js.map +1 -0
- package/dist/placeholders.cjs.js +13 -0
- package/dist/placeholders.cjs.js.map +1 -0
- package/dist/placeholders.es.js +12 -0
- package/dist/placeholders.es.js.map +1 -0
- package/dist/prop-controllers.cjs.js +6 -175
- package/dist/prop-controllers.cjs.js.map +1 -1
- package/dist/prop-controllers.es.js +2 -173
- package/dist/prop-controllers.es.js.map +1 -1
- package/dist/react-builder-preview.cjs.js +257 -4138
- package/dist/react-builder-preview.cjs.js.map +1 -1
- package/dist/react-builder-preview.es.js +249 -4134
- package/dist/react-builder-preview.es.js.map +1 -1
- package/dist/react-page.cjs.js +602 -0
- package/dist/react-page.cjs.js.map +1 -0
- package/dist/react-page.es.js +566 -0
- package/dist/react-page.es.js.map +1 -0
- package/dist/react.cjs.js +41 -7
- package/dist/react.cjs.js.map +1 -1
- package/dist/react.es.js +33 -1
- package/dist/react.es.js.map +1 -1
- package/dist/shape.cjs.js +20 -0
- package/dist/shape.cjs.js.map +1 -0
- package/dist/shape.es.js +14 -0
- package/dist/shape.es.js.map +1 -0
- package/dist/slot.cjs.js +130 -0
- package/dist/slot.cjs.js.map +1 -0
- package/dist/slot.es.js +123 -0
- package/dist/slot.es.js.map +1 -0
- package/dist/text-input.cjs.js +38 -0
- package/dist/text-input.cjs.js.map +1 -0
- package/dist/text-input.es.js +26 -0
- package/dist/text-input.es.js.map +1 -0
- package/dist/types/src/api/constants.d.ts +4 -0
- package/dist/types/src/api/constants.d.ts.map +1 -0
- package/dist/types/src/api/generated/graphql.d.ts +175 -0
- package/dist/types/src/api/generated/graphql.d.ts.map +1 -0
- package/dist/types/src/api/index.d.ts +3 -0
- package/dist/types/src/api/index.d.ts.map +1 -0
- package/dist/types/src/api/introspection.d.ts +10 -0
- package/dist/types/src/api/introspection.d.ts.map +1 -0
- package/dist/types/src/api/react.d.ts +27 -0
- package/dist/types/src/api/react.d.ts.map +1 -0
- package/dist/types/src/api/types.d.ts +4 -0
- package/dist/types/src/api/types.d.ts.map +1 -0
- package/dist/types/src/box-model.d.ts +3 -0
- package/dist/types/src/box-model.d.ts.map +1 -0
- package/dist/types/src/builder/index.d.ts +2 -0
- package/dist/types/src/builder/index.d.ts.map +1 -0
- package/dist/types/src/builder/serialization/control-serialization.d.ts +301 -0
- package/dist/types/src/builder/serialization/control-serialization.d.ts.map +1 -0
- package/dist/types/src/builder/serialization/controls/combobox.d.ts +5 -0
- package/dist/types/src/builder/serialization/controls/combobox.d.ts.map +1 -0
- package/dist/types/src/builder/serialization/controls/list.d.ts +5 -0
- package/dist/types/src/builder/serialization/controls/list.d.ts.map +1 -0
- package/dist/types/src/builder/serialization/controls/shape.d.ts +5 -0
- package/dist/types/src/builder/serialization/controls/shape.d.ts.map +1 -0
- package/dist/types/src/builder/serialization/controls/types.d.ts +10 -0
- package/dist/types/src/builder/serialization/controls/types.d.ts.map +1 -0
- package/dist/types/src/builder/serialization/function-serialization.d.ts +12 -0
- package/dist/types/src/builder/serialization/function-serialization.d.ts.map +1 -0
- package/dist/types/src/builder/serialization/index.d.ts +4 -0
- package/dist/types/src/builder/serialization/index.d.ts.map +1 -0
- package/dist/types/{components → src/components/builtin}/Box/Box.d.ts +8 -5
- package/dist/types/src/components/builtin/Box/Box.d.ts.map +1 -0
- package/dist/types/{components → src/components/builtin}/Box/animations.d.ts +3 -10
- package/dist/types/src/components/builtin/Box/animations.d.ts.map +1 -0
- package/dist/types/{components → src/components/builtin}/Box/components/Placeholder/index.d.ts +0 -0
- package/dist/types/src/components/builtin/Box/components/Placeholder/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Box/constants.d.ts +9 -0
- package/dist/types/src/components/builtin/Box/constants.d.ts.map +1 -0
- package/dist/types/{components → src/components/builtin}/Box/index.d.ts +1 -1
- package/dist/types/src/components/builtin/Box/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Box/register.d.ts +3 -0
- package/dist/types/src/components/builtin/Box/register.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Button/Button.d.ts +117 -0
- package/dist/types/src/components/builtin/Button/Button.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Button/contants.d.ts +2 -0
- package/dist/types/src/components/builtin/Button/contants.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Button/index.d.ts +2 -0
- package/dist/types/src/components/builtin/Button/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Button/register.d.ts +3 -0
- package/dist/types/src/components/builtin/Button/register.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Carousel/Carousel.d.ts +26 -0
- package/dist/types/src/components/builtin/Carousel/Carousel.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Carousel/index.d.ts +2 -0
- package/dist/types/src/components/builtin/Carousel/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Carousel/register.d.ts +3 -0
- package/dist/types/src/components/builtin/Carousel/register.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Countdown/Countdown.d.ts +25 -0
- package/dist/types/src/components/builtin/Countdown/Countdown.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Countdown/index.d.ts +2 -0
- package/dist/types/src/components/builtin/Countdown/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Countdown/register.d.ts +3 -0
- package/dist/types/src/components/builtin/Countdown/register.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Divider/Divider.d.ts +15 -0
- package/dist/types/src/components/builtin/Divider/Divider.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Divider/index.d.ts +2 -0
- package/dist/types/src/components/builtin/Divider/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Divider/register.d.ts +3 -0
- package/dist/types/src/components/builtin/Divider/register.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Embed/Embed.d.ts +11 -0
- package/dist/types/src/components/builtin/Embed/Embed.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Embed/index.d.ts +2 -0
- package/dist/types/src/components/builtin/Embed/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Embed/register.d.ts +3 -0
- package/dist/types/src/components/builtin/Embed/register.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Form/Form.d.ts +33 -0
- package/dist/types/src/components/builtin/Form/Form.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/Checkbox/index.d.ts +15 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/Checkbox/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/CheckboxTableField/index.d.ts +15 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/CheckboxTableField/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/EmailTableField/index.d.ts +11 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/EmailTableField/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/Input/index.d.ts +14 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/Input/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/Label/index.d.ts +16 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/Label/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/LongTextTableField/index.d.ts +10 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/LongTextTableField/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/MultipleSelectTableField/index.d.ts +23 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/MultipleSelectTableField/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/NumberTableField/index.d.ts +11 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/NumberTableField/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/PhoneNumberTableField/index.d.ts +11 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/PhoneNumberTableField/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/PlaceholderTableField/index.d.ts +3 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/PlaceholderTableField/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/RadioButton/index.d.ts +17 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/RadioButton/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/SingleLineTextTableField/index.d.ts +11 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/SingleLineTextTableField/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnRadioButtonGroup/index.d.ts +23 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnRadioButtonGroup/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnSingleSelect/index.d.ts +19 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnSingleSelect/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/SingleSelectTableField/index.d.ts +24 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/SingleSelectTableField/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/TextArea/index.d.ts +13 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/TextArea/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/URLTableField/index.d.ts +11 -0
- package/dist/types/src/components/builtin/Form/components/Field/components/URLTableField/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Form/components/Field/index.d.ts +19 -0
- package/dist/types/src/components/builtin/Form/components/Field/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Form/components/Field/services/cssField.d.ts +11 -0
- package/dist/types/src/components/builtin/Form/components/Field/services/cssField.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Form/components/Placeholder/index.d.ts +10 -0
- package/dist/types/src/components/builtin/Form/components/Placeholder/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Form/components/Spinner/index.d.ts +3 -0
- package/dist/types/src/components/builtin/Form/components/Spinner/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Form/context/FormContext.d.ts +39 -0
- package/dist/types/src/components/builtin/Form/context/FormContext.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Form/index.d.ts +2 -0
- package/dist/types/src/components/builtin/Form/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Form/register.d.ts +3 -0
- package/dist/types/src/components/builtin/Form/register.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Form/types.d.ts +62 -0
- package/dist/types/src/components/builtin/Form/types.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Image/Image.d.ts +26 -0
- package/dist/types/src/components/builtin/Image/Image.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Image/index.d.ts +2 -0
- package/dist/types/src/components/builtin/Image/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Image/register.d.ts +3 -0
- package/dist/types/src/components/builtin/Image/register.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Navigation/Navigation.d.ts +24 -0
- package/dist/types/src/components/builtin/Navigation/Navigation.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Navigation/components/DropDownButton/index.d.ts +100 -0
- package/dist/types/src/components/builtin/Navigation/components/DropDownButton/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts +8 -0
- package/dist/types/src/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.d.ts +101 -0
- package/dist/types/src/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Navigation/components/MobileMenu/index.d.ts +14 -0
- package/dist/types/src/components/builtin/Navigation/components/MobileMenu/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Navigation/index.d.ts +2 -0
- package/dist/types/src/components/builtin/Navigation/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Navigation/register.d.ts +3 -0
- package/dist/types/src/components/builtin/Navigation/register.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Root/Root.d.ts +12 -0
- package/dist/types/src/components/builtin/Root/Root.d.ts.map +1 -0
- package/dist/types/{components → src/components/builtin}/Root/components/Placeholder/index.d.ts +0 -0
- package/dist/types/src/components/builtin/Root/components/Placeholder/index.d.ts.map +1 -0
- package/dist/types/{components → src/components/builtin}/Root/index.d.ts +0 -0
- package/dist/types/src/components/builtin/Root/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Root/register.d.ts +3 -0
- package/dist/types/src/components/builtin/Root/register.d.ts.map +1 -0
- package/dist/types/src/components/builtin/SocialLinks/SocialLinks.d.ts +19 -0
- package/dist/types/src/components/builtin/SocialLinks/SocialLinks.d.ts.map +1 -0
- package/dist/types/src/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts +8 -0
- package/dist/types/src/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/SocialLinks/index.d.ts +2 -0
- package/dist/types/src/components/builtin/SocialLinks/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/SocialLinks/options.d.ts +118 -0
- package/dist/types/src/components/builtin/SocialLinks/options.d.ts.map +1 -0
- package/dist/types/src/components/builtin/SocialLinks/register.d.ts +3 -0
- package/dist/types/src/components/builtin/SocialLinks/register.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/Text.d.ts +16 -0
- package/dist/types/src/components/builtin/Text/Text.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/components/RichTextEditor/components/Block/index.d.ts +13 -0
- package/dist/types/src/components/builtin/Text/components/RichTextEditor/components/Block/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/components/RichTextEditor/components/Mark/hooks/useTypographyMark.d.ts +25 -0
- package/dist/types/src/components/builtin/Text/components/RichTextEditor/components/Mark/hooks/useTypographyMark.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/components/RichTextEditor/components/Mark/index.d.ts +13 -0
- package/dist/types/src/components/builtin/Text/components/RichTextEditor/components/Mark/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/components/RichTextEditor/index.d.ts +5 -0
- package/dist/types/src/components/builtin/Text/components/RichTextEditor/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesBlocks.d.ts +3 -0
- package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesBlocks.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesMarks.d.ts +3 -0
- package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesMarks.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/Inlines.d.ts +3 -0
- package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/Inlines.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/Link.d.ts +3 -0
- package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/Link.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/index.d.ts +2 -0
- package/dist/types/src/components/builtin/Text/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Text/register.d.ts +3 -0
- package/dist/types/src/components/builtin/Text/register.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Video/Video.d.ts +12 -0
- package/dist/types/src/components/builtin/Video/Video.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Video/index.d.ts +2 -0
- package/dist/types/src/components/builtin/Video/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/Video/register.d.ts +3 -0
- package/dist/types/src/components/builtin/Video/register.d.ts.map +1 -0
- package/dist/types/src/components/builtin/constants.d.ts +20 -0
- package/dist/types/src/components/builtin/constants.d.ts.map +1 -0
- package/dist/types/src/components/builtin/index.d.ts +16 -0
- package/dist/types/src/components/builtin/index.d.ts.map +1 -0
- package/dist/types/src/components/builtin/register.d.ts +3 -0
- package/dist/types/src/components/builtin/register.d.ts.map +1 -0
- package/dist/types/src/components/hooks/index.d.ts +8 -0
- package/dist/types/src/components/hooks/index.d.ts.map +1 -0
- package/dist/types/src/components/hooks/useBackgrounds.d.ts +59 -0
- package/dist/types/src/components/hooks/useBackgrounds.d.ts.map +1 -0
- package/dist/types/src/components/hooks/useBorder.d.ts +19 -0
- package/dist/types/src/components/hooks/useBorder.d.ts.map +1 -0
- package/dist/types/src/components/hooks/useBoxShadow.d.ts +19 -0
- package/dist/types/src/components/hooks/useBoxShadow.d.ts.map +1 -0
- package/dist/types/src/components/hooks/useFile.d.ts +13 -0
- package/dist/types/src/components/hooks/useFile.d.ts.map +1 -0
- package/dist/types/src/components/hooks/useIsomorphicLayoutEffect.d.ts +3 -0
- package/dist/types/src/components/hooks/useIsomorphicLayoutEffect.d.ts.map +1 -0
- package/dist/types/{components → src/components}/hooks/useMediaQuery.d.ts +0 -0
- package/dist/types/src/components/hooks/useMediaQuery.d.ts.map +1 -0
- package/dist/types/src/components/hooks/usePage.d.ts +7 -0
- package/dist/types/src/components/hooks/usePage.d.ts.map +1 -0
- package/dist/types/src/components/hooks/useResponsiveColor.d.ts +7 -0
- package/dist/types/src/components/hooks/useResponsiveColor.d.ts.map +1 -0
- package/dist/types/src/components/hooks/useTableFormFieldRefs.d.ts +8 -0
- package/dist/types/src/components/hooks/useTableFormFieldRefs.d.ts.map +1 -0
- package/dist/types/src/components/hooks/useTypography.d.ts +24 -0
- package/dist/types/src/components/hooks/useTypography.d.ts.map +1 -0
- package/dist/types/src/components/index.d.ts +5 -0
- package/dist/types/src/components/index.d.ts.map +1 -0
- package/dist/types/src/components/page/BodySnippet.d.ts +7 -0
- package/dist/types/src/components/page/BodySnippet.d.ts.map +1 -0
- package/dist/types/src/components/page/Page.d.ts +28 -0
- package/dist/types/src/components/page/Page.d.ts.map +1 -0
- package/dist/types/src/components/page/index.d.ts +2 -0
- package/dist/types/src/components/page/index.d.ts.map +1 -0
- package/dist/types/src/components/shared/BackgroundsContainer/components/BackgroundVideo/index.d.ts +11 -0
- package/dist/types/src/components/shared/BackgroundsContainer/components/BackgroundVideo/index.d.ts.map +1 -0
- package/dist/types/src/components/shared/BackgroundsContainer/components/Backgrounds/index.d.ts +8 -0
- package/dist/types/src/components/shared/BackgroundsContainer/components/Backgrounds/index.d.ts.map +1 -0
- package/dist/types/src/components/shared/BackgroundsContainer/components/Parallax/index.d.ts +11 -0
- package/dist/types/src/components/shared/BackgroundsContainer/components/Parallax/index.d.ts.map +1 -0
- package/dist/types/src/components/shared/BackgroundsContainer/index.d.ts +11 -0
- package/dist/types/src/components/shared/BackgroundsContainer/index.d.ts.map +1 -0
- package/dist/types/src/components/shared/FallbackComponent/FallbackComponent.d.ts +7 -0
- package/dist/types/src/components/shared/FallbackComponent/FallbackComponent.d.ts.map +1 -0
- package/dist/types/src/components/shared/FallbackComponent/index.d.ts +2 -0
- package/dist/types/src/components/shared/FallbackComponent/index.d.ts.map +1 -0
- package/dist/types/src/components/shared/GutterContainer/index.d.ts +8 -0
- package/dist/types/src/components/shared/GutterContainer/index.d.ts.map +1 -0
- package/dist/types/src/components/shared/Link/index.d.ts +9 -0
- package/dist/types/src/components/shared/Link/index.d.ts.map +1 -0
- package/dist/types/src/components/utils/colorToString.d.ts +3 -0
- package/dist/types/src/components/utils/colorToString.d.ts.map +1 -0
- package/dist/types/{components → src/components}/utils/columns.d.ts +0 -0
- package/dist/types/src/components/utils/columns.d.ts.map +1 -0
- package/dist/types/{components → src/components}/utils/cssMediaRules.d.ts +23 -1
- package/dist/types/src/components/utils/cssMediaRules.d.ts.map +1 -0
- package/dist/types/{components → src/components}/utils/devices.d.ts +1 -0
- package/dist/types/src/components/utils/devices.d.ts.map +1 -0
- package/dist/types/src/components/utils/isNonNullable.d.ts +2 -0
- package/dist/types/src/components/utils/isNonNullable.d.ts.map +1 -0
- package/dist/types/src/components/utils/placeholders.d.ts +17 -0
- package/dist/types/src/components/utils/placeholders.d.ts.map +1 -0
- package/dist/types/src/components/utils/queries.d.ts +10 -0
- package/dist/types/src/components/utils/queries.d.ts.map +1 -0
- package/dist/types/src/components/utils/responsive-style.d.ts +9 -0
- package/dist/types/src/components/utils/responsive-style.d.ts.map +1 -0
- package/dist/types/src/components/utils/types.d.ts +10 -0
- package/dist/types/src/components/utils/types.d.ts.map +1 -0
- package/dist/types/src/controls/checkbox.d.ts +13 -0
- package/dist/types/src/controls/checkbox.d.ts.map +1 -0
- package/dist/types/src/controls/color.d.ts +16 -0
- package/dist/types/src/controls/color.d.ts.map +1 -0
- package/dist/types/src/controls/combobox.d.ts +22 -0
- package/dist/types/src/controls/combobox.d.ts.map +1 -0
- package/dist/types/src/controls/control.d.ts +14 -0
- package/dist/types/src/controls/control.d.ts.map +1 -0
- package/dist/types/src/controls/image.d.ts +24 -0
- package/dist/types/src/controls/image.d.ts.map +1 -0
- package/dist/types/src/controls/index.d.ts +15 -0
- package/dist/types/src/controls/index.d.ts.map +1 -0
- package/dist/types/src/controls/link.d.ts +50 -0
- package/dist/types/src/controls/link.d.ts.map +1 -0
- package/dist/types/src/controls/list.d.ts +26 -0
- package/dist/types/src/controls/list.d.ts.map +1 -0
- package/dist/types/src/controls/number.d.ts +18 -0
- package/dist/types/src/controls/number.d.ts.map +1 -0
- package/dist/types/src/controls/select.d.ts +22 -0
- package/dist/types/src/controls/select.d.ts.map +1 -0
- package/dist/types/src/controls/shape.d.ts +15 -0
- package/dist/types/src/controls/shape.d.ts.map +1 -0
- package/dist/types/src/controls/slot.d.ts +42 -0
- package/dist/types/src/controls/slot.d.ts.map +1 -0
- package/dist/types/src/controls/style.d.ts +206 -0
- package/dist/types/src/controls/style.d.ts.map +1 -0
- package/dist/types/src/controls/text-area.d.ts +14 -0
- package/dist/types/src/controls/text-area.d.ts.map +1 -0
- package/dist/types/src/controls/text-input.d.ts +13 -0
- package/dist/types/src/controls/text-input.d.ts.map +1 -0
- package/dist/types/src/controls/types.d.ts +14 -0
- package/dist/types/src/controls/types.d.ts.map +1 -0
- package/dist/types/{index.d.ts → src/index.d.ts} +3 -1
- package/dist/types/src/index.d.ts.map +1 -0
- package/dist/types/src/next/api-handler.d.ts +31 -0
- package/dist/types/src/next/api-handler.d.ts.map +1 -0
- package/dist/types/src/next/client.d.ts +68 -0
- package/dist/types/src/next/client.d.ts.map +1 -0
- package/dist/types/src/next/document.d.ts +7 -0
- package/dist/types/src/next/document.d.ts.map +1 -0
- package/dist/types/src/next/dynamic.d.ts +13 -0
- package/dist/types/src/next/dynamic.d.ts.map +1 -0
- package/dist/types/src/next/index.d.ts +24 -0
- package/dist/types/src/next/index.d.ts.map +1 -0
- package/dist/types/src/next/preview-mode.d.ts +11 -0
- package/dist/types/src/next/preview-mode.d.ts.map +1 -0
- package/dist/types/{prop-controllers → src/prop-controllers}/descriptors.d.ts +132 -45
- package/dist/types/src/prop-controllers/descriptors.d.ts.map +1 -0
- package/dist/types/src/prop-controllers/index.d.ts +5 -0
- package/dist/types/src/prop-controllers/index.d.ts.map +1 -0
- package/dist/types/src/prop-controllers/instances.d.ts +102 -0
- package/dist/types/src/prop-controllers/instances.d.ts.map +1 -0
- package/dist/types/src/prop-controllers/introspection.d.ts +10 -0
- package/dist/types/src/prop-controllers/introspection.d.ts.map +1 -0
- package/dist/types/src/react.d.ts +4 -0
- package/dist/types/src/react.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/components/index.d.ts +2 -0
- package/dist/types/src/runtimes/react/components/index.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/components/render-hook.d.ts +14 -0
- package/dist/types/src/runtimes/react/components/render-hook.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/controls/checkbox.d.ts +4 -0
- package/dist/types/src/runtimes/react/controls/checkbox.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/controls/color.d.ts +4 -0
- package/dist/types/src/runtimes/react/controls/color.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/controls/combobox.d.ts +4 -0
- package/dist/types/src/runtimes/react/controls/combobox.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/controls/control.d.ts +22 -0
- package/dist/types/src/runtimes/react/controls/control.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/controls/image.d.ts +13 -0
- package/dist/types/src/runtimes/react/controls/image.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/controls/link.d.ts +11 -0
- package/dist/types/src/runtimes/react/controls/link.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/controls/list.d.ts +13 -0
- package/dist/types/src/runtimes/react/controls/list.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/controls/number.d.ts +4 -0
- package/dist/types/src/runtimes/react/controls/number.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/controls/select.d.ts +4 -0
- package/dist/types/src/runtimes/react/controls/select.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/controls/shape.d.ts +14 -0
- package/dist/types/src/runtimes/react/controls/shape.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/controls/slot.d.ts +30 -0
- package/dist/types/src/runtimes/react/controls/slot.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/controls/style.d.ts +4 -0
- package/dist/types/src/runtimes/react/controls/style.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/controls/text-area.d.ts +4 -0
- package/dist/types/src/runtimes/react/controls/text-area.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/controls/text-input.d.ts +4 -0
- package/dist/types/src/runtimes/react/controls/text-input.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/controls.d.ts +13 -0
- package/dist/types/src/runtimes/react/controls.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/find-dom-node.d.ts +7 -0
- package/dist/types/src/runtimes/react/find-dom-node.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/index.d.ts +48 -0
- package/dist/types/src/runtimes/react/index.d.ts.map +1 -0
- package/dist/types/src/runtimes/react/use-style.d.ts +3 -0
- package/dist/types/src/runtimes/react/use-style.d.ts.map +1 -0
- package/dist/types/src/state/actions.d.ts +291 -0
- package/dist/types/src/state/actions.d.ts.map +1 -0
- package/dist/types/{state → src/state}/modules/box-models.d.ts +5 -5
- package/dist/types/src/state/modules/box-models.d.ts.map +1 -0
- package/dist/types/{state → src/state}/modules/components-meta.d.ts +0 -0
- package/dist/types/src/state/modules/components-meta.d.ts.map +1 -0
- package/dist/types/src/state/modules/is-in-builder.d.ts +6 -0
- package/dist/types/src/state/modules/is-in-builder.d.ts.map +1 -0
- package/dist/types/src/state/modules/prop-controller-handles.d.ts +17 -0
- package/dist/types/src/state/modules/prop-controller-handles.d.ts.map +1 -0
- package/dist/types/{state → src/state}/modules/prop-controllers.d.ts +1 -0
- package/dist/types/src/state/modules/prop-controllers.d.ts.map +1 -0
- package/dist/types/{state → src/state}/modules/react-components.d.ts +4 -2
- package/dist/types/src/state/modules/react-components.d.ts.map +1 -0
- package/dist/types/{state → src/state}/modules/read-only-documents.d.ts +8 -4
- package/dist/types/src/state/modules/read-only-documents.d.ts.map +1 -0
- package/dist/types/{state → src/state}/modules/read-write-documents.d.ts +1 -1
- package/dist/types/src/state/modules/read-write-documents.d.ts.map +1 -0
- package/dist/types/{state → src/state}/react-builder-preview.d.ts +16 -11
- package/dist/types/src/state/react-builder-preview.d.ts.map +1 -0
- package/dist/types/src/state/react-page.d.ts +38 -0
- package/dist/types/src/state/react-page.d.ts.map +1 -0
- package/dist/types/src/utils/clamp.d.ts +3 -0
- package/dist/types/src/utils/clamp.d.ts.map +1 -0
- package/dist/types/src/utils/coalesce.d.ts +3 -0
- package/dist/types/src/utils/coalesce.d.ts.map +1 -0
- package/dist/types/src/utils/constants.d.ts +6 -0
- package/dist/types/src/utils/constants.d.ts.map +1 -0
- package/dist/types/{utils → src/utils}/deepEqual.d.ts +0 -0
- package/dist/types/src/utils/deepEqual.d.ts.map +1 -0
- package/dist/types/src/utils/intersection.d.ts +4 -0
- package/dist/types/src/utils/intersection.d.ts.map +1 -0
- package/dist/types/{utils → src/utils}/is.d.ts +0 -0
- package/dist/types/src/utils/is.d.ts.map +1 -0
- package/dist/types/src/utils/keys.d.ts +5 -0
- package/dist/types/src/utils/keys.d.ts.map +1 -0
- package/dist/types/{utils → src/utils}/shallowEqual.d.ts +0 -0
- package/dist/types/src/utils/shallowEqual.d.ts.map +1 -0
- package/dist/types/src/utils/shallowMerge.d.ts +2 -0
- package/dist/types/src/utils/shallowMerge.d.ts.map +1 -0
- package/dist/useBoxShadow.cjs.js +78 -0
- package/dist/useBoxShadow.cjs.js.map +1 -0
- package/dist/useBoxShadow.es.js +77 -0
- package/dist/useBoxShadow.es.js.map +1 -0
- package/dist/useMediaQuery.cjs.js +26 -0
- package/dist/useMediaQuery.cjs.js.map +1 -0
- package/dist/useMediaQuery.es.js +25 -0
- package/dist/useMediaQuery.es.js.map +1 -0
- package/next/plugin.js +1 -0
- package/next.js +1 -0
- package/package.json +105 -24
- package/prop-controllers.js +1 -0
- package/react.js +1 -0
- package/dist/react.cjs2.js +0 -835
- package/dist/react.cjs2.js.map +0 -1
- package/dist/react.es2.js +0 -810
- package/dist/react.es2.js.map +0 -1
- package/dist/types/box-model.d.ts +0 -3
- package/dist/types/box-model.d.ts.map +0 -1
- package/dist/types/components/Box/Box.d.ts.map +0 -1
- package/dist/types/components/Box/animations.d.ts.map +0 -1
- package/dist/types/components/Box/components/Placeholder/index.d.ts.map +0 -1
- package/dist/types/components/Box/index.d.ts.map +0 -1
- package/dist/types/components/Root/Root.d.ts +0 -11
- package/dist/types/components/Root/Root.d.ts.map +0 -1
- package/dist/types/components/Root/components/Placeholder/index.d.ts.map +0 -1
- package/dist/types/components/Root/index.d.ts.map +0 -1
- package/dist/types/components/hooks/index.d.ts +0 -2
- package/dist/types/components/hooks/index.d.ts.map +0 -1
- package/dist/types/components/hooks/useMediaQuery.d.ts.map +0 -1
- package/dist/types/components/index.d.ts +0 -4
- package/dist/types/components/index.d.ts.map +0 -1
- package/dist/types/components/utils/columns.d.ts.map +0 -1
- package/dist/types/components/utils/cssMediaRules.d.ts.map +0 -1
- package/dist/types/components/utils/devices.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/prop-controllers/descriptors.d.ts.map +0 -1
- package/dist/types/prop-controllers/index.d.ts +0 -3
- package/dist/types/prop-controllers/index.d.ts.map +0 -1
- package/dist/types/react.d.ts +0 -4
- package/dist/types/react.d.ts.map +0 -1
- package/dist/types/runtimes/react.d.ts +0 -28
- package/dist/types/runtimes/react.d.ts.map +0 -1
- package/dist/types/state/actions.d.ts +0 -124
- package/dist/types/state/actions.d.ts.map +0 -1
- package/dist/types/state/modules/box-models.d.ts.map +0 -1
- package/dist/types/state/modules/components-meta.d.ts.map +0 -1
- package/dist/types/state/modules/prop-controllers.d.ts.map +0 -1
- package/dist/types/state/modules/react-components.d.ts.map +0 -1
- package/dist/types/state/modules/read-only-documents.d.ts.map +0 -1
- package/dist/types/state/modules/read-write-documents.d.ts.map +0 -1
- package/dist/types/state/react-builder-preview.d.ts.map +0 -1
- package/dist/types/state/react-page.d.ts +0 -28
- package/dist/types/state/react-page.d.ts.map +0 -1
- package/dist/types/utils/deepEqual.d.ts.map +0 -1
- package/dist/types/utils/is.d.ts.map +0 -1
- package/dist/types/utils/shallowEqual.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Text.cjs.js","sources":["../src/components/hooks/useTypography.ts","../src/components/builtin/Text/components/RichTextEditor/components/Mark/hooks/useTypographyMark.ts","../src/components/builtin/Text/components/RichTextEditor/components/Mark/index.tsx","../src/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesMarks.tsx","../src/components/builtin/Text/components/RichTextEditor/components/Block/index.tsx","../src/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesBlocks.tsx","../src/components/builtin/Text/components/RichTextEditor/plugins/Link.tsx","../src/components/builtin/Text/components/RichTextEditor/plugins/Inlines.tsx","../src/components/builtin/Text/components/RichTextEditor/index.tsx","../src/components/builtin/Text/Text.tsx"],"sourcesContent":["import type { ColorValue } from '../utils/types'\nimport type { Length as LengthValue } from '../../prop-controllers'\nimport { DeviceOverride } from '../../prop-controllers'\nimport { TYPOGRAPHIES_BY_ID } from '../utils/queries'\nimport { useQuery } from '../../api/react'\n\nexport type TypographyStyleValue = {\n fontFamily?: string\n fontWeight?: number\n fontSize?: LengthValue\n color?: ColorValue\n textAlign?: string\n lineHeight?: number\n letterSpacing?: number\n uppercase?: boolean\n underline?: boolean\n strikethrough?: boolean\n italic?: boolean\n}\n\nexport type TypographyStyle = Array<DeviceOverride<TypographyStyleValue>>\n\nexport type Typography = {\n id: string\n name: string\n style: TypographyStyle\n}\n\nexport function useTypography(\n typographyId: string | null | undefined,\n): Typography | null | undefined {\n const { error, data } = useQuery(TYPOGRAPHIES_BY_ID, {\n skip: typographyId == null,\n variables: { ids: typographyId != null ? [typographyId] : [] },\n })\n\n if (typographyId == null || error != null) return null\n\n return data?.typographies[0] as Typography | null\n}\n","import { Length as LengthValue } from '../../../../../../../../prop-controllers'\nimport { ColorValue as Color } from '../../../../../../../utils/types'\nimport { findDeviceOverride } from '../../../../../../../utils/devices'\nimport type { DeviceOverride } from '../../../../../../../../prop-controllers'\nimport { SWATCHES_BY_ID } from '../../../../../../../utils/queries'\nimport { useTypography, TypographyStyle } from '../../../../../../../hooks/useTypography'\nimport { useQuery } from '../../../../../../../../api/react'\n\nexport type TypographyMarkDataValue = {\n fontWeight?: number\n fontSize?: LengthValue\n fontFamily?: string\n color?: Color\n textAlign?: string\n lineHeight?: number\n letterSpacing?: number\n uppercase?: boolean\n italic?: boolean\n underline?: boolean\n strikethrough?: boolean\n}\n\nexport type TypographyMarkValue = {\n id: string | null | undefined\n style: TypographyStyle\n}\n\nexport type TypographyMarkData = Array<DeviceOverride<TypographyMarkDataValue>>\n\nconst concat = <A extends unknown[], B extends unknown[]>(a: A, b: B) => a.concat(b)\nconst getSwatchId = ({ value: { color } }: any) => color && color.swatchId\nconst getDeviceId = ({ deviceId }: any) => deviceId\n\nconst withColor =\n (swatches: any) =>\n ({ value: { color, ...restOfValue }, ...rest }: any) => ({\n ...rest,\n value: {\n ...restOfValue,\n ...(color\n ? {\n color: {\n swatch: swatches.find((s: any) => s && s.id === color.swatchId),\n alpha: color.alpha,\n },\n }\n : {}),\n },\n })\n\nexport const overrideTypographyStyle = <A>(\n source: Array<DeviceOverride<A>>,\n override: Array<DeviceOverride<A>>,\n): Array<DeviceOverride<A>> => {\n const devices = [...new Set(source.map(getDeviceId).concat(override.map(getDeviceId)))]\n\n return devices.map((deviceId: any) => ({\n deviceId,\n value: {\n ...(findDeviceOverride(source, deviceId) || { value: {} }).value,\n ...(findDeviceOverride(override, deviceId, v => v) || { value: {} }).value,\n },\n })) as DeviceOverride<A>[]\n}\n\nexport default function useTypographyMark(\n value: TypographyMarkValue | null | undefined,\n): TypographyMarkData | null | undefined {\n const typography = useTypography(value && value.id)\n\n const swatchIds = [\n (typography && typography.style.map(getSwatchId)) || [],\n (value && value.style.map(getSwatchId)) || [],\n ]\n .reduce(concat)\n .filter(Boolean)\n\n const { error: colorError, data: colorData = {} } = useQuery(SWATCHES_BY_ID, {\n skip: swatchIds == null || swatchIds.length === 0,\n variables: { ids: swatchIds },\n })\n\n const { swatches = [] } = colorData\n\n if (colorError != null) return null\n\n return overrideTypographyStyle(\n (typography && typography.style.map(withColor(swatches))) || [],\n (value && value.style.map(withColor(swatches))) || [],\n )\n}\n","import { ComponentPropsWithoutRef } from 'react'\nimport styled, { css } from 'styled-components'\n\nimport useTypographyMark, {\n TypographyMarkValue,\n TypographyMarkData,\n overrideTypographyStyle,\n TypographyMarkDataValue,\n} from './hooks/useTypographyMark'\nimport { cssMediaRules } from '../../../../../../utils/cssMediaRules'\nimport { colorToString } from '../../../../../../utils/colorToString'\nimport { shallowMergeFallbacks } from '../../../../../../utils/devices'\n\nexport type { TypographyMarkValue }\nexport { overrideTypographyStyle }\n\nconst Span = styled.span<{ typographyStyle: TypographyMarkData | null | undefined }>`\n ${p =>\n cssMediaRules(\n [p.typographyStyle] as const,\n ([\n {\n color,\n fontFamily,\n fontSize,\n fontWeight,\n lineHeight,\n letterSpacing,\n uppercase,\n underline,\n strikethrough,\n italic,\n } = {} as TypographyMarkDataValue,\n ]) => css`\n ${color == null\n ? ''\n : css`\n color: ${colorToString(color)};\n `}\n\n ${fontFamily == null\n ? ''\n : css`\n font-family: '${fontFamily}';\n `}\n\n ${fontSize == null || fontSize.value == null || fontSize.unit == null\n ? ''\n : css`\n font-size: ${`${fontSize.value}${fontSize.unit}`};\n `}\n\n ${fontWeight == null\n ? ''\n : css`\n font-weight: ${fontWeight};\n `}\n\n ${lineHeight == null\n ? ''\n : css`\n line-height: ${lineHeight};\n `}\n\n ${letterSpacing == null\n ? ''\n : css`\n letter-spacing: ${letterSpacing / 10}em;\n `}\n\n ${underline == null && strikethrough == null\n ? ''\n : css`\n text-decoration: ${[\n Boolean(underline) && 'underline',\n Boolean(strikethrough) && 'line-through',\n ]\n .filter(Boolean)\n .join(' ')};\n `}\n\n ${uppercase == null\n ? ''\n : css`\n text-transform: ${uppercase === true ? 'uppercase' : 'initial'};\n `}\n\n ${italic == null\n ? ''\n : css`\n font-style: ${italic === true ? 'italic' : 'initial'};\n `}\n `,\n shallowMergeFallbacks,\n )}\n`\n\ntype BaseProps = { value: TypographyMarkValue }\n\ntype Props = BaseProps & Omit<ComponentPropsWithoutRef<typeof Span>, keyof BaseProps>\n\nexport default function Mark({ value, ...restOfProps }: Props): JSX.Element {\n const typographyStyle = useTypographyMark(value)\n\n return <Span {...restOfProps} typographyStyle={typographyStyle} />\n}\n","import type { Plugin } from 'slate-react'\n\nimport Mark from '../components/Mark'\n\nconst TYPOGRAPHY_TYPE = 'typography'\n\nexport default function DeviceOverridesMarksPlugin(): Plugin {\n return {\n renderMark({ mark, children }, _editor, next) {\n if (mark.type === TYPOGRAPHY_TYPE) {\n return <Mark value={mark.data.get('value')}>{children}</Mark>\n }\n\n return next()\n },\n }\n}\n","import { forwardRef, ElementType, ComponentPropsWithoutRef } from 'react'\nimport styled, { css } from 'styled-components'\n\nimport { cssMediaRules } from '../../../../../../utils/cssMediaRules'\nimport type { ResponsiveValue } from '../../../../../../../prop-controllers'\n\ntype StyledBlockProps = {\n textAlign?: ResponsiveValue<'left' | 'center' | 'right' | 'justify'>\n as?: ElementType\n}\n\nconst StyledBlock = styled.div<StyledBlockProps>`\n margin: 0;\n ${p =>\n cssMediaRules([p.textAlign] as const, ([textAlign]) =>\n textAlign == null\n ? css``\n : css`\n text-align: ${textAlign};\n `,\n )}\n\n ${p =>\n p.as === 'blockquote'\n ? css`\n padding: 0.5em 10px;\n font-size: 1.25em;\n font-weight: 300;\n border-left: 5px solid rgba(0, 0, 0, 0.1);\n `\n : ''}\n`\n\ntype Props = ComponentPropsWithoutRef<typeof StyledBlock>\n\nexport default forwardRef<HTMLDivElement, Props>(function Block(\n { textAlign, ...restOfProps }: Props,\n ref,\n) {\n return <StyledBlock {...restOfProps} ref={ref} textAlign={textAlign} />\n})\n","import { Plugin } from 'slate-react'\n\nimport Block from '../components/Block'\n\nexport default function DeviceOverridesBlockPlugin(): Plugin {\n return {\n renderBlock(props, _editor, next): JSX.Element {\n const { node, attributes, children } = props\n const blockProps = { textAlign: node.data.get('textAlign') }\n\n switch (node.type) {\n case 'paragraph':\n return (\n <Block {...attributes} {...blockProps} as=\"p\">\n {children}\n </Block>\n )\n\n case 'heading-one':\n return (\n <Block {...attributes} {...blockProps} as=\"h1\">\n {children}\n </Block>\n )\n\n case 'heading-two':\n return (\n <Block {...attributes} {...blockProps} as=\"h2\">\n {children}\n </Block>\n )\n\n case 'heading-three':\n return (\n <Block {...attributes} {...blockProps} as=\"h3\">\n {children}\n </Block>\n )\n\n case 'heading-four':\n return (\n <Block {...attributes} {...blockProps} as=\"h4\">\n {children}\n </Block>\n )\n\n case 'heading-five':\n return (\n <Block {...attributes} {...blockProps} as=\"h5\">\n {children}\n </Block>\n )\n\n case 'heading-six':\n return (\n <Block {...attributes} {...blockProps} as=\"h6\">\n {children}\n </Block>\n )\n\n case 'blockquote':\n return (\n <Block {...attributes} {...blockProps} as=\"blockquote\">\n {children}\n </Block>\n )\n\n default:\n return next()\n }\n },\n }\n}\n","import { Plugin } from 'slate-react'\nimport styled from 'styled-components'\n\nimport { Link } from '../../../../../shared/Link'\n\nconst StyledLink = styled(Link)`\n text-decoration: none;\n`\n\nexport default function LinkPlugin(): Plugin {\n return {\n renderInline(props, _editor, next) {\n const { attributes, children, node } = props\n\n switch (node.type) {\n case 'link': {\n const { data } = node\n\n return (\n <StyledLink {...attributes} link={data.toJS()}>\n {children}\n </StyledLink>\n )\n }\n\n default: {\n return next()\n }\n }\n },\n }\n}\n","import { Plugin } from 'slate-react'\n\nexport default function Inlines(): Plugin {\n return {\n renderInline(props, _editor, next) {\n const { attributes, children, node } = props\n\n switch (node.type) {\n case 'code': {\n return <code {...attributes}>{children}</code>\n }\n\n case 'superscript': {\n return <sup {...attributes}>{children}</sup>\n }\n\n case 'subscript': {\n return <sub {...attributes}>{children}</sub>\n }\n\n default: {\n return next()\n }\n }\n },\n }\n}\n","import { ComponentPropsWithoutRef, forwardRef, useMemo } from 'react'\n\nimport { Editor as SlateEditor } from 'slate-react'\n\n// @ts-expect-error: no types for '@convertkit/slate-lists'\nimport Lists from '@convertkit/slate-lists'\nimport styled from 'styled-components'\n\nimport DeviceOverridesMarks from './plugins/DeviceOverridesMarks'\nimport DeviceOverridesBlocks from './plugins/DeviceOverridesBlocks'\nimport Link from './plugins/Link'\nimport Inlines from './plugins/Inlines'\n\nexport { overrideTypographyStyle } from './components/Mark'\n\ntype Props = ComponentPropsWithoutRef<typeof SlateEditor>\n\nexport const RichTextEditor = styled(\n forwardRef<SlateEditor, Props>(function RichTextEditor(\n { placeholder = 'Write some text...', ...restOfProps }: Props,\n ref,\n ) {\n const plugins = useMemo(\n () => [Lists(), Link(), Inlines(), DeviceOverridesBlocks(), DeviceOverridesMarks()],\n [],\n )\n\n return (\n <SlateEditor\n {...restOfProps}\n // Workaround because our Slate editor is broken on Chrome 105\n // Problem: https://linear.app/makeswift/issue/PRD-434/our-rich-text-component-breaks-in-the-latest-version-of-chrome\n // Workaround: https://github.com/ianstormtaylor/slate/issues/5110#issuecomment-1234951122\n style={{ WebkitUserModify: undefined }}\n ref={ref}\n autoFocus={false}\n plugins={plugins}\n placeholder={placeholder}\n />\n )\n }),\n)`\n ul,\n ol {\n margin: 0;\n }\n`\n","import {\n useState,\n Ref,\n useImperativeHandle,\n forwardRef,\n useEffect,\n useCallback,\n useRef,\n KeyboardEvent as ReactKeyboardEvent,\n FocusEvent as ReactFocusEvent,\n} from 'react'\nimport styled from 'styled-components'\nimport { Editor, OnChangeParam } from 'slate-react'\nimport { Value, ValueJSON } from 'slate'\n// @ts-expect-error: no types for 'slate-hotkeys'\nimport Hotkeys from 'slate-hotkeys'\nimport { isHotkey } from 'is-hotkey'\n\nimport {\n ElementIDValue,\n MarginValue,\n RichTextDescriptor,\n RichTextValue,\n WidthValue,\n} from '../../../prop-controllers/descriptors'\nimport { cssMargin, cssWidth } from '../../utils/cssMediaRules'\nimport { BoxModelHandle, getBox } from '../../../box-model'\nimport { PropControllersHandle } from '../../../state/modules/prop-controller-handles'\nimport { RichTextEditor } from './components/RichTextEditor'\nimport { useIsInBuilder } from '../../../runtimes/react'\nimport { DescriptorsPropControllers } from '../../../prop-controllers/instances'\n\ntype Props = {\n id?: ElementIDValue\n text?: RichTextValue\n width?: WidthValue\n margin?: MarginValue\n}\n\nconst StyledRichTextEditor = styled(RichTextEditor).withConfig({\n shouldForwardProp: prop => !['width', 'margin'].includes(prop.toString()),\n})<{ width: Props['width']; margin: Props['margin'] }>`\n ${cssWidth()}\n ${cssMargin()}\n`\n\nconst defaultText: ValueJSON = {\n document: { nodes: [{ object: 'block' as const, type: 'paragraph' as const, nodes: [] }] },\n data: {},\n}\n\nconst COMMIT_DEBOUNCE_DELAY = 500\n\ntype Descriptors = { text?: RichTextDescriptor }\n\nconst Text = forwardRef(function Text(\n { id, text, width, margin }: Props,\n ref: Ref<BoxModelHandle & PropControllersHandle<Descriptors>>,\n) {\n const [editor, setEditor] = useState<Editor | null>(null)\n const [propControllers, setPropControllers] =\n useState<DescriptorsPropControllers<Descriptors> | null>(null)\n const controller = propControllers?.text\n\n useImperativeHandle(\n ref,\n () => ({\n getBoxModel() {\n const el = editor?.findDOMNode([])\n\n return el instanceof Element ? getBox(el) : null\n },\n setPropControllers,\n }),\n [editor, setPropControllers],\n )\n\n useEffect(() => {\n if (editor) controller?.setSlateEditor(editor)\n }, [controller, editor])\n\n /**\n * We must keep local state so that we can reflect the user's typed changes immediately. At the\n * same time, though, the source of truth for the data is the prop data. This presents a\n * challenge: how do we keep local state in sync with the prop data without mangling user input as\n * data comes in?\n *\n * Consider, for example, that the user types \"Hello\". If at a later time, when the user is trying\n * to type \", world\" the component re-renders with prop data \"H\", \"He\", \"Hel\", \"Hell\", \"Hello\", it\n * will disrupt the user's typing. This could also happen as a result of the prop data changing\n * for other reasons, like collaborators changing the prop data concurrently. We want to avoid to\n * disrupt the user's typing, while at the same time display the \"true\" value as quickly as\n * possible.\n *\n * The approach we take here is to commit the prop data at an opportune time: as the user is\n * typing we avoid to commit prop data. But once they've stopped typing, we commit it as soon as\n * possible. This is known as a debounce.\n */\n const [value, setValue] = useState(() => {\n const { selection, ...textWithoutSelection } = text ?? defaultText\n\n return Value.fromJSON(textWithoutSelection)\n })\n const [shouldCommit, setShouldCommit] = useState(true)\n\n useEffect(() => {\n if (shouldCommit) {\n const nextValue = Value.fromJSON(text ?? defaultText)\n\n setValue(currentValue =>\n currentValue.selection.isBlurred\n ? Value.fromJSON(nextValue.toJSON({ preserveSelection: false }))\n : nextValue,\n )\n }\n }, [shouldCommit, text])\n\n useEffect(() => {\n if (shouldCommit) return\n\n const timeoutId = window.setTimeout(() => {\n setShouldCommit(true)\n }, COMMIT_DEBOUNCE_DELAY)\n\n return () => {\n window.clearTimeout(timeoutId)\n }\n }, [shouldCommit])\n\n function handleChange(change: OnChangeParam) {\n setValue(change.value as Value)\n\n if (change.value !== value) {\n setShouldCommit(false)\n\n controller?.onChange(change)\n }\n }\n\n // HACK: Slate holds on to the very first DOM event handlers passed in and doesn't update them\n // even if they change. Since `controller` is first `undefined` then we must use a ref.\n const lastController = useRef(controller)\n if (lastController.current !== controller) lastController.current = controller\n const handleFocus = useCallback(() => {\n lastController.current?.focus()\n }, [])\n const handleKeyDown = useCallback(\n (event: ReactKeyboardEvent, _editor: Editor, next: () => any) => {\n if (Hotkeys.isUndo(event)) {\n lastController.current?.undo()\n\n return true\n }\n\n if (Hotkeys.isRedo(event)) {\n lastController.current?.redo()\n\n return true\n }\n\n if (isHotkey('escape')(event)) {\n lastController.current?.blur()\n\n return true\n }\n\n return next()\n },\n [],\n )\n const handleBlur = useCallback((event: ReactFocusEvent, _editor: Editor, next: () => any) => {\n // Normally, after a user highlight a text, clicking on the panel will remove the text selection.\n // This line is a workaround for that. Because the panel is not in the iframe, relatedTarget\n // would be null, and we return early so we don't remove the selection.\n if (event.relatedTarget == null) return true\n\n // Blur the selection if the user is clicking on other text.\n return next()\n }, [])\n\n const isInBuilder = useIsInBuilder()\n\n return (\n <StyledRichTextEditor\n // @ts-expect-error: types don't allow for 'id' prop even though it's used.\n id={id}\n ref={setEditor}\n width={width}\n readOnly={!isInBuilder}\n margin={margin}\n value={value}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n onBlur={handleBlur}\n />\n )\n})\n\nexport default Text\n"],"names":["useQuery","TYPOGRAPHIES_BY_ID","findDeviceOverride","SWATCHES_BY_ID","Span","styled","span","p","cssMediaRules","typographyStyle","color","fontFamily","fontSize","fontWeight","lineHeight","letterSpacing","uppercase","underline","strikethrough","italic","css","colorToString","value","unit","Boolean","filter","join","shallowMergeFallbacks","restOfProps","useTypographyMark","TYPOGRAPHY_TYPE","renderMark","mark","children","_editor","next","type","data","get","StyledBlock","div","textAlign","as","forwardRef","ref","renderBlock","props","node","attributes","blockProps","StyledLink","Link","renderInline","toJS","RichTextEditor","placeholder","plugins","useMemo","Lists","Inlines","DeviceOverridesBlocks","DeviceOverridesMarks","SlateEditor","WebkitUserModify","undefined","StyledRichTextEditor","withConfig","shouldForwardProp","prop","includes","toString","cssWidth","cssMargin","defaultText","document","nodes","object","COMMIT_DEBOUNCE_DELAY","Text","id","text","width","margin","editor","setEditor","useState","propControllers","setPropControllers","controller","useImperativeHandle","getBoxModel","el","findDOMNode","Element","getBox","useEffect","setSlateEditor","setValue","selection","textWithoutSelection","Value","fromJSON","shouldCommit","setShouldCommit","nextValue","currentValue","isBlurred","toJSON","preserveSelection","timeoutId","window","setTimeout","clearTimeout","change","onChange","lastController","useRef","current","handleFocus","useCallback","focus","handleKeyDown","event","Hotkeys","isUndo","undo","isRedo","redo","isHotkey","blur","handleBlur","relatedTarget","isInBuilder","useIsInBuilder","handleChange"],"mappings":"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"}
|
package/dist/Text.es.js
ADDED
|
@@ -0,0 +1,474 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
var __objRest = (source, exclude) => {
|
|
21
|
+
var target = {};
|
|
22
|
+
for (var prop in source)
|
|
23
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
24
|
+
target[prop] = source[prop];
|
|
25
|
+
if (source != null && __getOwnPropSymbols)
|
|
26
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
27
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
28
|
+
target[prop] = source[prop];
|
|
29
|
+
}
|
|
30
|
+
return target;
|
|
31
|
+
};
|
|
32
|
+
import { forwardRef, useMemo, useState, useImperativeHandle, useEffect, useRef, useCallback } from "react";
|
|
33
|
+
import styled, { css } from "styled-components";
|
|
34
|
+
import { Value } from "slate";
|
|
35
|
+
import Hotkeys from "slate-hotkeys";
|
|
36
|
+
import { isHotkey } from "is-hotkey";
|
|
37
|
+
import { c as cssMediaRules, a as cssWidth, b as cssMargin } from "./cssMediaRules.es.js";
|
|
38
|
+
import { g as getBox } from "./box-models.es.js";
|
|
39
|
+
import { Editor } from "slate-react";
|
|
40
|
+
import Lists from "@convertkit/slate-lists";
|
|
41
|
+
import { v as useQuery, B as TYPOGRAPHIES_BY_ID, F as SWATCHES_BY_ID, z as findDeviceOverride, G as shallowMergeFallbacks, p as colorToString, u as useIsInBuilder } from "./index.es.js";
|
|
42
|
+
import { jsx } from "react/jsx-runtime";
|
|
43
|
+
import { L as Link } from "./index.es3.js";
|
|
44
|
+
import "css-box-model";
|
|
45
|
+
import "./actions.es.js";
|
|
46
|
+
import "use-sync-external-store/shim/with-selector";
|
|
47
|
+
import "./react-page.es.js";
|
|
48
|
+
import "redux";
|
|
49
|
+
import "redux-thunk";
|
|
50
|
+
import "./image.es.js";
|
|
51
|
+
import "./color.es.js";
|
|
52
|
+
import "./slot.es.js";
|
|
53
|
+
import "next/dynamic";
|
|
54
|
+
import "@apollo/client";
|
|
55
|
+
import "@apollo/client/link/batch-http";
|
|
56
|
+
import "./graphql.es.js";
|
|
57
|
+
import "./shape.es.js";
|
|
58
|
+
import "./text-input.es.js";
|
|
59
|
+
import "@emotion/css";
|
|
60
|
+
import "color";
|
|
61
|
+
import "scroll-into-view-if-needed";
|
|
62
|
+
import "react-dom";
|
|
63
|
+
import "html-react-parser";
|
|
64
|
+
import "next/head";
|
|
65
|
+
import "@emotion/server/create-instance";
|
|
66
|
+
import "next/document";
|
|
67
|
+
import "cookie";
|
|
68
|
+
import "cors";
|
|
69
|
+
import "http-proxy";
|
|
70
|
+
import "set-cookie-parser";
|
|
71
|
+
import "uuid/v4";
|
|
72
|
+
import "corporate-ipsum";
|
|
73
|
+
import "next/link";
|
|
74
|
+
function useTypography(typographyId) {
|
|
75
|
+
const { error, data } = useQuery(TYPOGRAPHIES_BY_ID, {
|
|
76
|
+
skip: typographyId == null,
|
|
77
|
+
variables: { ids: typographyId != null ? [typographyId] : [] }
|
|
78
|
+
});
|
|
79
|
+
if (typographyId == null || error != null)
|
|
80
|
+
return null;
|
|
81
|
+
return data == null ? void 0 : data.typographies[0];
|
|
82
|
+
}
|
|
83
|
+
const concat = (a, b) => a.concat(b);
|
|
84
|
+
const getSwatchId = ({ value: { color } }) => color && color.swatchId;
|
|
85
|
+
const getDeviceId = ({ deviceId }) => deviceId;
|
|
86
|
+
const withColor = (swatches) => (_a) => {
|
|
87
|
+
var _b = _a, { value: _c } = _b, _d = _c, { color } = _d, restOfValue = __objRest(_d, ["color"]), rest = __objRest(_b, ["value"]);
|
|
88
|
+
return __spreadProps(__spreadValues({}, rest), {
|
|
89
|
+
value: __spreadValues(__spreadValues({}, restOfValue), color ? {
|
|
90
|
+
color: {
|
|
91
|
+
swatch: swatches.find((s) => s && s.id === color.swatchId),
|
|
92
|
+
alpha: color.alpha
|
|
93
|
+
}
|
|
94
|
+
} : {})
|
|
95
|
+
});
|
|
96
|
+
};
|
|
97
|
+
const overrideTypographyStyle = (source, override) => {
|
|
98
|
+
const devices = [...new Set(source.map(getDeviceId).concat(override.map(getDeviceId)))];
|
|
99
|
+
return devices.map((deviceId) => ({
|
|
100
|
+
deviceId,
|
|
101
|
+
value: __spreadValues(__spreadValues({}, (findDeviceOverride(source, deviceId) || { value: {} }).value), (findDeviceOverride(override, deviceId, (v) => v) || { value: {} }).value)
|
|
102
|
+
}));
|
|
103
|
+
};
|
|
104
|
+
function useTypographyMark(value) {
|
|
105
|
+
const typography = useTypography(value && value.id);
|
|
106
|
+
const swatchIds = [
|
|
107
|
+
typography && typography.style.map(getSwatchId) || [],
|
|
108
|
+
value && value.style.map(getSwatchId) || []
|
|
109
|
+
].reduce(concat).filter(Boolean);
|
|
110
|
+
const { error: colorError, data: colorData = {} } = useQuery(SWATCHES_BY_ID, {
|
|
111
|
+
skip: swatchIds == null || swatchIds.length === 0,
|
|
112
|
+
variables: { ids: swatchIds }
|
|
113
|
+
});
|
|
114
|
+
const { swatches = [] } = colorData;
|
|
115
|
+
if (colorError != null)
|
|
116
|
+
return null;
|
|
117
|
+
return overrideTypographyStyle(typography && typography.style.map(withColor(swatches)) || [], value && value.style.map(withColor(swatches)) || []);
|
|
118
|
+
}
|
|
119
|
+
const Span = styled.span`
|
|
120
|
+
${(p) => cssMediaRules([p.typographyStyle], ([{
|
|
121
|
+
color,
|
|
122
|
+
fontFamily,
|
|
123
|
+
fontSize,
|
|
124
|
+
fontWeight,
|
|
125
|
+
lineHeight,
|
|
126
|
+
letterSpacing,
|
|
127
|
+
uppercase,
|
|
128
|
+
underline,
|
|
129
|
+
strikethrough,
|
|
130
|
+
italic
|
|
131
|
+
} = {}]) => css`
|
|
132
|
+
${color == null ? "" : css`
|
|
133
|
+
color: ${colorToString(color)};
|
|
134
|
+
`}
|
|
135
|
+
|
|
136
|
+
${fontFamily == null ? "" : css`
|
|
137
|
+
font-family: '${fontFamily}';
|
|
138
|
+
`}
|
|
139
|
+
|
|
140
|
+
${fontSize == null || fontSize.value == null || fontSize.unit == null ? "" : css`
|
|
141
|
+
font-size: ${`${fontSize.value}${fontSize.unit}`};
|
|
142
|
+
`}
|
|
143
|
+
|
|
144
|
+
${fontWeight == null ? "" : css`
|
|
145
|
+
font-weight: ${fontWeight};
|
|
146
|
+
`}
|
|
147
|
+
|
|
148
|
+
${lineHeight == null ? "" : css`
|
|
149
|
+
line-height: ${lineHeight};
|
|
150
|
+
`}
|
|
151
|
+
|
|
152
|
+
${letterSpacing == null ? "" : css`
|
|
153
|
+
letter-spacing: ${letterSpacing / 10}em;
|
|
154
|
+
`}
|
|
155
|
+
|
|
156
|
+
${underline == null && strikethrough == null ? "" : css`
|
|
157
|
+
text-decoration: ${[Boolean(underline) && "underline", Boolean(strikethrough) && "line-through"].filter(Boolean).join(" ")};
|
|
158
|
+
`}
|
|
159
|
+
|
|
160
|
+
${uppercase == null ? "" : css`
|
|
161
|
+
text-transform: ${uppercase === true ? "uppercase" : "initial"};
|
|
162
|
+
`}
|
|
163
|
+
|
|
164
|
+
${italic == null ? "" : css`
|
|
165
|
+
font-style: ${italic === true ? "italic" : "initial"};
|
|
166
|
+
`}
|
|
167
|
+
`, shallowMergeFallbacks)}
|
|
168
|
+
`;
|
|
169
|
+
function Mark(_a) {
|
|
170
|
+
var _b = _a, {
|
|
171
|
+
value
|
|
172
|
+
} = _b, restOfProps = __objRest(_b, [
|
|
173
|
+
"value"
|
|
174
|
+
]);
|
|
175
|
+
const typographyStyle = useTypographyMark(value);
|
|
176
|
+
return /* @__PURE__ */ jsx(Span, __spreadProps(__spreadValues({}, restOfProps), {
|
|
177
|
+
typographyStyle
|
|
178
|
+
}));
|
|
179
|
+
}
|
|
180
|
+
const TYPOGRAPHY_TYPE = "typography";
|
|
181
|
+
function DeviceOverridesMarksPlugin() {
|
|
182
|
+
return {
|
|
183
|
+
renderMark({
|
|
184
|
+
mark,
|
|
185
|
+
children
|
|
186
|
+
}, _editor, next) {
|
|
187
|
+
if (mark.type === TYPOGRAPHY_TYPE) {
|
|
188
|
+
return /* @__PURE__ */ jsx(Mark, {
|
|
189
|
+
value: mark.data.get("value"),
|
|
190
|
+
children
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
return next();
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
const StyledBlock = styled.div`
|
|
198
|
+
margin: 0;
|
|
199
|
+
${(p) => cssMediaRules([p.textAlign], ([textAlign]) => textAlign == null ? css`` : css`
|
|
200
|
+
text-align: ${textAlign};
|
|
201
|
+
`)}
|
|
202
|
+
|
|
203
|
+
${(p) => p.as === "blockquote" ? css`
|
|
204
|
+
padding: 0.5em 10px;
|
|
205
|
+
font-size: 1.25em;
|
|
206
|
+
font-weight: 300;
|
|
207
|
+
border-left: 5px solid rgba(0, 0, 0, 0.1);
|
|
208
|
+
` : ""}
|
|
209
|
+
`;
|
|
210
|
+
var Block = forwardRef(function Block2(_c, ref) {
|
|
211
|
+
var _d = _c, {
|
|
212
|
+
textAlign
|
|
213
|
+
} = _d, restOfProps = __objRest(_d, [
|
|
214
|
+
"textAlign"
|
|
215
|
+
]);
|
|
216
|
+
return /* @__PURE__ */ jsx(StyledBlock, __spreadProps(__spreadValues({}, restOfProps), {
|
|
217
|
+
ref,
|
|
218
|
+
textAlign
|
|
219
|
+
}));
|
|
220
|
+
});
|
|
221
|
+
function DeviceOverridesBlockPlugin() {
|
|
222
|
+
return {
|
|
223
|
+
renderBlock(props, _editor, next) {
|
|
224
|
+
const {
|
|
225
|
+
node,
|
|
226
|
+
attributes,
|
|
227
|
+
children
|
|
228
|
+
} = props;
|
|
229
|
+
const blockProps = {
|
|
230
|
+
textAlign: node.data.get("textAlign")
|
|
231
|
+
};
|
|
232
|
+
switch (node.type) {
|
|
233
|
+
case "paragraph":
|
|
234
|
+
return /* @__PURE__ */ jsx(Block, __spreadProps(__spreadValues(__spreadValues({}, attributes), blockProps), {
|
|
235
|
+
as: "p",
|
|
236
|
+
children
|
|
237
|
+
}));
|
|
238
|
+
case "heading-one":
|
|
239
|
+
return /* @__PURE__ */ jsx(Block, __spreadProps(__spreadValues(__spreadValues({}, attributes), blockProps), {
|
|
240
|
+
as: "h1",
|
|
241
|
+
children
|
|
242
|
+
}));
|
|
243
|
+
case "heading-two":
|
|
244
|
+
return /* @__PURE__ */ jsx(Block, __spreadProps(__spreadValues(__spreadValues({}, attributes), blockProps), {
|
|
245
|
+
as: "h2",
|
|
246
|
+
children
|
|
247
|
+
}));
|
|
248
|
+
case "heading-three":
|
|
249
|
+
return /* @__PURE__ */ jsx(Block, __spreadProps(__spreadValues(__spreadValues({}, attributes), blockProps), {
|
|
250
|
+
as: "h3",
|
|
251
|
+
children
|
|
252
|
+
}));
|
|
253
|
+
case "heading-four":
|
|
254
|
+
return /* @__PURE__ */ jsx(Block, __spreadProps(__spreadValues(__spreadValues({}, attributes), blockProps), {
|
|
255
|
+
as: "h4",
|
|
256
|
+
children
|
|
257
|
+
}));
|
|
258
|
+
case "heading-five":
|
|
259
|
+
return /* @__PURE__ */ jsx(Block, __spreadProps(__spreadValues(__spreadValues({}, attributes), blockProps), {
|
|
260
|
+
as: "h5",
|
|
261
|
+
children
|
|
262
|
+
}));
|
|
263
|
+
case "heading-six":
|
|
264
|
+
return /* @__PURE__ */ jsx(Block, __spreadProps(__spreadValues(__spreadValues({}, attributes), blockProps), {
|
|
265
|
+
as: "h6",
|
|
266
|
+
children
|
|
267
|
+
}));
|
|
268
|
+
case "blockquote":
|
|
269
|
+
return /* @__PURE__ */ jsx(Block, __spreadProps(__spreadValues(__spreadValues({}, attributes), blockProps), {
|
|
270
|
+
as: "blockquote",
|
|
271
|
+
children
|
|
272
|
+
}));
|
|
273
|
+
default:
|
|
274
|
+
return next();
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
};
|
|
278
|
+
}
|
|
279
|
+
const StyledLink = styled(Link)`
|
|
280
|
+
text-decoration: none;
|
|
281
|
+
`;
|
|
282
|
+
function LinkPlugin() {
|
|
283
|
+
return {
|
|
284
|
+
renderInline(props, _editor, next) {
|
|
285
|
+
const {
|
|
286
|
+
attributes,
|
|
287
|
+
children,
|
|
288
|
+
node
|
|
289
|
+
} = props;
|
|
290
|
+
switch (node.type) {
|
|
291
|
+
case "link": {
|
|
292
|
+
const {
|
|
293
|
+
data
|
|
294
|
+
} = node;
|
|
295
|
+
return /* @__PURE__ */ jsx(StyledLink, __spreadProps(__spreadValues({}, attributes), {
|
|
296
|
+
link: data.toJS(),
|
|
297
|
+
children
|
|
298
|
+
}));
|
|
299
|
+
}
|
|
300
|
+
default: {
|
|
301
|
+
return next();
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
};
|
|
306
|
+
}
|
|
307
|
+
function Inlines() {
|
|
308
|
+
return {
|
|
309
|
+
renderInline(props, _editor, next) {
|
|
310
|
+
const {
|
|
311
|
+
attributes,
|
|
312
|
+
children,
|
|
313
|
+
node
|
|
314
|
+
} = props;
|
|
315
|
+
switch (node.type) {
|
|
316
|
+
case "code": {
|
|
317
|
+
return /* @__PURE__ */ jsx("code", __spreadProps(__spreadValues({}, attributes), {
|
|
318
|
+
children
|
|
319
|
+
}));
|
|
320
|
+
}
|
|
321
|
+
case "superscript": {
|
|
322
|
+
return /* @__PURE__ */ jsx("sup", __spreadProps(__spreadValues({}, attributes), {
|
|
323
|
+
children
|
|
324
|
+
}));
|
|
325
|
+
}
|
|
326
|
+
case "subscript": {
|
|
327
|
+
return /* @__PURE__ */ jsx("sub", __spreadProps(__spreadValues({}, attributes), {
|
|
328
|
+
children
|
|
329
|
+
}));
|
|
330
|
+
}
|
|
331
|
+
default: {
|
|
332
|
+
return next();
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
};
|
|
337
|
+
}
|
|
338
|
+
const RichTextEditor = styled(forwardRef(function RichTextEditor2(_e, ref) {
|
|
339
|
+
var _f = _e, {
|
|
340
|
+
placeholder = "Write some text..."
|
|
341
|
+
} = _f, restOfProps = __objRest(_f, [
|
|
342
|
+
"placeholder"
|
|
343
|
+
]);
|
|
344
|
+
const plugins = useMemo(() => [Lists(), LinkPlugin(), Inlines(), DeviceOverridesBlockPlugin(), DeviceOverridesMarksPlugin()], []);
|
|
345
|
+
return /* @__PURE__ */ jsx(Editor, __spreadProps(__spreadValues({}, restOfProps), {
|
|
346
|
+
style: {
|
|
347
|
+
WebkitUserModify: void 0
|
|
348
|
+
},
|
|
349
|
+
ref,
|
|
350
|
+
autoFocus: false,
|
|
351
|
+
plugins,
|
|
352
|
+
placeholder
|
|
353
|
+
}));
|
|
354
|
+
}))`
|
|
355
|
+
ul,
|
|
356
|
+
ol {
|
|
357
|
+
margin: 0;
|
|
358
|
+
}
|
|
359
|
+
`;
|
|
360
|
+
const StyledRichTextEditor = styled(RichTextEditor).withConfig({
|
|
361
|
+
shouldForwardProp: (prop) => !["width", "margin"].includes(prop.toString())
|
|
362
|
+
})`
|
|
363
|
+
${cssWidth()}
|
|
364
|
+
${cssMargin()}
|
|
365
|
+
`;
|
|
366
|
+
const defaultText = {
|
|
367
|
+
document: {
|
|
368
|
+
nodes: [{
|
|
369
|
+
object: "block",
|
|
370
|
+
type: "paragraph",
|
|
371
|
+
nodes: []
|
|
372
|
+
}]
|
|
373
|
+
},
|
|
374
|
+
data: {}
|
|
375
|
+
};
|
|
376
|
+
const COMMIT_DEBOUNCE_DELAY = 500;
|
|
377
|
+
const Text = forwardRef(function Text2({
|
|
378
|
+
id,
|
|
379
|
+
text,
|
|
380
|
+
width,
|
|
381
|
+
margin
|
|
382
|
+
}, ref) {
|
|
383
|
+
const [editor, setEditor] = useState(null);
|
|
384
|
+
const [propControllers, setPropControllers] = useState(null);
|
|
385
|
+
const controller = propControllers == null ? void 0 : propControllers.text;
|
|
386
|
+
useImperativeHandle(ref, () => ({
|
|
387
|
+
getBoxModel() {
|
|
388
|
+
const el = editor == null ? void 0 : editor.findDOMNode([]);
|
|
389
|
+
return el instanceof Element ? getBox(el) : null;
|
|
390
|
+
},
|
|
391
|
+
setPropControllers
|
|
392
|
+
}), [editor, setPropControllers]);
|
|
393
|
+
useEffect(() => {
|
|
394
|
+
if (editor)
|
|
395
|
+
controller == null ? void 0 : controller.setSlateEditor(editor);
|
|
396
|
+
}, [controller, editor]);
|
|
397
|
+
const [value, setValue] = useState(() => {
|
|
398
|
+
const _a = text != null ? text : defaultText, {
|
|
399
|
+
selection
|
|
400
|
+
} = _a, textWithoutSelection = __objRest(_a, [
|
|
401
|
+
"selection"
|
|
402
|
+
]);
|
|
403
|
+
return Value.fromJSON(textWithoutSelection);
|
|
404
|
+
});
|
|
405
|
+
const [shouldCommit, setShouldCommit] = useState(true);
|
|
406
|
+
useEffect(() => {
|
|
407
|
+
if (shouldCommit) {
|
|
408
|
+
const nextValue = Value.fromJSON(text != null ? text : defaultText);
|
|
409
|
+
setValue((currentValue) => currentValue.selection.isBlurred ? Value.fromJSON(nextValue.toJSON({
|
|
410
|
+
preserveSelection: false
|
|
411
|
+
})) : nextValue);
|
|
412
|
+
}
|
|
413
|
+
}, [shouldCommit, text]);
|
|
414
|
+
useEffect(() => {
|
|
415
|
+
if (shouldCommit)
|
|
416
|
+
return;
|
|
417
|
+
const timeoutId = window.setTimeout(() => {
|
|
418
|
+
setShouldCommit(true);
|
|
419
|
+
}, COMMIT_DEBOUNCE_DELAY);
|
|
420
|
+
return () => {
|
|
421
|
+
window.clearTimeout(timeoutId);
|
|
422
|
+
};
|
|
423
|
+
}, [shouldCommit]);
|
|
424
|
+
function handleChange(change) {
|
|
425
|
+
setValue(change.value);
|
|
426
|
+
if (change.value !== value) {
|
|
427
|
+
setShouldCommit(false);
|
|
428
|
+
controller == null ? void 0 : controller.onChange(change);
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
const lastController = useRef(controller);
|
|
432
|
+
if (lastController.current !== controller)
|
|
433
|
+
lastController.current = controller;
|
|
434
|
+
const handleFocus = useCallback(() => {
|
|
435
|
+
var _a;
|
|
436
|
+
(_a = lastController.current) == null ? void 0 : _a.focus();
|
|
437
|
+
}, []);
|
|
438
|
+
const handleKeyDown = useCallback((event, _editor, next) => {
|
|
439
|
+
var _a, _b, _c;
|
|
440
|
+
if (Hotkeys.isUndo(event)) {
|
|
441
|
+
(_a = lastController.current) == null ? void 0 : _a.undo();
|
|
442
|
+
return true;
|
|
443
|
+
}
|
|
444
|
+
if (Hotkeys.isRedo(event)) {
|
|
445
|
+
(_b = lastController.current) == null ? void 0 : _b.redo();
|
|
446
|
+
return true;
|
|
447
|
+
}
|
|
448
|
+
if (isHotkey("escape")(event)) {
|
|
449
|
+
(_c = lastController.current) == null ? void 0 : _c.blur();
|
|
450
|
+
return true;
|
|
451
|
+
}
|
|
452
|
+
return next();
|
|
453
|
+
}, []);
|
|
454
|
+
const handleBlur = useCallback((event, _editor, next) => {
|
|
455
|
+
if (event.relatedTarget == null)
|
|
456
|
+
return true;
|
|
457
|
+
return next();
|
|
458
|
+
}, []);
|
|
459
|
+
const isInBuilder = useIsInBuilder();
|
|
460
|
+
return /* @__PURE__ */ jsx(StyledRichTextEditor, {
|
|
461
|
+
id,
|
|
462
|
+
ref: setEditor,
|
|
463
|
+
width,
|
|
464
|
+
readOnly: !isInBuilder,
|
|
465
|
+
margin,
|
|
466
|
+
value,
|
|
467
|
+
onChange: handleChange,
|
|
468
|
+
onFocus: handleFocus,
|
|
469
|
+
onKeyDown: handleKeyDown,
|
|
470
|
+
onBlur: handleBlur
|
|
471
|
+
});
|
|
472
|
+
});
|
|
473
|
+
export { Text as default };
|
|
474
|
+
//# sourceMappingURL=Text.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Text.es.js","sources":["../src/components/hooks/useTypography.ts","../src/components/builtin/Text/components/RichTextEditor/components/Mark/hooks/useTypographyMark.ts","../src/components/builtin/Text/components/RichTextEditor/components/Mark/index.tsx","../src/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesMarks.tsx","../src/components/builtin/Text/components/RichTextEditor/components/Block/index.tsx","../src/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesBlocks.tsx","../src/components/builtin/Text/components/RichTextEditor/plugins/Link.tsx","../src/components/builtin/Text/components/RichTextEditor/plugins/Inlines.tsx","../src/components/builtin/Text/components/RichTextEditor/index.tsx","../src/components/builtin/Text/Text.tsx"],"sourcesContent":["import type { ColorValue } from '../utils/types'\nimport type { Length as LengthValue } from '../../prop-controllers'\nimport { DeviceOverride } from '../../prop-controllers'\nimport { TYPOGRAPHIES_BY_ID } from '../utils/queries'\nimport { useQuery } from '../../api/react'\n\nexport type TypographyStyleValue = {\n fontFamily?: string\n fontWeight?: number\n fontSize?: LengthValue\n color?: ColorValue\n textAlign?: string\n lineHeight?: number\n letterSpacing?: number\n uppercase?: boolean\n underline?: boolean\n strikethrough?: boolean\n italic?: boolean\n}\n\nexport type TypographyStyle = Array<DeviceOverride<TypographyStyleValue>>\n\nexport type Typography = {\n id: string\n name: string\n style: TypographyStyle\n}\n\nexport function useTypography(\n typographyId: string | null | undefined,\n): Typography | null | undefined {\n const { error, data } = useQuery(TYPOGRAPHIES_BY_ID, {\n skip: typographyId == null,\n variables: { ids: typographyId != null ? [typographyId] : [] },\n })\n\n if (typographyId == null || error != null) return null\n\n return data?.typographies[0] as Typography | null\n}\n","import { Length as LengthValue } from '../../../../../../../../prop-controllers'\nimport { ColorValue as Color } from '../../../../../../../utils/types'\nimport { findDeviceOverride } from '../../../../../../../utils/devices'\nimport type { DeviceOverride } from '../../../../../../../../prop-controllers'\nimport { SWATCHES_BY_ID } from '../../../../../../../utils/queries'\nimport { useTypography, TypographyStyle } from '../../../../../../../hooks/useTypography'\nimport { useQuery } from '../../../../../../../../api/react'\n\nexport type TypographyMarkDataValue = {\n fontWeight?: number\n fontSize?: LengthValue\n fontFamily?: string\n color?: Color\n textAlign?: string\n lineHeight?: number\n letterSpacing?: number\n uppercase?: boolean\n italic?: boolean\n underline?: boolean\n strikethrough?: boolean\n}\n\nexport type TypographyMarkValue = {\n id: string | null | undefined\n style: TypographyStyle\n}\n\nexport type TypographyMarkData = Array<DeviceOverride<TypographyMarkDataValue>>\n\nconst concat = <A extends unknown[], B extends unknown[]>(a: A, b: B) => a.concat(b)\nconst getSwatchId = ({ value: { color } }: any) => color && color.swatchId\nconst getDeviceId = ({ deviceId }: any) => deviceId\n\nconst withColor =\n (swatches: any) =>\n ({ value: { color, ...restOfValue }, ...rest }: any) => ({\n ...rest,\n value: {\n ...restOfValue,\n ...(color\n ? {\n color: {\n swatch: swatches.find((s: any) => s && s.id === color.swatchId),\n alpha: color.alpha,\n },\n }\n : {}),\n },\n })\n\nexport const overrideTypographyStyle = <A>(\n source: Array<DeviceOverride<A>>,\n override: Array<DeviceOverride<A>>,\n): Array<DeviceOverride<A>> => {\n const devices = [...new Set(source.map(getDeviceId).concat(override.map(getDeviceId)))]\n\n return devices.map((deviceId: any) => ({\n deviceId,\n value: {\n ...(findDeviceOverride(source, deviceId) || { value: {} }).value,\n ...(findDeviceOverride(override, deviceId, v => v) || { value: {} }).value,\n },\n })) as DeviceOverride<A>[]\n}\n\nexport default function useTypographyMark(\n value: TypographyMarkValue | null | undefined,\n): TypographyMarkData | null | undefined {\n const typography = useTypography(value && value.id)\n\n const swatchIds = [\n (typography && typography.style.map(getSwatchId)) || [],\n (value && value.style.map(getSwatchId)) || [],\n ]\n .reduce(concat)\n .filter(Boolean)\n\n const { error: colorError, data: colorData = {} } = useQuery(SWATCHES_BY_ID, {\n skip: swatchIds == null || swatchIds.length === 0,\n variables: { ids: swatchIds },\n })\n\n const { swatches = [] } = colorData\n\n if (colorError != null) return null\n\n return overrideTypographyStyle(\n (typography && typography.style.map(withColor(swatches))) || [],\n (value && value.style.map(withColor(swatches))) || [],\n )\n}\n","import { ComponentPropsWithoutRef } from 'react'\nimport styled, { css } from 'styled-components'\n\nimport useTypographyMark, {\n TypographyMarkValue,\n TypographyMarkData,\n overrideTypographyStyle,\n TypographyMarkDataValue,\n} from './hooks/useTypographyMark'\nimport { cssMediaRules } from '../../../../../../utils/cssMediaRules'\nimport { colorToString } from '../../../../../../utils/colorToString'\nimport { shallowMergeFallbacks } from '../../../../../../utils/devices'\n\nexport type { TypographyMarkValue }\nexport { overrideTypographyStyle }\n\nconst Span = styled.span<{ typographyStyle: TypographyMarkData | null | undefined }>`\n ${p =>\n cssMediaRules(\n [p.typographyStyle] as const,\n ([\n {\n color,\n fontFamily,\n fontSize,\n fontWeight,\n lineHeight,\n letterSpacing,\n uppercase,\n underline,\n strikethrough,\n italic,\n } = {} as TypographyMarkDataValue,\n ]) => css`\n ${color == null\n ? ''\n : css`\n color: ${colorToString(color)};\n `}\n\n ${fontFamily == null\n ? ''\n : css`\n font-family: '${fontFamily}';\n `}\n\n ${fontSize == null || fontSize.value == null || fontSize.unit == null\n ? ''\n : css`\n font-size: ${`${fontSize.value}${fontSize.unit}`};\n `}\n\n ${fontWeight == null\n ? ''\n : css`\n font-weight: ${fontWeight};\n `}\n\n ${lineHeight == null\n ? ''\n : css`\n line-height: ${lineHeight};\n `}\n\n ${letterSpacing == null\n ? ''\n : css`\n letter-spacing: ${letterSpacing / 10}em;\n `}\n\n ${underline == null && strikethrough == null\n ? ''\n : css`\n text-decoration: ${[\n Boolean(underline) && 'underline',\n Boolean(strikethrough) && 'line-through',\n ]\n .filter(Boolean)\n .join(' ')};\n `}\n\n ${uppercase == null\n ? ''\n : css`\n text-transform: ${uppercase === true ? 'uppercase' : 'initial'};\n `}\n\n ${italic == null\n ? ''\n : css`\n font-style: ${italic === true ? 'italic' : 'initial'};\n `}\n `,\n shallowMergeFallbacks,\n )}\n`\n\ntype BaseProps = { value: TypographyMarkValue }\n\ntype Props = BaseProps & Omit<ComponentPropsWithoutRef<typeof Span>, keyof BaseProps>\n\nexport default function Mark({ value, ...restOfProps }: Props): JSX.Element {\n const typographyStyle = useTypographyMark(value)\n\n return <Span {...restOfProps} typographyStyle={typographyStyle} />\n}\n","import type { Plugin } from 'slate-react'\n\nimport Mark from '../components/Mark'\n\nconst TYPOGRAPHY_TYPE = 'typography'\n\nexport default function DeviceOverridesMarksPlugin(): Plugin {\n return {\n renderMark({ mark, children }, _editor, next) {\n if (mark.type === TYPOGRAPHY_TYPE) {\n return <Mark value={mark.data.get('value')}>{children}</Mark>\n }\n\n return next()\n },\n }\n}\n","import { forwardRef, ElementType, ComponentPropsWithoutRef } from 'react'\nimport styled, { css } from 'styled-components'\n\nimport { cssMediaRules } from '../../../../../../utils/cssMediaRules'\nimport type { ResponsiveValue } from '../../../../../../../prop-controllers'\n\ntype StyledBlockProps = {\n textAlign?: ResponsiveValue<'left' | 'center' | 'right' | 'justify'>\n as?: ElementType\n}\n\nconst StyledBlock = styled.div<StyledBlockProps>`\n margin: 0;\n ${p =>\n cssMediaRules([p.textAlign] as const, ([textAlign]) =>\n textAlign == null\n ? css``\n : css`\n text-align: ${textAlign};\n `,\n )}\n\n ${p =>\n p.as === 'blockquote'\n ? css`\n padding: 0.5em 10px;\n font-size: 1.25em;\n font-weight: 300;\n border-left: 5px solid rgba(0, 0, 0, 0.1);\n `\n : ''}\n`\n\ntype Props = ComponentPropsWithoutRef<typeof StyledBlock>\n\nexport default forwardRef<HTMLDivElement, Props>(function Block(\n { textAlign, ...restOfProps }: Props,\n ref,\n) {\n return <StyledBlock {...restOfProps} ref={ref} textAlign={textAlign} />\n})\n","import { Plugin } from 'slate-react'\n\nimport Block from '../components/Block'\n\nexport default function DeviceOverridesBlockPlugin(): Plugin {\n return {\n renderBlock(props, _editor, next): JSX.Element {\n const { node, attributes, children } = props\n const blockProps = { textAlign: node.data.get('textAlign') }\n\n switch (node.type) {\n case 'paragraph':\n return (\n <Block {...attributes} {...blockProps} as=\"p\">\n {children}\n </Block>\n )\n\n case 'heading-one':\n return (\n <Block {...attributes} {...blockProps} as=\"h1\">\n {children}\n </Block>\n )\n\n case 'heading-two':\n return (\n <Block {...attributes} {...blockProps} as=\"h2\">\n {children}\n </Block>\n )\n\n case 'heading-three':\n return (\n <Block {...attributes} {...blockProps} as=\"h3\">\n {children}\n </Block>\n )\n\n case 'heading-four':\n return (\n <Block {...attributes} {...blockProps} as=\"h4\">\n {children}\n </Block>\n )\n\n case 'heading-five':\n return (\n <Block {...attributes} {...blockProps} as=\"h5\">\n {children}\n </Block>\n )\n\n case 'heading-six':\n return (\n <Block {...attributes} {...blockProps} as=\"h6\">\n {children}\n </Block>\n )\n\n case 'blockquote':\n return (\n <Block {...attributes} {...blockProps} as=\"blockquote\">\n {children}\n </Block>\n )\n\n default:\n return next()\n }\n },\n }\n}\n","import { Plugin } from 'slate-react'\nimport styled from 'styled-components'\n\nimport { Link } from '../../../../../shared/Link'\n\nconst StyledLink = styled(Link)`\n text-decoration: none;\n`\n\nexport default function LinkPlugin(): Plugin {\n return {\n renderInline(props, _editor, next) {\n const { attributes, children, node } = props\n\n switch (node.type) {\n case 'link': {\n const { data } = node\n\n return (\n <StyledLink {...attributes} link={data.toJS()}>\n {children}\n </StyledLink>\n )\n }\n\n default: {\n return next()\n }\n }\n },\n }\n}\n","import { Plugin } from 'slate-react'\n\nexport default function Inlines(): Plugin {\n return {\n renderInline(props, _editor, next) {\n const { attributes, children, node } = props\n\n switch (node.type) {\n case 'code': {\n return <code {...attributes}>{children}</code>\n }\n\n case 'superscript': {\n return <sup {...attributes}>{children}</sup>\n }\n\n case 'subscript': {\n return <sub {...attributes}>{children}</sub>\n }\n\n default: {\n return next()\n }\n }\n },\n }\n}\n","import { ComponentPropsWithoutRef, forwardRef, useMemo } from 'react'\n\nimport { Editor as SlateEditor } from 'slate-react'\n\n// @ts-expect-error: no types for '@convertkit/slate-lists'\nimport Lists from '@convertkit/slate-lists'\nimport styled from 'styled-components'\n\nimport DeviceOverridesMarks from './plugins/DeviceOverridesMarks'\nimport DeviceOverridesBlocks from './plugins/DeviceOverridesBlocks'\nimport Link from './plugins/Link'\nimport Inlines from './plugins/Inlines'\n\nexport { overrideTypographyStyle } from './components/Mark'\n\ntype Props = ComponentPropsWithoutRef<typeof SlateEditor>\n\nexport const RichTextEditor = styled(\n forwardRef<SlateEditor, Props>(function RichTextEditor(\n { placeholder = 'Write some text...', ...restOfProps }: Props,\n ref,\n ) {\n const plugins = useMemo(\n () => [Lists(), Link(), Inlines(), DeviceOverridesBlocks(), DeviceOverridesMarks()],\n [],\n )\n\n return (\n <SlateEditor\n {...restOfProps}\n // Workaround because our Slate editor is broken on Chrome 105\n // Problem: https://linear.app/makeswift/issue/PRD-434/our-rich-text-component-breaks-in-the-latest-version-of-chrome\n // Workaround: https://github.com/ianstormtaylor/slate/issues/5110#issuecomment-1234951122\n style={{ WebkitUserModify: undefined }}\n ref={ref}\n autoFocus={false}\n plugins={plugins}\n placeholder={placeholder}\n />\n )\n }),\n)`\n ul,\n ol {\n margin: 0;\n }\n`\n","import {\n useState,\n Ref,\n useImperativeHandle,\n forwardRef,\n useEffect,\n useCallback,\n useRef,\n KeyboardEvent as ReactKeyboardEvent,\n FocusEvent as ReactFocusEvent,\n} from 'react'\nimport styled from 'styled-components'\nimport { Editor, OnChangeParam } from 'slate-react'\nimport { Value, ValueJSON } from 'slate'\n// @ts-expect-error: no types for 'slate-hotkeys'\nimport Hotkeys from 'slate-hotkeys'\nimport { isHotkey } from 'is-hotkey'\n\nimport {\n ElementIDValue,\n MarginValue,\n RichTextDescriptor,\n RichTextValue,\n WidthValue,\n} from '../../../prop-controllers/descriptors'\nimport { cssMargin, cssWidth } from '../../utils/cssMediaRules'\nimport { BoxModelHandle, getBox } from '../../../box-model'\nimport { PropControllersHandle } from '../../../state/modules/prop-controller-handles'\nimport { RichTextEditor } from './components/RichTextEditor'\nimport { useIsInBuilder } from '../../../runtimes/react'\nimport { DescriptorsPropControllers } from '../../../prop-controllers/instances'\n\ntype Props = {\n id?: ElementIDValue\n text?: RichTextValue\n width?: WidthValue\n margin?: MarginValue\n}\n\nconst StyledRichTextEditor = styled(RichTextEditor).withConfig({\n shouldForwardProp: prop => !['width', 'margin'].includes(prop.toString()),\n})<{ width: Props['width']; margin: Props['margin'] }>`\n ${cssWidth()}\n ${cssMargin()}\n`\n\nconst defaultText: ValueJSON = {\n document: { nodes: [{ object: 'block' as const, type: 'paragraph' as const, nodes: [] }] },\n data: {},\n}\n\nconst COMMIT_DEBOUNCE_DELAY = 500\n\ntype Descriptors = { text?: RichTextDescriptor }\n\nconst Text = forwardRef(function Text(\n { id, text, width, margin }: Props,\n ref: Ref<BoxModelHandle & PropControllersHandle<Descriptors>>,\n) {\n const [editor, setEditor] = useState<Editor | null>(null)\n const [propControllers, setPropControllers] =\n useState<DescriptorsPropControllers<Descriptors> | null>(null)\n const controller = propControllers?.text\n\n useImperativeHandle(\n ref,\n () => ({\n getBoxModel() {\n const el = editor?.findDOMNode([])\n\n return el instanceof Element ? getBox(el) : null\n },\n setPropControllers,\n }),\n [editor, setPropControllers],\n )\n\n useEffect(() => {\n if (editor) controller?.setSlateEditor(editor)\n }, [controller, editor])\n\n /**\n * We must keep local state so that we can reflect the user's typed changes immediately. At the\n * same time, though, the source of truth for the data is the prop data. This presents a\n * challenge: how do we keep local state in sync with the prop data without mangling user input as\n * data comes in?\n *\n * Consider, for example, that the user types \"Hello\". If at a later time, when the user is trying\n * to type \", world\" the component re-renders with prop data \"H\", \"He\", \"Hel\", \"Hell\", \"Hello\", it\n * will disrupt the user's typing. This could also happen as a result of the prop data changing\n * for other reasons, like collaborators changing the prop data concurrently. We want to avoid to\n * disrupt the user's typing, while at the same time display the \"true\" value as quickly as\n * possible.\n *\n * The approach we take here is to commit the prop data at an opportune time: as the user is\n * typing we avoid to commit prop data. But once they've stopped typing, we commit it as soon as\n * possible. This is known as a debounce.\n */\n const [value, setValue] = useState(() => {\n const { selection, ...textWithoutSelection } = text ?? defaultText\n\n return Value.fromJSON(textWithoutSelection)\n })\n const [shouldCommit, setShouldCommit] = useState(true)\n\n useEffect(() => {\n if (shouldCommit) {\n const nextValue = Value.fromJSON(text ?? defaultText)\n\n setValue(currentValue =>\n currentValue.selection.isBlurred\n ? Value.fromJSON(nextValue.toJSON({ preserveSelection: false }))\n : nextValue,\n )\n }\n }, [shouldCommit, text])\n\n useEffect(() => {\n if (shouldCommit) return\n\n const timeoutId = window.setTimeout(() => {\n setShouldCommit(true)\n }, COMMIT_DEBOUNCE_DELAY)\n\n return () => {\n window.clearTimeout(timeoutId)\n }\n }, [shouldCommit])\n\n function handleChange(change: OnChangeParam) {\n setValue(change.value as Value)\n\n if (change.value !== value) {\n setShouldCommit(false)\n\n controller?.onChange(change)\n }\n }\n\n // HACK: Slate holds on to the very first DOM event handlers passed in and doesn't update them\n // even if they change. Since `controller` is first `undefined` then we must use a ref.\n const lastController = useRef(controller)\n if (lastController.current !== controller) lastController.current = controller\n const handleFocus = useCallback(() => {\n lastController.current?.focus()\n }, [])\n const handleKeyDown = useCallback(\n (event: ReactKeyboardEvent, _editor: Editor, next: () => any) => {\n if (Hotkeys.isUndo(event)) {\n lastController.current?.undo()\n\n return true\n }\n\n if (Hotkeys.isRedo(event)) {\n lastController.current?.redo()\n\n return true\n }\n\n if (isHotkey('escape')(event)) {\n lastController.current?.blur()\n\n return true\n }\n\n return next()\n },\n [],\n )\n const handleBlur = useCallback((event: ReactFocusEvent, _editor: Editor, next: () => any) => {\n // Normally, after a user highlight a text, clicking on the panel will remove the text selection.\n // This line is a workaround for that. Because the panel is not in the iframe, relatedTarget\n // would be null, and we return early so we don't remove the selection.\n if (event.relatedTarget == null) return true\n\n // Blur the selection if the user is clicking on other text.\n return next()\n }, [])\n\n const isInBuilder = useIsInBuilder()\n\n return (\n <StyledRichTextEditor\n // @ts-expect-error: types don't allow for 'id' prop even though it's used.\n id={id}\n ref={setEditor}\n width={width}\n readOnly={!isInBuilder}\n margin={margin}\n value={value}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n onBlur={handleBlur}\n />\n )\n})\n\nexport default Text\n"],"names":["Span","styled","span","p","cssMediaRules","typographyStyle","color","fontFamily","fontSize","fontWeight","lineHeight","letterSpacing","uppercase","underline","strikethrough","italic","css","colorToString","value","unit","Boolean","filter","join","shallowMergeFallbacks","restOfProps","useTypographyMark","TYPOGRAPHY_TYPE","renderMark","mark","children","_editor","next","type","data","get","StyledBlock","div","textAlign","as","forwardRef","ref","renderBlock","props","node","attributes","blockProps","StyledLink","Link","renderInline","toJS","RichTextEditor","placeholder","plugins","useMemo","Lists","Inlines","DeviceOverridesBlocks","DeviceOverridesMarks","SlateEditor","WebkitUserModify","undefined","StyledRichTextEditor","withConfig","shouldForwardProp","prop","includes","toString","cssWidth","cssMargin","defaultText","document","nodes","object","COMMIT_DEBOUNCE_DELAY","Text","id","text","width","margin","editor","setEditor","useState","propControllers","setPropControllers","controller","useImperativeHandle","getBoxModel","el","findDOMNode","Element","getBox","useEffect","setSlateEditor","setValue","selection","textWithoutSelection","Value","fromJSON","shouldCommit","setShouldCommit","nextValue","currentValue","isBlurred","toJSON","preserveSelection","timeoutId","window","setTimeout","clearTimeout","change","onChange","lastController","useRef","current","handleFocus","useCallback","focus","handleKeyDown","event","Hotkeys","isUndo","undo","isRedo","redo","isHotkey","blur","handleBlur","relatedTarget","isInBuilder","useIsInBuilder","handleChange"],"mappings":"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"}
|