comand-component-library 3.1.73 → 3.1.76

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 (55) hide show
  1. package/dist/comand-component-library.css +1 -1
  2. package/dist/comand-component-library.umd.min.js +1 -1
  3. package/package.json +3 -3
  4. package/src/App.vue +112 -79
  5. package/src/assets/data/cookie-disclaimer.json +7 -6
  6. package/src/assets/data/input-group-radiobuttons.json +23 -0
  7. package/src/assets/data/input-group-replaced-radiobuttons.json +23 -0
  8. package/src/assets/data/input-group-toggle-switch-radiobuttons.json +23 -0
  9. package/src/assets/styles/global-styles.scss +20 -59
  10. package/src/components/CmdAddressData.vue +7 -7
  11. package/src/components/CmdBankAccountData.vue +7 -7
  12. package/src/components/CmdBox.vue +25 -31
  13. package/src/components/CmdBoxSiteSearch.vue +9 -9
  14. package/src/components/CmdCookieDisclaimer.vue +93 -25
  15. package/src/components/CmdFakeSelect.vue +36 -52
  16. package/src/components/CmdFormElement.vue +36 -57
  17. package/src/components/{CmdCustomHeadline.vue → CmdHeadline.vue} +1 -1
  18. package/src/components/CmdInputGroup.vue +156 -24
  19. package/src/components/CmdListOfLinks.vue +8 -8
  20. package/src/components/CmdListOfRequirements.vue +150 -0
  21. package/src/components/CmdLoginForm.vue +17 -17
  22. package/src/components/CmdMainNavigation.vue +2 -2
  23. package/src/components/CmdOpeningHours.vue +5 -5
  24. package/src/components/CmdSiteFooter.vue +76 -0
  25. package/src/components/CmdSiteHeader.vue +2 -1
  26. package/src/components/CmdSlideshow.vue +6 -6
  27. package/src/components/CmdSystemMessage.vue +28 -11
  28. package/src/components/CmdTabs.vue +8 -8
  29. package/src/components/CmdToggleDarkMode.vue +42 -5
  30. package/src/components/CmdTooltip.vue +13 -13
  31. package/src/components/CmdTooltipForInputElements.vue +122 -0
  32. package/src/components/CmdUploadForm.vue +32 -32
  33. package/src/components/CmdWidthLimitationWrapper.vue +0 -17
  34. package/src/documentation/generated/CmdAddressDataPropertyDescriptions.json +2 -2
  35. package/src/documentation/generated/CmdBankAccountDataPropertyDescriptions.json +2 -2
  36. package/src/documentation/generated/CmdBoxPropertyDescriptions.json +2 -2
  37. package/src/documentation/generated/CmdBoxSiteSearchPropertyDescriptions.json +2 -2
  38. package/src/documentation/generated/CmdCookieDisclaimerPropertyDescriptions.json +7 -2
  39. package/src/documentation/generated/CmdFormElementPropertyDescriptions.json +7 -2
  40. package/src/documentation/generated/CmdHeadlinePropertyDescriptions.json +22 -0
  41. package/src/documentation/generated/CmdInputGroupPropertyDescriptions.json +32 -1
  42. package/src/documentation/generated/CmdListOfLinksPropertyDescriptions.json +2 -2
  43. package/src/documentation/generated/CmdListOfRequirementsPropertyDescriptions.json +32 -0
  44. package/src/documentation/generated/CmdLoginFormPropertyDescriptions.json +4 -4
  45. package/src/documentation/generated/CmdOpeningHoursPropertyDescriptions.json +2 -2
  46. package/src/documentation/generated/CmdSiteFooterPropertyDescriptions.json +12 -0
  47. package/src/documentation/generated/CmdSystemMessagePropertyDescriptions.json +5 -0
  48. package/src/documentation/generated/CmdTabsPropertyDescriptions.json +2 -2
  49. package/src/documentation/generated/CmdTooltipForInputElementsPropertyDescriptions.json +42 -0
  50. package/src/documentation/generated/CmdTooltipPropertyDescriptions.json +1 -1
  51. package/src/documentation/generated/CmdUploadFormPropertyDescriptions.json +14 -14
  52. package/src/index.js +2 -1
  53. package/src/mixins/CmdCookieDisclaimer/DefaultMessageProperties.js +10 -0
  54. package/src/mixins/FieldValidation.js +16 -6
  55. package/src/mixins/Tooltip.js +1 -1
