4.3.0 • Published 16 hours ago

@zipify/wysiwyg v4.3.0

Weekly downloads
-
License
ISC
Repository
github
Last release
16 hours ago

ZipifyWysiwyg

npm Downloads

Zipify modification of TipTap text editor

Vue Support

  • For vue 2.x use wysiwyg v3.x
  • For vue 3.x use wysiwyg v4.x

Usage

  1. Install library & dependencies
# if npm
npm install @zipify/wysiwyg
# if yarn
yarn add @zipify/wysiwyg
  1. Use editor

For more details see available options and example app

<template>
  <Wysiwyg
    v-model="content"
    :fonts="fonts"
    :presets="presets"
    :make-preset-variable="$options.makePresetVariable"
    default-preset-id="regular-1"
  />
</template>

<script>
import { Wysiwyg } from '@zipify/wysiwyg';

export default {
  components: { Wysiwyg },

  makePresetVariable: ({ preset, device, property }) => {
    return `--${preset.id}-${device}-${property}`;
  },

  data: () => ({
    content: {
      type: 'doc',
      content: [...]
    },
    presets: [...],
    fonts: [...]
  })
}
</script>

Options

Props

NameRequired?Default ValueNote
valuetrue-
presetstrue-Array of Style-Presets
default-preset-idtrue-Id of any preset
base-preset-classtrue-Base class of preset
make-preset-variabletrue-Generates name of preset variable
fontstrue-Array of fonts
devicefalse'desktop'Active device type. can be 'mobile', 'tablet' or 'desktop'
favorite-colorsfalse[]List of favorite colors in color picker
toolbar-offsetsfalse[0, 8]Offset between toolbar and content
base-list-classfalse'zw-list--'Base list class

Style Preset

Represents available font family. Required interface

interface StylePreset {
  id: string | number;
  name: string;
  hidden: boolean;
  node?: PresetNode;
  fallbackClass?: string;
  common: CommonSettings;
  desktop: DeviceSettings;
  tablet: DeviceSettings;
  mobile: DeviceSettings;
}

interface PresetNode {
  type: 'heading';
  level: 1 | 2 | 3 | 4;
}

interface CommonSettings {
  font_family: string;
  font_weight: string;
  color: string;
  font_style: 'italic' | 'normal';
  text_decoration: 'none' | 'underline';
}

interface DeviceSettings {
  alignment: 'left' | 'center' | 'right' | 'justify';
  line_height: string;
  font_size: string;
}

const example: StylePreset = {
  id: 'h1',
  name: 'H1',
  node: {
    type: 'heading',
    level: 1
  },
  desktop: {
    alignment: 'left',
    line_height: '1.2',
    font_size: '40px'
  },
  common: {
    font_family: 'Lato',
    font_weight: '700',
    color: '#262626',
    font_style: 'normal',
    text_decoration: 'none'
  },
  tablet: {
    alignment: 'left',
    line_height: '1.2',
    font_size: '40px'
  },
  mobile: {
    alignment: 'left',
    line_height: '1.2',
    font_size: '28px'
  }
}

Generate Preset Variable

Variable name generator uses follow iterface

const Device = 'common' | 'mobile' | 'tablet' | 'desktop'

interface VariableGeneratorOptions {
    preset: StylePreset;
    device: Device;
    property: string;
}

type GeneratePresetVariable = (options: VariableGeneratorOptions) => string;

Font

Represents available font family. Required interface

interface Font {
  name: string;
  category: string;
  styles: string[];
}

const exmaple: Font = {
  name: 'Roboto',
  styles: ['300', '300i', '400', '400i', '700', '700i'],
  category: 'Regular'
}

Contribute

  1. Clone repository
git clone git@github.com:ZipifyApps/ZipifyWysiwyg.git
  1. Install dependencies
npm install
  1. Open example project
npm run example:start
# Will be available on http://localhost:7777
  1. Create new branch
  2. Add changes & tests
  3. Open pull request
4.3.0

16 hours ago

4.2.2-1

24 days ago

4.2.2-0

24 days ago

4.2.2

24 days ago

4.2.1

1 month ago

4.2.0-0

2 months ago

4.2.0

2 months ago

4.1.0-8

5 months ago

4.1.0-6

5 months ago

4.1.0-7

5 months ago

4.1.0

5 months ago

4.1.0-4

5 months ago

4.1.0-5

5 months ago

4.1.0-1

5 months ago

4.1.0-2

5 months ago

4.1.0-3

5 months ago

4.0.7

5 months ago

4.0.6

5 months ago

4.0.5

5 months ago

4.0.4

7 months ago

4.0.1

10 months ago

4.0.0

10 months ago

4.0.3

