vueless 0.0.397 → 0.0.399

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vueless",
3
- "version": "0.0.397",
3
+ "version": "0.0.399",
4
4
  "license": "MIT",
5
5
  "description": "Vue Styleless UI Component Library, powered by Tailwind CSS.",
6
6
  "keywords": [
@@ -27,18 +27,20 @@
27
27
  v-if="isShownArrowButton"
28
28
  size="sm"
29
29
  color="gray"
30
- :to="backRoute"
30
+ :to="backTo"
31
+ :label="backLabel"
31
32
  v-bind="backLinkAttrs"
32
33
  @click="onClickBackLink"
33
34
  >
34
- <UIcon
35
- internal
36
- size="xs"
37
- color="gray"
38
- :name="config.defaults.backIcon"
39
- v-bind="backLinkIconAttrs"
40
- />
41
- {{ backRoute.title }}
35
+ <template #left>
36
+ <UIcon
37
+ internal
38
+ size="xs"
39
+ color="gray"
40
+ :name="config.defaults.backIcon"
41
+ v-bind="backLinkIconAttrs"
42
+ />
43
+ </template>
42
44
  </ULink>
43
45
 
44
46
  <UHeader :label="title" size="sm" v-bind="titleAttrs" />
@@ -157,13 +159,21 @@ const props = defineProps({
157
159
  },
158
160
 
159
161
  /**
160
- * Back link route.
162
+ * Back link vue-router route object.
161
163
  */
162
- backRoute: {
164
+ backTo: {
163
165
  type: Object,
164
166
  default: () => ({}),
165
167
  },
166
168
 
169
+ /**
170
+ * Back link label.
171
+ */
172
+ backLabel: {
173
+ type: String,
174
+ default: "",
175
+ },
176
+
167
177
  /**
168
178
  * Allow closing modal by clicking on close cross.
169
179
  */
@@ -282,16 +292,16 @@ const isShownModal = computed({
282
292
  });
283
293
 
284
294
  const isShownArrowButton = computed(() => {
285
- return !!Object.keys(props.backRoute).length;
295
+ return !!Object.keys(props.backTo).length;
286
296
  });
287
297
 
288
298
  const isExistHeader = computed(() => {
289
299
  return (
300
+ props.title ||
290
301
  hasSlotContent(slots["header-left"]) ||
291
- hasSlotContent(slots["header-left-before"]) ||
292
- hasSlotContent(slots["header-left-after"]) ||
293
- hasSlotContent(slots["header-right"]) ||
294
- props.title
302
+ hasSlotContent(slots["before-title"]) ||
303
+ hasSlotContent(slots["after-title"]) ||
304
+ hasSlotContent(slots["header-right"])
295
305
  );
296
306
  });
297
307
 
@@ -100,8 +100,14 @@ Default.args = {};
100
100
  export const Sizes = EnumVariantTemplate.bind({});
101
101
  Sizes.args = { enum: "size" };
102
102
 
103
- export const BackRoute = DefaultTemplate.bind({});
104
- BackRoute.args = { backRoute: { title: "route title" } };
103
+ export const BackLink = DefaultTemplate.bind({});
104
+ BackLink.args = {
105
+ backLabel: "back",
106
+ backTo: {
107
+ path: "/",
108
+ params: {},
109
+ },
110
+ };
105
111
 
106
112
  export const SlotDefault = DefaultTemplate.bind({});
107
113
  SlotDefault.args = {
@@ -3,7 +3,11 @@ import useUI from "../composables/useUI.js";
3
3
  import defaultConfig from "./config.js";
4
4
 
5
5
  export default function useAttrs(props) {
6
- const { config, getKeysAttrs, hasSlotContent } = useUI(defaultConfig, () => props.config);
6
+ const { config, getKeysAttrs, hasSlotContent } = useUI(
7
+ defaultConfig,
8
+ () => props.config,
9
+ "wrapper",
10
+ );
7
11
 
8
12
  const keysAttrs = getKeysAttrs();
9
13
 
@@ -4,20 +4,20 @@
4
4
  <!-- @slot Use it to add something before the header. -->
5
5
  <slot name="header-before" />
6
6
 
7
- <div v-if="isShownHeader" v-bind="headerAttrs">
7
+ <div v-if="isExistHeader" v-bind="headerAttrs">
8
8
  <div v-bind="headerLeftAttrs">
9
- <!-- @slot Use it to add something before left side of the header. -->
10
- <slot name="header-left-before" />
11
-
12
- <!-- @slot Use it to customise left side of the header. -->
9
+ <!-- @slot Use it to add something to the left side of the header. -->
13
10
  <slot name="header-left">
11
+ <!-- @slot Use it to add something before the header title. -->
12
+ <slot name="before-title" />
13
+
14
14
  <div v-bind="headerLeftFallbackAttrs">
15
15
  <ULink
16
16
  v-if="isShownArrowButton"
17
17
  no-ring
18
18
  size="sm"
19
19
  color="gray"
20
- :to="backRoute"
20
+ :to="backTo"
21
21
  :label="backLabel"
22
22
  v-bind="backLinkAttrs"
23
23
  >
@@ -35,14 +35,14 @@
35
35
  <UHeader :label="title" :size="titleSize" v-bind="titleAttrs" />
36
36
  <div v-if="description" v-bind="descriptionAttrs" v-text="description" />
37
37
  </div>
38
- </slot>
39
38
 
40
- <!-- @slot Use it to add something after left side of the header. -->
41
- <slot name="header-left-after" />
39
+ <!-- @slot Use it to add something after the header title. -->
40
+ <slot name="after-title" />
41
+ </slot>
42
42
  </div>
43
43
 
44
44
  <div v-bind="headerRightAttrs">
45
- <!-- @slot Use it to customise right side of the header. -->
45
+ <!-- @slot Use it to add something to the right side of the header. -->
46
46
  <slot name="header-right" />
47
47
  </div>
48
48
  </div>
@@ -50,7 +50,7 @@
50
50
  <!-- @slot Use it to add something after the header. -->
51
51
  <slot name="header-after" />
52
52
 
53
- <div>
53
+ <div v-bind="bodyAttrs">
54
54
  <!-- @slot Use it to add main content. -->
55
55
  <slot />
56
56
  </div>
@@ -58,13 +58,13 @@
58
58
  <!-- @slot Use it to add something before the footer. -->
59
59
  <slot name="footer-before" />
60
60
 
61
- <div v-if="isShownFooterSlot" class="vueless-page-footer" v-bind="footerAttrs">
62
- <div class="vueless-page-footer-left" v-bind="footerLeftAttrs">
61
+ <div v-if="isExistFooter" v-bind="footerAttrs">
62
+ <div v-bind="footerLeftAttrs">
63
63
  <!-- @slot Use it to add something to the left side of the footer. -->
64
64
  <slot name="footer-left" />
65
65
  </div>
66
66
 
67
- <div class="vueless-page-footer-right" v-bind="footerRightAttrs">
67
+ <div v-bind="footerRightAttrs">
68
68
  <!-- @slot Use it to add something to the right side of the footer. -->
69
69
  <slot name="footer-right" />
70
70
  </div>
@@ -101,16 +101,16 @@ defineOptions({ inheritAttrs: false });
101
101
 
102
102
  const props = defineProps({
103
103
  /**
104
- * The width of the page.
104
+ * Page size (width).
105
105
  * @values xs, sm, md, lg, xl, 2xl, 3xl, 4xl, 5xl, wide
106
106
  */
107
- width: {
107
+ size: {
108
108
  type: String,
109
- default: getDefault(defaultConfig, UPage).width,
109
+ default: getDefault(defaultConfig, UPage).size,
110
110
  },
111
111
 
112
112
  /**
113
- * Set page title.
113
+ * Page title.
114
114
  */
115
115
  title: {
116
116
  type: String,
@@ -118,7 +118,7 @@ const props = defineProps({
118
118
  },
119
119
 
120
120
  /**
121
- * Set page title size.
121
+ * Page title size.
122
122
  * @values xs, sm, md, lg, xl, 2xl
123
123
  */
124
124
  titleSize: {
@@ -137,7 +137,7 @@ const props = defineProps({
137
137
  /**
138
138
  * Back link vue-router route object.
139
139
  */
140
- backRoute: {
140
+ backTo: {
141
141
  type: Object,
142
142
  default: () => ({}),
143
143
  },
@@ -151,21 +151,13 @@ const props = defineProps({
151
151
  },
152
152
 
153
153
  /**
154
- * Set gray background color.
154
+ * Sets background light gray (useful if the page contains nested cards).
155
155
  */
156
156
  gray: {
157
157
  type: Boolean,
158
158
  default: getDefault(defaultConfig, UPage).gray,
159
159
  },
160
160
 
161
- /**
162
- * Reverse left and right footer blocks (in a mobile version only).
163
- */
164
- mobileFooterReverse: {
165
- type: Boolean,
166
- default: getDefault(defaultConfig, UPage).mobileFooterReverse,
167
- },
168
-
169
161
  /**
170
162
  * Stick right page rounding.
171
163
  */
@@ -206,6 +198,7 @@ const {
206
198
  descriptionAttrs,
207
199
  headerLeftAttrs,
208
200
  headerRightAttrs,
201
+ bodyAttrs,
209
202
  footerAttrs,
210
203
  footerLeftAttrs,
211
204
  footerRightAttrs,
@@ -213,27 +206,22 @@ const {
213
206
  hasSlotContent,
214
207
  } = useAttrs(props, { isMobileBreakpoint });
215
208
 
216
- const isShownHeader = computed(() => {
217
- const isHeaderLeftSlot = hasSlotContent(slots["header-left"]);
218
- const isHeaderRightSlot = hasSlotContent(slots["header-right"]);
219
- const isHeaderLeftBeforeSlot = hasSlotContent(slots["header-left-before"]);
220
- const isHeaderLeftAfterSlot = hasSlotContent(slots["header-left-after"]);
221
-
209
+ const isExistHeader = computed(() => {
222
210
  return (
223
211
  props.title ||
224
- isHeaderLeftSlot ||
225
- isHeaderLeftBeforeSlot ||
226
- isHeaderLeftAfterSlot ||
227
- isHeaderRightSlot
212
+ hasSlotContent(slots["header-left"]) ||
213
+ hasSlotContent(slots["header-right"]) ||
214
+ hasSlotContent(slots["before-title"]) ||
215
+ hasSlotContent(slots["after-title"])
228
216
  );
229
217
  });
230
218
 
231
- const isShownFooterSlot = computed(() => {
219
+ const isExistFooter = computed(() => {
232
220
  return hasSlotContent(slots["footer-left"]) || hasSlotContent(slots["footer-right"]);
233
221
  });
234
222
 
235
223
  const isShownArrowButton = computed(() => {
236
- return Boolean(Object.keys(props.backRoute).length);
224
+ return Boolean(Object.keys(props.backTo).length);
237
225
  });
238
226
 
239
227
  onMounted(() => {
@@ -244,59 +232,3 @@ onMounted(() => {
244
232
  document.querySelector("body").classList.add(...classes);
245
233
  });
246
234
  </script>
247
-
248
- <!--style lang="postcss" scoped>
249
- /**
250
- * TODO: Move this styles to global vueless config using tailwind group class and remove footer classes
251
- *
252
- .vueless-page {
253
- &-footer {
254
- &-left:deep(.vueless-dropdown-button) {
255
- @apply !block;
256
- }
257
-
258
- &-right,
259
- &-left {
260
- :deep(.vueless-dropdown-button) {
261
- .dropdown-block,
262
- .vueless-dropdown-button-list {
263
- @apply max-md:w-full;
264
- }
265
-
266
- .vueless-dropdown-item {
267
- @apply max-md:text-center;
268
- }
269
-
270
- .dropdown-list {
271
- @apply xmb-[calc(theme("spacing.mobile-menu-height")+3rem)];
272
- }
273
- }
274
-
275
- &:deep(.vueless-dropdown-tag, .vueless-dropdown-link, .vueless-dropdown-button) {
276
- @apply w-full md:w-auto;
277
-
278
- .dropdown-wrapper-list {
279
- @apply mb-2 md:mb-0;
280
- }
281
-
282
- .dropdown-block {
283
- @apply relative md:absolute;
284
- }
285
-
286
- .dropdown-list-right {
287
- @apply w-full text-center;
288
- }
289
-
290
- .dropdown-wrapper {
291
- @apply block w-full;
292
-
293
- .vueless-svg-icon {
294
- @apply right-auto;
295
- }
296
- }
297
- }
298
- }
299
- }
300
- }
301
- */
302
- </style-->
@@ -4,7 +4,7 @@ export default /*tw*/ {
4
4
  wrapper: {
5
5
  base: "min-h-screen UNotifyPage",
6
6
  variants: {
7
- width: {
7
+ size: {
8
8
  xs: "md:w-[25rem] md:max-[500px]:!w-full",
9
9
  sm: "md:w-[31.25rem] md:max-[600px]:!w-full",
10
10
  md: "md:w-[37.5rem] md:max-[700px]:!w-full",
@@ -43,13 +43,10 @@ export default /*tw*/ {
43
43
  title: "{UHeader}",
44
44
  description: "mt-1.5 text-base font-normal text-gray-500",
45
45
  headerRight: "",
46
+ body: "",
46
47
  footer: `mb-0 mt-14 justify-between pt-8 md:flex md:items-baseline space-y-4 md:space-y-0 border-t border-gray-200`,
47
48
  footerLeft: "md:flex space-y-4 md:space-x-4 md:space-y-0",
48
- footerRight: `
49
- md:flex space-y-4 md:space-x-4 md:space-y-0 group-[]/reversed-footer:flex
50
- group-[]/reversed-footer:flex-col-reverse group-[]/reversed-footer:space-y-reverse
51
- `,
52
- footerMobileReverse: "flex flex-col-reverse space-y-reverse group/reversed-footer",
49
+ footerRight: "md:flex space-y-4 md:space-x-4 md:space-y-0",
53
50
  rightRoundingWrapper: "absolute right-4",
54
51
  rightRounding: {
55
52
  base: "fixed top-0 w-4 rounded-r-2xl bg-white h-screen",
@@ -61,11 +58,10 @@ export default /*tw*/ {
61
58
  },
62
59
  },
63
60
  defaults: {
64
- titleSize: "lg",
65
- width: "wide",
61
+ titleSize: "md",
62
+ size: "wide",
66
63
  gray: false,
67
64
  fixedRounding: false,
68
- mobileFooterReverse: false,
69
65
  /* icons */
70
66
  backIcon: "arrow_back",
71
67
  },
@@ -64,62 +64,46 @@ Default.args = {};
64
64
  export const TitleSizeSm = DefaultTemplate.bind({});
65
65
  TitleSizeSm.args = { titleSize: "sm" };
66
66
 
67
- export const Classes = DefaultTemplate.bind({});
68
- Classes.args = {
69
- classes: {
70
- header: "text-violet-300",
71
- },
72
- };
73
-
74
67
  export const Description = DefaultTemplate.bind({});
75
68
  Description.args = { description: "Page description" };
76
69
 
77
- export const Width = DefaultTemplate.bind({});
78
- Width.args = { width: "md", title: "Width = md" };
70
+ export const Size = DefaultTemplate.bind({});
71
+ Size.args = { size: "sm", title: "size = md" };
79
72
 
80
- export const WidePage = DefaultTemplate.bind({});
81
- WidePage.args = { widePage: true, width: "sm" };
82
-
83
- export const BackRoute = DefaultTemplate.bind({});
84
- BackRoute.args = {
73
+ export const BackLink = DefaultTemplate.bind({});
74
+ BackLink.args = {
85
75
  backLabel: "back",
86
- backRoute: {
76
+ backTo: {
87
77
  path: "/",
88
78
  params: {},
89
79
  },
90
80
  };
91
81
 
92
- export const SlotHeaderLeftBefore = DefaultTemplate.bind({});
93
- SlotHeaderLeftBefore.args = {
82
+ export const SlotHeaderLeft = DefaultTemplate.bind({});
83
+ SlotHeaderLeft.args = {
94
84
  slotTemplate: `
95
- <template #header-left-before>
96
- <UIcon
97
- name="close"
98
- color="gray"
99
- />
85
+ <template #header-left>
86
+ <UHeader size="lg" label="Large title" />
100
87
  </template>
101
88
  ${defaultTemplate}
102
89
  `,
103
90
  };
104
91
 
105
- export const SlotHeaderLeft = DefaultTemplate.bind({});
106
- SlotHeaderLeft.args = {
92
+ export const SlotBeforeTitle = DefaultTemplate.bind({});
93
+ SlotBeforeTitle.args = {
107
94
  slotTemplate: `
108
- <template #header-left>
109
- <UHeader size="lg" label="Large title" />
95
+ <template #before-title>
96
+ <UIcon name="close" color="gray" />
110
97
  </template>
111
98
  ${defaultTemplate}
112
99
  `,
113
100
  };
114
101
 
115
- export const SlotHeaderLeftAfter = DefaultTemplate.bind({});
116
- SlotHeaderLeftAfter.args = {
102
+ export const SlotAfterTitle = DefaultTemplate.bind({});
103
+ SlotAfterTitle.args = {
117
104
  slotTemplate: `
118
- <template #header-left-after>
119
- <UIcon
120
- name="close"
121
- color="gray"
122
- />
105
+ <template #after-title>
106
+ <UIcon name="close" color="gray" />
123
107
  </template>
124
108
  ${defaultTemplate}
125
109
  `,
@@ -8,9 +8,10 @@ export default function useAttrs(props, { isMobileBreakpoint }) {
8
8
  const { config, getKeysAttrs, hasSlotContent, getExtendingKeysClasses } = useUI(
9
9
  defaultConfig,
10
10
  () => props.config,
11
+ "wrapper",
11
12
  );
12
13
 
13
- const extendingKeys = ["wrapperMobile", "footerMobileReverse"];
14
+ const extendingKeys = ["wrapperMobile"];
14
15
  const extendingKeysClasses = getExtendingKeysClasses(extendingKeys);
15
16
 
16
17
  const keysAttrs = getKeysAttrs({}, extendingKeys, {
@@ -19,13 +20,6 @@ export default function useAttrs(props, { isMobileBreakpoint }) {
19
20
  isMobileBreakpoint.value && !isMobileApp && extendingKeysClasses.wrapperMobile.value,
20
21
  ]),
21
22
  },
22
- footer: {
23
- extend: computed(() => [
24
- props.mobileFooterReverse &&
25
- isMobileBreakpoint.value &&
26
- extendingKeysClasses.footerMobileReverse.value,
27
- ]),
28
- },
29
23
  });
30
24
 
31
25
  return {
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <svg width="100%" height="100%" viewBox="0 0 40 40" v-bind="stepperSvgAttrs">
2
+ <svg viewBox="0 0 40 40" v-bind="stepperSvgAttrs">
3
3
  <defs>
4
4
  <linearGradient id="gradient" x1="0%" y1="0%" x2="100%" y2="0%" v-bind="stepperGradientAttrs">
5
5
  <stop offset="0%" :stop-color="stepperColor" />
@@ -27,7 +27,7 @@
27
27
  stroke-dashoffset="0"
28
28
  />
29
29
  <g v-bind="stepperCountAttrs">
30
- <text y="45%" transform="translate(0, 2)">
30
+ <text y="45%">
31
31
  <tspan x="50%" text-anchor="middle">{{ value }}</tspan>
32
32
  </text>
33
33
  </g>
@@ -139,7 +139,7 @@ const isSteps = computed(() => Array.isArray(props.max));
139
139
 
140
140
  const realMax = computed(() => {
141
141
  if (isSteps.value) {
142
- return props.max.length;
142
+ return props.max.length - 1;
143
143
  }
144
144
 
145
145
  return Number(props.max);
@@ -162,6 +162,6 @@ const progressPercent = computed(() => {
162
162
  });
163
163
 
164
164
  function isActiveStep(index) {
165
- return index === props.value - 1;
165
+ return index === props.value;
166
166
  }
167
167
  </script>
@@ -4,15 +4,15 @@ export default /*tw*/ {
4
4
  variants: {
5
5
  variant: {
6
6
  progress: "w-full h-auto flex flex-col gap-1.5",
7
- stepper: "flex items-center justify-between",
7
+ stepper: "flex items-center justify-between gap-4",
8
8
  },
9
9
  },
10
10
  },
11
11
  stepper: {
12
- base: "",
12
+ base: "shrink-0 grow-0",
13
13
  variants: {
14
14
  size: {
15
- "2xs": "size-8",
15
+ "2xs": "size-6",
16
16
  xs: "size-8",
17
17
  sm: "size-10",
18
18
  md: "size-12",
@@ -24,8 +24,15 @@ export default /*tw*/ {
24
24
  },
25
25
  stepperSvg: "",
26
26
  stepperGradient: "",
27
- stepperCircle: "stroke-current text-{color}-100",
28
- stepperCount: "text-xl font-bold text-gray-900 translate-y-2 transform",
27
+ stepperCircle: {
28
+ base: "stroke-{color}-100 text-{color}-100",
29
+ variants: {
30
+ color: {
31
+ grayscale: "stroke-gray-100",
32
+ },
33
+ },
34
+ },
35
+ stepperCount: "text-md font-bold text-gray-900 translate-y-2 transform",
29
36
  indicator: {
30
37
  base: "text-{color}-600 flex justify-end w-full min-w-fit font-medium transition",
31
38
  variants: {
@@ -103,6 +110,7 @@ export default /*tw*/ {
103
110
  safelist: (colors) => [
104
111
  { pattern: `text-(${colors})-600` },
105
112
  { pattern: `text-(${colors})-100` },
113
+ { pattern: `stroke-(${colors})-100` },
106
114
  {
107
115
  pattern: `bg-(${colors})-50`,
108
116
  variants: ["[&::-webkit-progress-bar]", "[@supports(selector(&::-moz-progress-bar))]"],
@@ -26,7 +26,7 @@ const DefaultTemplate = (args) => ({
26
26
  args.iterator = args.max ? 1 : 10;
27
27
 
28
28
  function updateProgress() {
29
- args.value = args.value < (args.max?.length || 100) ? args.value + args.iterator : 0;
29
+ args.value = args.value < (args.max?.length - 1 || 100) ? args.value + args.iterator : 0;
30
30
  }
31
31
 
32
32
  return { slots, args, updateProgress };
@@ -68,13 +68,13 @@ export const Default = DefaultTemplate.bind({});
68
68
  Default.args = {};
69
69
 
70
70
  export const VariantStepper = DefaultTemplate.bind({});
71
- VariantStepper.args = { variant: "stepper", max: ["Step 1", "Step 2", "Step 3"] };
71
+ VariantStepper.args = { variant: "stepper", max: ["Step 0", "Step 1", "Step 2"] };
72
72
 
73
73
  export const Indicator = DefaultTemplate.bind({});
74
74
  Indicator.args = { indicator: true };
75
75
 
76
76
  export const Steps = DefaultTemplate.bind({});
77
- Steps.args = { max: ["Step 1", "Step 2", "Step 3"] };
77
+ Steps.args = { max: ["Step 0", "Step 1", "Step 2"] };
78
78
 
79
79
  export const Colors = EnumVariantTemplate.bind({});
80
80
  Colors.args = { enum: "color" };
@@ -97,7 +97,7 @@ IndicatorSlot.args = {
97
97
 
98
98
  export const StepSlot = DefaultTemplate.bind({});
99
99
  StepSlot.args = {
100
- max: ["Step 1", "Step 2", "Step 3"],
100
+ max: ["Step 0", "Step 1", "Step 2"],
101
101
  slotTemplate: `
102
102
  <template #step-0>
103
103
  💻
package/web-types.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "framework": "vue",
3
3
  "name": "vueless",
4
- "version": "0.0.397",
4
+ "version": "0.0.399",
5
5
  "contributions": {
6
6
  "html": {
7
7
  "description-markup": "markdown",
@@ -5958,14 +5958,23 @@
5958
5958
  "default": "sm"
5959
5959
  },
5960
5960
  {
5961
- "name": "backRoute",
5962
- "description": "Back link route.",
5961
+ "name": "backTo",
5962
+ "description": "Back link vue-router route object.",
5963
5963
  "value": {
5964
5964
  "kind": "expression",
5965
5965
  "type": "object"
5966
5966
  },
5967
5967
  "default": "{}"
5968
5968
  },
5969
+ {
5970
+ "name": "backLabel",
5971
+ "description": "Back link label.",
5972
+ "value": {
5973
+ "kind": "expression",
5974
+ "type": "string"
5975
+ },
5976
+ "default": "\"\""
5977
+ },
5969
5978
  {
5970
5979
  "name": "closeOnCross",
5971
5980
  "description": "Allow closing modal by clicking on close cross.",
@@ -6526,8 +6535,8 @@
6526
6535
  "description": "",
6527
6536
  "attributes": [
6528
6537
  {
6529
- "name": "width",
6530
- "description": "The width of the page.",
6538
+ "name": "size",
6539
+ "description": "Page size (width).",
6531
6540
  "value": {
6532
6541
  "kind": "expression",
6533
6542
  "type": "'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | 'wide'"
@@ -6536,7 +6545,7 @@
6536
6545
  },
6537
6546
  {
6538
6547
  "name": "title",
6539
- "description": "Set page title.",
6548
+ "description": "Page title.",
6540
6549
  "value": {
6541
6550
  "kind": "expression",
6542
6551
  "type": "string"
@@ -6545,12 +6554,12 @@
6545
6554
  },
6546
6555
  {
6547
6556
  "name": "titleSize",
6548
- "description": "Set page title size.",
6557
+ "description": "Page title size.",
6549
6558
  "value": {
6550
6559
  "kind": "expression",
6551
6560
  "type": "'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'"
6552
6561
  },
6553
- "default": "lg"
6562
+ "default": "md"
6554
6563
  },
6555
6564
  {
6556
6565
  "name": "description",
@@ -6562,7 +6571,7 @@
6562
6571
  "default": "\"\""
6563
6572
  },
6564
6573
  {
6565
- "name": "backRoute",
6574
+ "name": "backTo",
6566
6575
  "description": "Back link vue-router route object.",
6567
6576
  "value": {
6568
6577
  "kind": "expression",
@@ -6581,16 +6590,7 @@
6581
6590
  },
6582
6591
  {
6583
6592
  "name": "gray",
6584
- "description": "Set gray background color.",
6585
- "value": {
6586
- "kind": "expression",
6587
- "type": "boolean"
6588
- },
6589
- "default": "false"
6590
- },
6591
- {
6592
- "name": "mobileFooterReverse",
6593
- "description": "Reverse left and right footer blocks (in a mobile version only).",
6593
+ "description": "Sets background light gray (useful if the page contains nested cards).",
6594
6594
  "value": {
6595
6595
  "kind": "expression",
6596
6596
  "type": "boolean"
@@ -6631,20 +6631,20 @@
6631
6631
  "description": "Use it to add something before the header."
6632
6632
  },
6633
6633
  {
6634
- "name": "header-left-before",
6635
- "description": "Use it to add something before left side of the header."
6634
+ "name": "header-left",
6635
+ "description": "Use it to add something to the left side of the header."
6636
6636
  },
6637
6637
  {
6638
- "name": "header-left",
6639
- "description": "Use it to customise left side of the header."
6638
+ "name": "before-title",
6639
+ "description": "Use it to add something before the header title."
6640
6640
  },
6641
6641
  {
6642
- "name": "header-left-after",
6643
- "description": "Use it to add something after left side of the header."
6642
+ "name": "after-title",
6643
+ "description": "Use it to add something after the header title."
6644
6644
  },
6645
6645
  {
6646
6646
  "name": "header-right",
6647
- "description": "Use it to customise right side of the header."
6647
+ "description": "Use it to add something to the right side of the header."
6648
6648
  },
6649
6649
  {
6650
6650
  "name": "header-after",