lau-ecom-design-system 1.0.19 → 1.0.20

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. package/README.md +49 -0
  2. package/dist/316236bc7a52233c.png +0 -0
  3. package/dist/lau-ecom-design-system.esm.css +6 -1
  4. package/dist/lau-ecom-design-system.esm.js +900 -327
  5. package/dist/lau-ecom-design-system.min.css +6 -1
  6. package/dist/lau-ecom-design-system.min.js +1 -1
  7. package/dist/lau-ecom-design-system.ssr.css +6 -1
  8. package/dist/lau-ecom-design-system.ssr.js +787 -256
  9. package/dist/style.css +120 -12
  10. package/package.json +80 -80
  11. package/src/components/LauEcomBannerCookies/LauEcomBannerCookies.vue +178 -168
  12. package/src/components/LauEcomBannerCookies/LauEcomBannerCookiesConfig.vue +160 -159
  13. package/src/components/LauEcomBannerCookies/LauEcomBannerCookiesConfigAccordion.vue +80 -76
  14. package/src/components/LauEcomButton/LauEcomButton.vue +137 -137
  15. package/src/components/LauEcomCheckbox/LauEcomCheckbox.vue +143 -143
  16. package/src/components/LauEcomDisclamer/LauEcomDisclamer.vue +79 -79
  17. package/src/components/LauEcomDropdown/LauEcomDropdown.vue +203 -203
  18. package/src/components/LauEcomFooter/LauEcomFooter.vue +24 -73
  19. package/src/components/LauEcomFooter/LauEcomSubFooter.vue +5 -31
  20. package/src/components/LauEcomFooter/LauEcomSubFooterCategory.vue +9 -48
  21. package/src/components/LauEcomIcon/LauEcomCoreIconBook.vue +26 -26
  22. package/src/components/LauEcomIcon/LauEcomCoreIconFileCode.vue +28 -28
  23. package/src/components/LauEcomIcon/LauEcomUpcIconArrowDown.vue +0 -7
  24. package/src/components/LauEcomIcon/LauEcomUpcIconCertificate.vue +28 -28
  25. package/src/components/LauEcomIcon/LauEcomUpcIconCheck.vue +26 -26
  26. package/src/components/LauEcomIcon/LauEcomUpcIconCheckCircle.vue +28 -28
  27. package/src/components/LauEcomIcon/LauEcomUpcIconCreditCard.vue +28 -28
  28. package/src/components/LauEcomIcon/LauEcomUpcIconExclamationCircle.vue +28 -28
  29. package/src/components/LauEcomIcon/LauEcomUpcIconExclamationTriangle.vue +28 -28
  30. package/src/components/LauEcomIcon/LauEcomUpcIconInfoCircle.vue +26 -26
  31. package/src/components/LauEcomIcon/LauEcomUpcIconNavArrow.vue +26 -26
  32. package/src/components/LauEcomIcon/LauEcomUpcIconNavBack.vue +25 -0
  33. package/src/components/LauEcomIcon/LauEcomUpcIconNavCheckmark.vue +26 -26
  34. package/src/components/LauEcomInput/LauEcomInput.vue +207 -207
  35. package/src/components/LauEcomLoaderPage/LauEcomLoaderPage.vue +16 -16
  36. package/src/components/LauEcomPaginator/LauEcomPaginator.vue +57 -0
  37. package/src/components/LauEcomPaginator/LauEcomPaginatorButton.vue +68 -0
  38. package/src/components/LauEcomRadioButton/LauEcomRadioButton.vue +103 -103
  39. package/src/components/LauEcomRtb/LauEcomRtb.vue +71 -71
  40. package/src/components/LauEcomStepbar/LauEcomStepbar.vue +43 -43
  41. package/src/components/LauEcomStepbar/LauEcomStepbarItem.vue +128 -128
  42. package/src/components/LauEcomSwitch/LauEcomSwitch.vue +110 -108
  43. package/src/components/LauEcomTab/LauEcomTab.vue +82 -82
  44. package/src/components/LauEcomTag/LauEcomTag.vue +56 -0
  45. package/src/components/LauEcomTextButton/LauEcomTextButton.vue +71 -71
  46. package/src/components/LauEcomTyPage/LauEcomSummary.vue +14 -0
  47. package/src/components/LauEcomTyPage/LauEcomSummaryItem.vue +22 -0
  48. package/src/components/LauEcomTyPage/LauEcomTyPage.vue +149 -0
