lau-ecom-design-system 1.0.19 → 1.0.20

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 (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>