@citizenplane/pimp 18.6.2 → 18.8.0
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/biome.json +178 -0
- package/dist/components/BaseInputLabel.vue.d.ts.map +1 -1
- package/dist/components/BaseSelectClearButton.vue.d.ts.map +1 -1
- package/dist/components/CpAccordion.vue.d.ts.map +1 -1
- package/dist/components/CpAlert.vue.d.ts.map +1 -1
- package/dist/components/CpBadge.vue.d.ts.map +1 -1
- package/dist/components/CpButton.vue.d.ts.map +1 -1
- package/dist/components/CpButtonToggle.vue.d.ts +1 -1
- package/dist/components/CpButtonToggle.vue.d.ts.map +1 -1
- package/dist/components/CpCalendar.vue.d.ts.map +1 -1
- package/dist/components/CpCheckbox.vue.d.ts.map +1 -1
- package/dist/components/CpContextualMenu.vue.d.ts.map +1 -1
- package/dist/components/CpDate.vue.d.ts.map +1 -1
- package/dist/components/CpDatepicker.vue.d.ts.map +1 -1
- package/dist/components/CpInput.vue.d.ts.map +1 -1
- package/dist/components/CpItemActions.vue.d.ts +2 -0
- package/dist/components/CpItemActions.vue.d.ts.map +1 -1
- package/dist/components/CpMenu.vue.d.ts.map +1 -1
- package/dist/components/CpMenuItem.vue.d.ts.map +1 -1
- package/dist/components/CpMultiselect.vue.d.ts.map +1 -1
- package/dist/components/CpRadio.vue.d.ts.map +1 -1
- package/dist/components/CpRadioGroup.vue.d.ts.map +1 -1
- package/dist/components/CpRadioNew.vue.d.ts.map +1 -1
- package/dist/components/CpSelect.vue.d.ts.map +1 -1
- package/dist/components/CpSelectMenu.vue.d.ts.map +1 -1
- package/dist/components/CpSelectableButton.vue.d.ts +1 -1
- package/dist/components/CpSelectableButton.vue.d.ts.map +1 -1
- package/dist/components/CpSwitch.vue.d.ts.map +1 -1
- package/dist/components/CpTable.vue.d.ts.map +1 -1
- package/dist/components/CpTelInput.vue.d.ts.map +1 -1
- package/dist/components/CpTooltip.vue.d.ts +2 -0
- package/dist/components/CpTooltip.vue.d.ts.map +1 -1
- package/dist/components/CpTrip.vue.d.ts +48 -0
- package/dist/components/CpTrip.vue.d.ts.map +1 -0
- package/dist/components/CpTripTimeline.vue.d.ts +24 -0
- package/dist/components/CpTripTimeline.vue.d.ts.map +1 -0
- package/dist/components/index.d.ts +2 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/composables/useDynamicSize.d.ts +9 -0
- package/dist/composables/useDynamicSize.d.ts.map +1 -0
- package/dist/constants/index.d.ts +2 -2
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/layout/Breakpoints.d.ts +9 -0
- package/dist/constants/layout/Breakpoints.d.ts.map +1 -0
- package/dist/constants/layout/Sizes.d.ts +2 -0
- package/dist/constants/layout/Sizes.d.ts.map +1 -0
- package/dist/constants/layout/index.d.ts +3 -0
- package/dist/constants/layout/index.d.ts.map +1 -0
- package/dist/helpers/functions.d.ts +1 -0
- package/dist/helpers/functions.d.ts.map +1 -1
- package/dist/libs/CoreDatepicker.vue.d.ts.map +1 -1
- package/dist/pimp.es.js +6797 -6461
- package/dist/pimp.umd.js +54 -54
- package/dist/style.css +1 -1
- package/package.json +14 -24
- package/src/assets/css/base.css +17 -11
- package/src/assets/css/colors.css +12 -22
- package/src/assets/css/dimensions.css +4 -0
- package/src/assets/css/shadows.css +0 -3
- package/src/assets/css/tokens.css +21 -65
- package/src/assets/css/typography.css +0 -17
- package/src/assets/main.css +7 -7
- package/src/assets/styles/helpers/_functions.scss +2 -2
- package/src/assets/styles/utilities/_index.scss +2 -3
- package/src/components/BaseInputLabel.vue +7 -11
- package/src/components/BaseSelectClearButton.vue +6 -7
- package/src/components/CpAccordion.vue +27 -28
- package/src/components/CpAccordionGroup.vue +2 -2
- package/src/components/CpAlert.vue +12 -11
- package/src/components/CpBadge.vue +4 -19
- package/src/components/CpButton.vue +23 -25
- package/src/components/CpButtonGroup.vue +2 -2
- package/src/components/CpButtonToggle.vue +22 -22
- package/src/components/CpCalendar.vue +30 -26
- package/src/components/CpCheckbox.vue +29 -33
- package/src/components/CpContextualMenu.vue +1 -2
- package/src/components/CpDate.vue +72 -76
- package/src/components/CpDatepicker.vue +2 -3
- package/src/components/CpDialog.vue +8 -8
- package/src/components/CpHeading.vue +6 -6
- package/src/components/CpIcon.vue +2 -2
- package/src/components/CpInput.vue +46 -48
- package/src/components/CpItemActions.vue +17 -16
- package/src/components/CpMenu.vue +8 -9
- package/src/components/CpMenuItem.vue +7 -7
- package/src/components/CpMenuList.vue +3 -3
- package/src/components/CpMultiselect.vue +29 -30
- package/src/components/CpRadio.vue +53 -59
- package/src/components/CpRadioGroup.vue +11 -12
- package/src/components/CpRadioNew.vue +56 -58
- package/src/components/CpSelect.vue +42 -42
- package/src/components/CpSelectMenu.vue +32 -32
- package/src/components/CpSelectableButton.vue +50 -51
- package/src/components/CpSwitch.vue +43 -44
- package/src/components/CpTable.vue +69 -81
- package/src/components/CpTableColumnEditor.vue +16 -16
- package/src/components/CpTableEmptyState.vue +4 -4
- package/src/components/CpTableFooter.vue +2 -2
- package/src/components/CpTableFooterDesktop.vue +2 -2
- package/src/components/CpTableFooterDetails.vue +2 -2
- package/src/components/CpTableFooterMobile.vue +4 -4
- package/src/components/CpTabs.vue +1 -1
- package/src/components/CpTelInput.vue +31 -32
- package/src/components/CpTextarea.vue +13 -13
- package/src/components/CpToast.vue +25 -24
- package/src/components/CpTooltip.vue +15 -13
- package/src/components/CpTransitionCounter.vue +1 -1
- package/src/components/CpTransitionExpand.vue +5 -5
- package/src/components/CpTransitionSize.vue +1 -1
- package/src/components/CpTrip.vue +190 -0
- package/src/components/CpTripTimeline.vue +272 -0
- package/src/components/index.ts +36 -34
- package/src/composables/useDynamicSize.ts +60 -0
- package/src/constants/index.ts +2 -2
- package/src/constants/layout/Breakpoints.ts +8 -0
- package/src/constants/layout/Sizes.ts +1 -0
- package/src/constants/layout/index.ts +3 -0
- package/src/directives/ClickOutside.ts +1 -1
- package/src/directives/ResizeSelect.ts +1 -1
- package/src/helpers/functions.ts +1 -1
- package/src/helpers/index.ts +1 -1
- package/src/libs/CoreDatepicker.vue +115 -134
- package/src/stories/Colors.stories.ts +2 -1
- package/src/stories/CpAccordion.stories.ts +2 -2
- package/src/stories/CpAccordionGroup.stories.ts +1 -2
- package/src/stories/CpButtonToggle.stories.ts +1 -2
- package/src/stories/CpCheckbox.stories.ts +1 -2
- package/src/stories/CpContextualMenu.stories.ts +1 -2
- package/src/stories/CpDate.stories.ts +1 -2
- package/src/stories/CpDatepicker.stories.ts +1 -2
- package/src/stories/CpDialog.stories.ts +1 -2
- package/src/stories/CpInput.stories.ts +1 -2
- package/src/stories/CpItemActions.stories.ts +10 -5
- package/src/stories/CpMenu.stories.ts +1 -2
- package/src/stories/CpMenuItem.stories.ts +1 -2
- package/src/stories/CpMultiselect.stories.ts +1 -2
- package/src/stories/CpRadio.stories.ts +1 -2
- package/src/stories/CpRadioGroup.stories.ts +1 -2
- package/src/stories/CpSelect.stories.ts +1 -2
- package/src/stories/CpSelectMenu.stories.ts +1 -2
- package/src/stories/CpSwitch.stories.ts +1 -2
- package/src/stories/CpTable.stories.ts +2 -3
- package/src/stories/CpTabs.stories.ts +1 -2
- package/src/stories/CpText.stories.ts +2 -1
- package/src/stories/CpTextarea.stories.ts +1 -2
- package/src/stories/CpToast.stories.ts +2 -3
- package/src/stories/CpTransitionCounter.stories.ts +1 -2
- package/src/stories/CpTransitionExpand.stories.ts +1 -2
- package/src/stories/CpTransitionListItems.stories.ts +1 -2
- package/src/stories/CpTransitionSize.stories.ts +1 -2
- package/src/stories/CpTransitionSlide.stories.ts +1 -2
- package/src/stories/CpTransitionTabContent.stories.ts +1 -2
- package/src/stories/CpTrip.stories.ts +323 -0
- package/src/stories/Dimensions.stories.ts +1 -0
- package/src/stories/Shadows.stories.ts +1 -0
- package/src/stories/Typography.stories.ts +1 -0
- package/src/vendors/ff-polyfill.ts +1 -1
- package/vitest.workspace.js +1 -1
- package/src/components/Pimp.vue +0 -10
|
@@ -12,7 +12,6 @@
|
|
|
12
12
|
--cp-letter-spacing-7xl: 0;
|
|
13
13
|
--cp-letter-spacing-8xl: 0;
|
|
14
14
|
--cp-letter-spacing-9xl: 0;
|
|
15
|
-
|
|
16
15
|
--cp-line-height-xs: 1rem;
|
|
17
16
|
--cp-line-height-sm: 1.25rem;
|
|
18
17
|
--cp-line-height-md: 1.5rem;
|
|
@@ -26,7 +25,6 @@
|
|
|
26
25
|
--cp-line-height-7xl: 5rem;
|
|
27
26
|
--cp-line-height-8xl: 6rem;
|
|
28
27
|
--cp-line-height-9xl: 8rem;
|
|
29
|
-
|
|
30
28
|
--cp-text-size-xs: 0.75rem;
|
|
31
29
|
--cp-text-size-sm: 0.875rem;
|
|
32
30
|
--cp-text-size-md: 1rem;
|
|
@@ -40,43 +38,30 @@
|
|
|
40
38
|
--cp-text-size-7xl: 4.5rem;
|
|
41
39
|
--cp-text-size-8xl: 6rem;
|
|
42
40
|
--cp-text-size-9xl: 8rem;
|
|
43
|
-
|
|
44
41
|
--cp-text-xs-line-height: var(--cp-line-height-xs);
|
|
45
42
|
--cp-text-xs-letter-spacing: var(--cp-letter-spacing-xs);
|
|
46
|
-
|
|
47
43
|
--cp-text-sm-line-height: var(--cp-line-height-sm);
|
|
48
44
|
--cp-text-sm-letter-spacing: var(--cp-letter-spacing-sm);
|
|
49
|
-
|
|
50
45
|
--cp-text-md-line-height: var(--cp-line-height-md);
|
|
51
46
|
--cp-text-md-letter-spacing: var(--cp-letter-spacing-md);
|
|
52
|
-
|
|
53
47
|
--cp-text-lg-line-height: var(--cp-line-height-lg);
|
|
54
48
|
--cp-text-lg-letter-spacing: var(--cp-letter-spacing-lg);
|
|
55
|
-
|
|
56
49
|
--cp-text-xl-line-height: var(--cp-line-height-xl);
|
|
57
50
|
--cp-text-xl-letter-spacing: var(--cp-letter-spacing-xl);
|
|
58
|
-
|
|
59
51
|
--cp-text-2xl-line-height: var(--cp-line-height-2xl);
|
|
60
52
|
--cp-text-2xl-letter-spacing: var(--cp-letter-spacing-2xl);
|
|
61
|
-
|
|
62
53
|
--cp-text-3xl-line-height: var(--cp-line-height-3xl);
|
|
63
54
|
--cp-text-3xl-letter-spacing: var(--cp-letter-spacing-3xl);
|
|
64
|
-
|
|
65
55
|
--cp-text-4xl-line-height: var(--cp-line-height-4xl);
|
|
66
56
|
--cp-text-4xl-letter-spacing: var(--cp-letter-spacing-4xl);
|
|
67
|
-
|
|
68
57
|
--cp-text-5xl-line-height: var(--cp-line-height-5xl);
|
|
69
58
|
--cp-text-5xl-letter-spacing: var(--cp-letter-spacing-5xl);
|
|
70
|
-
|
|
71
59
|
--cp-text-6xl-line-height: var(--cp-line-height-6xl);
|
|
72
60
|
--cp-text-6xl-letter-spacing: var(--cp-letter-spacing-6xl);
|
|
73
|
-
|
|
74
61
|
--cp-text-7xl-line-height: var(--cp-line-height-7xl);
|
|
75
62
|
--cp-text-7xl-letter-spacing: var(--cp-letter-spacing-7xl);
|
|
76
|
-
|
|
77
63
|
--cp-text-8xl-line-height: var(--cp-line-height-8xl);
|
|
78
64
|
--cp-text-8xl-letter-spacing: var(--cp-letter-spacing-8xl);
|
|
79
|
-
|
|
80
65
|
--cp-text-9xl-line-height: var(--cp-line-height-9xl);
|
|
81
66
|
--cp-text-9xl-letter-spacing: var(--cp-letter-spacing-9xl);
|
|
82
67
|
|
|
@@ -85,11 +70,9 @@
|
|
|
85
70
|
--cp-monospace-xs: var(--cp-text-size-xs);
|
|
86
71
|
--cp-monospace-xs-line-height: var(--cp-line-height-xs);
|
|
87
72
|
--cp-monospace-xs-letter-spacing: var(--cp-letter-spacing-xs);
|
|
88
|
-
|
|
89
73
|
--cp-monospace-sm-font-light: var(--cp-size-sm);
|
|
90
74
|
--cp-monospace-sm-line-height: var(--cp-line-height-sm);
|
|
91
75
|
--cp-monospace-sm-letter-spacing: var(--cp-letter-spacing-sm);
|
|
92
|
-
|
|
93
76
|
--cp-monospace-md-font-light: var(--cp-text-size-md);
|
|
94
77
|
--cp-monospace-md-line-height: var(--cp-line-height-md);
|
|
95
78
|
--cp-monospace-md-letter-spacing: var(--cp-letter-spacing-md);
|
package/src/assets/main.css
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
@import
|
|
2
|
-
@import
|
|
3
|
-
@import
|
|
4
|
-
@import
|
|
5
|
-
@import
|
|
6
|
-
@import
|
|
7
|
-
@import
|
|
1
|
+
@import "./css/base.css";
|
|
2
|
+
@import "./css/colors.css";
|
|
3
|
+
@import "./css/dimensions.css";
|
|
4
|
+
@import "./css/shadows.css";
|
|
5
|
+
@import "./css/typography.css";
|
|
6
|
+
@import "./css/easings.css";
|
|
7
|
+
@import "./css/tokens.css";
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
// The default font size for html is 16px
|
|
6
6
|
$base-size: 16;
|
|
7
7
|
|
|
8
|
-
//Function to convert px value into rem or em
|
|
8
|
+
// Function to convert px value into rem or em
|
|
9
9
|
|
|
10
10
|
@function px-to-rem($target, $context: $base-size) {
|
|
11
11
|
@return math.div($target, $context) * 1rem;
|
|
@@ -16,7 +16,7 @@ $base-size: 16;
|
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
@function v($var, $fallback: null) {
|
|
19
|
-
@if
|
|
19
|
+
@if $fallback {
|
|
20
20
|
@return var(--cp-#{$var}, #{$fallback});
|
|
21
21
|
} @else {
|
|
22
22
|
@return var(--cp-#{$var});
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
.u-text-ellipsis,
|
|
4
4
|
%u-text-ellipsis {
|
|
5
|
-
white-space: nowrap;
|
|
6
|
-
text-overflow: ellipsis;
|
|
7
5
|
overflow: hidden;
|
|
6
|
+
text-overflow: ellipsis;
|
|
7
|
+
white-space: nowrap;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
.u-layout-box-padding,
|
|
@@ -52,7 +52,6 @@ label .u-asterisk {
|
|
|
52
52
|
linear-gradient(90deg, #fff0, #fff 70%) 0 100%,
|
|
53
53
|
radial-gradient(farthest-side at 0 50%, #3e3e5b33, #3e3e5b00),
|
|
54
54
|
radial-gradient(farthest-side at 100% 50%, #3e3e5b33, #3e3e5b00) 0 100%;
|
|
55
|
-
|
|
56
55
|
background-attachment: local, local, scroll, scroll;
|
|
57
56
|
background-color: var(--cp-background-primary);
|
|
58
57
|
background-position:
|
|
@@ -38,14 +38,14 @@ defineOptions({
|
|
|
38
38
|
<style lang="scss">
|
|
39
39
|
.baseInputLabel {
|
|
40
40
|
position: relative;
|
|
41
|
+
z-index: 2;
|
|
41
42
|
display: flex;
|
|
42
43
|
align-items: center;
|
|
43
|
-
font-size: var(--cp-text-size-sm);
|
|
44
|
-
line-height: var(--cp-line-height-md);
|
|
45
|
-
letter-spacing: var(--cp-letter-spacing-sm);
|
|
46
44
|
margin-bottom: var(--cp-spacing-md);
|
|
47
45
|
color: var(--cp-text-primary);
|
|
48
|
-
|
|
46
|
+
font-size: var(--cp-text-size-sm);
|
|
47
|
+
letter-spacing: var(--cp-letter-spacing-sm);
|
|
48
|
+
line-height: var(--cp-line-height-md);
|
|
49
49
|
|
|
50
50
|
&::first-letter {
|
|
51
51
|
text-transform: capitalize;
|
|
@@ -55,13 +55,14 @@ defineOptions({
|
|
|
55
55
|
display: flex;
|
|
56
56
|
align-items: center;
|
|
57
57
|
gap: var(--cp-spacing-sm);
|
|
58
|
+
transition: transform 300ms var(--cp-easing-elastic) 100ms;
|
|
58
59
|
}
|
|
59
60
|
|
|
60
61
|
&__tooltip {
|
|
61
62
|
display: flex;
|
|
62
|
-
padding: var(--cp-spacing-sm);
|
|
63
63
|
align-items: center;
|
|
64
64
|
justify-content: center;
|
|
65
|
+
padding: var(--cp-spacing-sm);
|
|
65
66
|
border-radius: var(--cp-radius-full);
|
|
66
67
|
color: var(--cp-foreground-quaternary);
|
|
67
68
|
outline-offset: calc(var(--cp-dimensions-1) * -0.75);
|
|
@@ -83,8 +84,8 @@ defineOptions({
|
|
|
83
84
|
|
|
84
85
|
&__iconWrapper {
|
|
85
86
|
position: absolute;
|
|
86
|
-
left: 0;
|
|
87
87
|
top: 0;
|
|
88
|
+
left: 0;
|
|
88
89
|
display: flex;
|
|
89
90
|
align-items: center;
|
|
90
91
|
justify-content: center;
|
|
@@ -99,14 +100,9 @@ defineOptions({
|
|
|
99
100
|
&__invalidIcon {
|
|
100
101
|
width: var(--cp-dimensions-4);
|
|
101
102
|
height: var(--cp-dimensions-4);
|
|
102
|
-
|
|
103
103
|
color: var(--cp-foreground-error-primary);
|
|
104
104
|
}
|
|
105
105
|
|
|
106
|
-
&__content {
|
|
107
|
-
transition: transform 300ms var(--cp-easing-elastic) 100ms;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
106
|
&--isInvalid .baseInputLabel__content {
|
|
111
107
|
transform: translate3d(calc(var(--cp-dimensions-6) + var(--cp-spacing-sm)), 0, 0);
|
|
112
108
|
}
|
|
@@ -10,25 +10,24 @@ import CpIcon from '@/components/CpIcon.vue'
|
|
|
10
10
|
|
|
11
11
|
<style lang="scss">
|
|
12
12
|
.baseSelectClearButton {
|
|
13
|
-
width: var(--cp-dimensions-6);
|
|
14
|
-
height: var(--cp-dimensions-6);
|
|
15
|
-
|
|
16
13
|
position: absolute;
|
|
17
14
|
z-index: 1;
|
|
18
15
|
top: 50%;
|
|
19
16
|
right: var(--cp-dimensions-3_5);
|
|
20
17
|
display: flex;
|
|
18
|
+
width: var(--cp-dimensions-6);
|
|
19
|
+
height: var(--cp-dimensions-6);
|
|
21
20
|
justify-content: center;
|
|
22
21
|
padding: var(--cp-dimensions-1);
|
|
23
|
-
cursor: pointer;
|
|
24
|
-
transform: translateY(-50%);
|
|
25
|
-
color: var(--cp-foreground-secondary);
|
|
26
22
|
border-radius: var(--cp-radius-full);
|
|
27
23
|
background-color: transparent;
|
|
24
|
+
color: var(--cp-foreground-secondary);
|
|
25
|
+
cursor: pointer;
|
|
26
|
+
transform: translateY(-50%);
|
|
28
27
|
|
|
29
28
|
&:hover {
|
|
30
|
-
color: var(--cp-foreground-secondary-hover);
|
|
31
29
|
background-color: var(--cp-background-primary-hover);
|
|
30
|
+
color: var(--cp-foreground-secondary-hover);
|
|
32
31
|
}
|
|
33
32
|
|
|
34
33
|
&:focus {
|
|
@@ -41,9 +41,8 @@
|
|
|
41
41
|
</template>
|
|
42
42
|
|
|
43
43
|
<script setup lang="ts">
|
|
44
|
-
import { computed, ref, useId, useSlots } from 'vue'
|
|
45
|
-
|
|
46
44
|
import type { MenuItem } from 'primevue/menuitem'
|
|
45
|
+
import { computed, ref, useId, useSlots } from 'vue'
|
|
47
46
|
|
|
48
47
|
export interface CpAccordionBaseProps {
|
|
49
48
|
defaultOpenState?: boolean
|
|
@@ -114,17 +113,17 @@ const handleClick = () => (isToggled.value = !isToggled.value)
|
|
|
114
113
|
<style lang="scss">
|
|
115
114
|
.cpAccordion {
|
|
116
115
|
display: flex;
|
|
116
|
+
width: 100%;
|
|
117
117
|
flex-direction: column;
|
|
118
118
|
background-color: var(--cp-background-primary);
|
|
119
|
-
width: 100%;
|
|
120
119
|
|
|
121
120
|
&__header {
|
|
122
121
|
position: relative;
|
|
123
|
-
border-radius: var(--cp-radius-none);
|
|
124
122
|
display: flex;
|
|
125
123
|
flex-wrap: nowrap;
|
|
126
124
|
align-items: center;
|
|
127
125
|
padding: var(--cp-spacing-lg);
|
|
126
|
+
border-radius: var(--cp-radius-none);
|
|
128
127
|
gap: var(--cp-spacing-lg);
|
|
129
128
|
|
|
130
129
|
&:hover,
|
|
@@ -133,51 +132,51 @@ const handleClick = () => (isToggled.value = !isToggled.value)
|
|
|
133
132
|
}
|
|
134
133
|
|
|
135
134
|
&:has(.cpAccordion__trigger:focus-visible) {
|
|
136
|
-
box-shadow: var(--cp-shadow-focus-ring-accent);
|
|
137
|
-
border-radius: var(--cp-radius-md);
|
|
138
135
|
z-index: 1;
|
|
136
|
+
border-radius: var(--cp-radius-md);
|
|
137
|
+
box-shadow: var(--cp-shadow-focus-ring-accent);
|
|
139
138
|
}
|
|
140
139
|
}
|
|
141
140
|
|
|
142
141
|
&__trigger {
|
|
143
142
|
position: absolute;
|
|
144
|
-
inset: 0;
|
|
145
143
|
width: 100%;
|
|
146
144
|
height: 100%;
|
|
147
|
-
background: transparent;
|
|
148
|
-
border: 0;
|
|
149
145
|
padding: 0;
|
|
146
|
+
border: 0;
|
|
150
147
|
margin: 0;
|
|
148
|
+
background: transparent;
|
|
151
149
|
cursor: pointer;
|
|
150
|
+
inset: 0;
|
|
152
151
|
outline: none;
|
|
153
152
|
}
|
|
154
153
|
|
|
155
154
|
&__title {
|
|
156
|
-
flex: 1 1 0%;
|
|
157
|
-
min-width: 0;
|
|
158
155
|
display: flex;
|
|
156
|
+
overflow: hidden;
|
|
157
|
+
min-width: 0;
|
|
158
|
+
flex: 1 1 0%;
|
|
159
159
|
align-items: center;
|
|
160
|
-
|
|
161
|
-
font-weight: 500;
|
|
160
|
+
order: 1;
|
|
162
161
|
font-size: var(--cp-text-size-sm);
|
|
162
|
+
font-weight: 500;
|
|
163
|
+
gap: var(--cp-spacing-lg);
|
|
163
164
|
line-height: var(--cp-line-height-sm);
|
|
164
|
-
overflow: hidden;
|
|
165
|
-
order: 1;
|
|
166
165
|
}
|
|
167
166
|
|
|
168
167
|
&__icon {
|
|
169
|
-
color: var(--cp-foreground-secondary);
|
|
170
168
|
flex-shrink: 0;
|
|
171
169
|
padding: var(--cp-spacing-xs);
|
|
170
|
+
color: var(--cp-foreground-secondary);
|
|
172
171
|
pointer-events: none;
|
|
173
172
|
}
|
|
174
173
|
|
|
175
174
|
&__leading {
|
|
176
175
|
display: flex;
|
|
177
|
-
flex-direction: column;
|
|
178
|
-
flex: 1;
|
|
179
|
-
min-width: 0;
|
|
180
176
|
overflow: hidden;
|
|
177
|
+
min-width: 0;
|
|
178
|
+
flex: 1;
|
|
179
|
+
flex-direction: column;
|
|
181
180
|
text-align: left;
|
|
182
181
|
}
|
|
183
182
|
|
|
@@ -190,30 +189,30 @@ const handleClick = () => (isToggled.value = !isToggled.value)
|
|
|
190
189
|
|
|
191
190
|
&__trailingSlot {
|
|
192
191
|
display: flex;
|
|
193
|
-
align-items: center;
|
|
194
192
|
flex-shrink: 0;
|
|
193
|
+
align-items: center;
|
|
195
194
|
order: 2;
|
|
196
195
|
pointer-events: auto;
|
|
197
196
|
}
|
|
198
197
|
|
|
199
198
|
&__trailingIcons {
|
|
200
199
|
display: flex;
|
|
201
|
-
align-items: center;
|
|
202
200
|
flex-shrink: 0;
|
|
203
|
-
|
|
201
|
+
align-items: center;
|
|
204
202
|
order: 3;
|
|
203
|
+
gap: var(--cp-spacing-lg);
|
|
205
204
|
pointer-events: none;
|
|
206
205
|
}
|
|
207
206
|
|
|
208
207
|
&__actions {
|
|
209
208
|
position: absolute;
|
|
210
|
-
|
|
209
|
+
z-index: 1;
|
|
211
210
|
top: 0;
|
|
212
|
-
|
|
213
|
-
padding: 0 var(--cp-spacing-md) 0 15%;
|
|
211
|
+
right: 0;
|
|
214
212
|
display: flex;
|
|
213
|
+
height: 100%;
|
|
215
214
|
align-items: center;
|
|
216
|
-
|
|
215
|
+
padding: 0 var(--cp-spacing-md) 0 15%;
|
|
217
216
|
pointer-events: none;
|
|
218
217
|
|
|
219
218
|
& > .cpItemActions {
|
|
@@ -235,7 +234,7 @@ const handleClick = () => (isToggled.value = !isToggled.value)
|
|
|
235
234
|
}
|
|
236
235
|
|
|
237
236
|
.cpAccordion__actions {
|
|
238
|
-
background: linear-gradient(270deg, var(--cp-utility-neutral-100) 0%, rgba(242, 246, 250, 0) 100%);
|
|
237
|
+
background: linear-gradient(270deg, var(--cp-utility-neutral-100) 0%, rgba(242, 246, 250, 0%) 100%);
|
|
239
238
|
}
|
|
240
239
|
}
|
|
241
240
|
}
|
|
@@ -252,8 +251,8 @@ const handleClick = () => (isToggled.value = !isToggled.value)
|
|
|
252
251
|
}
|
|
253
252
|
|
|
254
253
|
&__trailingSlot {
|
|
255
|
-
order: 3;
|
|
256
254
|
flex-basis: 100%;
|
|
255
|
+
order: 3;
|
|
257
256
|
padding-left: var(--cp-spacing-3xl);
|
|
258
257
|
}
|
|
259
258
|
|
|
@@ -25,8 +25,8 @@ const groupClass = computed(() => {
|
|
|
25
25
|
<style lang="scss">
|
|
26
26
|
.cpAccordionGroup {
|
|
27
27
|
display: flex;
|
|
28
|
-
flex-direction: column;
|
|
29
28
|
width: 100%;
|
|
29
|
+
flex-direction: column;
|
|
30
30
|
|
|
31
31
|
&--isDefault {
|
|
32
32
|
.cpAccordion {
|
|
@@ -39,9 +39,9 @@ const groupClass = computed(() => {
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
&--isPrimary {
|
|
42
|
+
overflow: hidden;
|
|
42
43
|
border: fn.px-to-rem(1) solid var(--cp-border-soft);
|
|
43
44
|
border-radius: var(--cp-radius-md);
|
|
44
|
-
overflow: hidden;
|
|
45
45
|
|
|
46
46
|
.cpAccordion:not(:last-child) {
|
|
47
47
|
border-bottom: fn.px-to-rem(1) solid var(--cp-border-soft);
|
|
@@ -63,6 +63,7 @@
|
|
|
63
63
|
import { computed, useSlots } from 'vue'
|
|
64
64
|
|
|
65
65
|
import type { Colors } from '@/constants'
|
|
66
|
+
|
|
66
67
|
import { capitalizeFirstLetter } from '@/helpers'
|
|
67
68
|
|
|
68
69
|
type AlertColors = Extract<Colors, 'neutral' | 'accent' | 'success' | 'warning' | 'error'>
|
|
@@ -153,25 +154,25 @@ const dynamicClasses = computed(() => [
|
|
|
153
154
|
|
|
154
155
|
<style lang="scss">
|
|
155
156
|
.cpAlert {
|
|
156
|
-
width: 100%;
|
|
157
157
|
display: flex;
|
|
158
|
+
width: 100%;
|
|
158
159
|
|
|
159
160
|
&__inner {
|
|
160
161
|
position: relative;
|
|
161
162
|
display: flex;
|
|
162
|
-
align-items: flex-start;
|
|
163
163
|
overflow: hidden;
|
|
164
|
-
padding: var(--cp-spacing-lg) var(--cp-spacing-lg) var(--cp-spacing-lg) var(--cp-spacing-md);
|
|
165
|
-
gap: var(--cp-spacing-md);
|
|
166
164
|
width: 100%;
|
|
167
|
-
|
|
165
|
+
align-items: flex-start;
|
|
166
|
+
padding: var(--cp-spacing-lg) var(--cp-spacing-lg) var(--cp-spacing-lg) var(--cp-spacing-md);
|
|
168
167
|
border: 1px solid var(--cp-alert-border);
|
|
169
168
|
border-radius: var(--cp-radius-md);
|
|
170
169
|
margin: var(--cp-spacing-sm);
|
|
170
|
+
background-color: var(--cp-background-primary);
|
|
171
171
|
box-shadow:
|
|
172
172
|
var(--cp-drop-shadow-3xs-offset-x) var(--cp-drop-shadow-3xs-offset-y) var(--cp-drop-shadow-3xs-blur)
|
|
173
173
|
fn.px-to-rem(-4) var(--cp-drop-shadow-3xs-color),
|
|
174
174
|
0 0 0 var(--cp-dimensions-1) var(--cp-alert-shadow);
|
|
175
|
+
gap: var(--cp-spacing-md);
|
|
175
176
|
}
|
|
176
177
|
|
|
177
178
|
&__icon {
|
|
@@ -182,10 +183,10 @@ const dynamicClasses = computed(() => [
|
|
|
182
183
|
}
|
|
183
184
|
|
|
184
185
|
&__body {
|
|
185
|
-
flex: 1;
|
|
186
186
|
display: flex;
|
|
187
|
-
|
|
187
|
+
flex: 1;
|
|
188
188
|
flex-direction: column;
|
|
189
|
+
gap: var(--cp-spacing-md);
|
|
189
190
|
}
|
|
190
191
|
|
|
191
192
|
&__content {
|
|
@@ -202,17 +203,17 @@ const dynamicClasses = computed(() => [
|
|
|
202
203
|
}
|
|
203
204
|
|
|
204
205
|
&__title {
|
|
206
|
+
color: var(--cp-alert-title);
|
|
205
207
|
font-size: var(--cp-text-size-sm);
|
|
206
|
-
line-height: var(--cp-line-height-sm);
|
|
207
208
|
font-weight: 600;
|
|
208
|
-
|
|
209
|
+
line-height: var(--cp-line-height-sm);
|
|
209
210
|
}
|
|
210
211
|
|
|
211
212
|
&__contentText {
|
|
213
|
+
color: var(--cp-alert-text);
|
|
212
214
|
font-size: var(--cp-text-size-sm);
|
|
213
|
-
line-height: var(--cp-line-height-sm);
|
|
214
215
|
font-weight: 400;
|
|
215
|
-
|
|
216
|
+
line-height: var(--cp-line-height-sm);
|
|
216
217
|
}
|
|
217
218
|
|
|
218
219
|
&--isInline {
|
|
@@ -69,10 +69,10 @@ const componentDynamicClasses = computed(() => [
|
|
|
69
69
|
$clear-icon-width
|
|
70
70
|
) {
|
|
71
71
|
&--#{$size} {
|
|
72
|
+
padding: $padding;
|
|
72
73
|
font-size: $font-size;
|
|
73
|
-
line-height: $line-height;
|
|
74
74
|
font-weight: 400;
|
|
75
|
-
|
|
75
|
+
line-height: $line-height;
|
|
76
76
|
|
|
77
77
|
&.cpBadge--isSquare {
|
|
78
78
|
border-radius: $square-radius;
|
|
@@ -96,13 +96,13 @@ const componentDynamicClasses = computed(() => [
|
|
|
96
96
|
|
|
97
97
|
@mixin cp-badge-themed($className, $color, $bg-color, $solid-color, $solid-bg-color, $outline-color) {
|
|
98
98
|
&--is#{$className} {
|
|
99
|
-
color: $color;
|
|
100
99
|
background-color: $bg-color;
|
|
100
|
+
color: $color;
|
|
101
101
|
outline-color: $outline-color;
|
|
102
102
|
|
|
103
103
|
&.cpBadge--isSolid {
|
|
104
|
-
color: $solid-color;
|
|
105
104
|
background-color: $solid-bg-color;
|
|
105
|
+
color: $solid-color;
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
&.cpBadge--isOutline {
|
|
@@ -138,7 +138,6 @@ const componentDynamicClasses = computed(() => [
|
|
|
138
138
|
var(--cp-dimensions-5),
|
|
139
139
|
var(--cp-dimensions-4_5)
|
|
140
140
|
);
|
|
141
|
-
|
|
142
141
|
@include cp-badge-sized(
|
|
143
142
|
'md',
|
|
144
143
|
var(--cp-text-size-sm),
|
|
@@ -149,7 +148,6 @@ const componentDynamicClasses = computed(() => [
|
|
|
149
148
|
var(--cp-dimensions-4),
|
|
150
149
|
var(--cp-dimensions-3_5)
|
|
151
150
|
);
|
|
152
|
-
|
|
153
151
|
@include cp-badge-sized(
|
|
154
152
|
'sm',
|
|
155
153
|
var(--cp-text-size-xs),
|
|
@@ -160,7 +158,6 @@ const componentDynamicClasses = computed(() => [
|
|
|
160
158
|
var(--cp-dimensions-4),
|
|
161
159
|
var(--cp-dimensions-3_5)
|
|
162
160
|
);
|
|
163
|
-
|
|
164
161
|
@include cp-badge-sized(
|
|
165
162
|
'xs',
|
|
166
163
|
var(--cp-text-size-xs),
|
|
@@ -171,7 +168,6 @@ const componentDynamicClasses = computed(() => [
|
|
|
171
168
|
var(--cp-dimensions-3),
|
|
172
169
|
var(--cp-dimensions-2_5)
|
|
173
170
|
);
|
|
174
|
-
|
|
175
171
|
@include cp-badge-sized(
|
|
176
172
|
'2xs',
|
|
177
173
|
var(--cp-text-size-xs),
|
|
@@ -182,7 +178,6 @@ const componentDynamicClasses = computed(() => [
|
|
|
182
178
|
var(--cp-dimensions-3),
|
|
183
179
|
var(--cp-dimensions-2_5)
|
|
184
180
|
);
|
|
185
|
-
|
|
186
181
|
@include cp-badge-themed(
|
|
187
182
|
'Neutral',
|
|
188
183
|
var(--cp-foreground-primary),
|
|
@@ -191,7 +186,6 @@ const componentDynamicClasses = computed(() => [
|
|
|
191
186
|
var(--cp-background-solid),
|
|
192
187
|
var(--cp-border-strong)
|
|
193
188
|
);
|
|
194
|
-
|
|
195
189
|
@include cp-badge-themed(
|
|
196
190
|
'Accent',
|
|
197
191
|
var(--cp-foreground-accent-primary),
|
|
@@ -200,7 +194,6 @@ const componentDynamicClasses = computed(() => [
|
|
|
200
194
|
var(--cp-background-accent-solid),
|
|
201
195
|
var(--cp-border-accent-primary)
|
|
202
196
|
);
|
|
203
|
-
|
|
204
197
|
@include cp-badge-themed(
|
|
205
198
|
'Error',
|
|
206
199
|
var(--cp-foreground-error-primary),
|
|
@@ -209,7 +202,6 @@ const componentDynamicClasses = computed(() => [
|
|
|
209
202
|
var(--cp-background-error-solid),
|
|
210
203
|
var(--cp-border-error-primary)
|
|
211
204
|
);
|
|
212
|
-
|
|
213
205
|
@include cp-badge-themed(
|
|
214
206
|
'Warning',
|
|
215
207
|
var(--cp-foreground-warning-primary),
|
|
@@ -218,7 +210,6 @@ const componentDynamicClasses = computed(() => [
|
|
|
218
210
|
var(--cp-background-warning-solid),
|
|
219
211
|
var(--cp-border-warning-primary)
|
|
220
212
|
);
|
|
221
|
-
|
|
222
213
|
@include cp-badge-themed(
|
|
223
214
|
'Success',
|
|
224
215
|
var(--cp-foreground-success-primary),
|
|
@@ -227,7 +218,6 @@ const componentDynamicClasses = computed(() => [
|
|
|
227
218
|
var(--cp-background-success-solid),
|
|
228
219
|
var(--cp-border-success-primary)
|
|
229
220
|
);
|
|
230
|
-
|
|
231
221
|
@include cp-badge-themed(
|
|
232
222
|
'Blue',
|
|
233
223
|
var(--cp-foreground-blue-primary),
|
|
@@ -236,7 +226,6 @@ const componentDynamicClasses = computed(() => [
|
|
|
236
226
|
var(--cp-background-blue-solid),
|
|
237
227
|
var(--cp-border-blue-primary)
|
|
238
228
|
);
|
|
239
|
-
|
|
240
229
|
@include cp-badge-themed(
|
|
241
230
|
'Pink',
|
|
242
231
|
var(--cp-foreground-pink-primary),
|
|
@@ -245,7 +234,6 @@ const componentDynamicClasses = computed(() => [
|
|
|
245
234
|
var(--cp-background-pink-solid),
|
|
246
235
|
var(--cp-border-pink-primary)
|
|
247
236
|
);
|
|
248
|
-
|
|
249
237
|
@include cp-badge-themed(
|
|
250
238
|
'Magenta',
|
|
251
239
|
var(--cp-foreground-magenta-primary),
|
|
@@ -254,7 +242,6 @@ const componentDynamicClasses = computed(() => [
|
|
|
254
242
|
var(--cp-background-magenta-solid),
|
|
255
243
|
var(--cp-border-magenta-primary)
|
|
256
244
|
);
|
|
257
|
-
|
|
258
245
|
@include cp-badge-themed(
|
|
259
246
|
'Yellow',
|
|
260
247
|
var(--cp-foreground-yellow-primary),
|
|
@@ -263,7 +250,6 @@ const componentDynamicClasses = computed(() => [
|
|
|
263
250
|
var(--cp-background-yellow-solid),
|
|
264
251
|
var(--cp-border-yellow-primary)
|
|
265
252
|
);
|
|
266
|
-
|
|
267
253
|
@include cp-badge-themed(
|
|
268
254
|
'White',
|
|
269
255
|
var(--cp-foreground-primary),
|
|
@@ -272,7 +258,6 @@ const componentDynamicClasses = computed(() => [
|
|
|
272
258
|
var(--cp-background-primary),
|
|
273
259
|
var(--cp-border-soft)
|
|
274
260
|
);
|
|
275
|
-
|
|
276
261
|
@include cp-badge-themed(
|
|
277
262
|
'Disabled',
|
|
278
263
|
var(--cp-text-disabled),
|