@muenchen/muc-patternlab-vue 1.13.0-beta.6 → 1.13.0-beta.8

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 (212) hide show
  1. package/components/Banner/MucBanner.stories.d.ts +70 -0
  2. package/components/Banner/MucBanner.vue.d.ts +37 -0
  3. package/components/BuisnessHours/BusinessHours.stories.d.ts +80 -0
  4. package/components/BuisnessHours/MucBusinessHours.vue.d.ts +56 -0
  5. package/components/Button/MucButton.stories.d.ts +114 -0
  6. package/{dist/components → components}/Button/MucButton.vue.d.ts +23 -43
  7. package/components/Callout/MucCallout.stories.d.ts +77 -0
  8. package/components/Callout/MucCallout.vue.d.ts +57 -0
  9. package/components/Card/MucCard.stories.d.ts +117 -0
  10. package/components/Card/MucCard.vue.d.ts +42 -0
  11. package/components/Card/MucCardContainer.stories.d.ts +124 -0
  12. package/components/Card/MucCardContainer.vue.d.ts +24 -0
  13. package/components/Comment/MucComment.stories.d.ts +82 -0
  14. package/components/Comment/MucComment.vue.d.ts +89 -0
  15. package/components/Comment/MucCommentText.stories.d.ts +51 -0
  16. package/components/Comment/MucCommentText.vue.d.ts +24 -0
  17. package/{dist/components → components}/Divider/MucDivider.stories.d.ts +1 -1
  18. package/{dist/components → components}/Divider/MucDivider.vue.d.ts +1 -1
  19. package/components/Form/MucCheckbox.stories.d.ts +33 -0
  20. package/components/Form/MucCheckbox.vue.d.ts +18 -0
  21. package/components/Form/MucCheckboxGroup.stories.d.ts +188 -0
  22. package/components/Form/MucCheckboxGroup.vue.d.ts +42 -0
  23. package/components/Form/MucCounter.stories.d.ts +63 -0
  24. package/components/Form/MucCounter.vue.d.ts +33 -0
  25. package/components/Form/MucErrorList.stories.d.ts +31 -0
  26. package/components/Form/MucErrorList.vue.d.ts +8 -0
  27. package/components/Form/MucInput.stories.d.ts +165 -0
  28. package/{dist/components → components}/Form/MucInput.vue.d.ts +23 -42
  29. package/components/Form/MucRadioButton.stories.d.ts +104 -0
  30. package/components/Form/MucRadioButton.vue.d.ts +38 -0
  31. package/components/Form/MucRadioButtonGroup.vue.d.ts +38 -0
  32. package/components/Form/MucSelect.stories.d.ts +82 -0
  33. package/components/Form/MucSelect.vue.d.ts +40 -0
  34. package/components/Form/MucSelectItem.vue.d.ts +9 -0
  35. package/components/Form/MucSelectTypes.d.ts +7 -0
  36. package/components/Form/MucTextArea.stories.d.ts +64 -0
  37. package/components/Form/MucTextArea.vue.d.ts +38 -0
  38. package/components/Icon/MucIcon.stories.d.ts +33 -0
  39. package/components/Icon/MucIcon.vue.d.ts +20 -0
  40. package/components/Intro/MucIntro.stories.d.ts +61 -0
  41. package/components/Intro/MucIntro.vue.d.ts +50 -0
  42. package/components/Link/MucLink.stories.d.ts +83 -0
  43. package/components/Link/MucLink.vue.d.ts +72 -0
  44. package/components/PercentageSpinner/MucPercentageSpinner.stories.d.ts +32 -0
  45. package/components/PercentageSpinner/MucPercentageSpinner.vue.d.ts +30 -0
  46. package/components/PercentageSpinner/index.d.ts +2 -0
  47. package/{dist/components → components}/index.d.ts +2 -1
  48. package/muc-patternlab-vue.es.js +1003 -0
  49. package/package.json +4 -7
  50. package/{dist/style.css → style.css} +1 -1
  51. package/LICENSE +0 -21
  52. package/README.md +0 -111
  53. package/dist/components/Banner/MucBanner.stories.d.ts +0 -82
  54. package/dist/components/Banner/MucBanner.vue.d.ts +0 -54
  55. package/dist/components/BuisnessHours/BusinessHours.stories.d.ts +0 -116
  56. package/dist/components/BuisnessHours/MucBusinessHours.vue.d.ts +0 -74
  57. package/dist/components/Button/MucButton.stories.d.ts +0 -158
  58. package/dist/components/Callout/MucCallout.stories.d.ts +0 -89
  59. package/dist/components/Callout/MucCallout.vue.d.ts +0 -73
  60. package/dist/components/Card/MucCard.stories.d.ts +0 -165
  61. package/dist/components/Card/MucCard.vue.d.ts +0 -46
  62. package/dist/components/Card/MucCardContainer.stories.d.ts +0 -148
  63. package/dist/components/Card/MucCardContainer.vue.d.ts +0 -19
  64. package/dist/components/Comment/MucComment.stories.d.ts +0 -106
  65. package/dist/components/Comment/MucComment.vue.d.ts +0 -105
  66. package/dist/components/Comment/MucCommentText.stories.d.ts +0 -93
  67. package/dist/components/Comment/MucCommentText.vue.d.ts +0 -47
  68. package/dist/components/Form/MucCheckbox.stories.d.ts +0 -40
  69. package/dist/components/Form/MucCheckbox.vue.d.ts +0 -26
  70. package/dist/components/Form/MucCheckboxGroup.stories.d.ts +0 -241
  71. package/dist/components/Form/MucCheckboxGroup.vue.d.ts +0 -46
  72. package/dist/components/Form/MucCounter.stories.d.ts +0 -89
  73. package/dist/components/Form/MucCounter.vue.d.ts +0 -54
  74. package/dist/components/Form/MucErrorList.stories.d.ts +0 -41
  75. package/dist/components/Form/MucErrorList.vue.d.ts +0 -17
  76. package/dist/components/Form/MucInput.stories.d.ts +0 -239
  77. package/dist/components/Form/MucRadioButton.stories.d.ts +0 -168
  78. package/dist/components/Form/MucRadioButton.vue.d.ts +0 -59
  79. package/dist/components/Form/MucRadioButtonGroup.vue.d.ts +0 -54
  80. package/dist/components/Form/MucSelect.stories.d.ts +0 -81
  81. package/dist/components/Form/MucSelect.vue.d.ts +0 -57
  82. package/dist/components/Form/MucTextArea.stories.d.ts +0 -94
  83. package/dist/components/Form/MucTextArea.vue.d.ts +0 -61
  84. package/dist/components/Icon/MucIcon.stories.d.ts +0 -43
  85. package/dist/components/Icon/MucIcon.vue.d.ts +0 -29
  86. package/dist/components/Intro/MucIntro.stories.d.ts +0 -97
  87. package/dist/components/Intro/MucIntro.vue.d.ts +0 -54
  88. package/dist/components/Link/MucLink.stories.d.ts +0 -139
  89. package/dist/components/Link/MucLink.vue.d.ts +0 -92
  90. package/dist/muc-patternlab-vue.es.js +0 -937
  91. package/src/components/Banner/MucBanner.stories.ts +0 -47
  92. package/src/components/Banner/MucBanner.vue +0 -109
  93. package/src/components/Banner/index.ts +0 -3
  94. package/src/components/BuisnessHours/BusinessHourType.ts +0 -28
  95. package/src/components/BuisnessHours/BusinessHours.stories.ts +0 -108
  96. package/src/components/BuisnessHours/MucBusinessHours.vue +0 -162
  97. package/src/components/Button/MucButton.stories.ts +0 -63
  98. package/src/components/Button/MucButton.vue +0 -89
  99. package/src/components/Button/index.ts +0 -3
  100. package/src/components/Callout/MucCallout.stories.ts +0 -49
  101. package/src/components/Callout/MucCallout.vue +0 -140
  102. package/src/components/Callout/index.ts +0 -3
  103. package/src/components/Card/MucCard.stories.ts +0 -55
  104. package/src/components/Card/MucCard.vue +0 -92
  105. package/src/components/Card/MucCardContainer.stories.ts +0 -43
  106. package/src/components/Card/MucCardContainer.vue +0 -37
  107. package/src/components/Card/index.ts +0 -4
  108. package/src/components/Comment/CommentType.ts +0 -3
  109. package/src/components/Comment/MucComment.stories.ts +0 -38
  110. package/src/components/Comment/MucComment.vue +0 -179
  111. package/src/components/Comment/MucCommentText.stories.ts +0 -38
  112. package/src/components/Comment/MucCommentText.vue +0 -61
  113. package/src/components/Comment/index.ts +0 -4
  114. package/src/components/Divider/MucDivider.stories.ts +0 -19
  115. package/src/components/Divider/MucDivider.vue +0 -9
  116. package/src/components/Divider/index.ts +0 -3
  117. package/src/components/Form/MucCheckbox.stories.ts +0 -25
  118. package/src/components/Form/MucCheckbox.vue +0 -47
  119. package/src/components/Form/MucCheckboxGroup.stories.ts +0 -43
  120. package/src/components/Form/MucCheckboxGroup.vue +0 -80
  121. package/src/components/Form/MucCounter.stories.ts +0 -47
  122. package/src/components/Form/MucCounter.vue +0 -128
  123. package/src/components/Form/MucErrorList.stories.ts +0 -31
  124. package/src/components/Form/MucErrorList.vue +0 -34
  125. package/src/components/Form/MucInput.stories.ts +0 -90
  126. package/src/components/Form/MucInput.vue +0 -198
  127. package/src/components/Form/MucRadioButton.stories.ts +0 -32
  128. package/src/components/Form/MucRadioButton.vue +0 -81
  129. package/src/components/Form/MucRadioButtonGroup.vue +0 -65
  130. package/src/components/Form/MucRadioButtonTypes.ts +0 -41
  131. package/src/components/Form/MucSelect.stories.ts +0 -34
  132. package/src/components/Form/MucSelect.vue +0 -276
  133. package/src/components/Form/MucTextArea.stories.ts +0 -47
  134. package/src/components/Form/MucTextArea.vue +0 -80
  135. package/src/components/Form/index.ts +0 -23
  136. package/src/components/Icon/MucIcon.stories.ts +0 -35
  137. package/src/components/Icon/MucIcon.vue +0 -29
  138. package/src/components/Icon/index.ts +0 -3
  139. package/src/components/Intro/MucIntro.stories.ts +0 -37
  140. package/src/components/Intro/MucIntro.vue +0 -70
  141. package/src/components/Intro/index.ts +0 -3
  142. package/src/components/Link/MucLink.stories.ts +0 -36
  143. package/src/components/Link/MucLink.vue +0 -74
  144. package/src/components/Link/index.ts +0 -3
  145. package/src/components/index.ts +0 -43
  146. package/src/composables/useOnClickOutside.ts +0 -24
  147. package/src/index.ts +0 -14
  148. /package/{dist/assets → assets}/fonts/open-sans/open-sans-v27-latin-700.eot +0 -0
  149. /package/{dist/assets → assets}/fonts/open-sans/open-sans-v27-latin-700.svg +0 -0
  150. /package/{dist/assets → assets}/fonts/open-sans/open-sans-v27-latin-700.ttf +0 -0
  151. /package/{dist/assets → assets}/fonts/open-sans/open-sans-v27-latin-700.woff +0 -0
  152. /package/{dist/assets → assets}/fonts/open-sans/open-sans-v27-latin-700.woff2 +0 -0
  153. /package/{dist/assets → assets}/fonts/open-sans/open-sans-v27-latin-italic.eot +0 -0
  154. /package/{dist/assets → assets}/fonts/open-sans/open-sans-v27-latin-italic.svg +0 -0
  155. /package/{dist/assets → assets}/fonts/open-sans/open-sans-v27-latin-italic.ttf +0 -0
  156. /package/{dist/assets → assets}/fonts/open-sans/open-sans-v27-latin-italic.woff +0 -0
  157. /package/{dist/assets → assets}/fonts/open-sans/open-sans-v27-latin-italic.woff2 +0 -0
  158. /package/{dist/assets → assets}/fonts/open-sans/open-sans-v27-latin-regular.eot +0 -0
  159. /package/{dist/assets → assets}/fonts/open-sans/open-sans-v27-latin-regular.svg +0 -0
  160. /package/{dist/assets → assets}/fonts/open-sans/open-sans-v27-latin-regular.ttf +0 -0
  161. /package/{dist/assets → assets}/fonts/open-sans/open-sans-v27-latin-regular.woff +0 -0
  162. /package/{dist/assets → assets}/fonts/open-sans/open-sans-v27-latin-regular.woff2 +0 -0
  163. /package/{dist/assets → assets}/fonts/roboto-condensed/roboto-condensed-v19-latin-300.eot +0 -0
  164. /package/{dist/assets → assets}/fonts/roboto-condensed/roboto-condensed-v19-latin-300.svg +0 -0
  165. /package/{dist/assets → assets}/fonts/roboto-condensed/roboto-condensed-v19-latin-300.ttf +0 -0
  166. /package/{dist/assets → assets}/fonts/roboto-condensed/roboto-condensed-v19-latin-300.woff +0 -0
  167. /package/{dist/assets → assets}/fonts/roboto-condensed/roboto-condensed-v19-latin-300.woff2 +0 -0
  168. /package/{dist/assets → assets}/fonts/roboto-condensed/roboto-condensed-v19-latin-300italic.eot +0 -0
  169. /package/{dist/assets → assets}/fonts/roboto-condensed/roboto-condensed-v19-latin-300italic.svg +0 -0
  170. /package/{dist/assets → assets}/fonts/roboto-condensed/roboto-condensed-v19-latin-300italic.ttf +0 -0
  171. /package/{dist/assets → assets}/fonts/roboto-condensed/roboto-condensed-v19-latin-300italic.woff +0 -0
  172. /package/{dist/assets → assets}/fonts/roboto-condensed/roboto-condensed-v19-latin-300italic.woff2 +0 -0
  173. /package/{dist/assets → assets}/fonts/roboto-condensed/roboto-condensed-v19-latin-700.eot +0 -0
  174. /package/{dist/assets → assets}/fonts/roboto-condensed/roboto-condensed-v19-latin-700.svg +0 -0
  175. /package/{dist/assets → assets}/fonts/roboto-condensed/roboto-condensed-v19-latin-700.ttf +0 -0
  176. /package/{dist/assets → assets}/fonts/roboto-condensed/roboto-condensed-v19-latin-700.woff +0 -0
  177. /package/{dist/assets → assets}/fonts/roboto-condensed/roboto-condensed-v19-latin-700.woff2 +0 -0
  178. /package/{dist/assets → assets}/fonts/roboto-condensed/roboto-condensed-v19-latin-700italic.eot +0 -0
  179. /package/{dist/assets → assets}/fonts/roboto-condensed/roboto-condensed-v19-latin-700italic.svg +0 -0
  180. /package/{dist/assets → assets}/fonts/roboto-condensed/roboto-condensed-v19-latin-700italic.ttf +0 -0
  181. /package/{dist/assets → assets}/fonts/roboto-condensed/roboto-condensed-v19-latin-700italic.woff +0 -0
  182. /package/{dist/assets → assets}/fonts/roboto-condensed/roboto-condensed-v19-latin-700italic.woff2 +0 -0
  183. /package/{dist/assets → assets}/fonts/roboto-condensed/roboto-condensed-v19-latin-italic.eot +0 -0
  184. /package/{dist/assets → assets}/fonts/roboto-condensed/roboto-condensed-v19-latin-italic.svg +0 -0
  185. /package/{dist/assets → assets}/fonts/roboto-condensed/roboto-condensed-v19-latin-italic.ttf +0 -0
  186. /package/{dist/assets → assets}/fonts/roboto-condensed/roboto-condensed-v19-latin-italic.woff +0 -0
  187. /package/{dist/assets → assets}/fonts/roboto-condensed/roboto-condensed-v19-latin-italic.woff2 +0 -0
  188. /package/{dist/assets → assets}/fonts/roboto-condensed/roboto-condensed-v19-latin-regular.eot +0 -0
  189. /package/{dist/assets → assets}/fonts/roboto-condensed/roboto-condensed-v19-latin-regular.svg +0 -0
  190. /package/{dist/assets → assets}/fonts/roboto-condensed/roboto-condensed-v19-latin-regular.ttf +0 -0
  191. /package/{dist/assets → assets}/fonts/roboto-condensed/roboto-condensed-v19-latin-regular.woff +0 -0
  192. /package/{dist/assets → assets}/fonts/roboto-condensed/roboto-condensed-v19-latin-regular.woff2 +0 -0
  193. /package/{dist/assets → assets}/temporary/custom-icons.svg +0 -0
  194. /package/{dist/assets → assets}/temporary/custom-style.css +0 -0
  195. /package/{dist/assets → assets}/temporary/muc-icons.svg +0 -0
  196. /package/{dist/assets → assets}/temporary/muenchende-fontfaces.css +0 -0
  197. /package/{dist/assets → assets}/temporary/muenchende-style.css +0 -0
  198. /package/{dist/components → components}/Banner/index.d.ts +0 -0
  199. /package/{dist/components → components}/BuisnessHours/BusinessHourType.d.ts +0 -0
  200. /package/{dist/components → components}/Button/index.d.ts +0 -0
  201. /package/{dist/components → components}/Callout/index.d.ts +0 -0
  202. /package/{dist/components → components}/Card/index.d.ts +0 -0
  203. /package/{dist/components → components}/Comment/CommentType.d.ts +0 -0
  204. /package/{dist/components → components}/Comment/index.d.ts +0 -0
  205. /package/{dist/components → components}/Divider/index.d.ts +0 -0
  206. /package/{dist/components → components}/Form/MucRadioButtonTypes.d.ts +0 -0
  207. /package/{dist/components → components}/Form/index.d.ts +0 -0
  208. /package/{dist/components → components}/Icon/index.d.ts +0 -0
  209. /package/{dist/components → components}/Intro/index.d.ts +0 -0
  210. /package/{dist/components → components}/Link/index.d.ts +0 -0
  211. /package/{dist/composables → composables}/useOnClickOutside.d.ts +0 -0
  212. /package/{dist/index.d.ts → index.d.ts} +0 -0
