cja-phoenix 1.2.16 → 1.2.18

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.
Files changed (26) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/runtime/assets/scss/mixins/_index.scss +1 -0
  3. package/dist/runtime/assets/scss/mixins/_media-queries.scss +109 -0
  4. package/dist/runtime/assets/scss/mixins/_results.scss +4 -4
  5. package/dist/runtime/components/Drawer.d.vue.ts +1 -1
  6. package/dist/runtime/components/Drawer.vue +4 -4
  7. package/dist/runtime/components/Drawer.vue.d.ts +1 -1
  8. package/dist/runtime/components/GridContainer.vue +3 -3
  9. package/dist/runtime/components/GridItem.d.vue.ts +1 -1
  10. package/dist/runtime/components/GridItem.vue +7 -7
  11. package/dist/runtime/components/GridItem.vue.d.ts +1 -1
  12. package/dist/runtime/components/InfoMessage.d.vue.ts +1 -1
  13. package/dist/runtime/components/InfoMessage.vue +4 -13
  14. package/dist/runtime/components/InfoMessage.vue.d.ts +1 -1
  15. package/dist/runtime/components/Modal.vue +7 -7
  16. package/dist/runtime/components/form/RadioInputList.d.vue.ts +10 -10
  17. package/dist/runtime/components/form/RadioInputList.vue +5 -8
  18. package/dist/runtime/components/form/RadioInputList.vue.d.ts +10 -10
  19. package/dist/runtime/components/form/SelectionTiles.d.vue.ts +6 -6
  20. package/dist/runtime/components/form/SelectionTiles.vue +10 -22
  21. package/dist/runtime/components/form/SelectionTiles.vue.d.ts +6 -6
  22. package/dist/runtime/components/form/structure/Title.d.vue.ts +3 -3
  23. package/dist/runtime/components/form/structure/Title.vue +2 -6
  24. package/dist/runtime/components/form/structure/Title.vue.d.ts +3 -3
  25. package/dist/runtime/components/funnel/Header.vue +8 -11
  26. package/package.json +1 -1
package/dist/module.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "cja-phoenix",
3
3
  "configKey": "cja-phoenix",
4
- "version": "1.2.16",
4
+ "version": "1.2.18",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "1.0.2",
7
7
  "unbuild": "3.6.1"
@@ -1,5 +1,6 @@
1
1
  @use "../variables" as *;
2
2
 
3
+ @forward "media-queries";
3
4
  @forward "funnel";
4
5
  @forward "results";
5
6
 
