pimelon-ui 0.1.119 → 0.1.121

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.
@@ -0,0 +1,53 @@
1
+ <template>
2
+ <div
3
+ v-if="!isSidebarCollapsed"
4
+ class="flex flex-col gap-3 shadow-sm rounded-lg py-2.5 px-3 bg-surface-white text-base"
5
+ >
6
+ <div class="flex flex-col gap-1">
7
+ <slot>
8
+ <div class="inline-flex gap-2 items-center font-medium">
9
+ <FeatherIcon class="h-4" name="info" />
10
+ {{ __('Loved the demo?') }}
11
+ </div>
12
+ <div class="text-ink-gray-7 text-p-sm">
13
+ {{ `Try ${appName} for free with a 14-day trial.` }}
14
+ </div>
15
+ </slot>
16
+ </div>
17
+ <Button :label="__('Sign up now')" theme="blue" @click="signupNow">
18
+ <template #prefix>
19
+ <LightningIcon class="size-4" />
20
+ </template>
21
+ </Button>
22
+ </div>
23
+ <Button v-else @click="signupNow">
24
+ <LightningIcon class="h-4 my-0.5 shrink-0" />
25
+ </Button>
26
+ </template>
27
+ <script setup>
28
+ import LightningIcon from '../Icons/LightningIcon.vue'
29
+
30
+ const props = defineProps({
31
+ isSidebarCollapsed: {
32
+ type: Boolean,
33
+ default: false,
34
+ },
35
+ appName: {
36
+ type: String,
37
+ default: 'Melon CRM',
38
+ },
39
+ redirectURL: {
40
+ type: String,
41
+ default: 'https://meloncloud.com/crm/signup',
42
+ },
43
+ afterSignup: {
44
+ type: Function,
45
+ default: () => {},
46
+ },
47
+ })
48
+
49
+ function signupNow() {
50
+ window.open(props.redirectURL, '_blank')
51
+ props.afterSignup?.()
52
+ }
53
+ </script>
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div
3
3
  v-if="!isSidebarCollapsed && showBanner"
4
- class="m-2 flex flex-col gap-3 shadow-sm rounded-lg py-2.5 px-3 bg-surface-modal text-base"
4
+ class="flex flex-col gap-3 shadow-sm rounded-lg py-2.5 px-3 bg-surface-modal text-base"
5
5
  >
6
6
  <div class="flex flex-col gap-1">
7
7
  <div class="inline-flex text-ink-gray-9 gap-2 items-center font-medium">
@@ -34,6 +34,10 @@ const props = defineProps({
34
34
  type: Boolean,
35
35
  default: false,
36
36
  },
37
+ afterUpgrade: {
38
+ type: Function,
39
+ default: () => {},
40
+ },
37
41
  })
38
42
 
39
43
  const trialEndDays = ref(0)
@@ -77,5 +81,6 @@ function upgradePlan() {
77
81
  `${baseEndpoint.value}/dashboard/sites/${siteName.value}`,
78
82
  '_blank',
79
83
  )
84
+ props.afterUpgrade?.()
80
85
  }
81
86
  </script>
@@ -32,6 +32,7 @@
32
32
  :afterSkip="afterSkip"
33
33
  :afterSkipAll="afterSkipAll"
34
34
  :afterReset="afterReset"
35
+ :afterResetAll="afterResetAll"
35
36
  />
36
37
  <HelpCenter
37
38
  v-else-if="showHelpCenter"
@@ -89,13 +90,17 @@ const props = defineProps({
89
90
  type: Function,
90
91
  default: () => {},
91
92
  },
93
+ afterResetAll: {
94
+ type: Function,
95
+ default: () => {},
96
+ },
92
97
  docsLink: {
93
98
  type: String,
94
99
  default: 'https://docs.monakerp.com/crm',
95
100
  },
96
101
  })
97
102
 
