@citizenplane/pimp 18.9.31 → 18.9.33
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/dist/components/CpMenu.vue.d.ts +6 -2
- package/dist/components/CpMenu.vue.d.ts.map +1 -1
- package/dist/components/CpSelectableButton.vue.d.ts.map +1 -1
- package/dist/pimp.es.js +550 -545
- package/dist/pimp.umd.js +14 -14
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/components/CpMenu.vue +32 -6
- package/src/components/CpSelectableButton.vue +4 -2
- package/src/stories/CpMenu.stories.ts +3 -0
package/package.json
CHANGED
|
@@ -39,9 +39,12 @@
|
|
|
39
39
|
@hide="onHide"
|
|
40
40
|
>
|
|
41
41
|
<div class="cpMenu__drawerToolbar">
|
|
42
|
+
<div class="cpMenu__drawerToolbarTitle">
|
|
43
|
+
<slot name="title" />
|
|
44
|
+
</div>
|
|
42
45
|
<cp-button
|
|
43
46
|
ref="closeButton"
|
|
44
|
-
appearance="
|
|
47
|
+
appearance="secondary"
|
|
45
48
|
aria-label="Close drawer"
|
|
46
49
|
color="neutral"
|
|
47
50
|
is-square
|
|
@@ -78,6 +81,7 @@ export type CpMenuPlacement = 'start' | 'end'
|
|
|
78
81
|
|
|
79
82
|
export interface Props {
|
|
80
83
|
class?: string
|
|
84
|
+
drawerClass?: string
|
|
81
85
|
forcePopover?: boolean
|
|
82
86
|
isFullHeightDrawer?: boolean
|
|
83
87
|
items?: MenuItem[]
|
|
@@ -87,6 +91,7 @@ export interface Props {
|
|
|
87
91
|
|
|
88
92
|
const props = withDefaults(defineProps<Props>(), {
|
|
89
93
|
class: undefined,
|
|
94
|
+
drawerClass: undefined,
|
|
90
95
|
isFullHeightDrawer: false,
|
|
91
96
|
items: undefined,
|
|
92
97
|
keepOpenOnClick: false,
|
|
@@ -121,10 +126,23 @@ const drawerOverlayDynamicClass = computed(() => ({
|
|
|
121
126
|
}))
|
|
122
127
|
|
|
123
128
|
const drawerPt = {
|
|
124
|
-
root: {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
129
|
+
root: {
|
|
130
|
+
class: [
|
|
131
|
+
'cpMenu__drawer',
|
|
132
|
+
{ 'cpMenu__drawer--isFullHeight': props.isFullHeightDrawer },
|
|
133
|
+
props.drawerClass,
|
|
134
|
+
],
|
|
135
|
+
},
|
|
136
|
+
content: {
|
|
137
|
+
class: 'cpMenu__drawerContent'
|
|
138
|
+
},
|
|
139
|
+
header: {
|
|
140
|
+
class: 'cpMenu__drawerHeader'
|
|
141
|
+
},
|
|
142
|
+
transition: {
|
|
143
|
+
name: 'drawer',
|
|
144
|
+
duration: 300
|
|
145
|
+
},
|
|
128
146
|
}
|
|
129
147
|
|
|
130
148
|
const isPopoverPlacementEnd = computed(() => props.placement === 'end')
|
|
@@ -275,8 +293,16 @@ defineExpose({ show, hide, toggle })
|
|
|
275
293
|
|
|
276
294
|
&__drawerToolbar {
|
|
277
295
|
display: flex;
|
|
278
|
-
|
|
296
|
+
align-items: center;
|
|
297
|
+
justify-content: space-between;
|
|
279
298
|
padding: var(--cp-spacing-md) var(--cp-spacing-xl);
|
|
280
299
|
}
|
|
300
|
+
|
|
301
|
+
&__drawerToolbarTitle {
|
|
302
|
+
color: var(--cp-text-secondary);
|
|
303
|
+
font-size: var(--cp-text-size-lg);
|
|
304
|
+
font-weight: 500;
|
|
305
|
+
line-height: var(--cp-line-height-lg);
|
|
306
|
+
}
|
|
281
307
|
}
|
|
282
308
|
</style>
|
|
@@ -190,13 +190,15 @@ const dynamicClasses = computed(() => {
|
|
|
190
190
|
}
|
|
191
191
|
|
|
192
192
|
&--xs {
|
|
193
|
+
$radius: fn.px-to-rem(5);
|
|
194
|
+
|
|
193
195
|
--cp-selectable-border-padding: var(--cp-spacing-xs);
|
|
194
196
|
--cp-selectable-border-radius: var(--cp-radius-md);
|
|
195
197
|
--cp-selectable-font-size: var(--cp-text-size-sm);
|
|
196
198
|
--cp-selectable-line-height: var(--cp-line-height-sm);
|
|
197
199
|
--cp-selectable-body-padding: var(--cp-spacing-xs) var(--cp-spacing-sm);
|
|
198
200
|
--cp-selectable-body-gap: var(--cp-spacing-sm);
|
|
199
|
-
--cp-selectable-body-border-radius:
|
|
201
|
+
--cp-selectable-body-border-radius: #{$radius};
|
|
200
202
|
--cp-selectable-icon-size: var(--cp-dimensions-4);
|
|
201
203
|
}
|
|
202
204
|
|
|
@@ -260,7 +262,7 @@ const dynamicClasses = computed(() => {
|
|
|
260
262
|
--cp-selectable-border-color: var(--cp-border-soft);
|
|
261
263
|
--cp-selectable-border-color-hover: var(--cp-border-soft-hover);
|
|
262
264
|
--cp-selectable-text-color: var(--cp-foreground-primary);
|
|
263
|
-
--cp-selectable-text-color-hover: var(--cp-foreground-primary
|
|
265
|
+
--cp-selectable-text-color-hover: var(--cp-foreground-primary);
|
|
264
266
|
--cp-selectable-background-color: var(--cp-background-primary);
|
|
265
267
|
--cp-selectable-background-color-hover: var(--cp-background-primary-hover);
|
|
266
268
|
--cp-selectable-body-background-color: transparent;
|
|
@@ -166,6 +166,9 @@ export const FullHeightDrawer: Story = {
|
|
|
166
166
|
<template #trigger>
|
|
167
167
|
<CpButton size="xs" appearance="secondary">Open drawer</CpButton>
|
|
168
168
|
</template>
|
|
169
|
+
<template #title>
|
|
170
|
+
<CpHeading heading-level="h4">Title</CpHeading>
|
|
171
|
+
</template>
|
|
169
172
|
</CpMenu>
|
|
170
173
|
`,
|
|
171
174
|
}),
|