@@ -0,0 +1,150 @@
1
+ <template>
2
+ <div class="cmd-list-of-requirements">
3
+ <!-- begin cmd-custom-headline -->
4
+ <CmdHeadline :headline-level="CmdHeadline.headlineLevel">
5
+ <!-- {{ getMessage("cmdfakeselect.headline.requirements_for_input") }}<br/>"{{ labelText }}" -->
6
+ </CmdHeadline>
7
+ <!-- end cmd-custom-headline -->
8
+
9
+ <!-- begin list of requirements -->
10
+ <dl>
11
+ <template v-for="(requirement, index) in inputRequirements" :key="index">
12
+ <dt aria-live="assertive" :class="requirement.valid(inputModelValue, inputAttributes) ? 'success' : 'error'">{{ requirement.message }}:</dt>
13
+ <dd :class="requirement.valid(inputModelValue, inputAttributes) ? 'success' : 'error'">
14
+ <span
15
+ aria-live="assertive"
16
+ :class="requirement.valid(inputModelValue, inputAttributes) ? 'icon-check-circle' : 'icon-error-circle'"
17
+ :title="requirement.valid(inputModelValue, inputAttributes) ? 'success' : 'error'"
18
+ >
19
+ </span>
20
+ </dd>
21
+ </template>
22
+ </dl>
23
+ <!-- end list of requirements -->
24
+
25
+ <!-- begin helplink -->
26
+ <template v-if="helplink && helplink.show">
27
+ <hr />
28
+ <a
29
+ v-if="helplink.url"
30
+ :href="helplink.url"
31
+ :target="helplink.target"
32
+ @click.prevent
33
+ >
34
+ <span v-if="helplink.icon?.iconClass"
35
+ :class="helplink.icon?.iconClass"
36
+ :title="helplink.icon?.tooltip">
37
+ </span>
38
+ <span v-if="helplink.text">
39
+ {{ helplink.text }}
40
+ </span>
41
+ </a>
42
+ </template>
43
+ <!-- end helplink -->
44
+ </div>
45
+ </template>
46
+
47
+ <script>
48
+ // import components
49
+ import CmdHeadline from "./CmdHeadline"
50
+
51
+ export default {
52
+ name: "CmdListOfRequirements",
53
+ components: {
54
+ CmdHeadline
55
+ },
56
+ props: {
57
+ /**
58
+ * property to check validity of given modelValue
59
+ */
60
+ inputModelValue: {
61
+ type: [String, Boolean, Array, Number],
62
+ default: ""
63
+ },
64
+ /**
65
+ * property to check validity of given attributes
66
+ */
67
+ inputAttributes: {
68
+ type: Object,
69
+ required: true
70
+ },
71
+ /**
72
+ * text for label
73
+ */
74
+ labelText: {
75
+ type: String,
76
+ required: false
77
+ },
78
+ /**
79
+ * list of all requirements
80
+ */
81
+ inputRequirements: {
82
+ type: Array,
83
+ required: true
84
+ },
85
+ /**
86
+ * set a helplink to a different page for further support
87
+ */
88
+ helplink: {
89
+ type: String,
90
+ required: false
91
+ },
92
+ /**
93
+ * properties of CmdHeadline-component
94
+ */
95
+ CmdHeadline: {
96
+ type: Object,
97
+ default() {
98
+ return {
99
+ headlineLevel: 4
100
+ }
101
+ }
102
+ }
103
+ }
104
+ }
105
+ </script>
106
+
107
+ <style lang="scss">
108
+ /* begin cmd-list-of-requirements ------------------------------------------------------------------------------------------ */
109
+ .cmd-list-of-requirements {
110
+ dl {
111
+ .error {
112
+ --status-color: var(--error-color);
113
+ }
114
+
115
+ .warning {
116
+ --status-color: var(--warning-color);
117
+ }
118
+
119
+ .success {
120
+ --status-color: var(--success-color);
121
+ }
122
+
123
+ .info {
124
+ --status-color: var(--info-color);
125
+ }
126
+
127
+ dt {
128
+ color: var(--status-color);
129
+ }
130
+
131
+ span[class*="icon"] {
132
+ font-size: 1.2rem;
133
+ color: var(--status-color);
134
+ }
135
+
136
+ & ~ a {
137
+ display: flex;
138
+ align-items: center;
139
+ justify-content: center;
140
+ text-align: center;
141
+ text-decoration: none;
142
+
143
+ span[class*="icon"] {
144
+ font-size: 1.2rem;
145
+ }
146
+ }
147
+ }
148
+ }
149
+ /* end cmd-list-of-requirements ------------------------------------------------------------------------------------------ */
150
+ </style>
@@ -2,10 +2,10 @@
2
2
  <!-- begin login-form -->