98
- const { syncStatus, reset, isOnboardingStepsCompleted } = useOnboarding(
103
+ const { syncStatus, resetAll, isOnboardingStepsCompleted } = useOnboarding(
99
104
  props.appName,
100
105
  )
101
106
 
@@ -146,7 +151,7 @@ const footerItems = computed(() => {
146
151
  })
147
152
 
148
153
  function resetOnboardingSteps() {
149
- reset()
154
+ resetAll()
150
155
  isOnboardingStepsCompleted.value = false
151
156
  showHelpCenter.value = false
152
157
  }
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div
3
3
  v-if="!isSidebarCollapsed"
4
- class="m-2 flex flex-col gap-3 shadow-sm rounded-lg py-2.5 px-3 bg-surface-modal text-base"
4
+ class="flex flex-col gap-3 shadow-sm rounded-lg py-2.5 px-3 bg-surface-modal text-base"
5
5
  >
6
6
  <div
7
7
  v-if="stepsCompleted != totalSteps"
@@ -22,7 +22,7 @@
22
22
  <div class="flex items-center gap-2 shrink-0">
23
23
  <StepsIcon class="h-4 my-0.5" />
24
24
  <div class="text-ink-gray-9 font-medium">
25
- {{ 'You are all set!' }}
25
+ {{ 'You are all set' }}
26
26
  </div>
27
27
  </div>
28
28
  <FeatherIcon
@@ -37,15 +37,19 @@
37
37
  />
38
38
  </div>
39
39
  <div class="text-p-sm text-ink-gray-7">
40
- {{ 'All steps are completed successfully!' }}
40
+ {{ 'All steps are completed successfully' }}
41
41
  </div>
42
42
  </div>
43
43
  <Button
44
44
  v-if="stepsCompleted != totalSteps"
45
- :label="'Complete now'"
45
+ :label="stepsCompleted == 0 ? 'Start now' : 'Continue'"
46
46
  theme="blue"
47
47
  @click="openOnboarding"
48
- />
48
+ >
49
+ <template #prefix>
50
+ <FeatherIcon name="chevrons-right" class="size-4" />
51
+ </template>
52
+ </Button>
49
53
  </div>
50
54
  <Button v-else-if="stepsCompleted != totalSteps" @click="openOnboarding">
51
55
  <StepsIcon class="h-4 my-0.5 shrink-0" />
@@ -0,0 +1,62 @@
1
+ <template>
2
+ <Dialog v-model="show" :options="options">
3
+ <template #boday-header>
4
+ <slot name="body-header"></slot>
5
+ </template>
6
+ <template #body-content>
7
+ <slot>
8
+ <div class="flex flex-col gap-2 text-ink-gray-9 text-base">
9
+ <div v-if="currentStep.message">{{ currentStep.message }}</div>
10
+ <video v-if="currentStep.videoURL" class="w-full rounded" controls>
11
+ <source :src="currentStep.videoURL" type="video/mp4" />
12
+ Your browser does not support the video tag.
13
+ </video>
14
+ </div>
15
+ </slot>
16
+ </template>
17
+ <template #actions>
18
+ <slot name="actions"></slot>
19
+ </template>
20
+ </Dialog>
21
+ </template>
22
+ <script setup>
23
+ import Dialog from '../../src/components/Dialog.vue'
24
+ import { computed } from 'vue'
25
+
26
+ const props = defineProps({
27
+ currentStep: {
28
+ type: Object,
29
+ default: {
30
+ title: 'Title',
31
+ message: 'Message',
32
+ videoURL: '',
33
+ buttonLabel: 'Button Label',
34
+ onClick: () => {},
35
+ },
36
+ },
37
+ dialogOptions: {
38
+ type: Object,
39
+ default: () => ({}),
40
+ },
41
+ })
42
+
43
+ const show = defineModel()
44
+
45
+ const options = computed(() => {
46
+ if (props.dialogOptions && Object.keys(props.dialogOptions).length) {
47
+ return props.dialogOptions
48
+ }
49
+
50
+ return {
51
+ title: props.currentStep.title,
52
+ size: '2xl',
53
+ actions: [
54
+ {
55
+ label: props.currentStep.buttonLabel,
56
+ variant: 'solid',
57
+ onClick: props.currentStep.onClick,
58
+ },
59
+ ],
60
+ }
61
+ })
62
+ </script>
@@ -12,15 +12,15 @@
12
12
  <div class="flex justify-between items-center py-0.5">
13
13
  <Badge
14
14
  :label="`${completedPercentage}% completed`"
15
- theme="orange"
15
+ :theme="completedPercentage == 100 ? 'green' : 'orange'"
16
16
  size="lg"
17
17
  />
18
18
  <div class="flex">
19
19
  <Button
20
20
  v-if="completedPercentage != 0"
21
21
  variant="ghost"
22
- :label="'Reset'"
23
- @click="() => reset(afterReset)"
22
+ :label="'Reset all'"
23
+ @click="() => resetAll(afterResetAll)"
24
24
  />
25
25
  <Button
26
26
  v-if="completedPercentage != 100"
@@ -52,6 +52,12 @@
52
52
  class="!h-4 text-xs !text-ink-gray-6 hidden group-hover:flex"
53
53
  @click="() => skip(step.name, afterSkip)"
54
54
  />
55
+ <Button
56
+ v-else
57
+ :label="'Reset'"
58
+ class="!h-4 text-xs !text-ink-gray-6 hidden group-hover:flex"
59
+ @click.stop="() => reset(step.name, afterReset)"
60
+ />
55
61
  </div>
56
62
  </div>
57
63
  </div>
@@ -84,6 +90,10 @@ const props = defineProps({
84
90
  type: Function,
85
91
  default: () => {},
86
92
  },
93
+ afterResetAll: {
94
+ type: Function,
95
+ default: () => {},
96
+ },
87
97
  })