10 months ago

4.0.2

10 months ago

3.6.1-0

10 months ago

3.6.1-1

10 months ago

3.6.2

10 months ago

3.6.1

10 months ago

4.1.0-0

7 months ago

4.0.4-0

7 months ago

4.0.0-vue3.8

11 months ago

3.6.0

11 months ago

3.6.0-4

11 months ago

3.6.0-0

11 months ago

3.6.0-1

11 months ago

3.6.0-2

11 months ago

3.6.0-3

11 months ago

4.0.0-vue3.7

11 months ago

3.5.0

11 months ago

3.5.0-3

12 months ago

3.5.0-4

12 months ago

3.5.0-1

12 months ago

3.5.0-2

12 months ago

3.5.0-7

12 months ago

3.5.0-8

11 months ago

3.5.0-5

12 months ago

3.5.0-6

12 months ago

3.5.0-9

11 months ago

3.5.0-0

12 months ago

4.0.0-vue3.6

1 year ago

3.4.1-dev

1 year ago

3.4.2

1 year ago

3.4.1

1 year ago

4.0.0-vue3.3

1 year ago

4.0.0-vue3.5

1 year ago

4.0.0-vue3.4

1 year ago

3.3.0-3

1 year ago

3.3.0-4

1 year ago

3.3.0-1

1 year ago

3.3.0-2

1 year ago

3.3.0-0

1 year ago

3.4.0

1 year ago

3.3.1

1 year ago

3.3.0

1 year ago

4.0.0-vue3.2

1 year ago

3.2.0

1 year ago

3.1.3

1 year ago

3.1.3-2

1 year ago

3.1.3-1

1 year ago

3.1.3-0

1 year ago

4.0.0-vue3.1

1 year ago

4.0.0-vue3.0

1 year ago

3.1.2

1 year ago

3.1.2-0

1 year ago

3.1.1

1 year ago

3.1.0

1 year ago

3.0.3

1 year ago

3.0.3-0

1 year ago

3.1.0-2

1 year ago

3.0.2

1 year ago

3.0.2-1

1 year ago

3.0.2-0

1 year ago

3.1.0-0

1 year ago

3.0.1

1 year ago

3.0.0

1 year ago

2.7.0

1 year ago

2.7.0-2

1 year ago

2.6.3

2 years ago

2.6.2

2 years ago

2.7.0-1

2 years ago

2.6.1

2 years ago

2.7.0-0

2 years ago

2.6.0

2 years ago

2.6.0-1

2 years ago

2.6.0-0

2 years ago

2.5.6

2 years ago

2.5.6-0

2 years ago

2.5.5

2 years ago

2.4.8

2 years ago

2.4.7

2 years ago

2.4.7-0

2 years ago

2.5.4

2 years ago

2.4.6

2 years ago

2.4.5

2 years ago

2.5.3

2 years ago

2.5.2

2 years ago

2.4.4

2 years ago

2.4.4-1

2 years ago

2.4.4-0

2 years ago

2.5.2-0

2 years ago

2.5.1

2 years ago

2.5.0

2 years ago

2.4.3

2 years ago

2.4.2-0

2 years ago

2.4.2

2 years ago

2.4.1

2 years ago

2.4.0

2 years ago

2.2.0-0

2 years ago

2.2.0

2 years ago

2.1.1

2 years ago

2.1.0

2 years ago

2.0.0

2 years ago

2.0.0-18

2 years ago

2.0.0-17

2 years ago

2.0.0-16

2 years ago

2.0.0-15

2 years ago

2.0.0-14

2 years ago

2.0.0-13

2 years ago

2.0.0-12

2 years ago

2.0.0-11

2 years ago

1.3.3

2 years ago

2.0.0-10

2 years ago

2.0.0-9

2 years ago

2.0.0-8

2 years ago

1.4.0-1

2 years ago

1.3.2

2 years ago

1.3.2-0

2 years ago

1.3.1

2 years ago

1.3.0

2 years ago

1.2.11

2 years ago

1.2.10

2 years ago

1.2.9

2 years ago

1.2.8

2 years ago

1.2.7

2 years ago

2.0.0-7

2 years ago

1.3.0-1

2 years ago

2.0.0-6

2 years ago

2.0.0-5

2 years ago

2.0.0-4

2 years ago

1.2.6

2 years ago

2.0.0-3

2 years ago

2.0.0-2

2 years ago

1.4.0-0

2 years ago

2.0.0-1

2 years ago

2.0.0-0

2 years ago

1.3.0-0

2 years ago

1.2.5

2 years ago

1.2.5-1

2 years ago

1.2.4

2 years ago

1.2.3

2 years ago

1.2.2