3
3
  <fieldset v-if="!sendLogin" class="cmd-login-form flex-container">
4
4
  <legend :class="{hidden : !showLegend}">{{ textLegend }}</legend>
5
- <!-- begin CmdCustomHeadline -->
6
- <CmdCustomHeadline v-if="cmdCustomHeadlineLoginForm"
7
- v-bind="cmdCustomHeadlineLoginForm"/>
8
- <!-- end CmdCustomHeadline -->
5
+ <!-- begin CmdHeadline -->
6
+ <CmdHeadline v-if="CmdHeadlineLoginForm"
7
+ v-bind="CmdHeadlineLoginForm"/>
8
+ <!-- end CmdHeadline -->
9
9
 
10
10
  <!-- being form elements -->
11
11
  <div class="flex-container">
@@ -121,13 +121,13 @@
121
121
  <!-- begin send-login-form -->
122
122
  <fieldset v-else class="cmd-login-form flex-container">
123
123
  <legend :class="{'hidden' : !legendSendLoginForm.show}">{{ legendSendLoginForm.text }}</legend>
124
- <!-- begin CmdCustomHeadline -->
125
- <CmdCustomHeadline v-if="cmdCustomHeadlineSendLoginForm"
126
- :iconClass="cmdCustomHeadlineSendLoginForm.iconClass"
127
- :preHeadline="cmdCustomHeadlineSendLoginForm.preHeadline"
128
- :headlineLevel="cmdCustomHeadlineSendLoginForm.preHeadline"
129
- :headlineText="cmdCustomHeadlineSendLoginForm.headlineText"/>
130
- <!-- end CmdCustomHeadline -->
124
+ <!-- begin CmdHeadline -->
125
+ <CmdHeadline v-if="CmdHeadlineSendLoginForm"
126
+ :iconClass="CmdHeadlineSendLoginForm.iconClass"
127
+ :preHeadline="CmdHeadlineSendLoginForm.preHeadline"
128
+ :headlineLevel="CmdHeadlineSendLoginForm.preHeadline"
129
+ :headlineText="CmdHeadlineSendLoginForm.headlineText"/>
130
+ <!-- end CmdHeadline -->
131
131
 
132
132
  <!-- begin CmdFormElement -->
133
133
  <CmdFormElement
@@ -209,7 +209,7 @@
209
209
  import {getRoute} from "../utilities.js"
210
210
 
211
211
  // import components
212
- import CmdCustomHeadline from "./CmdCustomHeadline"
212
+ import CmdHeadline from "./CmdHeadline"
213
213
  import CmdFormElement from "./CmdFormElement"
214
214
 
215
215
  export default {
@@ -223,7 +223,7 @@ export default {
223
223
  }
224
224
  },
225
225
  components: {
226
- CmdCustomHeadline,
226
+ CmdHeadline,
227
227
  CmdFormElement
228
228
  },
229
229
  props: {
@@ -270,16 +270,16 @@ export default {
270
270
  }
271
271
  },
272
272
  /**
273
- * properties for CmdCustomHeadline-component for login-form
273
+ * properties for CmdHeadline-component for login-form
274
274
  */
