@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.
Files changed (173) hide show
  1. package/README.md +0 -2
  2. package/dist/assets/BaseInputLabel-B6HBeOYW.css +1 -0
  3. package/dist/assets/BaseInputLabel-BKfOnmKd.js +1 -0
  4. package/dist/assets/BaseInputLabel.stories-B3jMVrza.js +28 -0
  5. package/dist/assets/Color-YHDXOIA2-CfioBzZb.js +1 -0
  6. package/dist/assets/Colors-mWZwWrlN.js +1 -0
  7. package/dist/assets/CpAlert-6hd7PZeZ.js +1 -0
  8. package/dist/assets/CpAlert-BW1Zf1Km.css +1 -0
  9. package/dist/assets/CpAlert.stories-CcK6sLCO.js +58 -0
  10. package/dist/assets/CpBadge-BRRUYYEk.js +1 -0
  11. package/dist/assets/CpBadge-CE420vX2.css +1 -0
  12. package/dist/assets/CpBadge.stories-Btggeh1U.js +170 -0
  13. package/dist/assets/CpButton-DQb7zTje.js +1 -0
  14. package/dist/assets/CpButton-gbl9KLuG.css +1 -0
  15. package/dist/assets/CpButton.stories-Chy_2ILm.js +86 -0
  16. package/dist/assets/CpCheckbox-Dalwqglu.js +1 -0
  17. package/dist/assets/CpCheckbox-DdQW6Gbc.css +1 -0
  18. package/dist/assets/CpCheckbox.stories-BEtAkjE-.js +167 -0
  19. package/dist/assets/CpDate-BdnXxnGQ.css +1 -0
  20. package/dist/assets/CpDate-DdtWXX2Q.js +3 -0
  21. package/dist/assets/CpDate.stories-C2Jg2QqC.js +59 -0
  22. package/dist/assets/CpDatepicker-DlzMF4b8.js +5 -0
  23. package/dist/assets/CpDatepicker-DqugfF5T.css +1 -0
  24. package/dist/assets/CpDatepicker.stories-CvOQvZYr.js +83 -0
  25. package/dist/assets/CpDialog-BTJusbSJ.js +1 -0
  26. package/dist/assets/CpDialog-BeuM9Ffk.css +1 -0
  27. package/dist/assets/CpDialog.stories-jA8uhNJR.js +43 -0
  28. package/dist/assets/CpHeading-BfoX1SIY.js +1 -0
  29. package/dist/assets/CpHeading-DgViCnDE.css +1 -0
  30. package/dist/assets/CpHeading.stories-DYb8vPG0.js +85 -0
  31. package/dist/assets/CpIcon-CdMV7BxY.css +1 -0
  32. package/dist/assets/CpIcon-DjtGpusx.js +5 -0
  33. package/dist/assets/CpIcon.stories-Cavk2BnC.js +47 -0
  34. package/dist/assets/CpInput-BT29xZan.js +1 -0
  35. package/dist/assets/CpInput-CAegPnB6.css +1 -0
  36. package/dist/assets/CpInput.stories-BbBe4bFT.js +98 -0
  37. package/dist/assets/CpLoader-B--Vqrhj.js +1 -0
  38. package/dist/assets/CpLoader.stories-CZ0hlfa2.js +10 -0
  39. package/dist/assets/CpRadio-C7OtLwPR.js +1 -0
  40. package/dist/assets/CpRadio-DiUdGJPg.css +1 -0
  41. package/dist/assets/CpRadio.stories-DPcn2bvJ.js +132 -0
  42. package/dist/assets/CpSelect-DlLk_-bg.js +1 -0
  43. package/dist/assets/CpSelect-HpT9AKcz.css +1 -0
  44. package/dist/assets/CpSelect.stories-C90Kd5cu.js +85 -0
  45. package/dist/assets/CpSelectMenu-Bpz33Tbp.js +1 -0
  46. package/dist/assets/CpSelectMenu-Dw4sbiEj.css +1 -0
  47. package/dist/assets/CpSelectMenu.stories-Bw2sNo0F.js +104 -0
  48. package/dist/assets/CpSwitch-CIWoB1sY.css +1 -0
  49. package/dist/assets/CpSwitch-CeGY7EL9.js +1 -0
  50. package/dist/assets/CpSwitch.stories-DbepH0R0.js +132 -0
  51. package/dist/assets/CpTable-BN6Amfsc.css +1 -0
  52. package/dist/assets/CpTable-RA2YDd8h.js +1 -0
  53. package/dist/assets/CpTable.stories-Dgc6tAkl.js +151 -0
  54. package/dist/assets/CpTableEmptyState-DLgi2hhT.css +1 -0
  55. package/dist/assets/CpTableEmptyState-TCjommO_.js +1 -0
  56. package/dist/assets/CpTableEmptyState.stories-C2oOfeda.js +20 -0
  57. package/dist/assets/CpTextarea-CzC-Bjsy.css +1 -0
  58. package/dist/assets/CpTextarea-HUf2FbPC.js +1 -0
  59. package/dist/assets/CpTextarea.stories-_17UyFSg.js +64 -0
  60. package/dist/assets/CpToaster-BXpKEwda.css +1 -0
  61. package/dist/assets/CpToaster-D9ITJUky.js +1 -0
  62. package/dist/assets/CpToaster.stories-BhEsau9e.js +124 -0
  63. package/dist/assets/CpTooltip-BIIOHaoi.css +1 -0
  64. package/dist/assets/CpTooltip-CD0Q4ym2.js +1 -0
  65. package/dist/assets/CpTooltip.stories-acOxur2H.js +121 -0
  66. package/dist/assets/DocsRenderer-CFRXHY34-Do1gGJEp.js +623 -0
  67. package/dist/assets/Intent-UfUixXOL.js +1 -0
  68. package/dist/assets/ToggleColors-CSr2zujL.js +1 -0
  69. package/dist/assets/TransitionExpand-BHMSqajW.css +1 -0
  70. package/dist/assets/TransitionExpand-BLDnMZa8.js +1 -0
  71. package/dist/assets/TransitionExpand.stories-5x0MQdG_.js +121 -0
  72. package/dist/assets/_commonjsHelpers-CqkleIqs.js +1 -0
  73. package/dist/assets/_plugin-vue_export-helper-DlAUqK2U.js +1 -0
  74. package/dist/assets/anime.esm-RriTVqCw.js +8 -0
  75. package/dist/assets/entry-preview-CE4fSG5C.js +1 -0
  76. package/dist/assets/entry-preview-docs-DMfJ0ifx.js +16 -0
  77. package/dist/assets/iframe-DLKLJnYS.js +211 -0
  78. package/dist/assets/index-Bx-go_-4.js +8 -0
  79. package/dist/assets/index-CtrtR6PF.js +1 -0
  80. package/dist/assets/index-DCv8Njl6.js +1 -0
  81. package/dist/assets/index-DrFu-skq.js +6 -0
  82. package/dist/assets/preview-B8lJiyuQ.js +34 -0
  83. package/dist/assets/preview-BBWR9nbA.js +1 -0
  84. package/dist/assets/preview-BWzBA1C2.js +396 -0
  85. package/dist/assets/preview-CHl-kSbv.js +2 -0
  86. package/dist/assets/preview-CIuMKJn5.js +240 -0
  87. package/dist/assets/preview-CvbIS5ZJ.js +1 -0
  88. package/dist/assets/preview-D2UkcbT2.js +3 -0
  89. package/dist/assets/preview-DD_OYowb.js +1 -0
  90. package/dist/assets/preview-DGUiP6tS.js +7 -0
  91. package/dist/assets/preview-OgCpecWL.css +1 -0
  92. package/dist/assets/vue.esm-bundler-DmHyoj4Y.js +36 -0
  93. package/dist/favicon.svg +1 -0
  94. package/dist/iframe.html +666 -0
  95. package/dist/index.html +177 -0
  96. package/dist/index.json +1 -0
  97. package/dist/nunito-sans-bold-italic.woff2 +0 -0
  98. package/dist/nunito-sans-bold.woff2 +0 -0
  99. package/dist/nunito-sans-italic.woff2 +0 -0
  100. package/dist/nunito-sans-regular.woff2 +0 -0
  101. package/dist/project.json +1 -0
  102. package/dist/sb-addons/chromatic-com-storybook-9/manager-bundle.js +331 -0
  103. package/dist/sb-addons/chromatic-com-storybook-9/manager-bundle.js.LEGAL.txt +51 -0
  104. package/dist/sb-addons/essentials-actions-2/manager-bundle.js +3 -0
  105. package/dist/sb-addons/essentials-backgrounds-4/manager-bundle.js +12 -0
  106. package/dist/sb-addons/essentials-controls-1/manager-bundle.js +402 -0
  107. package/dist/sb-addons/essentials-docs-3/manager-bundle.js +242 -0
  108. package/dist/sb-addons/essentials-measure-7/manager-bundle.js +3 -0
  109. package/dist/sb-addons/essentials-outline-8/manager-bundle.js +3 -0
  110. package/dist/sb-addons/essentials-toolbars-6/manager-bundle.js +3 -0
  111. package/dist/sb-addons/essentials-viewport-5/manager-bundle.js +3 -0
  112. package/dist/sb-addons/storybook-core-core-server-presets-0/common-manager-bundle.js +3 -0
  113. package/dist/sb-addons/storybook-experimental-addon-test-10/manager-bundle.js +223 -0
  114. package/dist/sb-common-assets/favicon.svg +1 -0
  115. package/dist/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
  116. package/dist/sb-common-assets/nunito-sans-bold.woff2 +0 -0
  117. package/dist/sb-common-assets/nunito-sans-italic.woff2 +0 -0
  118. package/dist/sb-common-assets/nunito-sans-regular.woff2 +0 -0
  119. package/dist/sb-manager/globals-module-info.js +1052 -0
  120. package/dist/sb-manager/globals-runtime.js +42127 -0
  121. package/dist/sb-manager/globals.js +48 -0
  122. package/dist/sb-manager/runtime.js +12048 -0
  123. package/package.json +24 -5
  124. package/src/README.md +0 -25
  125. package/src/assets/styles/base/_base.scss +1 -5
  126. package/src/assets/styles/utilities/_index.scss +19 -0
  127. package/src/components/core/BaseInputLabel.vue +0 -1
  128. package/src/components/date-pickers/CpDate.vue +8 -5
  129. package/src/components/inputs/CpInput.vue +5 -16
  130. package/src/components/inputs/CpTextarea.vue +4 -6
  131. package/src/components/selects/CpSelect.vue +5 -5
  132. package/src/stories/BaseInputLabel.stories.ts +35 -0
  133. package/src/stories/CpAlert.stories.ts +90 -0
  134. package/src/stories/CpBadge.stories.ts +158 -0
  135. package/src/stories/CpButton.stories.ts +134 -0
  136. package/src/stories/CpCheckbox.stories.ts +184 -0
  137. package/src/stories/CpDate.stories.ts +110 -0
  138. package/src/stories/CpDatepicker.stories.ts +162 -0
  139. package/src/stories/CpDialog.stories.ts +53 -0
  140. package/src/stories/CpHeading.stories.ts +77 -0
  141. package/src/stories/CpIcon.stories.ts +79 -0
  142. package/src/stories/CpInput.stories.ts +155 -0
  143. package/src/stories/CpLoader.stories.ts +29 -0
  144. package/src/stories/CpRadio.stories.ts +139 -0
  145. package/src/stories/CpSelect.stories.ts +147 -0
  146. package/src/stories/CpSelectMenu.stories.ts +132 -0
  147. package/src/stories/CpSwitch.stories.ts +137 -0
  148. package/src/stories/CpTable.stories.ts +192 -0
  149. package/src/stories/CpTableEmptyState.stories.ts +34 -0
  150. package/src/stories/CpTextarea.stories.ts +112 -0
  151. package/src/stories/CpToaster.stories.ts +147 -0
  152. package/src/stories/CpTooltip.stories.ts +101 -0
  153. package/src/stories/TransitionExpand.stories.ts +85 -0
  154. package/vitest.workspace.js +31 -0
  155. package/dist/pimp.es.js +0 -14987
  156. package/dist/pimp.umd.js +0 -12
  157. package/dist/style.css +0 -1
  158. package/src/App.vue +0 -110
  159. package/src/components/core/playground-sections/SectionAtomicElements.vue +0 -83
  160. package/src/components/core/playground-sections/SectionButtons.vue +0 -142
  161. package/src/components/core/playground-sections/SectionContainer.vue +0 -50
  162. package/src/components/core/playground-sections/SectionDatePickers.vue +0 -160
  163. package/src/components/core/playground-sections/SectionDialog.vue +0 -47
  164. package/src/components/core/playground-sections/SectionFeedbackIndicators.vue +0 -47
  165. package/src/components/core/playground-sections/SectionInputs.vue +0 -46
  166. package/src/components/core/playground-sections/SectionListsAndTables.vue +0 -268
  167. package/src/components/core/playground-sections/SectionSelectMenus.vue +0 -98
  168. package/src/components/core/playground-sections/SectionSelects.vue +0 -120
  169. package/src/components/core/playground-sections/SectionSimpleInputs.vue +0 -305
  170. package/src/components/core/playground-sections/SectionToasters.vue +0 -68
  171. package/src/components/core/playground-sections/SectionToggles.vue +0 -158
  172. package/src/components/core/playground-sections/SectionTypography.vue +0 -40
  173. 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>