@@ -1,276 +0,0 @@
1
- <template>
2
- <div
3
- class="m-form-group"
4
- ref="selectComponentRef"
5
- >
6
- <label class="m-label">
7
- {{ label }}
8
- </label>
9
- <div
10
- class="m-input-wrapper"
11
- :class="selectType"
12
- >
13
- <input
14
- type="text"
15
- class="m-input m-combobox m-combobox--single"
16
- v-model="searchValue"
17
- @click="openItemList"
18
- />
19
- <span
20
- class="m-input__trigger"
21
- @click="toggleItemList"
22
- >
23
- <svg
24
- aria-hidden="true"
25
- class="icon"
26
- >
27
- <use xlink:href="#icon-chevron-down"></use>
28
- </svg>
29
- <span class="visually-hidden">Auswahlliste öffnen</span>
30
- </span>
31
- <ul
32
- class="listbox"
33
- :class="displayOptions"
34
- @mouseleave="emptyActiveItem"
35
- >
36
- <li
37
- v-for="(option, index) in displayedItems"
38
- :key="index"
39
- class="option"
40
- @mouseenter="activeItem = option"
41
- :class="[isActiveClass(option), isSelectedClass(option)]"
42
- @click="clicked(option)"
43
- >
44
- {{ option }}
45
- </li>
46
- <li
47
- v-if="noItemsFound"
48
- class="option"
49
- >
50
- {{ noItemFoundMessage }}
51
- </li>
52
- </ul>
53
- </div>
54
- <p
55
- v-if="!!hint"
56
- class="m-hint"
57
- >
58
- {{ hint }}
59
- </p>
60
- </div>
61
- </template>
62
-
63
- <script setup lang="ts">
64
- import { computed, ref, watch } from "vue";
65
-
66
- import useOnClickOutside from "../../composables/useOnClickOutside";
67
-
68
- /**
69
- * Ref ot the component
70
- */
71
- const selectComponentRef = ref();
72
-
73
- /**
74
- * Exposed selected value / values
75
- */
76
- const selectedValues = defineModel<string | string[]>("modelValue", {
77
- default: [],
78
- });
79
-
80
- /**
81
- * If list of items is shown
82
- */
83
- const showItems = ref<boolean>(false);
84
-
85
- /**
86
- * Last interacted item - selected or deselected
87
- */
88
- const lastClickedItem = ref<string>();
89
-
90
- /**
91
- * If no items found after filtering
92
- */
93
- const noItemsFound = ref<boolean>(false);
94
-
95
- /**
96
- * Index of currently actively hovered item or selected item
97
- */
98
- const activeItem = ref<string>();
99
-
100
- const props = withDefaults(
101
- defineProps<{
102
- /**
103
- * List of items to be available
104
- */
105
- items: string[];
106
-
107
- /**
108
- * Optional label shown above the input
109
- */
110
- label?: string;
111
-
112
- /**
113
- * Optional hint shown below the input
114
- */
115
- hint?: string;
116
-
117
- /**
118
- * Allow multiple selectable items
119
- */
120
- multiple?: boolean;
121
-
122
- /**
123
- * Optional message shown no item is found after filtering
124
- */
125
- noItemFoundMessage?: string;
126
- }>(),
127
- {
128
- multiple: false,
129
- noItemFoundMessage: "No items found.",
130
- }
131
- );
132
-
133
- /**
134
- * Toggles the list of items and sets the previously selected item as active
135
- */
136
- const toggleItemList = () => {
137
- showItems.value = !showItems.value;
138
- activeItem.value = lastClickedItem.value;
139
- };
140
-
141
- /**
142
- * Opens the list of items and sets the previously selected item as active
143
- */
144
- const openItemList = () => {
145
- showItems.value = true;
146
- activeItem.value = lastClickedItem.value;
147
- searchValue.value = "";
148
- };
149
-
150
- /**
151
- * Closes the list after clicking outside the component
152
- */
153
- useOnClickOutside(selectComponentRef, () => {
154
- showItems.value = false;
155
- searchValue.value = outputTransformed.value;
156
- });
157
-
158
- /**
159
- * Actions upon clicking an item
160
- * @param clickedValue clicked item value
161
- */
162
- const clicked = (clickedValue: string) => {
163
- lastClickedItem.value = clickedValue;
164
-
165
- props.multiple
166
- ? updateMVMultiple(clickedValue)
167
- : updateMVSingle(clickedValue);
168
-
169
- if (!props.multiple) showItems.value = false;
170
- };
171
-
172
- /**
173
- * Update the modelValue with the given. Performs conversion to string if necessary.
174
- * @param newValue the new value
175
- */
176
- const updateMVSingle = (newValue: string) => {
177
- if (typeof selectedValues.value === "object")
178
- selectedValues.value = selectedValues.value.join(" ");
179
-
180
- selectedValues.value = selectedValues.value === newValue ? "" : newValue;
181
- };
182
-
183
- /**
184
- * Update the modelValue with the given. Performs conversion to array if necessary.
185
- * @param newValue the new value
186
- */
187
- const updateMVMultiple = (newValue: string) => {
188
- if (typeof selectedValues.value === "string")
189
- selectedValues.value = [selectedValues.value];
190
-
191
- selectedValues.value = selectedValues.value.includes(newValue)
192
- ? selectedValues.value.filter((val: string) => val !== newValue)
193
- : [...selectedValues.value, newValue];
194
- };
195
-
196
- /**
197
- * Converts the displayed text depending on the selection mode
198
- */
199
- const outputTransformed = computed(() => {
200
- if (typeof selectedValues.value === "string") return selectedValues.value;
201
- return selectedValues.value.join(props.multiple ? ", " : " ");
202
- });
203
-
204
- watch(outputTransformed, (newOutput) => {
205
- searchValue.value = newOutput;
206
- });
207
-
208
- /**
209
- * Current search value
210
- */
211
- const searchValue = ref<string>(outputTransformed.value);
212
-
213
- /**
214
- * Determines whether all or only the searched elements are displayed
215
- */
216
- const displayedItems = computed(() =>
217
- searchValue.value == outputTransformed.value
218
- ? props.items
219
- : updateDisplayedItems(searchValue.value)
220
- );
221
-
222
- /**
223
- * Filters the list of elements after entering the search string
224
- * @param search the search string
225
- * @return list of searched items
226
- */
227
- const updateDisplayedItems = (search: string) => {
228
- noItemsFound.value = false;
229
- const filteredItems = props.items.filter((item) => item.includes(search));
230
- if (filteredItems.length === 0) {
231
- noItemsFound.value = true;
232
- }
233
- return filteredItems;
234
- };
235
-
236
- /**
237
- * Apply active class to hovered item
238
- * @param value of item
239
- */
240
- const isActiveClass = (value: string) =>
241
- value === activeItem.value ? "active" : "";
242
-
243
- /**
244
- * Apply selected class to selected items
245
- * @param value of item
246
- */
247
- const isSelectedClass = (value: string) =>
248
- selectedValues.value.includes(value) ? "selected" : "";
249
-
250
- /**
251
- * Resets the currently activeItem
252
- */
253
- const emptyActiveItem = () => (activeItem.value = "");
254
-
255
- /**
256
- * Display the list of item by changing the css-display property
257
- */
258
- const displayOptions = computed(() =>
259
- showItems.value ? "display-listbox" : ""
260
- );
261
-
262
- /**
263
- * Switches between the selection modes according to multiple. Checkboxes are shown on the multiple select
264
- */
265
- const selectType = computed(() =>
266
- props.multiple && !noItemsFound.value
267
- ? "m-input-wrapper--multiselect multiselect"
268
- : "m-input-wrapper--select"
269
- );
270
- </script>
271
-
272
- <style scoped>
273
- .display-listbox {
274
- display: block !important;
275
- }
276
- </style>
@@ -1,47 +0,0 @@
1
- import MucTextArea from "./MucTextArea.vue";
2
-
3
- export default {
4
- component: MucTextArea,
5
- title: "Forms/MucTextArea",
6
- tags: ["autodocs"],
7
- parameters: {
8
- docs: {
9
- description: {
10
- component: `The muc-text-area component allows bigger text based inputs then the regular input. The size is adjustable.
11
-
12
- [🔗 Patternlab-Docs](https://patternlab.muenchen.space/?p=elements-textarea)
13
- `,
14
- },
15
- },
16
- },
17
- };
18
-
19
- export const Default = {
20
- args: {
21
- placeholder: "Write some very long text here",
22
- },
23
- };
24
-
25
- export const Error = {
26
- args: {
27
- ...Default.args,
28
- errorMsg: "An error occured",
29
- },
30
- };
31
-
32
- export const Required = {
33
- args: {
34
- label: "Required textarea",
35
- ...Default.args,
36
- required: true,
37
- },
38
- };
39
-
40
- export const BigTextArea = {
41
- args: {
42
- ...Default.args,
43
- rows: 7,
44
- label: "Big textarea",
45
- hint: "Write a lot of text",
46
- },
47
- };
@@ -1,80 +0,0 @@
1
- <template>
2
- <div class="m-form-group has-error">
3
- <label
4
- for="textarea"
5
- class="m-label"
6
- >
7
- {{ label }}
8
- <span
9
- v-if="required"
10
- aria-hidden="true"
11
- class="mandatory"
12
- >
13
- *
14
- <span class="visually-hidden">(erforderlich)</span>
15
- </span>
16
- </label>
17
- <p class="m-error-message">
18
- {{ errorMsg }}
19
- </p>
20
- <div class="m-input-wrapper">
21
- <textarea
22
- class="m-textarea"
23
- :rows="rows"
24
- aria-describedby="textarea input"
25
- :placeholder="placeholder"
26
- v-model="modelValue"
27
- />
28
- </div>
29
- <p class="m-hint">
30
- {{ hint }}
31
- </p>
32
- </div>
33
- </template>
34
-
35
- <script setup lang="ts">
36
- /**
37
- * Input value from the form component.
38
- */
39
- const modelValue = defineModel<string>({ default: "" });
40
-
41
- withDefaults(
42
- defineProps<{
43
- /**
44
- * Displays error message and highlights the input form with a red border.
45
- */
46
- errorMsg?: string;
47
-
48
- /**
49
- * Number of rows displayed of the textarea. Default is three.
50
- */
51
- rows?: number;
52
-
53
- /**
54
- * Placeholder for empty input form.
55
- */
56
- placeholder?: string;
57
-
58
- /**
59
- * Displays a label above the form component.
60
- */
61
- label?: string;
62
-
63
- /**
64
- * Displays a hint beneath the form component.
65
- */
66
- hint?: string;
67
-
68
- /**
69
- * Sets this input form as required. Default is false.
70
- */
71
- required?: boolean;
72
- }>(),
73
- {
74
- rows: 3,
75
- required: false,
76
- }
77
- );
78
- </script>
79
-
80
- <style scoped></style>
@@ -1,23 +0,0 @@
1
- import MucCheckbox from "./MucCheckbox.vue";
2
- import MucCheckboxGroup from "./MucCheckboxGroup.vue";
3
- import MucCounter from "./MucCounter.vue";
4
- import MucErrorList from "./MucErrorList.vue";
5
- import MucForm from "./MucInput.vue";
6
- import MucInput from "./MucInput.vue";
7
- import MucRadioButton from "./MucRadioButton.vue";
8
- import MucRadioButtonGroup from "./MucRadioButtonGroup.vue";
9
- import MucSelect from "./MucSelect.vue";
10
- import MucTextArea from "./MucTextArea.vue";
11
-
12
- export {
13
- MucForm,
14
- MucCheckbox,
15
- MucCheckboxGroup,
16
- MucCounter,
17
- MucRadioButtonGroup,
18
- MucInput,
19
- MucRadioButton,
20
- MucTextArea,
21
- MucErrorList,
22
- MucSelect,
23
- };
@@ -1,35 +0,0 @@
1
- import { fn } from "@storybook/test";
2
-
3
- import MucIcon from "./MucIcon.vue";
4
-
5
- export default {
6
- component: MucIcon,
7
- title: "MucIcon",
8
- tags: ["autodocs"],
9
- // 👇 Use `fn` to spy on the onClick arg, which will appear in the actions panel once invoked
10
- args: { onClick: fn() },
11
- parameters: {
12
- docs: {
13
- description: {
14
- component: `The \`muc-icon\` component is a wrapper commponent for all icons in the patternlab.
15
-
16
- [🔗 Patternlab-Docs](https://patternlab.muenchen.space/?p=viewall-guidelines-icons)
17
- [🖼 Iconography](https://it-at-m.github.io/muc-patternlab-vue/?path=/docs/iconography--docs)
18
- `,
19
- },
20
- },
21
- },
22
- };
23
-
24
- export const Weather = {
25
- args: {
26
- icon: "weather",
27
- },
28
- };
29
-
30
- export const Youtube = {
31
- args: {
32
- icon: "youtube",
33
- color: "red",
34
- },
35
- };
@@ -1,29 +0,0 @@
1
- <template>
2
- <svg
3
- aria-hidden="true"
4
- :class="iconClass"
5
- :style="{ color: color }"
6
- >
7
- <use :href="'#icon-' + icon" />
8
- </svg>
9
- </template>
10
-
11
- <script setup lang="ts">
12
- import { computed, useAttrs } from "vue";
13
-
14
- const attr = useAttrs();
15
-
16
- defineProps<{
17
- /**
18
- * String of the icon to be displayed.
19
- */
20
- icon: string;
21
-
22
- /**
23
- * Optional css-color for the icon.
24
- */
25
- color?: string;
26
- }>();
27
-
28
- const iconClass = computed(() => attr.class ?? "icon");
29
- </script>
@@ -1,3 +0,0 @@
1
- import MucIcon from "./MucIcon.vue";
2
-
3
- export { MucIcon };
@@ -1,37 +0,0 @@
1
- import MucIntro from "./MucIntro.vue";
2
-
3
- export default {
4
- component: MucIntro,
5
- title: "MucIntro",
6
- tags: ["autodocs"],
7
- parameters: {
8
- docs: {
9
- description: {
10
- component: `A header-like component which can be used as first heading for a component that replaces a whole page on muenchen.de.
11
-
12
- Used e.g. in https://stadt.muenchen.de/buergerservice/anliegen.html.
13
-
14
- [🔗 Patternlab-Docs](https://patternlab.muenchen.space/?p=components-intro-vertical-article)
15
- `,
16
- },
17
- },
18
- },
19
- };
20
-
21
- export const Default = {
22
- args: {
23
- tagline: "Tagline",
24
- title: "Intro with Title",
25
- divider: true,
26
- default:
27
- "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.\n" +
28
- " Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.",
29
- },
30
- };
31
-
32
- export const Minimal = {
33
- args: {
34
- title: "Smaller Intro with Title",
35
- default: Default.args.default,
36
- },
37
- };
@@ -1,70 +0,0 @@
1
- <script setup lang="ts">
2
- defineProps<{
3
- /**
4
- * Title of the Intro
5
- */
6
- title: string;
7
- /**
8
- * Tagline of the Intro (above the title)
9
- */
10
- tagline: string;
11
- /**
12
- * Toggle to show a divider between title and body
13
- */
14
- divider: boolean;
15
- }>();
16
-
17
- defineSlots<{
18
- /**
19
- * Body of the Intro.
20
- */
21
- default(): any;
22
- }>();
23
- </script>
24
-
25
- <template>
26
- <div
27
- class="m-intro m-intro-static-image"
28
- style="background-color: var(--color-neutrals-blue-xlight)"
29
- >
30
- <div class="container">
31
- <div class="muc-intro-content">
32
- <div>
33
- <p
34
- v-if="tagline"
35
- class="m-intro-vertical__tagline"
36
- >
37
- {{ tagline }}
38
- </p>
39
- <h1 class="m-intro-vertical__title">
40
- {{ title }}
41
- </h1>
42
- </div>
43
-
44
- <div
45
- v-if="divider"
46
- class="muc-divider"
47
- />
48
-
49
- <div class="m-intro-vertical__content">
50
- <p style="padding-bottom: 32px">
51
- <slot />
52
- </p>
53
- </div>
54
- </div>
55
- </div>
56
- </div>
57
- </template>
58
-
59
- <style scoped>
60
- .muc-divider {
61
- margin-top: 8px;
62
- margin-bottom: 16px;
63
- }
64
-
65
- @media screen and (width >992px) {
66
- .muc-intro-content {
67
- width: 66.6%;
68
- }
69
- }
70
- </style>
@@ -1,3 +0,0 @@
1
- import MucIntro from "./MucIntro.vue";
2
-
3
- export { MucIntro };
@@ -1,36 +0,0 @@
1
- import { fn } from "@storybook/test";
2
-
3
- import MucLink from "./MucLink.vue";
4
-
5
- export default {
6
- component: MucLink,
7
- title: "MucLink",
8
- tags: ["autodocs"],
9
- // 👇 Use `fn` to spy on the onClick arg, which will appear in the actions panel once invoked
10
- args: { onClick: fn() },
11
- parameters: {
12
- docs: {
13
- description: {
14
- component: `The \`muc-link\` component is a wrapper commponent for a standard html-a tag.
15
-
16
- [🔗 Patternlab-Docs](https://patternlab.muenchen.space/?p=viewall-elements-links)
17
- `,
18
- },
19
- },
20
- },
21
- };
22
-
23
- export const Weather = {
24
- args: {
25
- label: "Generic link label",
26
- },
27
- };
28
-
29
- export const LinkWithIcon = {
30
- args: {
31
- icon: "youtube",
32
- label: "youtube",
33
- href: "https://www.youtube.com",
34
- noUnderline: true,
35
- },
36
- };