88
98
 
89
99
  const {
@@ -94,5 +104,6 @@ const {
94
104
  skip,
95
105
  skipAll,
96
106
  reset,
107
+ resetAll,
97
108
  } = useOnboarding(props.appName)
98
109
  </script>
@@ -1,8 +1,8 @@
1
1
  import call from '../../src/utils/call'
2
- import { useStorage } from '@vueuse/core'
3
- import { computed, reactive } from 'vue'
4
2
  import { createResource } from '../../src/resources'
5
3
  import { minimize } from '../Help/help'
4
+ import { useStorage } from '@vueuse/core'
5
+ import { computed, reactive } from 'vue'
6
6
 
7
7
  const onboardings = reactive({})
8
8
  const onboardingStatus = useStorage('onboardingStatus', {})
@@ -39,18 +39,27 @@ export function useOnboarding(appName) {
39
39
  )
40
40
 
41
41
  function skip(step, callback = null) {
42
- updateOnboardingStep(step, true, callback)
42
+ updateOnboardingStep(step, true, true, callback)
43
43
  }
44
44
 
45
45
  function skipAll(callback = null) {
46
46
  updateAll(true, callback)
47
47
  }
48
48
 
49
- function reset(callback = null) {
49
+ function reset(step, callback = null) {
50
+ updateOnboardingStep(step, false, false, callback)
51
+ }
52
+
53
+ function resetAll(callback = null) {
50
54
  updateAll(false, callback)
51
55
  }
52
56
 
53
- function updateOnboardingStep(step, skipped = false, callback = null) {
57
+ function updateOnboardingStep(
58
+ step,
59
+ value = true,
60
+ skipped = false,
61
+ callback = null,
62
+ ) {
54
63
  if (isOnboardingStepsCompleted.value) return
55
64
 
56
65
  if (!onboardingSteps.value.length) {
@@ -63,8 +72,8 @@ export function useOnboarding(appName) {
63
72
 
64
73
  let index = onboardingSteps.value.findIndex((s) => s.name === step)
65
74
  if (index !== -1) {
66
- onboardingSteps.value[index].completed = true
67
- onboardings[appName][index].completed = true
75
+ onboardingSteps.value[index].completed = value
76
+ onboardings[appName][index].completed = value
68
77
  }
69
78
 
70
79
  updateUserOnboardingStatus(onboardingSteps.value)
@@ -136,6 +145,7 @@ export function useOnboarding(appName) {
136
145
  skip,
137
146
  skipAll,
138
147
  reset,
148
+ resetAll,
139
149
  setUp,
140
150
  syncStatus,
141
151
  }
package/melon/index.js CHANGED
@@ -4,12 +4,14 @@ export { default as HelpModal } from './Help/HelpModal.vue'
4
4
  // onboarding components
5
5
  export { default as GettingStartedBanner } from './Onboarding/GettingStartedBanner.vue'
6
6
  export { default as OnboardingSteps } from './Onboarding/OnboardingSteps.vue'
7
+ export { default as IntermediateStepModal } from './Onboarding/IntermediateStepModal.vue'
7
8
 
8
9
  // help center components
9
10
  export { default as HelpCenter } from './HelpCenter/HelpCenter.vue'
10
11
 
11
12
  // billing components
12
13
  export { default as TrialBanner } from './Billing/TrialBanner.vue'
14
+ export { default as SignupBanner } from './Billing/SignupBanner.vue'
13
15
 
14
16
  // composables
15
17
  export { useOnboarding } from './Onboarding/onboarding.js'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pimelon-ui",
3
- "version": "0.1.119",
3
+ "version": "0.1.121",
4
4
  "description": "A set of components and utilities for rapid UI development",
5
5
  "main": "./src/index.js",
6
6
  "scripts": {
@@ -12,6 +12,12 @@
12
12
  url('Inter.var.woff2?v=3.19') format('woff2-variations'),
13
13
  url('Inter.var.woff2?v=3.19') format('woff2');
14
14
  src: url('Inter.var.woff2?v=3.19') format('woff2') tech('variations');
15
+ unicode-range:
16
+ U+0000-05FF, /* Latin, Greek, Cyrillic, Hebrew */
17
+ U+0700-1FFF, /* Extended Latin, Greek, Cyrillic, Armenian, Georgian */
18
+ U+2C00-2FFF, /* Additional scripts */
19
+ U+4E00-9FFF, /* CJK (Chinese, Japanese, Korean) */
20
+ U+AC00-D7AF; /* Hangul (Korean) */
15
21
  }
16
22
  @font-face {
17
23
  font-family: 'InterVar';
@@ -22,6 +28,7 @@
22
28
  url('Inter-Italic.var.woff2?v=3.19') format('woff2-variations'),
23
29
  url('Inter-Italic.var.woff2?v=3.19') format('woff2');
24
30
  src: url('Inter-Italic.var.woff2?v=3.19') format('woff2') tech('variations');
31
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
25
32
  }
26
33
  /* static fonts "Inter" */
27
34
  @font-face {
@@ -30,6 +37,7 @@
30
37
  font-weight: 100;
31
38
  font-display: swap;
32
39
  src: url('Inter-Thin.woff2?v=3.19') format('woff2');
40
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
33
41
  }
34
42
  @font-face {
35
43
  font-family: 'Inter';
@@ -37,6 +45,7 @@
37
45
  font-weight: 100;
38
46
  font-display: swap;
39
47
  src: url('Inter-ThinItalic.woff2?v=3.19') format('woff2');
48
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
40
49
  }
41
50
  @font-face {
42
51
  font-family: 'Inter';
@@ -44,6 +53,7 @@
44
53
  font-weight: 200;
45
54
  font-display: swap;
46
55
  src: url('Inter-ExtraLight.woff2?v=3.19') format('woff2');
56
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
47
57
  }
48
58
  @font-face {
49
59
  font-family: 'Inter';
@@ -51,6 +61,7 @@
51
61
  font-weight: 200;
52
62
  font-display: swap;
53
63
  src: url('Inter-ExtraLightItalic.woff2?v=3.19') format('woff2');
64
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
54
65
  }
55
66
  @font-face {
56
67
  font-family: 'Inter';
@@ -58,6 +69,7 @@
58
69
  font-weight: 300;
59
70
  font-display: swap;
60
71
  src: url('Inter-Light.woff2?v=3.19') format('woff2');
72
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
61
73
  }
62
74
  @font-face {
63
75
  font-family: 'Inter';
@@ -65,6 +77,7 @@
65
77
  font-weight: 300;
66
78
  font-display: swap;
67
79
  src: url('Inter-LightItalic.woff2?v=3.19') format('woff2');
80
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
68
81
  }
69
82
  @font-face {
70
83
  font-family: 'Inter';
@@ -72,6 +85,7 @@
72
85
  font-weight: 400;
73
86
  font-display: swap;
74
87
  src: url('Inter-Regular.woff2?v=3.19') format('woff2');
88
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
75
89
  }
76
90
  @font-face {
77
91
  font-family: 'Inter';
@@ -79,6 +93,7 @@
79
93
  font-weight: 400;
80
94
  font-display: swap;
81
95
  src: url('Inter-Italic.woff2?v=3.19') format('woff2');
96
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
82
97
  }
83
98
  @font-face {
84
99
  font-family: 'Inter';
@@ -86,6 +101,7 @@
86
101
  font-weight: 500;
87
102
  font-display: swap;
88
103
  src: url('Inter-Medium.woff2?v=3.19') format('woff2');
104
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
89
105
  }
90
106
  @font-face {
91
107
  font-family: 'Inter';
@@ -93,6 +109,7 @@
93
109
  font-weight: 500;
94
110
  font-display: swap;
95
111
  src: url('Inter-MediumItalic.woff2?v=3.19') format('woff2');
112
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
96
113
  }
97
114
  @font-face {
98
115
  font-family: 'Inter';
@@ -100,6 +117,7 @@
100
117
  font-weight: 600;
101
118
  font-display: swap;
102
119
  src: url('Inter-SemiBold.woff2?v=3.19') format('woff2');
120
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
103
121
  }
104
122
  @font-face {
105
123
  font-family: 'Inter';
@@ -107,6 +125,7 @@
107
125
  font-weight: 600;
108
126
  font-display: swap;
109
127
  src: url('Inter-SemiBoldItalic.woff2?v=3.19') format('woff2');
128
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
110
129
  }
111
130
  @font-face {
112
131
  font-family: 'Inter';
@@ -114,6 +133,7 @@
114
133
  font-weight: 700;
115
134
  font-display: swap;
116
135
  src: url('Inter-Bold.woff2?v=3.19') format('woff2');
136
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
117
137
  }
118
138
  @font-face {
119
139
  font-family: 'Inter';
@@ -121,6 +141,7 @@
121
141
  font-weight: 700;
122
142
  font-display: swap;
123
143
  src: url('Inter-BoldItalic.woff2?v=3.19') format('woff2');
144
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
124
145
  }
125
146
  @font-face {
126
147
  font-family: 'Inter';
@@ -128,6 +149,7 @@
128
149
  font-weight: 800;
129
150
  font-display: swap;
130
151
  src: url('Inter-ExtraBold.woff2?v=3.19') format('woff2');
152
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
131
153
  }
132
154
  @font-face {
133
155
  font-family: 'Inter';
@@ -135,6 +157,7 @@
135
157
  font-weight: 800;
136
158
  font-display: swap;
137
159
  src: url('Inter-ExtraBoldItalic.woff2?v=3.19') format('woff2');
160
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
138
161
  }
139
162
  @font-face {
140
163
  font-family: 'Inter';
@@ -142,6 +165,7 @@
142
165
  font-weight: 900;
143
166
  font-display: swap;
144
167
  src: url('Inter-Black.woff2?v=3.19') format('woff2');
168
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
145
169
  }
146
170
  @font-face {
147
171
  font-family: 'Inter';
@@ -149,6 +173,7 @@
149
173
  font-weight: 900;
150
174
  font-display: swap;
151
175
  src: url('Inter-BlackItalic.woff2?v=3.19') format('woff2');
176
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
152
177
  }
153
178
  /* static fonts "InterDisplay" */
154
179
  @font-face {
@@ -157,6 +182,7 @@
157
182
  font-weight: 100;
158
183
  font-display: swap;
159
184
  src: url('Inter-DisplayThin.woff2?v=3.19') format('woff2');
185
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
160
186
  }
161
187
  @font-face {
162
188
  font-family: 'InterDisplay';
@@ -164,6 +190,7 @@
164
190
  font-weight: 100;
165
191
  font-display: swap;
166
192
  src: url('Inter-DisplayThinItalic.woff2?v=3.19') format('woff2');
193
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
167
194
  }
168
195
  @font-face {
169
196
  font-family: 'InterDisplay';
@@ -171,6 +198,7 @@
171
198
  font-weight: 200;
172
199
  font-display: swap;
173
200
  src: url('Inter-DisplayExtraLight.woff2?v=3.19') format('woff2');
201
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
174
202
  }
175
203
  @font-face {
176
204
  font-family: 'InterDisplay';
@@ -178,6 +206,7 @@
178
206
  font-weight: 200;
179
207
  font-display: swap;
180
208
  src: url('Inter-DisplayExtraLightItalic.woff2?v=3.19') format('woff2');
209
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
181
210
  }
182
211
  @font-face {
183
212
  font-family: 'InterDisplay';
@@ -185,6 +214,7 @@
185
214
  font-weight: 300;
186
215
  font-display: swap;
187
216
  src: url('Inter-DisplayLight.woff2?v=3.19') format('woff2');
217
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
188
218
  }
189
219
  @font-face {
190
220
  font-family: 'InterDisplay';
@@ -192,6 +222,7 @@
192
222
  font-weight: 300;
193
223
  font-display: swap;
194
224
  src: url('Inter-DisplayLightItalic.woff2?v=3.19') format('woff2');
225
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
195
226
  }
196
227
  @font-face {
197
228
  font-family: 'InterDisplay';
@@ -199,6 +230,7 @@
199
230
  font-weight: 400;
200
231
  font-display: swap;
201
232
  src: url('Inter-DisplayRegular.woff2?v=3.19') format('woff2');
233
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
202
234
  }
203
235
  @font-face {
204
236
  font-family: 'InterDisplay';
@@ -206,6 +238,7 @@
206
238
  font-weight: 400;
207
239
  font-display: swap;
208
240
  src: url('Inter-DisplayItalic.woff2?v=3.19') format('woff2');
241
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
209
242
  }
210
243
  @font-face {
211
244
  font-family: 'InterDisplay';
@@ -213,6 +246,7 @@
213
246
  font-weight: 500;
214
247
  font-display: swap;
215
248
  src: url('Inter-DisplayMedium.woff2?v=3.19') format('woff2');
249
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
216
250
  }
217
251
  @font-face {
218
252
  font-family: 'InterDisplay';
@@ -220,6 +254,7 @@
220
254
  font-weight: 500;
221
255
  font-display: swap;
222
256
  src: url('Inter-DisplayMediumItalic.woff2?v=3.19') format('woff2');
257
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
223
258
  }
224
259
  @font-face {
225
260
  font-family: 'InterDisplay';
@@ -227,6 +262,7 @@
227
262
  font-weight: 600;
228
263
  font-display: swap;
229
264
  src: url('Inter-DisplaySemiBold.woff2?v=3.19') format('woff2');
265
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
230
266
  }
231
267
  @font-face {
232
268
  font-family: 'InterDisplay';
@@ -234,6 +270,7 @@
234
270
  font-weight: 600;
235
271
  font-display: swap;
236
272
  src: url('Inter-DisplaySemiBoldItalic.woff2?v=3.19') format('woff2');
273
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
237
274
  }
238
275
  @font-face {
239
276
  font-family: 'InterDisplay';
@@ -241,6 +278,7 @@
241
278
  font-weight: 700;
242
279
  font-display: swap;
243
280
  src: url('Inter-DisplayBold.woff2?v=3.19') format('woff2');
281
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
244
282
  }
245
283
  @font-face {
246
284
  font-family: 'InterDisplay';
@@ -248,6 +286,7 @@
248
286
  font-weight: 700;
249
287
  font-display: swap;
250
288
  src: url('Inter-DisplayBoldItalic.woff2?v=3.19') format('woff2');
289
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
251
290
  }
252
291
  @font-face {
253
292
  font-family: 'InterDisplay';
@@ -255,6 +294,7 @@
255
294
  font-weight: 800;
256
295
  font-display: swap;
257
296
  src: url('Inter-DisplayExtraBold.woff2?v=3.19') format('woff2');
297
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
258
298
  }
259
299
  @font-face {
260
300
  font-family: 'InterDisplay';
@@ -262,6 +302,7 @@
262
302
  font-weight: 800;
263
303
  font-display: swap;
264
304
  src: url('Inter-DisplayExtraBoldItalic.woff2?v=3.19') format('woff2');
305
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
265
306
  }
266
307
  @font-face {
267
308
  font-family: 'InterDisplay';
@@ -269,6 +310,7 @@
269
310
  font-weight: 900;
270
311
  font-display: swap;
271
312
  src: url('Inter-DisplayBlack.woff2?v=3.19') format('woff2');
313
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
272
314
  }
273
315
  @font-face {
274
316
  font-family: 'InterDisplay';
@@ -276,4 +318,5 @@
276
318
  font-weight: 900;
277
319
  font-display: swap;
278
320
  src: url('Inter-DisplayBlackItalic.woff2?v=3.19') format('woff2');
321
+ unicode-range: U+0000-05FF, U+0700-1FFF, U+2C00-2FFF, U+4E00-9FFF, U+AC00-D7AF;
279
322
  }