2 years ago

1.2.2-1

2 years ago

1.2.2-0

2 years ago

1.2.1

2 years ago

1.2.1-2

2 years ago

1.2.1-1

2 years ago

1.2.1-0

2 years ago

1.2.0

2 years ago

1.1.1

2 years ago

1.1.1-0

2 years ago

1.1.0

2 years ago

1.1.0-2

2 years ago

1.1.0-1

2 years ago

1.1.0-0

2 years ago

1.0.0

2 years ago

1.0.0-dev.100

2 years ago

1.0.0-dev.99

2 years ago

1.0.0-dev.98

2 years ago

1.0.0-dev.97

2 years ago

1.0.0-dev.96

2 years ago

1.0.0-dev.95

2 years ago

1.0.0-dev.94

2 years ago

1.0.0-dev.93

2 years ago

1.0.0-dev.92

2 years ago

1.0.0-dev.91

2 years ago

1.0.0-dev.90

2 years ago

1.0.0-dev.89

2 years ago

1.0.0-dev.88

2 years ago

1.0.0-dev.87

2 years ago

1.0.0-dev.86

2 years ago

1.0.0-dev.85

2 years ago

1.0.0-dev.84

2 years ago

1.0.0-dev.83

2 years ago

1.0.0-dev.82

2 years ago

1.0.0-dev.81

2 years ago

1.0.0-dev.80

2 years ago

1.0.0-dev.79

2 years ago

1.0.0-dev.78

2 years ago

1.0.0-dev.77

2 years ago

1.0.0-dev.76

2 years ago

1.0.0-dev.75

2 years ago

1.0.0-dev.74

2 years ago

1.0.0-dev.73

2 years ago

1.0.0-dev.72

2 years ago

1.0.0-dev.70

2 years ago

1.0.0-dev.69

2 years ago

1.0.0-dev.68

2 years ago

1.0.0-dev.67

2 years ago

1.0.0-dev.66

2 years ago

1.0.0-dev.65

2 years ago

1.0.0-dev.64

2 years ago

1.0.0-dev.63

2 years ago

1.0.0-dev.62

2 years ago

1.0.0-dev.61

2 years ago

1.0.0-dev.60

2 years ago

1.0.0-dev.59

2 years ago

1.0.0-dev.58

2 years ago

1.0.0-dev.57

2 years ago

1.0.0-dev.56

2 years ago

1.0.0-dev.55

2 years ago

1.0.0-dev.54

2 years ago

1.0.0-dev.53

2 years ago

1.0.0-dev.52

2 years ago

1.0.0-dev.51

2 years ago

1.0.0-dev.50

2 years ago

1.0.0-dev.49

2 years ago

1.0.0-dev.48

2 years ago

1.0.0-dev.47

2 years ago

1.0.0-dev.46

2 years ago

1.0.0-dev.45

2 years ago

1.0.0-dev.44

2 years ago

1.0.0-dev.43

2 years ago

1.0.0-dev.42

2 years ago

1.0.0-dev.41

2 years ago

1.0.0-dev.40

2 years ago

1.0.0-dev.39

2 years ago

1.0.0-dev.38

2 years ago

1.0.0-dev.37

2 years ago

1.0.0-dev.36

2 years ago

1.0.0-dev.35

2 years ago

1.0.0-dev.34

2 years ago

1.0.0-dev.32

2 years ago

1.0.0-dev.31

2 years ago

1.0.0-dev.30

2 years ago

1.0.0-dev.29

2 years ago

1.0.0-dev.28

2 years ago

1.0.0-dev.27

2 years ago

1.0.0-dev.26

2 years ago

1.0.0-dev.25

2 years ago

1.0.0-dev.24

2 years ago

1.0.0-dev.23

2 years ago

1.0.0-dev.22

2 years ago

1.0.0-dev.21

2 years ago

1.0.0-dev.20

2 years ago

1.0.0-dev.19

2 years ago

1.0.0-dev.18

2 years ago

1.0.0-dev.17

2 years ago

1.0.0-dev.16

2 years ago

1.0.0-dev.15

2 years ago

1.0.0-dev.14

2 years ago

1.0.0-dev.13

2 years ago

1.0.0-dev.12

2 years ago

1.0.0-dev.11

2 years ago

1.0.0-dev.10

2 years ago

1.0.0-dev.9

2 years ago

1.0.0-dev.8

2 years ago

1.0.0-dev.7

2 years ago

1.0.0-dev.6

2 years ago

1.0.0-dev.5

2 years ago

1.0.0-dev.4

2 years ago

1.0.0-dev.3

2 years ago

1.0.0-dev.2

2 years ago

1.0.0-dev.1

2 years ago