@citizenplane/pimp 8.11.3 → 8.13.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/README.md +0 -2
- package/dist/assets/BaseInputLabel-B6HBeOYW.css +1 -0
- package/dist/assets/BaseInputLabel-BKfOnmKd.js +1 -0
- package/dist/assets/BaseInputLabel.stories-B3jMVrza.js +28 -0
- package/dist/assets/Color-YHDXOIA2-CfioBzZb.js +1 -0
- package/dist/assets/Colors-mWZwWrlN.js +1 -0
- package/dist/assets/CpAlert-6hd7PZeZ.js +1 -0
- package/dist/assets/CpAlert-BW1Zf1Km.css +1 -0
- package/dist/assets/CpAlert.stories-CcK6sLCO.js +58 -0
- package/dist/assets/CpBadge-BRRUYYEk.js +1 -0
- package/dist/assets/CpBadge-CE420vX2.css +1 -0
- package/dist/assets/CpBadge.stories-Btggeh1U.js +170 -0
- package/dist/assets/CpButton-DQb7zTje.js +1 -0
- package/dist/assets/CpButton-gbl9KLuG.css +1 -0
- package/dist/assets/CpButton.stories-Chy_2ILm.js +86 -0
- package/dist/assets/CpCheckbox-Dalwqglu.js +1 -0
- package/dist/assets/CpCheckbox-DdQW6Gbc.css +1 -0
- package/dist/assets/CpCheckbox.stories-BEtAkjE-.js +167 -0
- package/dist/assets/CpDate-BdnXxnGQ.css +1 -0
- package/dist/assets/CpDate-DdtWXX2Q.js +3 -0
- package/dist/assets/CpDate.stories-C2Jg2QqC.js +59 -0
- package/dist/assets/CpDatepicker-DlzMF4b8.js +5 -0
- package/dist/assets/CpDatepicker-DqugfF5T.css +1 -0
- package/dist/assets/CpDatepicker.stories-CvOQvZYr.js +83 -0
- package/dist/assets/CpDialog-BTJusbSJ.js +1 -0
- package/dist/assets/CpDialog-BeuM9Ffk.css +1 -0
- package/dist/assets/CpDialog.stories-jA8uhNJR.js +43 -0
- package/dist/assets/CpHeading-BfoX1SIY.js +1 -0
- package/dist/assets/CpHeading-DgViCnDE.css +1 -0
- package/dist/assets/CpHeading.stories-DYb8vPG0.js +85 -0
- package/dist/assets/CpIcon-CdMV7BxY.css +1 -0
- package/dist/assets/CpIcon-DjtGpusx.js +5 -0
- package/dist/assets/CpIcon.stories-Cavk2BnC.js +47 -0
- package/dist/assets/CpInput-BT29xZan.js +1 -0
- package/dist/assets/CpInput-CAegPnB6.css +1 -0
- package/dist/assets/CpInput.stories-BbBe4bFT.js +98 -0
- package/dist/assets/CpLoader-B--Vqrhj.js +1 -0
- package/dist/assets/CpLoader.stories-CZ0hlfa2.js +10 -0
- package/dist/assets/CpRadio-C7OtLwPR.js +1 -0
- package/dist/assets/CpRadio-DiUdGJPg.css +1 -0
- package/dist/assets/CpRadio.stories-DPcn2bvJ.js +132 -0
- package/dist/assets/CpSelect-DlLk_-bg.js +1 -0
- package/dist/assets/CpSelect-HpT9AKcz.css +1 -0
- package/dist/assets/CpSelect.stories-C90Kd5cu.js +85 -0
- package/dist/assets/CpSelectMenu-Bpz33Tbp.js +1 -0
- package/dist/assets/CpSelectMenu-Dw4sbiEj.css +1 -0
- package/dist/assets/CpSelectMenu.stories-Bw2sNo0F.js +104 -0
- package/dist/assets/CpSwitch-CIWoB1sY.css +1 -0
- package/dist/assets/CpSwitch-CeGY7EL9.js +1 -0
- package/dist/assets/CpSwitch.stories-DbepH0R0.js +132 -0
- package/dist/assets/CpTable-BN6Amfsc.css +1 -0
- package/dist/assets/CpTable-RA2YDd8h.js +1 -0
- package/dist/assets/CpTable.stories-Dgc6tAkl.js +151 -0
- package/dist/assets/CpTableEmptyState-DLgi2hhT.css +1 -0
- package/dist/assets/CpTableEmptyState-TCjommO_.js +1 -0
- package/dist/assets/CpTableEmptyState.stories-C2oOfeda.js +20 -0
- package/dist/assets/CpTextarea-CzC-Bjsy.css +1 -0
- package/dist/assets/CpTextarea-HUf2FbPC.js +1 -0
- package/dist/assets/CpTextarea.stories-_17UyFSg.js +64 -0
- package/dist/assets/CpToaster-BXpKEwda.css +1 -0
- package/dist/assets/CpToaster-D9ITJUky.js +1 -0
- package/dist/assets/CpToaster.stories-BhEsau9e.js +124 -0
- package/dist/assets/CpTooltip-BIIOHaoi.css +1 -0
- package/dist/assets/CpTooltip-CD0Q4ym2.js +1 -0
- package/dist/assets/CpTooltip.stories-acOxur2H.js +121 -0
- package/dist/assets/DocsRenderer-CFRXHY34-Do1gGJEp.js +623 -0
- package/dist/assets/Intent-UfUixXOL.js +1 -0
- package/dist/assets/ToggleColors-CSr2zujL.js +1 -0
- package/dist/assets/TransitionExpand-BHMSqajW.css +1 -0
- package/dist/assets/TransitionExpand-BLDnMZa8.js +1 -0
- package/dist/assets/TransitionExpand.stories-5x0MQdG_.js +121 -0
- package/dist/assets/_commonjsHelpers-CqkleIqs.js +1 -0
- package/dist/assets/_plugin-vue_export-helper-DlAUqK2U.js +1 -0
- package/dist/assets/anime.esm-RriTVqCw.js +8 -0
- package/dist/assets/entry-preview-CE4fSG5C.js +1 -0
- package/dist/assets/entry-preview-docs-DMfJ0ifx.js +16 -0
- package/dist/assets/iframe-DLKLJnYS.js +211 -0
- package/dist/assets/index-Bx-go_-4.js +8 -0
- package/dist/assets/index-CtrtR6PF.js +1 -0
- package/dist/assets/index-DCv8Njl6.js +1 -0
- package/dist/assets/index-DrFu-skq.js +6 -0
- package/dist/assets/preview-B8lJiyuQ.js +34 -0
- package/dist/assets/preview-BBWR9nbA.js +1 -0
- package/dist/assets/preview-BWzBA1C2.js +396 -0
- package/dist/assets/preview-CHl-kSbv.js +2 -0
- package/dist/assets/preview-CIuMKJn5.js +240 -0
- package/dist/assets/preview-CvbIS5ZJ.js +1 -0
- package/dist/assets/preview-D2UkcbT2.js +3 -0
- package/dist/assets/preview-DD_OYowb.js +1 -0
- package/dist/assets/preview-DGUiP6tS.js +7 -0
- package/dist/assets/preview-OgCpecWL.css +1 -0
- package/dist/assets/vue.esm-bundler-DmHyoj4Y.js +36 -0
- package/dist/favicon.svg +1 -0
- package/dist/iframe.html +666 -0
- package/dist/index.html +177 -0
- package/dist/index.json +1 -0
- package/dist/nunito-sans-bold-italic.woff2 +0 -0
- package/dist/nunito-sans-bold.woff2 +0 -0
- package/dist/nunito-sans-italic.woff2 +0 -0
- package/dist/nunito-sans-regular.woff2 +0 -0
- package/dist/project.json +1 -0
- package/dist/sb-addons/chromatic-com-storybook-9/manager-bundle.js +331 -0
- package/dist/sb-addons/chromatic-com-storybook-9/manager-bundle.js.LEGAL.txt +51 -0
- package/dist/sb-addons/essentials-actions-2/manager-bundle.js +3 -0
- package/dist/sb-addons/essentials-backgrounds-4/manager-bundle.js +12 -0
- package/dist/sb-addons/essentials-controls-1/manager-bundle.js +402 -0
- package/dist/sb-addons/essentials-docs-3/manager-bundle.js +242 -0
- package/dist/sb-addons/essentials-measure-7/manager-bundle.js +3 -0
- package/dist/sb-addons/essentials-outline-8/manager-bundle.js +3 -0
- package/dist/sb-addons/essentials-toolbars-6/manager-bundle.js +3 -0
- package/dist/sb-addons/essentials-viewport-5/manager-bundle.js +3 -0
- package/dist/sb-addons/storybook-core-core-server-presets-0/common-manager-bundle.js +3 -0
- package/dist/sb-addons/storybook-experimental-addon-test-10/manager-bundle.js +223 -0
- package/dist/sb-common-assets/favicon.svg +1 -0
- package/dist/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
- package/dist/sb-common-assets/nunito-sans-bold.woff2 +0 -0
- package/dist/sb-common-assets/nunito-sans-italic.woff2 +0 -0
- package/dist/sb-common-assets/nunito-sans-regular.woff2 +0 -0
- package/dist/sb-manager/globals-module-info.js +1052 -0
- package/dist/sb-manager/globals-runtime.js +42127 -0
- package/dist/sb-manager/globals.js +48 -0
- package/dist/sb-manager/runtime.js +12048 -0
- package/package.json +24 -5
- package/src/README.md +0 -25
- package/src/assets/styles/base/_base.scss +1 -5
- package/src/assets/styles/utilities/_index.scss +19 -0
- package/src/components/core/BaseInputLabel.vue +0 -1
- package/src/components/date-pickers/CpDate.vue +8 -5
- package/src/components/inputs/CpInput.vue +5 -16
- package/src/components/inputs/CpTextarea.vue +4 -6
- package/src/components/selects/CpSelect.vue +5 -5
- package/src/stories/BaseInputLabel.stories.ts +35 -0
- package/src/stories/CpAlert.stories.ts +90 -0
- package/src/stories/CpBadge.stories.ts +158 -0
- package/src/stories/CpButton.stories.ts +134 -0
- package/src/stories/CpCheckbox.stories.ts +184 -0
- package/src/stories/CpDate.stories.ts +110 -0
- package/src/stories/CpDatepicker.stories.ts +162 -0
- package/src/stories/CpDialog.stories.ts +53 -0
- package/src/stories/CpHeading.stories.ts +77 -0
- package/src/stories/CpIcon.stories.ts +79 -0
- package/src/stories/CpInput.stories.ts +155 -0
- package/src/stories/CpLoader.stories.ts +29 -0
- package/src/stories/CpRadio.stories.ts +139 -0
- package/src/stories/CpSelect.stories.ts +147 -0
- package/src/stories/CpSelectMenu.stories.ts +132 -0
- package/src/stories/CpSwitch.stories.ts +137 -0
- package/src/stories/CpTable.stories.ts +192 -0
- package/src/stories/CpTableEmptyState.stories.ts +34 -0
- package/src/stories/CpTextarea.stories.ts +112 -0
- package/src/stories/CpToaster.stories.ts +147 -0
- package/src/stories/CpTooltip.stories.ts +101 -0
- package/src/stories/TransitionExpand.stories.ts +85 -0
- package/vitest.workspace.js +31 -0
- package/dist/pimp.es.js +0 -14987
- package/dist/pimp.umd.js +0 -12
- package/dist/style.css +0 -1
- package/src/App.vue +0 -110
- package/src/components/core/playground-sections/SectionAtomicElements.vue +0 -83
- package/src/components/core/playground-sections/SectionButtons.vue +0 -142
- package/src/components/core/playground-sections/SectionContainer.vue +0 -50
- package/src/components/core/playground-sections/SectionDatePickers.vue +0 -160
- package/src/components/core/playground-sections/SectionDialog.vue +0 -47
- package/src/components/core/playground-sections/SectionFeedbackIndicators.vue +0 -47
- package/src/components/core/playground-sections/SectionInputs.vue +0 -46
- package/src/components/core/playground-sections/SectionListsAndTables.vue +0 -268
- package/src/components/core/playground-sections/SectionSelectMenus.vue +0 -98
- package/src/components/core/playground-sections/SectionSelects.vue +0 -120
- package/src/components/core/playground-sections/SectionSimpleInputs.vue +0 -305
- package/src/components/core/playground-sections/SectionToasters.vue +0 -68
- package/src/components/core/playground-sections/SectionToggles.vue +0 -158
- package/src/components/core/playground-sections/SectionTypography.vue +0 -40
- package/src/main.js +0 -15
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<section-container section-title="Selects" class="sectionSelects">
|
|
3
|
-
<div class="sectionSelects__type">
|
|
4
|
-
<cp-heading heading-level="h3" :size="600" class="sectionSelects__title">Default</cp-heading>
|
|
5
|
-
<div class="sectionSelects__selects">
|
|
6
|
-
<cp-select v-model="selects.default" label="Default select" :options="selects.options" />
|
|
7
|
-
</div>
|
|
8
|
-
</div>
|
|
9
|
-
<div class="sectionSelects__type">
|
|
10
|
-
<cp-heading heading-level="h3" :size="600" class="sectionSelects__title">Sizes</cp-heading>
|
|
11
|
-
<div class="sectionSelects__selects">
|
|
12
|
-
<cp-select
|
|
13
|
-
v-model="selects.sizes"
|
|
14
|
-
label="Select 18px font-sized"
|
|
15
|
-
:options="selects.options"
|
|
16
|
-
style="font-size: 18px"
|
|
17
|
-
/>
|
|
18
|
-
<cp-select v-model="selects.sizes" label="Select 16px font-sized" :options="selects.options" />
|
|
19
|
-
<cp-select
|
|
20
|
-
v-model="selects.sizes"
|
|
21
|
-
label="Select 14px font-sized"
|
|
22
|
-
:options="selects.options"
|
|
23
|
-
style="font-size: 14px"
|
|
24
|
-
/>
|
|
25
|
-
<cp-select
|
|
26
|
-
v-model="selects.sizes"
|
|
27
|
-
label="Select 12px font-sized"
|
|
28
|
-
:options="selects.options"
|
|
29
|
-
style="font-size: 12px"
|
|
30
|
-
/>
|
|
31
|
-
</div>
|
|
32
|
-
</div>
|
|
33
|
-
<div class="sectionSelects__type">
|
|
34
|
-
<cp-heading heading-level="h3" :size="600" class="sectionSelects__title">Disabled</cp-heading>
|
|
35
|
-
<div class="sectionSelects__selects">
|
|
36
|
-
<cp-select v-model="selects.disabled" disabled label="Disabled select" :options="selects.options" />
|
|
37
|
-
</div>
|
|
38
|
-
</div>
|
|
39
|
-
<div class="sectionSelects__type">
|
|
40
|
-
<cp-heading heading-level="h3" :size="600" class="sectionSelects__title">With error</cp-heading>
|
|
41
|
-
<div class="sectionSelects__selects">
|
|
42
|
-
<cp-select v-model="selects.disabled" label="Select with error" :options="selects.options" is-invalid />
|
|
43
|
-
<cp-select
|
|
44
|
-
v-model="selects.disabled"
|
|
45
|
-
label="Select with error message"
|
|
46
|
-
:options="selects.options"
|
|
47
|
-
is-invalid
|
|
48
|
-
error-message="This select has an error message"
|
|
49
|
-
/>
|
|
50
|
-
<cp-select
|
|
51
|
-
v-model="selects.disabled"
|
|
52
|
-
disabled
|
|
53
|
-
label="Disabled select with error"
|
|
54
|
-
:options="selects.options"
|
|
55
|
-
is-invalid
|
|
56
|
-
error-message="This select has an error message"
|
|
57
|
-
/>
|
|
58
|
-
</div>
|
|
59
|
-
</div>
|
|
60
|
-
<div class="sectionSelects__type">
|
|
61
|
-
<cp-heading heading-level="h3" :size="600" class="sectionSelects__title">Large</cp-heading>
|
|
62
|
-
<div class="sectionSelects__selects">
|
|
63
|
-
<cp-select v-model="selects.large" is-large label="Select with error" :options="selects.options" is-invalid />
|
|
64
|
-
</div>
|
|
65
|
-
</div>
|
|
66
|
-
</section-container>
|
|
67
|
-
</template>
|
|
68
|
-
|
|
69
|
-
<script>
|
|
70
|
-
import SectionContainer from './SectionContainer.vue'
|
|
71
|
-
|
|
72
|
-
export default {
|
|
73
|
-
components: {
|
|
74
|
-
SectionContainer,
|
|
75
|
-
},
|
|
76
|
-
data() {
|
|
77
|
-
return {
|
|
78
|
-
selects: {
|
|
79
|
-
default: '',
|
|
80
|
-
sizes: '',
|
|
81
|
-
disabled: '',
|
|
82
|
-
large: '',
|
|
83
|
-
error: '',
|
|
84
|
-
options: [
|
|
85
|
-
{
|
|
86
|
-
label: 'very very long option 1',
|
|
87
|
-
value: 'first_option',
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
label: 'option 2',
|
|
91
|
-
value: 'second_option',
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
label: 'option 3',
|
|
95
|
-
value: 'third_option',
|
|
96
|
-
},
|
|
97
|
-
],
|
|
98
|
-
},
|
|
99
|
-
}
|
|
100
|
-
},
|
|
101
|
-
}
|
|
102
|
-
</script>
|
|
103
|
-
|
|
104
|
-
<style lang="scss">
|
|
105
|
-
.sectionSelects {
|
|
106
|
-
&__title {
|
|
107
|
-
margin-bottom: sp.$space-lg;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
&__selects {
|
|
111
|
-
display: flex;
|
|
112
|
-
align-items: flex-end;
|
|
113
|
-
flex-wrap: wrap;
|
|
114
|
-
|
|
115
|
-
> * {
|
|
116
|
-
margin: 0 sp.$space-lg sp.$space-lg 0;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
</style>
|
|
@@ -1,305 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="sectionSimpleInputs">
|
|
3
|
-
<div class="sectionSimpleInputs__type">
|
|
4
|
-
<cp-heading heading-level="h3" :size="600" class="sectionSimpleInputs__title">Default</cp-heading>
|
|
5
|
-
<div class="sectionSimpleInputs__inputs">
|
|
6
|
-
<cp-input v-model="inputs.default" label="Default input" type="text" placeholder="default input placeholder" />
|
|
7
|
-
</div>
|
|
8
|
-
</div>
|
|
9
|
-
<div class="sectionSimpleInputs__type">
|
|
10
|
-
<cp-heading heading-level="h3" :size="600" class="sectionSimpleInputs__title">Sizes</cp-heading>
|
|
11
|
-
<div class="sectionSimpleInputs__inputs">
|
|
12
|
-
<cp-input
|
|
13
|
-
v-model="inputs.sizes"
|
|
14
|
-
label="Input 18px font-sized"
|
|
15
|
-
placeholder="Input placeholder"
|
|
16
|
-
type="text"
|
|
17
|
-
style="font-size: 18px"
|
|
18
|
-
/>
|
|
19
|
-
<cp-input
|
|
20
|
-
v-model="inputs.sizes"
|
|
21
|
-
label="Input 16px font-sized"
|
|
22
|
-
placeholder="Input placeholder"
|
|
23
|
-
type="text"
|
|
24
|
-
style="font-size: 16px"
|
|
25
|
-
/>
|
|
26
|
-
<cp-input
|
|
27
|
-
v-model="inputs.sizes"
|
|
28
|
-
label="Input 14px font-sized"
|
|
29
|
-
placeholder="Input placeholder"
|
|
30
|
-
type="text"
|
|
31
|
-
style="font-size: 14px"
|
|
32
|
-
/>
|
|
33
|
-
<cp-input
|
|
34
|
-
v-model="inputs.sizes"
|
|
35
|
-
label="Input 12px font-sized"
|
|
36
|
-
placeholder="Input placeholder"
|
|
37
|
-
type="text"
|
|
38
|
-
style="font-size: 12px"
|
|
39
|
-
/>
|
|
40
|
-
</div>
|
|
41
|
-
</div>
|
|
42
|
-
<div class="sectionSimpleInputs__type">
|
|
43
|
-
<cp-heading heading-level="h3" :size="600" class="sectionSimpleInputs__title">With icons</cp-heading>
|
|
44
|
-
<div class="sectionSimpleInputs__inputs">
|
|
45
|
-
<cp-input
|
|
46
|
-
v-model="inputs.icons"
|
|
47
|
-
label="Input with icon before – 18px font-sized"
|
|
48
|
-
type="text"
|
|
49
|
-
placeholder="Input placeholder"
|
|
50
|
-
style="font-size: 18px"
|
|
51
|
-
>
|
|
52
|
-
<template #input-icon><cp-icon type="map-pin" /></template>
|
|
53
|
-
</cp-input>
|
|
54
|
-
<cp-input v-model="inputs.icons" label="Input with icon before" type="text" placeholder="Input placeholder">
|
|
55
|
-
<template #input-icon><cp-icon type="map-pin" /></template>
|
|
56
|
-
</cp-input>
|
|
57
|
-
<cp-input
|
|
58
|
-
v-model="inputs.icons"
|
|
59
|
-
label="Input with icon after – 14px font-sized"
|
|
60
|
-
type="text"
|
|
61
|
-
placeholder="Input placeholder"
|
|
62
|
-
style="font-size: 14px"
|
|
63
|
-
>
|
|
64
|
-
<template #input-icon-after>
|
|
65
|
-
<span>cm</span>
|
|
66
|
-
</template>
|
|
67
|
-
</cp-input>
|
|
68
|
-
</div>
|
|
69
|
-
</div>
|
|
70
|
-
<div class="sectionSimpleInputs__type">
|
|
71
|
-
<cp-heading heading-level="h3" :size="600" class="sectionSimpleInputs__title">Disabled</cp-heading>
|
|
72
|
-
<div class="sectionSimpleInputs__inputs">
|
|
73
|
-
<cp-input
|
|
74
|
-
label="Empty disabled input with icon before"
|
|
75
|
-
type="text"
|
|
76
|
-
placeholder="Input placeholder"
|
|
77
|
-
:disabled="true"
|
|
78
|
-
>
|
|
79
|
-
<template #input-icon><cp-icon type="map-pin" /></template>
|
|
80
|
-
</cp-input>
|
|
81
|
-
<cp-input
|
|
82
|
-
v-model="inputs.disabled"
|
|
83
|
-
label="Valid disabled input with icon before"
|
|
84
|
-
type="text"
|
|
85
|
-
placeholder="Input placeholder"
|
|
86
|
-
disabled
|
|
87
|
-
>
|
|
88
|
-
<template #input-icon><cp-icon type="map-pin" /></template>
|
|
89
|
-
</cp-input>
|
|
90
|
-
<cp-input
|
|
91
|
-
v-model="inputs.disabled"
|
|
92
|
-
label="Invalid disabled input with icon after"
|
|
93
|
-
type="text"
|
|
94
|
-
placeholder="Input placeholder"
|
|
95
|
-
disabled
|
|
96
|
-
is-invalid
|
|
97
|
-
>
|
|
98
|
-
<template #input-icon-after>
|
|
99
|
-
<span>cm</span>
|
|
100
|
-
</template>
|
|
101
|
-
</cp-input>
|
|
102
|
-
</div>
|
|
103
|
-
</div>
|
|
104
|
-
<div class="sectionSimpleInputs__type">
|
|
105
|
-
<cp-heading heading-level="h3" :size="600" class="sectionSimpleInputs__title">Search</cp-heading>
|
|
106
|
-
<div class="sectionSimpleInputs__inputs">
|
|
107
|
-
<cp-input
|
|
108
|
-
v-model="inputs.search"
|
|
109
|
-
is-search
|
|
110
|
-
label="Search input with clear button"
|
|
111
|
-
placeholder="Input placeholder"
|
|
112
|
-
/>
|
|
113
|
-
</div>
|
|
114
|
-
</div>
|
|
115
|
-
<div class="sectionSimpleInputs__type">
|
|
116
|
-
<cp-heading heading-level="h3" :size="600" class="sectionSimpleInputs__title">Help</cp-heading>
|
|
117
|
-
<div class="sectionSimpleInputs__inputs">
|
|
118
|
-
<cp-input
|
|
119
|
-
v-model="inputs.help"
|
|
120
|
-
tooltip="The booking reference is a 6-character alphanumeric code that can be found in the booking confirmation email or on the e-ticket itinerary."
|
|
121
|
-
label="Help input"
|
|
122
|
-
required
|
|
123
|
-
placeholder="Input placeholder"
|
|
124
|
-
help="This is a help text"
|
|
125
|
-
/>
|
|
126
|
-
<cp-input
|
|
127
|
-
v-model="inputs.help"
|
|
128
|
-
tooltip="The booking reference is a 6-character alphanumeric code that can be found in the booking confirmation email or on the e-ticket itinerary."
|
|
129
|
-
label="Help input"
|
|
130
|
-
required
|
|
131
|
-
placeholder="Input placeholder"
|
|
132
|
-
help="This is a help text"
|
|
133
|
-
is-invalid
|
|
134
|
-
error-message="This input has an error & help"
|
|
135
|
-
/>
|
|
136
|
-
</div>
|
|
137
|
-
</div>
|
|
138
|
-
<div class="sectionSimpleInputs__type">
|
|
139
|
-
<cp-heading heading-level="h3" :size="600" class="sectionSimpleInputs__title">Errors</cp-heading>
|
|
140
|
-
<div class="sectionSimpleInputs__inputs">
|
|
141
|
-
<cp-input
|
|
142
|
-
v-model="inputs.error"
|
|
143
|
-
label="Invalid input with icon before"
|
|
144
|
-
type="text"
|
|
145
|
-
placeholder="Input placeholder"
|
|
146
|
-
is-invalid
|
|
147
|
-
error-message="This input has an error"
|
|
148
|
-
>
|
|
149
|
-
<template #input-icon><cp-icon type="map-pin" /></template>
|
|
150
|
-
</cp-input>
|
|
151
|
-
<cp-input
|
|
152
|
-
v-model="inputs.error"
|
|
153
|
-
label="Invalid input with icon before"
|
|
154
|
-
type="text"
|
|
155
|
-
placeholder="Input placeholder"
|
|
156
|
-
is-invalid
|
|
157
|
-
error-message="This input has an error"
|
|
158
|
-
>
|
|
159
|
-
<template #input-icon><cp-icon type="map-pin" /></template>
|
|
160
|
-
</cp-input>
|
|
161
|
-
<cp-input
|
|
162
|
-
v-model="inputs.error"
|
|
163
|
-
label="Invalid input with icon after"
|
|
164
|
-
type="text"
|
|
165
|
-
placeholder="Input placeholder"
|
|
166
|
-
is-invalid
|
|
167
|
-
error-message="This input has an error"
|
|
168
|
-
>
|
|
169
|
-
<template #input-icon-after>
|
|
170
|
-
<span>cm</span>
|
|
171
|
-
</template>
|
|
172
|
-
</cp-input>
|
|
173
|
-
</div>
|
|
174
|
-
</div>
|
|
175
|
-
<div class="sectionSimpleInputs__type">
|
|
176
|
-
<cp-heading heading-level="h3" :size="600" class="sectionSimpleInputs__title">Hidden after icon</cp-heading>
|
|
177
|
-
<div class="sectionSimpleInputs__inputs">
|
|
178
|
-
<cp-input
|
|
179
|
-
v-model="inputs.hidden"
|
|
180
|
-
label="Input with hidden after icon + hidden invalidity icon"
|
|
181
|
-
type="text"
|
|
182
|
-
placeholder="Input placeholder"
|
|
183
|
-
hide-invalidity-icon
|
|
184
|
-
is-invalid
|
|
185
|
-
/>
|
|
186
|
-
</div>
|
|
187
|
-
</div>
|
|
188
|
-
<div class="sectionSimpleInputs__type">
|
|
189
|
-
<cp-heading heading-level="h3" :size="600" class="sectionSimpleInputs__title">Types</cp-heading>
|
|
190
|
-
<div class="sectionSimpleInputs__inputs">
|
|
191
|
-
<cp-input
|
|
192
|
-
v-model="inputs.poop"
|
|
193
|
-
label="Type number, masked ###"
|
|
194
|
-
type="number"
|
|
195
|
-
placeholder="Input placeholder"
|
|
196
|
-
mask="###"
|
|
197
|
-
/>
|
|
198
|
-
<cp-input v-model="inputs.number" label="Input type number" type="number" placeholder="Input placeholder" />
|
|
199
|
-
<cp-input
|
|
200
|
-
v-model="inputs.email"
|
|
201
|
-
required
|
|
202
|
-
label="Required input type email"
|
|
203
|
-
type="email"
|
|
204
|
-
placeholder="Input placeholder"
|
|
205
|
-
/>
|
|
206
|
-
<cp-input v-model="inputs.date" label="Input type date" type="date" placeholder="Input placeholder" />
|
|
207
|
-
<cp-input
|
|
208
|
-
v-model="inputs.password"
|
|
209
|
-
label="Input type password"
|
|
210
|
-
type="password"
|
|
211
|
-
placeholder="Input placeholder"
|
|
212
|
-
/>
|
|
213
|
-
</div>
|
|
214
|
-
</div>
|
|
215
|
-
<div class="sectionSimpleInputs__type">
|
|
216
|
-
<cp-heading heading-level="h3" :size="600" class="sectionSimpleInputs__title">Masks</cp-heading>
|
|
217
|
-
<div class="sectionSimpleInputs__inputs">
|
|
218
|
-
<cp-input
|
|
219
|
-
v-model="inputs.mask"
|
|
220
|
-
label="Date masked input"
|
|
221
|
-
type="text"
|
|
222
|
-
placeholder="00/00/0000"
|
|
223
|
-
mask="##/##/####"
|
|
224
|
-
/>
|
|
225
|
-
</div>
|
|
226
|
-
</div>
|
|
227
|
-
<div class="sectionSimpleInputs__type">
|
|
228
|
-
<cp-heading heading-level="h3" :size="600" class="sectionSimpleInputs__title">No border</cp-heading>
|
|
229
|
-
<div class="sectionSimpleInputs__inputs">
|
|
230
|
-
<cp-input
|
|
231
|
-
v-model="inputs.border"
|
|
232
|
-
label="Input without border"
|
|
233
|
-
type="text"
|
|
234
|
-
placeholder="I dont have borders"
|
|
235
|
-
remove-border
|
|
236
|
-
/>
|
|
237
|
-
<cp-input
|
|
238
|
-
v-model="inputs.border"
|
|
239
|
-
label="Input with error & without border"
|
|
240
|
-
placeholder="I dont have borders"
|
|
241
|
-
type="text"
|
|
242
|
-
remove-border
|
|
243
|
-
is-invalid
|
|
244
|
-
/>
|
|
245
|
-
</div>
|
|
246
|
-
</div>
|
|
247
|
-
<div class="sectionSimpleInputs__type">
|
|
248
|
-
<cp-heading heading-level="h3" :size="600" class="sectionSimpleInputs__title">Large</cp-heading>
|
|
249
|
-
<div class="sectionSimpleInputs__inputs">
|
|
250
|
-
<cp-input v-model="inputs.large" label="Large input" type="text" placeholder="Input placeholder" is-large />
|
|
251
|
-
<cp-input v-model="inputs.large" label="Large input" type="text" placeholder="Input placeholder" is-large>
|
|
252
|
-
<template #input-icon><cp-icon type="map-pin" /></template>
|
|
253
|
-
<template #input-icon-after>
|
|
254
|
-
<span>cm</span>
|
|
255
|
-
</template>
|
|
256
|
-
</cp-input>
|
|
257
|
-
</div>
|
|
258
|
-
</div>
|
|
259
|
-
</div>
|
|
260
|
-
</template>
|
|
261
|
-
|
|
262
|
-
<script>
|
|
263
|
-
export default {
|
|
264
|
-
data() {
|
|
265
|
-
return {
|
|
266
|
-
inputs: {
|
|
267
|
-
default: '',
|
|
268
|
-
sizes: '',
|
|
269
|
-
icons: '',
|
|
270
|
-
disabled: 'disabled',
|
|
271
|
-
search: '',
|
|
272
|
-
help: '',
|
|
273
|
-
error: '',
|
|
274
|
-
hidden: 'very long input text field that is so long I can see that icon is hidden',
|
|
275
|
-
poop: null,
|
|
276
|
-
number: null,
|
|
277
|
-
email: 'wrong email',
|
|
278
|
-
date: '',
|
|
279
|
-
password: '',
|
|
280
|
-
mask: '',
|
|
281
|
-
border: '',
|
|
282
|
-
large: '',
|
|
283
|
-
},
|
|
284
|
-
}
|
|
285
|
-
},
|
|
286
|
-
}
|
|
287
|
-
</script>
|
|
288
|
-
|
|
289
|
-
<style lang="scss">
|
|
290
|
-
.sectionSimpleInputs {
|
|
291
|
-
&__title {
|
|
292
|
-
margin-bottom: sp.$space-lg;
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
&__inputs {
|
|
296
|
-
display: flex;
|
|
297
|
-
align-items: flex-end;
|
|
298
|
-
flex-wrap: wrap;
|
|
299
|
-
|
|
300
|
-
> * {
|
|
301
|
-
margin: 0 sp.$space-lg sp.$space-lg 0;
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
</style>
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<section-container section-title="Toaster" class="sectionToaster">
|
|
3
|
-
<div class="item">
|
|
4
|
-
<cp-button @click="addUniqueToaster">Add Unique</cp-button>
|
|
5
|
-
</div>
|
|
6
|
-
<div class="item">
|
|
7
|
-
<cp-button @click="addMultipleToaster">Add Multiple</cp-button>
|
|
8
|
-
</div>
|
|
9
|
-
<div class="item">
|
|
10
|
-
<cp-button @click="addSuccessToaster">Add Success</cp-button>
|
|
11
|
-
</div>
|
|
12
|
-
<div class="item">
|
|
13
|
-
<cp-button @click="addLinkToaster">Add link</cp-button>
|
|
14
|
-
</div>
|
|
15
|
-
</section-container>
|
|
16
|
-
</template>
|
|
17
|
-
|
|
18
|
-
<script>
|
|
19
|
-
import SectionContainer from '@/components/core/playground-sections/SectionContainer.vue'
|
|
20
|
-
|
|
21
|
-
export default {
|
|
22
|
-
components: {
|
|
23
|
-
SectionContainer,
|
|
24
|
-
},
|
|
25
|
-
methods: {
|
|
26
|
-
addUniqueToaster() {
|
|
27
|
-
this.$toaster.unique({
|
|
28
|
-
title: 'Unique message published',
|
|
29
|
-
})
|
|
30
|
-
},
|
|
31
|
-
addMultipleToaster() {
|
|
32
|
-
this.$toaster.warning({
|
|
33
|
-
title: 'This is a warning toaster',
|
|
34
|
-
description: 'This a description of a toaster',
|
|
35
|
-
})
|
|
36
|
-
this.$toaster.info({
|
|
37
|
-
title: 'This is an info toaster',
|
|
38
|
-
description: 'This a description of a toaster',
|
|
39
|
-
})
|
|
40
|
-
this.$toaster.success({
|
|
41
|
-
title: 'This is a success toaster',
|
|
42
|
-
description: 'This a description of a toaster',
|
|
43
|
-
})
|
|
44
|
-
this.$toaster.critical({
|
|
45
|
-
title: 'This is a critical toaster',
|
|
46
|
-
description: 'This a description of a toaster',
|
|
47
|
-
})
|
|
48
|
-
},
|
|
49
|
-
addSuccessToaster() {
|
|
50
|
-
this.$toaster.success({
|
|
51
|
-
title: 'This is a success toaster',
|
|
52
|
-
description: 'This a description of a toaster',
|
|
53
|
-
})
|
|
54
|
-
},
|
|
55
|
-
addLinkToaster() {
|
|
56
|
-
this.$toaster.success({
|
|
57
|
-
title: 'This is a success toaster',
|
|
58
|
-
description: 'Description of a toaster with a link',
|
|
59
|
-
actionLabel: 'See flight information',
|
|
60
|
-
actionMethod: (vm) => {
|
|
61
|
-
vm.closeToaster()
|
|
62
|
-
window.open('http://app.citizenplane.com', '_blank')
|
|
63
|
-
},
|
|
64
|
-
})
|
|
65
|
-
},
|
|
66
|
-
},
|
|
67
|
-
}
|
|
68
|
-
</script>
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<section-container section-title="Toggles" class="sectionToggles">
|
|
3
|
-
<div class="item">
|
|
4
|
-
<h3>Switch</h3>
|
|
5
|
-
<span>Switch state: {{ cpSwitchState }}</span>
|
|
6
|
-
<cp-switch v-model="cpSwitchState" class="sectionToggles__switch sectionToggles__switch--isSmall" />
|
|
7
|
-
<cp-switch
|
|
8
|
-
v-model="cpSwitchState"
|
|
9
|
-
class="sectionToggles__switch"
|
|
10
|
-
:color="Colors.PURPLE"
|
|
11
|
-
label="Purple switch with label"
|
|
12
|
-
/>
|
|
13
|
-
<cp-switch
|
|
14
|
-
v-model="cpSwitchState"
|
|
15
|
-
class="sectionToggles__switch"
|
|
16
|
-
reverse-label
|
|
17
|
-
label="Default switch with reversed label"
|
|
18
|
-
/>
|
|
19
|
-
</div>
|
|
20
|
-
<div class="item">
|
|
21
|
-
<h3>Switch disabled</h3>
|
|
22
|
-
<cp-switch v-model="cpSwitchState" class="sectionToggles__switch" label="Disabled switch" disabled />
|
|
23
|
-
<cp-switch v-model="cpSwitchState" class="sectionToggles__switch" disabled />
|
|
24
|
-
<cp-switch v-model="cpSwitchState" class="sectionToggles__switch" :color="Colors.PURPLE" disabled />
|
|
25
|
-
</div>
|
|
26
|
-
<div class="item">
|
|
27
|
-
<h3>Checkbox with multiple values</h3>
|
|
28
|
-
<span>Selected value: {{ checkboxGroupSelectOption }}</span>
|
|
29
|
-
<div class="sectionToggles__toggle">
|
|
30
|
-
<cp-checkbox
|
|
31
|
-
v-for="({ label, value, disabled }, index) in checkboxGroup"
|
|
32
|
-
:key="`checkbox${index}`"
|
|
33
|
-
v-model="checkboxGroupSelectOption"
|
|
34
|
-
:checkbox-value="value"
|
|
35
|
-
:checkbox-label="label"
|
|
36
|
-
group-name="cp-checkbox"
|
|
37
|
-
:is-disabled="disabled"
|
|
38
|
-
/>
|
|
39
|
-
</div>
|
|
40
|
-
</div>
|
|
41
|
-
<div class="item">
|
|
42
|
-
<h3>Simple checkbox</h3>
|
|
43
|
-
<span>Selected value: {{ simpleCheckbox }}</span>
|
|
44
|
-
<div class="sectionToggles__toggle">
|
|
45
|
-
<cp-checkbox v-model="simpleCheckbox" checkbox-label="label" group-name="simple-checkbox" />
|
|
46
|
-
</div>
|
|
47
|
-
<div class="sectionToggles__toggle">
|
|
48
|
-
<cp-checkbox
|
|
49
|
-
v-model="simpleCheckbox"
|
|
50
|
-
checkbox-label="Purple reversed label checkbox"
|
|
51
|
-
group-name="simple-checkbox"
|
|
52
|
-
:color="Colors.PURPLE"
|
|
53
|
-
reverse-label
|
|
54
|
-
/>
|
|
55
|
-
</div>
|
|
56
|
-
<div class="sectionToggles__toggle">
|
|
57
|
-
<cp-checkbox
|
|
58
|
-
v-model="simpleCheckbox"
|
|
59
|
-
checkbox-label="label checkbox with helper"
|
|
60
|
-
group-name="simple-checkbox"
|
|
61
|
-
helper="Helper text"
|
|
62
|
-
:color="Colors.PURPLE"
|
|
63
|
-
/>
|
|
64
|
-
</div>
|
|
65
|
-
<div class="sectionToggles__toggle">
|
|
66
|
-
<cp-checkbox v-model="simpleCheckbox" group-name="simple-checkbox" :color="Colors.PURPLE">
|
|
67
|
-
<span class="sectionToggles__customLabel"><b>Custom</b> label here </span>
|
|
68
|
-
</cp-checkbox>
|
|
69
|
-
</div>
|
|
70
|
-
</div>
|
|
71
|
-
<div class="item">
|
|
72
|
-
<h3>Radio</h3>
|
|
73
|
-
<span>Selected value: {{ radioGroupSelectedOption }}</span>
|
|
74
|
-
<div class="sectionToggles__toggle">
|
|
75
|
-
<cp-radio v-model="radioGroupSelectedOption" :options="radioGroup" group-name="cp-radio" color="purple" />
|
|
76
|
-
</div>
|
|
77
|
-
</div>
|
|
78
|
-
</section-container>
|
|
79
|
-
</template>
|
|
80
|
-
|
|
81
|
-
<script>
|
|
82
|
-
import SectionContainer from '@/components/core/playground-sections/SectionContainer.vue'
|
|
83
|
-
|
|
84
|
-
import { Colors } from '@/constants'
|
|
85
|
-
|
|
86
|
-
export default {
|
|
87
|
-
components: {
|
|
88
|
-
SectionContainer,
|
|
89
|
-
},
|
|
90
|
-
data() {
|
|
91
|
-
return {
|
|
92
|
-
Colors,
|
|
93
|
-
cpSwitchState: true,
|
|
94
|
-
radioGroup: [
|
|
95
|
-
{
|
|
96
|
-
value: 'basketball',
|
|
97
|
-
label: 'Basketball',
|
|
98
|
-
description: 'default',
|
|
99
|
-
additionalData: 'default color',
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
value: 'football',
|
|
103
|
-
label: 'Football',
|
|
104
|
-
additionalData: 'disabled',
|
|
105
|
-
disabled: true,
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
value: 'handball',
|
|
109
|
-
label: 'Handball',
|
|
110
|
-
additionalData: 'More data',
|
|
111
|
-
},
|
|
112
|
-
],
|
|
113
|
-
checkboxGroup: [
|
|
114
|
-
{
|
|
115
|
-
value: 'ski',
|
|
116
|
-
label: 'Ski',
|
|
117
|
-
},
|
|
118
|
-
{
|
|
119
|
-
value: 'snowboard',
|
|
120
|
-
label: 'Snowboard',
|
|
121
|
-
disabled: true,
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
value: 'wakeboard',
|
|
125
|
-
label: 'Wake board',
|
|
126
|
-
},
|
|
127
|
-
],
|
|
128
|
-
radioGroupSelectedOption: 'football',
|
|
129
|
-
checkboxGroupSelectOption: ['snowboard'],
|
|
130
|
-
simpleCheckbox: true,
|
|
131
|
-
}
|
|
132
|
-
},
|
|
133
|
-
methods: {
|
|
134
|
-
isRadioSelected(radioValue) {
|
|
135
|
-
return radioValue === this.radioGroupSelectedOption
|
|
136
|
-
},
|
|
137
|
-
},
|
|
138
|
-
}
|
|
139
|
-
</script>
|
|
140
|
-
|
|
141
|
-
<style lang="scss">
|
|
142
|
-
.sectionToggles {
|
|
143
|
-
&__switch {
|
|
144
|
-
&:not(:last-child) {
|
|
145
|
-
margin-bottom: sp.$space;
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
&--isSmall {
|
|
149
|
-
font-size: fn.px-to-em(12);
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
&__customLabel {
|
|
154
|
-
font-size: fn.px-to-em(14);
|
|
155
|
-
line-height: fn.px-to-rem(24);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
</style>
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<section-container section-title="Typography" class="sectionTypography">
|
|
3
|
-
<div class="item sectionTypography__headings">
|
|
4
|
-
<cp-heading :size="800">Headings</cp-heading>
|
|
5
|
-
<cp-heading
|
|
6
|
-
v-for="(heading, index) in headings"
|
|
7
|
-
:key="index"
|
|
8
|
-
:size="heading"
|
|
9
|
-
heading-level="h3"
|
|
10
|
-
class="sectionTypography__heading"
|
|
11
|
-
>
|
|
12
|
-
{{ heading }}: The quick brown fox jumps over the lazy dog
|
|
13
|
-
</cp-heading>
|
|
14
|
-
</div>
|
|
15
|
-
</section-container>
|
|
16
|
-
</template>
|
|
17
|
-
|
|
18
|
-
<script>
|
|
19
|
-
import SectionContainer from '@/components/core/playground-sections/SectionContainer.vue'
|
|
20
|
-
|
|
21
|
-
export default {
|
|
22
|
-
components: {
|
|
23
|
-
SectionContainer,
|
|
24
|
-
},
|
|
25
|
-
data() {
|
|
26
|
-
return {
|
|
27
|
-
headings: [100, 200, 300, 400, 500, 600, 700, 800, 900],
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
}
|
|
31
|
-
</script>
|
|
32
|
-
|
|
33
|
-
<style lang="scss">
|
|
34
|
-
.sectionTypography {
|
|
35
|
-
&__heading {
|
|
36
|
-
align-self: flex-start;
|
|
37
|
-
text-align: left;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
</style>
|