@@ -0,0 +1,109 @@
1
+ @use "../variables/breakpoints" as *;
2
+
3
+ @mixin screen-xxs-max {
4
+ @media (max-width: $break-xxs-max) {
5
+ @content;
6
+ }
7
+ }
8
+
9
+ @mixin screen-xs-min {
10
+ @media (min-width: $break-xs-min) {
11
+ @content;
12
+ }
13
+ }
14
+
15
+ @mixin screen-xs-max {
16
+ @media (max-width: $break-xs-max) {
17
+ @content;
18
+ }
19
+ }
20
+
21
+ @mixin screen-xs-only {
22
+ @media (min-width: $break-xs-min) and (max-width: $break-xs-max) {
23
+ @content;
24
+ }
25
+ }
26
+
27
+ @mixin screen-sm-min {
28
+ @media (min-width: $break-sm-min) {
29
+ @content;
30
+ }
31
+ }
32
+
33
+ @mixin screen-sm-max {
34
+ @media (max-width: $break-sm-max) {
35
+ @content;
36
+ }
37
+ }
38
+
39
+ @mixin screen-sm-only {
40
+ @media (min-width: $break-sm-min) and (max-width: $break-sm-max) {
41
+ @content;
42
+ }
43
+ }
44
+
45
+ @mixin screen-md-min {
46
+ @media (min-width: $break-md-min) {
47
+ @content;
48
+ }
49
+ }
50
+
51
+ @mixin screen-md-max {
52
+ @media (max-width: $break-md-max) {
53
+ @content;
54
+ }
55
+ }
56
+
57
+ @mixin screen-md-only {
58
+ @media (min-width: $break-md-min) and (max-width: $break-md-max) {
59
+ @content;
60
+ }
61
+ }
62
+
63
+ @mixin screen-lg-min {
64
+ @media (min-width: $break-lg-min) {
65
+ @content;
66
+ }
67
+ }
68
+
69
+ @mixin screen-lg-max {
70
+ @media (max-width: $break-lg-max) {
71
+ @content;
72
+ }
73
+ }
74
+
75
+ @mixin screen-lg-only {
76
+ @media (min-width: $break-lg-min) and (max-width: $break-lg-max) {
77
+ @content;
78
+ }
79
+ }
80
+
81
+ @mixin screen-xl-min {
82
+ @media (min-width: $break-xl-min) {
83
+ @content;
84
+ }
85
+ }
86
+
87
+ @mixin screen-xl-max {
88
+ @media (max-width: $break-xl-max) {
89
+ @content;
90
+ }
91
+ }
92
+
93
+ @mixin screen-xl-only {
94
+ @media (min-width: $break-xl-min) and (max-width: $break-xl-max) {
95
+ @content;
96
+ }
97
+ }
98
+
99
+ @mixin screen-xxl-min {
100
+ @media (min-width: $break-xxl-min) {
101
+ @content;
102
+ }
103
+ }
104
+
105
+ @mixin screen-custom($min, $max) {
106
+ @media (min-width: $min) and (max-width: $max) {
107
+ @content;
108
+ }
109
+ }
@@ -17,7 +17,7 @@
17
17
  gap: 20px;
18
18
  box-shadow: $box-shadow-s;
19
19
 