@@ -1,76 +1,80 @@
1
- <script lang="ts" setup>
2
- import { computed, ref } from "vue";
3
- import LauEcomUpcIconNavArrow from "../LauEcomIcon/LauEcomUpcIconNavArrow.vue";
4
- import LauEcomSwitch from "../LauEcomSwitch/LauEcomSwitch.vue";
5
- import { CategoryCookie } from "./types";
6
-
7
- interface Props {
8
- categoryCookie: CategoryCookie;
9
- }
10
-
11
- withDefaults(defineProps<Props>(), {
12
- categoryCookie: () => {
13
- return {
14
- title: "Cookie",
15
- description: "lorem ipsum dolor sit amet, consectetur",
16
- };
17
- },
18
- });
19
-
20
- const isOpen = ref(false);
21
- const isChecked = defineModel<boolean>();
22
-
23
- const emit = defineEmits(["onToggle"]);
24
-
25
- const handleClickAccordion = () => {
26
- isOpen.value = !isOpen.value;
27
- };
28
-
29
- const handleToggle = () => {
30
- emit("onToggle");
31
- };
32
-
33
- const iconClass = computed(() => {
34
- return isOpen.value ? "dsEcom-rotate-0" : "dsEcom-rotate-180";
35
- });
36
- </script>
37
-
38
- <template>
39
- <div class="dsEcom-mb-4">
40
- <div class="lau-ecom-config-accordion-head">
41
- <div
42
- class="dsEcom-flex dsEcom-items-center dsEcom-gap-2"
43
- @click="handleClickAccordion"
44
- >
45
- <span :class="iconClass"><LauEcomUpcIconNavArrow /></span>
46
- <p class="upc-font-subtitle-03-20px">
47
- {{ categoryCookie.title }}
48
- </p>
49
- </div>
50
- <LauEcomSwitch
51
- v-model="isChecked"
52
- :isDisabled="categoryCookie.isDisabled"
53
- @on-toggle="handleToggle"
54
- />
55
- </div>
56
- <div v-show="isOpen" class="lau-ecom-config-accordion-content">
57
- <p class="core-font-body-reg-05-14px">
58
- {{ categoryCookie.description }}
59
- </p>
60
- </div>
61
- </div>
62
- </template>
63
-
64
- <style scoped>
65
- .lau-ecom-config-accordion-head {
66
- @apply dsEcom-flex
67
- dsEcom-justify-between
68
- dsEcom-pb-4
69
- dsEcom-border-b-2;
70
- }
71
-
72
- .lau-ecom-config-accordion-content {
73
- @apply dsEcom-py-2
74
- dsEcom-px-8;
75
- }
76
- </style>
1
+ <script lang="ts" setup>
2
+ import { computed, ref } from "vue";
3
+ import LauEcomUpcIconNavArrow from "../LauEcomIcon/LauEcomUpcIconNavArrow.vue";
4
+ import LauEcomSwitch from "../LauEcomSwitch/LauEcomSwitch.vue";
5
+ import { CategoryCookie } from "./types";
6
+
7
+ interface Props {
8
+ categoryCookie: CategoryCookie;
9
+ }
10
+
11
+ withDefaults(defineProps<Props>(), {
12
+ categoryCookie: () => {
13
+ return {
14
+ title: "Cookie",
15
+ description: "lorem ipsum dolor sit amet, consectetur",
16
+ };
17
+ },
18
+ });
19
+
20
+ const isOpen = ref(false);
21
+ const isChecked = defineModel<boolean>();
22
+
23
+ const emit = defineEmits<{
24
+ (e: "onToggle", value: boolean): void;
25
+ }>();
26
+
27
+ const handleClickAccordion = () => {
28
+ isOpen.value = !isOpen.value;
29
+ };
30
+
31
+ const handleToggle = (value: boolean) => {
32
+ emit("onToggle", value);
33
+ };
34
+
35
+ const iconClass = computed(() => {
36
+ return isOpen.value ? "dsEcom-rotate-0" : "dsEcom-rotate-180";
37
+ });
38
+ </script>
39
+
40
+ <template>
41
+ <div class="dsEcom-mb-4">
42
+ <div class="lau-ecom-config-accordion-head">
43
+ <div
44
+ class="dsEcom-flex dsEcom-items-center dsEcom-gap-2"
45
+ @click="handleClickAccordion"
46
+ >
47
+ <span :class="iconClass"
48
+ ><LauEcomUpcIconNavArrow class="dsEcom-fill-neutral-100"
49
+ /></span>
50
+ <p class="upc-font-subtitle-03-20px">
51
+ {{ categoryCookie.title }}
52
+ </p>
53
+ </div>
54
+ <LauEcomSwitch
55
+ v-model="isChecked"
56
+ :isDisabled="categoryCookie.isDisabled"
57
+ @on-toggle="handleToggle"
58
+ />
59
+ </div>
60
+ <div v-show="isOpen" class="lau-ecom-config-accordion-content">
61
+ <p class="core-font-body-reg-05-14px">
62
+ {{ categoryCookie.description }}
63
+ </p>
64
+ </div>
65
+ </div>
66
+ </template>
67
+
68
+ <style scoped>
69
+ .lau-ecom-config-accordion-head {
70
+ @apply dsEcom-flex
71
+ dsEcom-justify-between
72
+ dsEcom-pb-4
73
+ dsEcom-border-b-2;
74
+ }
75
+
76
+ .lau-ecom-config-accordion-content {
77
+ @apply dsEcom-py-2
78
+ dsEcom-px-8;
79
+ }
80
+ </style>
@@ -1,137 +1,137 @@
1
- <script lang="ts" setup>
2
- import { computed } from "vue";
3
- import { LauEcomUpcIconNavArrow } from "../LauEcomIcon";
4
- import { LauEcomButtonType } from "./types";
5
- import { LauEcomSize } from "../../enums";
6
-
7
- const props = withDefaults(
8
- defineProps<{
9
- type?: LauEcomButtonType;
10
- size?: LauEcomSize;
11
- isDisabled?: boolean;
12
- hasArrow?: boolean;
13
- }>(),
14
- {
15
- text: "Button Text",
16
- type: LauEcomButtonType.Primary,
17
- size: LauEcomSize.lg,
18
- isDisabled: false,
19
- hasArrow: false,
20
- },
21
- );
22
-
23
- const emit = defineEmits(["onClick"]);
24
-
25
- const lauEcomButtonClasses = computed(() => {
26
- return {
27
- "lau-ecom-button lau-ecom-button--upc upc-font-button-16px": true,
28
- "lau-ecom-button--secondary": props.type === LauEcomButtonType.Secondary,
29
- "lau-ecom-button--secondary-upc":
30
- props.type === LauEcomButtonType.Secondary,
31
- "lau-ecom-button--secondary-upc-disabled":
32
- props.type === LauEcomButtonType.Secondary && props.isDisabled,
33
- "lau-ecom-button--large": props.size === LauEcomSize.lg,
34
- "lau-ecom-button--medium": props.size === LauEcomSize.md,
35
- "lau-ecom-button--disabled":
36
- props.type === LauEcomButtonType.Primary && props.isDisabled,
37
- };
38
- });
39
-
40
- const iconClasses = computed(() => {
41
- return [
42
- `lau-ecom-icon-button${props.type === LauEcomButtonType.Secondary ? "-secondary" : ""}`,
43
- ];
44
- });
45
-
46
- const handleClick = () => {
47
- emit("onClick");
48
- };
49
- </script>
50
-
51
- <template>
52
- <button
53
- :class="lauEcomButtonClasses"
54
- :disabled="isDisabled"
55
- @click="handleClick"
56
- >
57
- <LauEcomUpcIconNavArrow v-if="hasArrow" :class="iconClasses" />
58
- <slot></slot>
59
- </button>
60
- </template>
61
-
62
- <style scoped>
63
- .lau-ecom-button {
64
- @apply dsEcom-text-neutral-10
65
- dsEcom-flex
66
- dsEcom-items-center
67
- dsEcom-justify-center
68
- dsEcom-gap-2
69
- dsEcom-rounded-core-border-radius-32px
70
- dsEcom-border-[1px]
71
- dsEcom-text-center
72
- dsEcom-py-[14px]
73
- dsEcom-px-[16px];
74
- }
75
-
76
- .lau-ecom-button--upc {
77
- @apply dsEcom-bg-primary-60
78
- dsEcom-border-primary-60
79
- hover:dsEcom-bg-primary-70
80
- hover:dsEcom-border-primary-70
81
- active:dsEcom-bg-primary-80
82
- active:dsEcom-border-primary-80;
83
- }
84
-
85
- .lau-ecom-button--large {
86
- @apply dsEcom-w-auto
87
- dsEcom-h-[48px];
88
- }
89
-
90
- .lau-ecom-button--medium {
91
- @apply dsEcom-w-auto
92
- dsEcom-h-[44px];
93
- }
94
-
95
- .lau-ecom-button--disabled {
96
- @apply dsEcom-border-neutral-70
97
- dsEcom-bg-neutral-70
98
- hover:dsEcom-bg-neutral-70
99
- hover:dsEcom-border-neutral-70
100
- active:dsEcom-bg-neutral-70
101
- active:dsEcom-border-neutral-70;
102
- }
103
-
104
- .lau-ecom-button--secondary {
105
- @apply dsEcom-bg-neutral-10
106
- hover:dsEcom-bg-neutral-10
107
- active:dsEcom-bg-neutral-10;
108
- }
109
-
110
- .lau-ecom-button--secondary-upc {
111
- @apply dsEcom-border-primary-60
112
- dsEcom-text-primary-60
113
- hover:dsEcom-text-primary-70
114
- hover:dsEcom-border-primary-70
115
- active:dsEcom-text-primary-80
116
- active:dsEcom-border-primary-80;
117
- }
118
-
119
- .lau-ecom-button--secondary-upc-disabled {
120
- @apply dsEcom-border-neutral-70
121
- dsEcom-text-neutral-70
122
- hover:dsEcom-border-neutral-70
123
- hover:dsEcom-text-neutral-70
124
- active:dsEcom-border-neutral-70
125
- active:dsEcom-text-neutral-70;
126
- }
127
-
128
- .lau-ecom-icon-button {
129
- @apply dsEcom-fill-neutral-10;
130
- }
131
-
132
- .lau-ecom-icon-button-secondary {
133
- @apply dsEcom-fill-primary-60
134
- hover:dsEcom-fill-primary-70
135
- active:dsEcom-fill-primary-80;
136
- }
137
- </style>
1
+ <script lang="ts" setup>
2
+ import { computed } from "vue";
3
+ import { LauEcomUpcIconNavArrow } from "../LauEcomIcon";
4
+ import { LauEcomButtonType } from "./types";
5
+ import { LauEcomSize } from "../../enums";
6
+
7
+ const props = withDefaults(
8
+ defineProps<{
9
+ type?: LauEcomButtonType;
10
+ size?: LauEcomSize;
11
+ isDisabled?: boolean;
12
+ hasArrow?: boolean;
13
+ }>(),
14
+ {
15
+ text: "Button Text",
16
+ type: LauEcomButtonType.Primary,
17
+ size: LauEcomSize.lg,
18
+ isDisabled: false,
19
+ hasArrow: false,
20
+ },
21
+ );
22
+
23
+ const emit = defineEmits(["onClick"]);
24
+
25
+ const lauEcomButtonClasses = computed(() => {
26
+ return {
27
+ "lau-ecom-button lau-ecom-button--upc upc-font-button-16px": true,
28
+ "lau-ecom-button--secondary": props.type === LauEcomButtonType.Secondary,
29
+ "lau-ecom-button--secondary-upc":
30
+ props.type === LauEcomButtonType.Secondary,
31
+ "lau-ecom-button--secondary-upc-disabled":
32
+ props.type === LauEcomButtonType.Secondary && props.isDisabled,
33
+ "lau-ecom-button--large": props.size === LauEcomSize.lg,
34
+ "lau-ecom-button--medium": props.size === LauEcomSize.md,
35
+ "lau-ecom-button--disabled":
36
+ props.type === LauEcomButtonType.Primary && props.isDisabled,
37
+ };
38
+ });
39
+
40
+ const iconClasses = computed(() => {
41
+ return [
42
+ `lau-ecom-icon-button${props.type === LauEcomButtonType.Secondary ? "-secondary" : ""}`,
43
+ ];
44
+ });
45
+
46
+ const handleClick = () => {
47
+ emit("onClick");
48
+ };
49
+ </script>
50
+
51
+ <template>
52
+ <button
53
+ :class="lauEcomButtonClasses"
54
+ :disabled="isDisabled"
55
+ @click="handleClick"
56
+ >
57
+ <LauEcomUpcIconNavArrow v-if="hasArrow" :class="iconClasses" />
58
+ <slot></slot>
59
+ </button>
60
+ </template>
61
+
62
+ <style scoped>
63
+ .lau-ecom-button {
64
+ @apply dsEcom-text-neutral-10
65
+ dsEcom-flex
66
+ dsEcom-items-center
67
+ dsEcom-justify-center
68
+ dsEcom-gap-2
69
+ dsEcom-rounded-core-border-radius-32px
70
+ dsEcom-border-[1px]
71
+ dsEcom-text-center
72
+ dsEcom-py-[14px]
73
+ dsEcom-px-[16px];
74
+ }
75
+
76
+ .lau-ecom-button--upc {
77
+ @apply dsEcom-bg-primary-60
78
+ dsEcom-border-primary-60
79
+ hover:dsEcom-bg-primary-70
80
+ hover:dsEcom-border-primary-70
81
+ active:dsEcom-bg-primary-80
82
+ active:dsEcom-border-primary-80;
83
+ }
84
+
85
+ .lau-ecom-button--large {
86
+ @apply dsEcom-w-auto
87
+ dsEcom-h-[48px];
88
+ }
89
+
90
+ .lau-ecom-button--medium {
91
+ @apply dsEcom-w-auto
92
+ dsEcom-h-[44px];
93
+ }
94
+
95
+ .lau-ecom-button--disabled {
96
+ @apply dsEcom-border-neutral-70
97
+ dsEcom-bg-neutral-70
98
+ hover:dsEcom-bg-neutral-70
99
+ hover:dsEcom-border-neutral-70
100
+ active:dsEcom-bg-neutral-70
101
+ active:dsEcom-border-neutral-70;
102
+ }
103
+
104
+ .lau-ecom-button--secondary {
105
+ @apply dsEcom-bg-neutral-10
106
+ hover:dsEcom-bg-neutral-10
107
+ active:dsEcom-bg-neutral-10;
108
+ }
109
+
110
+ .lau-ecom-button--secondary-upc {
111
+ @apply dsEcom-border-primary-60
112
+ dsEcom-text-primary-60
113
+ hover:dsEcom-text-primary-70
114
+ hover:dsEcom-border-primary-70
115
+ active:dsEcom-text-primary-80
116
+ active:dsEcom-border-primary-80;
117
+ }
118
+
119
+ .lau-ecom-button--secondary-upc-disabled {
120
+ @apply dsEcom-border-neutral-70
121
+ dsEcom-text-neutral-70
122
+ hover:dsEcom-border-neutral-70
123
+ hover:dsEcom-text-neutral-70
124
+ active:dsEcom-border-neutral-70
125
+ active:dsEcom-text-neutral-70;
126
+ }
127
+
128
+ .lau-ecom-icon-button {
129
+ @apply dsEcom-fill-neutral-10;
130
+ }
131
+
132
+ .lau-ecom-icon-button-secondary {
133
+ @apply dsEcom-fill-primary-60
134
+ hover:dsEcom-fill-primary-70
135
+ active:dsEcom-fill-primary-80;
136
+ }
137
+ </style>