275
- cmdCustomHeadlineLoginForm: {
275
+ CmdHeadlineLoginForm: {
276
276
  type: Object,
277
277
  required: false
278
278
  },
279
279
  /**
280
- * properties for CmdCustomHeadline-component for send-login-form
280
+ * properties for CmdHeadline-component for send-login-form
281
281
  */
282
- cmdCustomHeadlineSendLoginForm: {
282
+ CmdHeadlineSendLoginForm: {
283
283
  type: Object,
284
284
  default() {
285
285
  return {
@@ -305,7 +305,7 @@ export default {
305
305
 
306
306
  /* begin offcanvas-navigation */
307
307
  &:not(.persist-on-mobile) {
308
- transition: (--nav-transition);
308
+ transition: var(--nav-transition);
309
309
 
310
310
  #toggle-offcanvas {
311
311
  display: flex;
@@ -433,7 +433,7 @@ export default {
433
433
  height: auto;
434
434
  display: block;
435
435
  opacity: 1;
436
- transition: (--nav-transition);
436
+ transition: var(--nav-transition);
437
437
 
438
438
  > li {
439
439
  > a {
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div class="cmd-opening-hours">
3
3
  <!-- begin cmd-custom-headline -->
4
- <CmdCustomHeadline v-if="cmdCustomHeadline" v-bind="cmdCustomHeadline" />
4
+ <CmdHeadline v-if="CmdHeadline" v-bind="CmdHeadline" />
5
5
  <!-- end cmd-custom-headline -->
6
6
 
7
7
  <!-- begin opening-status with link to detail-page -->
@@ -38,16 +38,16 @@
38
38
 
39
39
  <script>
40
40
  // import components
41
- import CmdCustomHeadline from "./CmdCustomHeadline"
41
+ import CmdHeadline from "./CmdHeadline"
42
42
 
43
43
  export default {
44
44
  name: "CmdOpeningHours",
45
- components: {CmdCustomHeadline},
45
+ components: {CmdHeadline},
46
46
  props: {
47
47
  /**
48
- * properties for CmdCustomHeadline-component
48
+ * properties for CmdHeadline-component
49
49
  */
50
- cmdCustomHeadline: {
50
+ CmdHeadline: {
51
51
  type: Object,
52
52
  required: false
53
53
  },
@@ -0,0 +1,76 @@
1
+ <template>
2
+ <div class="cmd-site-footer">
3
+ <footer :class="['flex-container', {vertical: orientation === 'vertical'}]">
4
+ <slot></slot>
5
+ </footer>
6
+ </div>
7
+ </template>
8
+
9
+ <script>
10
+ export default {
11
+ name: "CmdSiteFooter",
12
+ props: {
13
+ /**
14
+ * set to vertical if items inside should be arranged vertically
15
+ *
16
+ * @allowedValues: horizontal, vertical
17
+ */
18
+ orientation: {
19
+ type: String,
20
+ default: 'horizontal'
21
+ }
22
+ }
23
+ }
24
+ </script>
25
+
26
+ <style lang="scss">
27
+ /* begin cmd-site-footer ---------------------------------------------------------------------------------------- */
28
+ @import '../assets/styles/variables';
29
+
30
+ .cmd-site-footer {
31
+ padding: var(--grid-gap) 0;
32
+ border-top: var(--default-border);
33
+ background: var(--default-background-color);
34
+
35
+ footer {
36
+ max-width: var(--max-width);
37
+ width: 100%; /* stretch flex-item */
38
+ margin: 0 auto;
39
+ padding: 0 var(--default-padding);
40
+ }
41
+
42
+ &.sticky {
43
+ top: auto;
44
+ bottom: 0;
45
+ }
46
+
47
+ .cmd-switch-language {
48
+ width: 100%;
49
+ flex: none;
50
+ }
51
+ }
52
+
53
+ @media only screen and (max-width: $medium-max-width) {
54
+ .cmd-site-footer {
55
+ footer {
56
+ li {
57
+ margin-bottom: calc(var(--default-margin) * 2);
58
+ }
59
+ }
60
+ }
61
+ }
62
+
63
+ @media only screen and (max-width: $small-max-width) {
64
+ .cmd-site-footer {
65
+ a {
66
+ text-decoration: underline;
67
+
68
+ &:active {
69
+ text-decoration: none;
70
+ }
71
+ }
72
+ }
73
+ }
74
+
75
+ /* end cmd-site-footer ---------------------------------------------------------------------------------------- */
76
+ </style>
@@ -101,7 +101,8 @@ export default {
101
101
  }
102
102
 
103
103
  header {
104
- padding: calc(var(--default-padding) * 2) 0;
104
+ padding-top: calc(var(--default-padding) * 2);
105
+ padding-bottom: calc(var(--default-padding) * 2);
105
106
 
106
107
  &.flex-container {
107
108
  width: 100%;
@@ -10,13 +10,13 @@
10
10
 
11
11
  <!-- begin area to slide -->
12
12
  <transition name="fade">
13
- <a v-if="currentItem.href" :href="currentItem.href" :key="index" :title="currentItem.title">
13
+ <a v-if="currentItem?.href" :href="currentItem.href" :key="index" :title="currentItem.title">
14
14
  <figure v-if="currentItem && !useSlot" class="slideshow-item">
15
15
  <img :src="currentItem.imgPath" :alt="currentItem.alt"/>
16
16
  <figcaption>{{ currentItem.figcaption }}</figcaption>
17
17
  </figure>
18
18
  </a>
19
- <figure v-else-if="!currentItem.href && currentItem && !useSlot" :key="index" class="slideshow-item">
19
+ <figure v-else-if="currentItem && !currentItem.href && currentItem && !useSlot" :key="index" class="slideshow-item">
20
20
  <img :src="currentItem.imgPath" :alt="currentItem.alt"/>
21
21
  <figcaption>{{ currentItem.figcaption }}</figcaption>
22
22
  </figure>
@@ -160,14 +160,12 @@ export default {
160
160
  }
161
161
  this.preload(this.index)
162
162
  },
163
-
164
163
  showItem(i) {
165
164
  if (i >= 0 && i < this.slideshowItems.length) {
166
165
  this.index = i;
167
166
  this.preload(this.index);
168
167
  }
169
168
  },
170
-
171
169
  showNextItem() {
172
170
  if (this.useSlot) {
173
171
  if (this.currentSlotItem < Object.keys(this.$slots).length - 1) {
@@ -240,10 +238,12 @@ export default {
240
238
  /* computed property to get current slide */
241
239
  computed: {
242
240
  currentItem() {
243
- return this.getDeviceImage(this.slideshowItems[this.index]);
241
+ if(this.slideshowItems.length <= this.index) {
242
+ return null
243
+ }
244
+ return this.getDeviceImage(this.slideshowItems[this.index])
244
245
  }
245
246
  },
246
-
247
247
  watch: {
248
248
  slideshowItems: {
249
249
  handler() {
@@ -5,6 +5,7 @@
5
5
  :class="['cmd-system-message', 'system-message', 'flex-container', 'vertical', { 'full-width': fullWidth }, validationStatus]"
6
6
  :role="validationStatus === 'error' ? 'alert' : 'dialog'"
7
7
  >
8
+ <!-- begin close-icon -->
8
9
  <a
9
10
  v-if="iconClose.show && iconClose.iconClass"
10
11
  :class="iconClose.iconClass"
@@ -12,10 +13,17 @@
12
13
  @click.prevent="showSystemMessage = false"
13
14
  :title="iconClose.tooltip"
14
15
  ></a>
15
- <h6>
16
- <span v-if="iconMessage && iconMessage.iconClass" :class="iconMessage.iconClass"></span>
17
- <strong v-if="systemMessage">{{ systemMessage }}</strong>
18
- </h6>
16
+ <!-- end close-icon -->
17
+
18
+ <!-- begin cmd-headline -->
19
+ <CmdHeadline
20
+ class="message-headline"
21
+ :iconClass="iconMessage.iconClass"
22
+ :headlineText="systemMessage"
23
+ :headlineLevel="messageHeadlineLevel"
24
+ />
25
+ <!-- end cmd-headline -->
26
+
19
27
  <!-- begin slot-content -->
20
28
  <slot></slot>
21
29
  <!-- end slot-content -->
@@ -24,8 +32,14 @@
24
32
  </template>
25
33
 
26
34
  <script>
35
+ // import components
36
+ import CmdHeadline from "./CmdHeadline"
37
+
27
38
  export default {
28
39
  name: "CmdSystemMessage",
40
+ components: {
41
+ CmdHeadline
42
+ },
29
43
  data() {
30
44
  return {
31
45
  showSystemMessage: true
@@ -68,6 +82,15 @@ export default {
68
82
  type: String,
69
83
  required: false
70
84
  },
85
+ /**
86
+ * set headline-level for system-message (given to CmdHeadline-component)
87
+ */
88
+ messageHeadlineLevel: {
89
+ type: [Number, String],
90
+ default() {
91
+ return 6
92
+ }
93
+ },
71
94
  /**
72
95
  * icon to close system-message
73
96
  *
@@ -75,7 +98,7 @@ export default {
75
98
  */
76
99
  iconClose: {
77
100
  type: Object,
78
- default: function () {
101
+ default() {
79
102
  return {
80
103
  show: true,
81
104
  iconClass: "icon-cancel",
@@ -98,12 +121,6 @@ export default {
98
121
  margin: var(--default-margin) 0;
99
122
  align-items: center;
100
123
 
101
- h6 {
102
- strong {
103
- margin-left: calc(var(--default-margin) / 2);
104
- }
105
- }
106
-
107
124
  > :last-child {
108
125
  margin-bottom: 0;
109
126
  }
@@ -16,13 +16,13 @@
16
16
  </div>
17
17
  </template>
18
18
  <div v-else aria-live="assertive">
19
- <!-- begin CmdCustomHeadline -->
20
- <CmdCustomHeadline
21
- v-bind="cmdCustomHeadline"
19
+ <!-- begin CmdHeadline -->
20
+ <CmdHeadline
21
+ v-bind="CmdHeadline"
22
22
  :headlineText="tabs[showTab].headlineText"
23
23
  :headlineLevel="tabs[showTab].headlineLevel"
24
24
  />
25
- <!-- end CmdCustomHeadline -->
25
+ <!-- end CmdHeadline -->
26
26
  <div v-html="tabs[showTab].htmlContent"></div>
27
27
  </div>
28
28
  </div>
@@ -30,12 +30,12 @@
30
30
 
31
31
  <script>
32
32
  // import components
33
- import CmdCustomHeadline from "./CmdCustomHeadline"
33
+ import CmdHeadline from "./CmdHeadline"
34
34
 
35
35
  export default {
36
36
  name: "CmdTabs",
37
37
  components: {
38
- CmdCustomHeadline
38
+ CmdHeadline
39
39
  },
40
40
  data() {
41
41
  return {
@@ -45,9 +45,9 @@ export default {
45
45
  emits: ["active-tab"],
46
46
  props: {
47
47
  /**
48
- * properties for CmdCustomHeadline-component
48
+ * properties for CmdHeadline-component
49
49
  */
50
- cmdCustomHeadline: {
50
+ CmdHeadline: {
51
51
  type: Object,
52
52
  required: false
53
53
  },
@@ -7,9 +7,6 @@
7
7
  :showLabel="showLabel"
8
8
  v-model="darkMode"
9
9
  :toggle-switch="true"
10
- :useIconsForToggleSwitch="true"
11
- toggle-switch-checked-icon-class="icon-home"
12
- toggle-switch-unchecked-icon-class="icon-globe"
13
10
  />
14
11
  </div>
15
12
  </template>
@@ -73,13 +70,53 @@ export default {
73
70
  .cmd-toggle-dark-mode {
74
71
  .cmd-form-element {
75
72
  input {
76
- background: blue;
73
+ --dark-blue: hsl(195, 96%, 45%);
74
+ --medium-blue: hsl(194, 97%, 39%);
75
+ --light-blue: hsl(195, 97%, 76%);
76
+ background: linear-gradient(to bottom, var(--dark-blue) 0%,var(--light-blue) 67%);
77
+ border-color: var(--medium-blue);
78
+
79
+ &:after {
80
+ --yellow-hue: 60;
81
+ --yellow-saturation: 100%;
82
+ --yellow-lightness: 76.7%;
83
+ background: radial-gradient(ellipse at center, var(--pure-white) 20%, hsl(var(--yellow-hue), var(--yellow-saturation), var(--yellow-lightness)) 30%, hsla(var(--yellow-hue), var(--yellow-saturation), var(--yellow-lightness),0) 100%);
84
+ border-color: transparent;
85
+ box-shadow: 0 0 1rem hsl(var(--yellow-hue), var(--yellow-saturation), var(--yellow-lightness));
86
+ }
77
87
  }
78
88
  }
79
89
 
80
90
  &.dark-mode {
81
91
  input {
82
- background: black;
92
+ background: var(--color-scheme-background-color);
93
+ border-color: var(--color-scheme-text-color);
94
+
95
+ &:before {
96
+ --size: 1.2rem;
97
+ content: "";
98
+ width: var(--size);
99
+ aspect-ratio: 1/1;
100
+ background: var(--color-scheme-background-color);
101
+ border-radius: var(--full-circle);
102
+ position: absolute;
103
+ top: 0;
104
+ right: calc(var(--size) / 2);
105
+ transform: translateY(calc(50% - 35%));
106
+ z-index: 100;
107
+ }
108
+
109
+ &:after {
110
+ background: radial-gradient(ellipse at center, var(--pure-white) 50%,var(--medium-gray) 100%);
111
+ border-color: transparent;
112
+ box-shadow: .2rem .1rem .2rem hsla(var(--pure-white-hue), var(--pure-white-saturation), var(--pure-white-lightness), .3);
113
+ }
114
+ }
115
+
116
+ .label-text {
117
+ span {
118
+ color: var(--color-scheme-text-color);
119
+ }
83
120
  }
84
121
  }
85
122
  }
@@ -1,16 +1,16 @@
1
1
  <template>
2
2
  <div v-if="tooltipVisibility" :class="['cmd-tooltip', status]" ref="tooltip" aria-role="tooltip">
3
- <div v-if="cmdCustomHeadline || iconClose.show" class="headline-wrapper">
4
- <!-- begin CmdCustomHeadline -->
5
- <CmdCustomHeadline v-if="cmdCustomHeadline"
6
- :iconClass="cmdCustomHeadline.iconClass"
7
- :preHeadline="cmdCustomHeadline.preHeadline"
8
- :headlineLevel="cmdCustomHeadline.headlineLevel"
9
- :headlineText="cmdCustomHeadline.headlineText"/>
10
- <!-- end CmdCustomHeadline -->
3
+ <div v-if="CmdHeadline || iconClose.show" class="headline-wrapper">
4
+ <!-- begin CmdHeadline -->
5
+ <CmdHeadline v-if="CmdHeadline"
6
+ :iconClass="CmdHeadline.iconClass"
7
+ :preHeadline="CmdHeadline.preHeadline"
8
+ :headlineLevel="CmdHeadline.headlineLevel"
9
+ :headlineText="CmdHeadline.headlineText"/>
10
+ <!-- end CmdHeadline -->
11
11
 
12
12
  <!-- begin icon to close tooltip -->
13
- <a v-if="iconClose.show && toggleVisibilityByClick" href="#" @click.prevent="tooltipVisibility = false" :title="iconClose.tooltip">
13
+ <a v-if="iconClose.show && toggleVisibilityByClick" href="#" @click.prevent="hideTooltip" :title="iconClose.tooltip">
14
14
  <span :class="iconClose.iconClass"></span>
15
15
  </a>
16
16
  <!-- end icon to close tooltip -->
@@ -25,12 +25,12 @@
25
25
 
26
26
  <script>
27
27
  // import components
28
- import CmdCustomHeadline from "./CmdCustomHeadline"
28
+ import CmdHeadline from "./CmdHeadline"
29
29
 
30
30
  export default {
31
31
  name: "CmdTooltip",
32
32
  components: {
33
- CmdCustomHeadline
33
+ CmdHeadline
34
34
  },
35
35
  data() {
36
36
  return {
@@ -41,9 +41,9 @@ export default {
41
41
  },
42
42
  props: {
43
43
  /**
44
- * properties for CmdCustomHeadline-component
44
+ * properties for CmdHeadline-component
45
45
  */
46
- cmdCustomHeadline: {
46
+ CmdHeadline: {
47
47
  type: Object,
48
48
  default() {}
49
49
  },