20
- @media screen and (min-width: $break-md-min) {
20
+ @include screen-md-min {
21
21
  grid-template-columns: 115px 1fr auto;
22
22
  padding: 24px 48px;
23
23
  gap: 48px;
@@ -59,7 +59,7 @@
59
59
  padding: 24px;
60
60
  overflow-y: auto;
61
61
 
62
- @media screen and (min-width: $break-md-min) {
62
+ @include screen-md-min {
63
63
  padding: 24px 40px;
64
64
  }
65
65
 
@@ -84,7 +84,7 @@
84
84
  gap: 16px;
85
85
 
86
86
  &:not(.bordered):not(.highlight) {
87
- @media screen and (min-width: $break-sm-min) {
87
+ @include screen-sm-min {
88
88
  padding: 12px 16px;
89
89
  border-radius: 8px;
90
90
  border: 1px solid $light-grey;
@@ -225,7 +225,7 @@
225
225
  padding: 24px;
226
226
  box-shadow: $box-shadow-s;
227
227
 
228
- @media screen and (min-width: $break-xs-min) {
228
+ @include screen-xs-min {
229
229
  justify-content: center;
230
230
  grid-template-columns: 200px;
231
231
  }
@@ -1,6 +1,6 @@
1
1
  type __VLS_Props = {
2
2
  defaultActive?: boolean;
3
- type?: 'vertical-top' | 'vertical-bottom' | 'horizontal-left' | 'horizontal-right';
3
+ type?: "vertical-top" | "vertical-bottom" | "horizontal-left" | "horizontal-right";
4
4
  maxWidth?: {
5
5
  md?: string;
6
6
  lg?: string;
@@ -14,7 +14,7 @@
14
14
  class="drawer-container"
15
15
  :class="[
16
16
  `drawer-${type}`,
17
- { 'active': active, 'overlap-menu': overlapMenu }
17
+ { active, 'overlap-menu': overlapMenu }
18
18
  ]"
19
19
  :style="{ height, ...position, ...cssVars }"
20
20
  >
@@ -98,15 +98,15 @@ watch(active, () => {
98
98
  z-index: $level-modal;
99
99
  }
100
100
 
101
- @media screen and (min-width: $break-md-min) {
101
+ @include screen-md-min {
102
102
  max-width: var(--md-max-width);
103
103
  }
104
104
 
105
- @media screen and (min-width: $break-lg-min) {
105
+ @include screen-lg-min {
106
106
  max-width: var(--lg-max-width);
107
107
  }
108
108
 
109
- @media screen and (min-width: $break-xl-min) {
109
+ @include screen-xl-min {
110
110
  max-width: var(--xl-max-width);
111
111
  }
112
112
 
@@ -1,6 +1,6 @@
1
1
  type __VLS_Props = {
2
2
  defaultActive?: boolean;
3
- type?: 'vertical-top' | 'vertical-bottom' | 'horizontal-left' | 'horizontal-right';
3
+ type?: "vertical-top" | "vertical-bottom" | "horizontal-left" | "horizontal-right";
4
4
  maxWidth?: {
5
5
  md?: string;
6
6
  lg?: string;
@@ -12,21 +12,21 @@
12
12
  padding-left: $grid-side-padding-sm;
13
13
  padding-right: $grid-side-padding-sm;
14
14
 
15
- @media screen and (min-width: $break-md-min) {
15
+ @include screen-md-min {
16
16
  grid-template-columns: $grid-columns-md;
17
17
  column-gap: $grid-column-gap-md;
18
18
  padding-left: $grid-side-padding-md;
19
19
  padding-right: $grid-side-padding-md;
20
20
  }
21
21
 
22
- @media screen and (min-width: $break-lg-min) {
22
+ @include screen-lg-min {
23
23
  grid-template-columns: $grid-columns-lg;
24
24
  column-gap: $grid-column-gap-lg;
25
25
  padding-left: $grid-side-padding-lg;
26
26
  padding-right: $grid-side-padding-lg;
27
27
  }
28
28
 
29
- @media screen and (min-width: $break-xl-min) {
29
+ @include screen-xl-min {
30
30
  padding-left: $grid-side-padding-xl;
31
31
  padding-right: $grid-side-padding-xl;
32
32
  max-width: 1440px;
@@ -1,4 +1,4 @@
1
- import type { GridItemOffsetDesktop, GridItemOffsetMobile, GridItemSizeDesktop, GridItemSizeMobile } from '../types/Grid.js';
1
+ import type { GridItemOffsetDesktop, GridItemOffsetMobile, GridItemSizeDesktop, GridItemSizeMobile } from "../types/Grid.js";
2
2
  type __VLS_Props = {
3
3
  sizeSm?: GridItemSizeMobile;
4
4
  offsetSm?: GridItemOffsetMobile;
@@ -31,7 +31,7 @@ defineProps({
31
31
  <style lang="scss" scoped>
32
32
  @for $i from 1 to 5 {
33
33
  .grid-item-sm-#{$i} {
34
- @media screen and (max-width: $break-sm-max) {
34
+ @include screen-sm-max {
35
35
  grid-column-end: span #{$i};
36
36
  }
37
37
  }
@@ -45,7 +45,7 @@ defineProps({
45
45
 
46
46
  @for $i from 1 to 5 {
47
47
  .grid-item-md-#{$i} {
48
- @media screen and (min-width: $break-md-min) and (max-width: $break-md-max) {
48
+ @include screen-md-only {
49
49
  grid-column-end: span #{$i};
50
50
  }
51
51
  }
@@ -53,7 +53,7 @@ defineProps({
53
53
 
54
54
  @for $i from 1 to 4 {
55
55
  .grid-item-md-offset-#{$i} {
56
- @media screen and (min-width: $break-md-min) and (max-width: $break-md-max) {
56
+ @include screen-md-only {
57
57
  grid-column-start: #{$i + 1};
58
58
  }
59
59
  }
@@ -61,7 +61,7 @@ defineProps({
61
61
 
62
62
  @for $i from 1 to 13 {
63
63
  .grid-item-lg-#{$i} {
64
- @media screen and (min-width: $break-lg-min) and (max-width: $break-lg-max) {
64
+ @include screen-lg-only {
65
65
  grid-column-end: span #{$i};
66
66
  }
67
67
  }
@@ -69,7 +69,7 @@ defineProps({
69
69
 
70
70
  @for $i from 1 to 12 {
71
71
  .grid-item-lg-offset-#{$i} {
72
- @media screen and (min-width: $break-lg-min) and (max-width: $break-lg-max) {
72
+ @include screen-lg-only {
73
73
  grid-column-start: #{$i + 1};
74
74
  }
75
75
  }
@@ -77,7 +77,7 @@ defineProps({
77
77
 
78
78
  @for $i from 1 to 13 {
79
79
  .grid-item-xl-#{$i} {
80
- @media screen and (min-width: $break-xl-min) {
80
+ @include screen-xl-min {
81
81
  grid-column-end: span #{$i};
82
82
  }
83
83
  }
@@ -85,7 +85,7 @@ defineProps({
85
85
 
86
86
  @for $i from 1 to 12 {
87
87
  .grid-item-xl-offset-#{$i} {
88
- @media screen and (min-width: $break-xl-min) {
88
+ @include screen-xl-min {
89
89
  grid-column-start: #{$i + 1};
90
90
  }
91
91
  }
@@ -1,4 +1,4 @@
1
- import type { GridItemOffsetDesktop, GridItemOffsetMobile, GridItemSizeDesktop, GridItemSizeMobile } from '../types/Grid.js';
1
+ import type { GridItemOffsetDesktop, GridItemOffsetMobile, GridItemSizeDesktop, GridItemSizeMobile } from "../types/Grid.js";
2
2
  type __VLS_Props = {
3
3
  sizeSm?: GridItemSizeMobile;
4
4
  offsetSm?: GridItemOffsetMobile;
@@ -1,6 +1,6 @@
1
1
  type __VLS_Props = {
2
2
  toggle?: boolean;
3
- color: 'blue' | 'green' | 'red' | 'yellow' | 'dark-white';
3
+ color: "blue" | "green" | "red" | "yellow" | "dark-white";
4
4
  border?: boolean;
5
5
  };
6
6
  declare var __VLS_1: {}, __VLS_3: {}, __VLS_5: {};
@@ -9,23 +9,14 @@
9
9
  >
10
10
  <slot name="icon" />
11
11
  <div class="text-container">
12
- <div
13
- v-if="$slots.title"
14
- class="title"
15
- >
12
+ <div v-if="$slots.title" class="title">
16
13
  <slot name="title" />
17
14
  </div>
18
- <div
19
- v-if="$slots.description"
20
- class="description"
21
- >
15
+ <div v-if="$slots.description" class="description">
22
16
  <slot name="description" />
23
17
  </div>
24
18
  </div>
25
- <div
26
- v-if="toggle"
27
- class="btn-container"
28
- >
19
+ <div v-if="toggle" class="btn-container">
29
20
  <button
30
21
  class="m-cgg-icon--cross"
31
22
  aria-label="Fechar"
@@ -55,7 +46,7 @@ defineEmits(["btn:close"]);
55
46
  padding: 8px 16px;
56
47
  border-radius: 8px;
57
48
 
58
- @media screen and (min-width: $break-md-min) {
49
+ @include screen-md-min {
59
50
  padding: 12px 16px;
60
51
  }
61
52
 
@@ -1,6 +1,6 @@
1
1
  type __VLS_Props = {
2
2
  toggle?: boolean;
3
- color: 'blue' | 'green' | 'red' | 'yellow' | 'dark-white';
3
+ color: "blue" | "green" | "red" | "yellow" | "dark-white";
4
4
  border?: boolean;
5
5
  };
6
6
  declare var __VLS_1: {}, __VLS_3: {}, __VLS_5: {};
@@ -86,7 +86,7 @@ defineExpose({ active, openModal, closeModal, toggleModal });
86
86
  align-items: flex-end;
87
87
  z-index: $level-modal;
88
88
 
89
- @media screen and (min-width: $break-md-min) {
89
+ @include screen-md-min {
90
90
  justify-content: center;
91
91
  align-items: center;
92
92
  padding: 24px;
@@ -102,16 +102,16 @@ defineExpose({ active, openModal, closeModal, toggleModal });
102
102
  max-height: 100%;
103
103
  transition: 0.4s ease-in-out;
104
104
 
105
- @media screen and (min-width: $break-md-min) {
105
+ @include screen-md-min {
106
106
  border-radius: 16px;
107
107
  max-width: min(100%, var(--md-max-width, 768px));
108
108
  }
109
109
 
110
- @media screen and (min-width: $break-lg-min) {
110
+ @include screen-lg-min {
111
111
  max-width: min(100%, var(--lg-max-width, var(--md-max-width, 1024px)));
112
112
  }
113
113
 
114
- @media screen and (min-width: $break-xl-min) {
114
+ @include screen-xl-min {
115
115
  max-width: min(
116
116
  100%,
117
117
  var(--xl-max-width, var(--lg-max-width, var(--md-max-width, 1024px)))
@@ -119,7 +119,7 @@ defineExpose({ active, openModal, closeModal, toggleModal });
119
119
  }
120
120
 
121
121
  &.mobile-full {
122
- @media screen and (max-width: $break-sm-max) {
122
+ @include screen-sm-max {
123
123
  height: 100%;
124
124
  border-radius: 0;
125
125
  transition: none;
@@ -177,7 +177,7 @@ defineExpose({ active, openModal, closeModal, toggleModal });
177
177
  }
178
178
 
179
179
  .modal-enter-from .modal-container {
180
- @media screen and (max-width: $break-sm-max) {
180
+ @include screen-sm-max {
181
181
  transform: translateY(100%);
182
182
  }
183
183
  }
@@ -188,7 +188,7 @@ defineExpose({ active, openModal, closeModal, toggleModal });
188
188
  }
189
189
 
190
190
  .modal-enter-to .modal-container {
191
- @media screen and (max-width: $break-sm-max) {
191
+ @include screen-sm-max {
192
192
  transform: translateY(0);
193
193
  }
194
194
  }
@@ -1,20 +1,20 @@
1
- import { type InputHTMLAttributes } from 'vue';
2
- import type { RadioOption } from '../../types/Form.js';
3
- import type { Lazy, Schema } from 'yup';
1
+ import { type InputHTMLAttributes } from "vue";
2
+ import type { RadioOption } from "../../types/Form.js";
3
+ import type { Lazy, Schema } from "yup";
4
4
  type __VLS_Props = {
5
5
  title?: string;
6
6
  tooltip?: string;
7
- layout?: 'vertical' | 'horizontal';
8
- listLayout?: 'vertical' | 'horizontal';
9
- size?: 'sm' | 'md' | 'lg';
7
+ layout?: "vertical" | "horizontal";
8
+ listLayout?: "vertical" | "horizontal";
9
+ size?: "sm" | "md" | "lg";
10
10
  validation?: Schema | Lazy<any>;
11
- validationMode?: 'change' | 'none';
11
+ validationMode?: "change" | "none";
12
12
  errorDisplay?: boolean;
13
- disabled?: InputHTMLAttributes['disabled'];
13
+ disabled?: InputHTMLAttributes["disabled"];
14
14
  options: RadioOption[] | undefined;
15
15
  name: string;
16
16
  radioStyle?: {
17
- variant: 'default' | 'button';
17
+ variant: "default" | "button";
18
18
  breakDisplay?: {
19
19
  xs?: number;
20
20
  sm?: number;
@@ -25,7 +25,7 @@ type __VLS_Props = {
25
25
  };
26
26
  };
27
27
  type __VLS_ModelProps = {
28
- modelValue: InputHTMLAttributes['value'];
28
+ modelValue: InputHTMLAttributes["value"];
29
29
  };
30
30
  type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
31
31
  declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {
@@ -17,10 +17,7 @@
17
17
  ]"
18
18
  :style="cssVars"
19
19
  >
20
- <li
21
- v-for="option in options"
22
- :key="option.value"
23
- >
20
+ <li v-for="option in options" :key="option.value">
24
21
  <FormRadioInput
25
22
  v-bind="{
26
23
  ...option,
@@ -95,19 +92,19 @@ defineExpose({ errorMessage, meta, validate });
95
92
  gap: 12px;
96
93
  grid-template-columns: repeat(var(--xs-columns), 1fr);
97
94
 
98
- @media screen and (min-width: $break-xs-min) {
95
+ @include screen-xs-min {
99
96
  grid-template-columns: repeat(var(--sm-columns), 1fr);
100
97
  }
101
98
 
102
- @media screen and (min-width: $break-md-min) {
99
+ @include screen-md-min {
103
100
  grid-template-columns: repeat(var(--md-columns), 1fr);
104
101
  }
105
102
 
106
- @media screen and (min-width: $break-lg-min) {
103
+ @include screen-lg-min {
107
104
  grid-template-columns: repeat(var(--lg-columns), 1fr);
108
105
  }
109
106
 
110
- @media screen and (min-width: $break-xl-min) {
107
+ @include screen-xl-min {
111
108
  grid-template-columns: repeat(var(--xl-columns), 1fr);
112
109
  }
113
110
  }
@@ -1,20 +1,20 @@
1
- import { type InputHTMLAttributes } from 'vue';
2
- import type { RadioOption } from '../../types/Form.js';
3
- import type { Lazy, Schema } from 'yup';
1
+ import { type InputHTMLAttributes } from "vue";
2
+ import type { RadioOption } from "../../types/Form.js";
3
+ import type { Lazy, Schema } from "yup";
4
4
  type __VLS_Props = {
5
5
  title?: string;
6
6
  tooltip?: string;
7
- layout?: 'vertical' | 'horizontal';
8
- listLayout?: 'vertical' | 'horizontal';
9
- size?: 'sm' | 'md' | 'lg';
7
+ layout?: "vertical" | "horizontal";
8
+ listLayout?: "vertical" | "horizontal";
9
+ size?: "sm" | "md" | "lg";
10
10
  validation?: Schema | Lazy<any>;
11
- validationMode?: 'change' | 'none';
11
+ validationMode?: "change" | "none";
12
12
  errorDisplay?: boolean;
13
- disabled?: InputHTMLAttributes['disabled'];
13
+ disabled?: InputHTMLAttributes["disabled"];
14
14
  options: RadioOption[] | undefined;
15
15
  name: string;
16
16
  radioStyle?: {
17
- variant: 'default' | 'button';
17
+ variant: "default" | "button";
18
18
  breakDisplay?: {
19
19
  xs?: number;
20
20
  sm?: number;
@@ -25,7 +25,7 @@ type __VLS_Props = {
25
25
  };
26
26
  };
27
27
  type __VLS_ModelProps = {
28
- modelValue: InputHTMLAttributes['value'];
28
+ modelValue: InputHTMLAttributes["value"];
29
29
  };
30
30
  type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
31
31
  declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {
@@ -1,10 +1,10 @@
1
- import type { Icon } from '../../types/Icon.js';
2
- import type { TileOption } from '../../types/Form.js';
3
- import type { Lazy, Schema } from 'yup';
1
+ import type { Icon } from "../../types/Icon.js";
2
+ import type { TileOption } from "../../types/Form.js";
3
+ import type { Lazy, Schema } from "yup";
4
4
  type __VLS_Props = {
5
5
  name: string;
6
6
  icon?: Icon;
7
- layout?: 'list' | 'grid' | 'image';
7
+ layout?: "list" | "grid" | "image";
8
8
  options?: TileOption[];
9
9
  gridColumns?: {
10
10
  xs?: string;
@@ -13,10 +13,10 @@ type __VLS_Props = {
13
13
  lg?: string;
14
14
  xl?: string;
15
15
  };
16
- size?: 'sm' | 'md' | 'lg';
16
+ size?: "sm" | "md" | "lg";
17
17
  multiselect?: boolean;
18
18
  validation?: Schema | Lazy<any>;
19
- validationMode?: 'change' | 'none';
19
+ validationMode?: "change" | "none";
20
20
  errorDisplay?: boolean;
21
21
  };
22
22
  type __VLS_ModelProps = {
@@ -12,7 +12,7 @@
12
12
  v-tippy="option.tooltip ? { content: option.tooltip } : void 0"
13
13
  class="tile"
14
14
  :class="{
15
- 'active': props.multiselect ? model.includes(option.value) : option.value == value,
15
+ active: props.multiselect ? model.includes(option.value) : option.value == value,
16
16
  'has-image': option.image
17
17
  }"
18
18
  @click="handleChange(option.value)"
@@ -25,16 +25,10 @@
25
25
  "
26
26
  :aria-label="option.label"
27
27
  v-bind="{ name }"
28
- >
28
+ />
29
29
 
30
- <div
31
- v-if="option.image"
32
- class="image-container"
33
- >
34
- <img
35
- :src="option.image"
36
- :alt="option.label"
37
- >
30
+ <div v-if="option.image" class="image-container">
31
+ <img :src="option.image" :alt="option.label" />
38
32
  </div>
39
33
 
40
34
  <div
@@ -43,10 +37,7 @@
43
37
  >
44
38
  <div class="upper-text">
45
39
  <span class="title">{{ option.label }}</span>
46
- <span
47
- v-if="option.description"
48
- class="description"
49
- >
40
+ <span v-if="option.description" class="description">
50
41
  {{ option.description }}
51
42
  </span>
52
43
  </div>
@@ -57,10 +48,7 @@
57
48
  />
58
49
  </div>
59
50
 
60
- <span
61
- v-if="layout == 'list' && icon"
62
- :class="[icon, 'icon']"
63
- />
51
+ <span v-if="layout == 'list' && icon" :class="[icon, 'icon']" />
64
52
  </div>
65
53
  </div>
66
54
  <FormStructureError
@@ -271,19 +259,19 @@ const emit = defineEmits(["click:option"]);
271
259
  &.layout-image {
272
260
  grid-template-columns: var(--xs-grid-columns);
273
261
 
274
- @media screen and (min-width: $break-xs-min) {
262
+ @include screen-xs-min {
275
263
  grid-template-columns: var(--sm-grid-columns);
276
264
  }
277
265
 
278
- @media screen and (min-width: $break-md-min) {
266
+ @include screen-md-min {
279
267
  grid-template-columns: var(--md-grid-columns);
280
268
  }
281
269
 
282
- @media screen and (min-width: $break-lg-min) {
270
+ @include screen-lg-min {
283
271
  grid-template-columns: var(--lg-grid-columns);
284
272
  }
285
273
 
286
- @media screen and (min-width: $break-xl-min) {
274
+ @include screen-xl-min {
287
275
  grid-template-columns: var(--xl-grid-columns);
288
276
  }
289
277
  }
@@ -1,10 +1,10 @@
1
- import type { Icon } from '../../types/Icon.js';
2
- import type { TileOption } from '../../types/Form.js';
3
- import type { Lazy, Schema } from 'yup';
1
+ import type { Icon } from "../../types/Icon.js";
2
+ import type { TileOption } from "../../types/Form.js";
3
+ import type { Lazy, Schema } from "yup";
4
4
  type __VLS_Props = {
5
5
  name: string;
6
6
  icon?: Icon;
7
- layout?: 'list' | 'grid' | 'image';
7
+ layout?: "list" | "grid" | "image";
8
8
  options?: TileOption[];
9
9
  gridColumns?: {
10
10
  xs?: string;
@@ -13,10 +13,10 @@ type __VLS_Props = {
13
13
  lg?: string;
14
14
  xl?: string;
15
15
  };
16
- size?: 'sm' | 'md' | 'lg';
16
+ size?: "sm" | "md" | "lg";
17
17
  multiselect?: boolean;
18
18
  validation?: Schema | Lazy<any>;
19
- validationMode?: 'change' | 'none';
19
+ validationMode?: "change" | "none";
20
20
  errorDisplay?: boolean;
21
21
  };
22
22
  type __VLS_ModelProps = {
@@ -1,9 +1,9 @@
1
- import type { InputHTMLAttributes } from 'vue';
1
+ import type { InputHTMLAttributes } from "vue";
2
2
  type __VLS_Props = {
3
3
  title: string;
4
4
  tooltip?: string;
5
- disabled?: InputHTMLAttributes['disabled'];
6
- size?: 'sm' | 'md' | 'lg';
5
+ disabled?: InputHTMLAttributes["disabled"];
6
+ size?: "sm" | "md" | "lg";
7
7
  };
8
8
  declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
9
9
  size: "sm" | "md" | "lg";
@@ -1,9 +1,5 @@
1
1
  <template>
2
- <div
3
- v-if="title"
4
- class="input-title"
5
- :class="[`size-${size}`, { disabled }]"
6
- >
2
+ <div v-if="title" class="input-title" :class="[`size-${size}`, { disabled }]">
7
3
  <span>{{ title }}</span>
8
4
  <span
9
5
  v-if="tooltip"
@@ -35,7 +31,7 @@ defineProps({
35
31
  font-size: 18px;
36
32
  color: $main-blue;
37
33
 
38
- @media screen and (min-width: $break-md-min) {
34
+ @include screen-md-min {
39
35
  font-size: 20px;
40
36
  }
41
37
  }
@@ -1,9 +1,9 @@
1
- import type { InputHTMLAttributes } from 'vue';
1
+ import type { InputHTMLAttributes } from "vue";
2
2
  type __VLS_Props = {
3
3
  title: string;
4
4
  tooltip?: string;
5
- disabled?: InputHTMLAttributes['disabled'];
6
- size?: 'sm' | 'md' | 'lg';
5
+ disabled?: InputHTMLAttributes["disabled"];
6
+ size?: "sm" | "md" | "lg";
7
7
  };
8
8
  declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
9
9
  size: "sm" | "md" | "lg";
@@ -23,11 +23,13 @@ defineProps({
23
23
 
24
24
  <style lang="scss" scoped>
25
25
  .funnel-header {
26
+ display: grid;
27
+ gap: 16px;
28
+ margin-bottom: 32px;
26
29
  text-align: center;
27
- margin: 0 0 32px;
28
30
 
29
31
  .header-container {
30
- display: flex;
32
+ display: grid;
31
33
  gap: 12px;
32
34
  justify-content: center;
33
35
  align-items: center;
@@ -45,21 +47,16 @@ defineProps({
45
47
  font-weight: 700;
46
48
  margin: 0;
47
49
 
48
- @media screen and (min-width: $break-lg-min) {
50
+ @include screen-lg-min {
49
51
  font-size: 24px;
50
52
  line-height: 30px;
51
53
  }
52
54
  }
53
55
 
54
56
  p {
55
- font-size: 14px;
56
- line-height: 18px;
57
- margin: 24px 0 0;
58
-
59
- @media screen and (min-width: $break-lg-min) {
60
- font-size: 16px;
61
- line-height: 20px;
62
- }
57
+ font-size: 16px;
58
+ line-height: 20px;
59
+ margin: 0;
63
60
  }
64
61
  }
65
62
  </style>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cja-phoenix",
3
- "version": "1.2.16",
3
+ "version": "1.2.18",
4
4
  "description": "Phoenix utility",
5
5
  "repository": "comparaja/phoenix",
6
6
  "license": "MIT",