comand-component-library 4.1.91 → 4.1.93

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.
@@ -314,7 +314,7 @@
314
314
  v-bind="{useCustomTooltip: false}"
315
315
  />
316
316
  </div>
317
- <h2>Inputfields in Columns</h2>
317
+ <h3>Inputfields in Columns</h3>
318
318
  <div class="flex-container">
319
319
  <CmdFormElement
320
320
  element="input"
@@ -427,29 +427,37 @@
427
427
  :status="validationStatus"
428
428
  :disabled="disabledStatus"
429
429
  />
430
- <CmdFormElement
431
- element="input"
432
- labelText="Label (inline) for inputfield (search) without search-button:"
433
- :displayLabelInline="true"
434
- type="search"
435
- id="inputfield-search-without-searchbutton"
436
- placeholder="Keyword(s)"
437
- v-model="inputSearch"
438
- :showSearchButton="false"
439
- :status="validationStatus"
440
- :disabled="disabledStatus"
441
- />
442
- <CmdFormElement
443
- element="input"
444
- labelText="Label (inline) for inputfield (search):"
445
- :displayLabelInline="true"
446
- type="search"
447
- id="inputfield-search-with-searchbutton"
448
- placeholder="Keyword(s)"
449
- v-model="inputSearch"
450
- :status="validationStatus"
451
- :disabled="disabledStatus"
452
- />
430
+ <h3>Searchfields</h3>
431
+ <div class="flex-container">
432
+ <CmdFormElement
433
+ element="input"
434
+ labelText="Label for inputfield (search) without search-button:"
435
+ type="search"
436
+ id="inputfield-search-without-searchbutton"
437
+ placeholder="Keyword(s)"
438
+ v-model="inputSearch"
439
+ :showSearchButton="false"
440
+ :status="validationStatus"
441
+ :disabled="disabledStatus"
442
+ />
443
+ <CmdFormElement
444
+ element="input"
445
+ labelText="Label for inputfield (search):"
446
+ type="search"
447
+ id="inputfield-search-with-searchbutton"
448
+ placeholder="Keyword(s)"
449
+ v-model="inputSearch"
450
+ :status="validationStatus"
451
+ :disabled="disabledStatus"
452
+ />
453
+ <!-- begin CmdSmartSearch -->
454
+ <CmdSmartSearch
455
+ v-bind="smartSearchData"
456
+ :disabled="disabledStatus"
457
+ />
458
+ <!-- end CmdSmartSearch -->
459
+ </div>
460
+ <h3>Textarea</h3>
453
461
  <CmdFormElement
454
462
  element="textarea"
455
463
  labelText="Label for textarea:"
@@ -1414,6 +1422,51 @@
1414
1422
  </CmdWidthLimitationWrapper>
1415
1423
  <!-- end fancybox --------------------------------------------------------------------------------------------------->
1416
1424
 
1425
+ <!-- begin flexible-scroll-container --------------------------------------------------------------------------------------------------->
1426
+ <CmdWidthLimitationWrapper>
1427
+ <h2 class="headline-demopage" id="section-flexible-scroll-container">Flexible Scroll-Container</h2>
1428
+ <CmdFlexibleScrollContainer style="border: 1px dotted gray">
1429
+ <template v-slot:fixed-wrapper>
1430
+ <div class="default-padding" style="border: 1px dotted gray">
1431
+ Fixed content
1432
+ </div>
1433
+ </template>
1434
+ <template v-slot:scroll-wrapper>
1435
+ <div class="default-padding" style="border: 1px dotted gray">
1436
+ <ul>
1437
+ <li>Dynamic Content</li>
1438
+ <li>Dynamic Content</li>
1439
+ <li>Dynamic Content</li>
1440
+ <li>Dynamic Content</li>
1441
+ <li>Dynamic Content</li>
1442
+ <li>Dynamic Content</li>
1443
+ <li>Dynamic Content</li>
1444
+ <li>Dynamic Content</li>
1445
+ <li>Dynamic Content</li>
1446
+ <li>Dynamic Content</li>
1447
+ <li>Dynamic Content</li>
1448
+ <li>Dynamic Content</li>
1449
+ <li>Dynamic Content</li>
1450
+ <li>Dynamic Content</li>
1451
+ <li>Dynamic Content</li>
1452
+ <li>Dynamic Content</li>
1453
+ <li>Dynamic Content</li>
1454
+ <li>Dynamic Content</li>
1455
+ <li>Dynamic Content</li>
1456
+ <li>Dynamic Content</li>
1457
+ <li>Dynamic Content</li>
1458
+ <li>Dynamic Content</li>
1459
+ <li>Dynamic Content</li>
1460
+ <li>Dynamic Content</li>
1461
+ </ul>
1462
+ </div>
1463
+ </template>
1464
+ </CmdFlexibleScrollContainer>
1465
+ </CmdWidthLimitationWrapper>
1466
+ <!-- end flexible-scroll-container --------------------------------------------------------------------------------------------------->
1467
+
1468
+ <!-- end fancybox --------------------------------------------------------------------------------------------------->
1469
+
1417
1470
  <!-- begin google-maps --------------------------------------------------------------------------------------------------->
1418
1471
  <CmdWidthLimitationWrapper>
1419
1472
  <h2 class="headline-demopage" id="section-google-maps">Google Maps&trade;</h2>
@@ -1445,7 +1498,7 @@
1445
1498
  ref="CmdHeadline"
1446
1499
  headlineLevel="3"
1447
1500
  >
1448
- Headline text<br /> with html given by slot
1501
+ Headline text<br/> with html given by slot
1449
1502
  </CmdHeadline>
1450
1503
 
1451
1504
  </CmdWidthLimitationWrapper>
@@ -1540,6 +1593,7 @@
1540
1593
  ref="CmdLink"
1541
1594
  v-bind="cmdLinkSettingsData"
1542
1595
  :icon="{iconClass: 'icon-chevron-one-stripe-right', position: 'right', tooltip: 'Tooltip for hyperlink'}"
1596
+ @click="cmdLinkOutput"
1543
1597
  />
1544
1598
  <CmdLink
1545
1599
  linkType="href"
@@ -1567,6 +1621,11 @@
1567
1621
  :fancybox="true"
1568
1622
  :icon="{iconClass: 'icon-chevron-one-stripe-right', position: 'right', tooltip: 'Tooltip for hyperlink'}"
1569
1623
  />
1624
+ <dl class="output">
1625
+ <dt>Event:</dt><dd>{{outputCmdLink?.event?.originalEvent.originalEvent}}</dd>
1626
+ <dt>Target:</dt><dd>{{outputCmdLink?.event?.originalEvent.target}}</dd>
1627
+ <dt>LinkType:</dt><dd>{{outputCmdLink?.event?.originalEvent.linkType}}</dd>
1628
+ </dl>
1570
1629
  </CmdWidthLimitationWrapper>
1571
1630
  <!-- end link --------------------------------------------------------------------------------------------------->
1572
1631
 
@@ -1581,7 +1640,13 @@
1581
1640
  ref="CmdListOfLinks"
1582
1641
  v-bind="cmdListOfLinksSettingsData"
1583
1642
  :links="listOfLinksData"
1643
+ @click="cmdLinkOutput"
1584
1644
  />
1645
+ <dl class="output">
1646
+ <dt>Event:</dt><dd>{{outputCmdLink?.event?.originalEvent}}</dd>
1647
+ <dt>Target:</dt><dd>{{outputCmdLink?.event?.originalEvent.target}}</dd>
1648
+ <dt>LinkType:</dt><dd>{{outputCmdLink?.event?.linkType}}</dd>
1649
+ </dl>
1585
1650
  </CmdWidthLimitationWrapper>
1586
1651
  <!-- end list-of-links --------------------------------------------------------------------------------------------------->
1587
1652
 
@@ -1608,12 +1673,29 @@
1608
1673
  @click.prevent="openSettingsSidebar('CmdLoginForm')"></a>
1609
1674
  </h2>
1610
1675
  <CmdForm :use-fieldset="false">
1611
- <CmdLoginForm ref="CmdLoginForm" v-bind="cmdLoginFormSettingsData" v-model="loginData"/>
1676
+ <CmdLoginForm
1677
+ ref="CmdLoginForm"
1678
+ v-bind="cmdLoginFormSettingsData"
1679
+ v-model="loginData"
1680
+ />
1612
1681
  </CmdForm>
1613
1682
  <p>LoginData: {{ loginData }}</p>
1614
1683
  </CmdWidthLimitationWrapper>
1615
1684
  <!-- end login-form --------------------------------------------------------------------------------------------------->
1616
1685
 
1686
+ <!-- begin mail-tool --------------------------------------------------------------------------------------------------->
1687
+ <CmdWidthLimitationWrapper>
1688
+ <h2 class="headline-demopage" id="section-mail-tool">
1689
+ <span>Mail Tool</span>
1690
+ </h2>
1691
+ <CmdMailTool
1692
+ ref="CmdMailTool"
1693
+ :mailsInbox="mailToolData.inbox"
1694
+ :mailsOutbox="mailToolData.outbox"
1695
+ />
1696
+ </CmdWidthLimitationWrapper>
1697
+ <!-- end mail-tool --------------------------------------------------------------------------------------------------->
1698
+
1617
1699
  <!-- begin main-navigation --------------------------------------------------------------------------------------------------->
1618
1700
  <CmdWidthLimitationWrapper>
1619
1701
  <h2 class="headline-demopage" id="section-main-navigation">
@@ -1842,7 +1924,7 @@
1842
1924
  :languages="languagesData"
1843
1925
  @click="updateLanguage"
1844
1926
  />
1845
- <p>Selected language: {{selectedLanguage}} </p>
1927
+ <p>Selected language: {{ selectedLanguage }} </p>
1846
1928
  </CmdWidthLimitationWrapper>
1847
1929
  <!-- end switch-language --------------------------------------------------------------------------------------------------->
1848
1930
 
@@ -1975,10 +2057,10 @@
1975
2057
  <a href="#" class="button small icon-cog" title="Open Component Settings"
1976
2058
  @click.prevent="openSettingsSidebar('CmdThumbnailScroller')"></a>
1977
2059
  </h2>
1978
- <p> date (YMD/default): {{formatDate('2025-01-28', "", "-")}}</p>
1979
- <p> date (DMY): {{formatDate('2025-01-28', "dmy")}}</p>
1980
- <p> date (MDY): {{formatDate('2025-01-28', "mdy", "/")}}</p>
1981
- <p> date (invalid)): {{formatDate('invalid')}}</p>
2060
+ <p> date (YMD/default): {{ formatDate('2025-01-28', "", "-") }}</p>
2061
+ <p> date (DMY): {{ formatDate('2025-01-28', "dmy") }}</p>
2062
+ <p> date (MDY): {{ formatDate('2025-01-28', "mdy", "/") }}</p>
2063
+ <p> date (invalid)): {{ formatDate('invalid') }}</p>
1982
2064
  <div class="inline-size">
1983
2065
  <CmdThumbnailScroller
1984
2066
  ref="CmdThumbnailScroller"
@@ -2160,11 +2242,13 @@ import inputGroupReplacedRadiobuttonsData from '@/assets/data/input-group-replac
2160
2242
  import inputGroupToggleSwitchRadiobuttonsData from '@/assets/data/input-group-toggle-switch-radiobuttons.json'
2161
2243
  import listOfLinksData from '@/assets/data/list-of-links.json'
2162
2244
  import languagesData from '@/assets/data/switch-language.json'
2245
+ import mailToolData from '@/assets/data/mail-tool.json'
2163
2246
  import multistepsData from '@/assets/data/multistep-form-progress-bar.json'
2164
2247
  import navigationData from '@/assets/data/main-navigation.json'
2165
2248
  import openingHoursData from '@/assets/data/opening-hours.json'
2166
2249
  import selectOptionsData from '@/assets/data/select-options.json'
2167
2250
  import slideshowData from '@/assets/data/slideshow.json'
2251
+ import smartSearchData from '@/assets/data/smart-search.json'
2168
2252
  import socialNetworksData from '@/assets/data/social-networks-page-by-json.json'
2169
2253
  import tabsData from '@/assets/data/tabs.json'
2170
2254
  import tableDataSmall from '@/assets/data/table-small.json'
@@ -2325,6 +2409,12 @@ export default {
2325
2409
  openLeftSidebar: true,
2326
2410
  openRightSidebar: false,
2327
2411
  openBoxes: [1],
2412
+ outputCmdLink: {
2413
+ event: {
2414
+ originalEvent: {},
2415
+ linkType: ""
2416
+ }
2417
+ },
2328
2418
 
2329
2419
  // assign data from json files to data-properties
2330
2420
  addressData,
@@ -2347,10 +2437,12 @@ export default {
2347
2437
  languagesData,
2348
2438
  listOfLinksData,
2349
2439
  multistepsData,
2440
+ mailToolData,
2350
2441
  navigationData,
2351
2442
  openingHoursData,
2352
2443
  selectOptionsData,
2353
2444
  slideshowData,
2445
+ smartSearchData,
2354
2446
  socialNetworksData,
2355
2447
  tableDataSmall,
2356
2448
  tableDataLarge,
@@ -2361,19 +2453,23 @@ export default {
2361
2453
  packageJson
2362
2454
  }
2363
2455
  },
2456
+ mounted() {
2457
+ console.log("Component Library is mounted");
2458
+ },
2364
2459
  computed: {
2365
2460
  navigationDataModified() {
2366
- if(!this.useRouterLinks) {
2461
+ if (!this.useRouterLinks) {
2367
2462
  function mapLinkTypes(navigationEntries) {
2368
2463
  return navigationEntries.map((item) => {
2369
2464
  item.type = "href"
2370
2465
 
2371
- if(item.subentries?.length) {
2466
+ if (item.subentries?.length) {
2372
2467
  item.subentries = mapLinkTypes(item.subentries)
2373
2468
  }
2374
2469
  return item
2375
2470
  })
2376
2471
  }
2472
+
2377
2473
  return mapLinkTypes(this.navigationData.navigationEntries)
2378
2474
  }
2379
2475
  return this.navigationData.navigationEntries
@@ -2392,6 +2488,10 @@ export default {
2392
2488
  }
2393
2489
  },
2394
2490
  methods: {
2491
+ cmdLinkOutput(event, linkType) {
2492
+ this.outputCmdLink.event.originalEvent = event
2493
+ this.outputCmdLink.event.linkType = linkType
2494
+ },
2395
2495
  formatDate,
2396
2496
  updateLanguage(event) {
2397
2497
  this.selectedLanguage = event.iso2
@@ -2463,7 +2563,7 @@ export default {
2463
2563
  return navigationData
2464
2564
  }, 1000);
2465
2565
  },
2466
- clickOnListOfLinks(event) {
2566
+ f(event) {
2467
2567
  event.originalEvent.preventDefault()
2468
2568
  console.log(event)
2469
2569
  },
@@ -20,6 +20,7 @@
20
20
  "ListOfImages",
21
21
  "ListOfLinks",
22
22
  "LoginForm",
23
+ "MailTool",
23
24
  "MainNavigation",
24
25
  "MultistepFormProgressBar",
25
26
  "NewsletterSubscription",
@@ -0,0 +1,50 @@
1
+ {
2
+ "inbox": [
3
+ {
4
+ "id": 1,
5
+ "cmdImage": {
6
+ "src": "/public/media/images/user-images/fake-user-1.jpg",
7
+ "alt": "User image"
8
+ },
9
+ "contactFullName": "Name Sender #1",
10
+ "subject": "This is the subject of this mail #1",
11
+ "isoDate": "2025-02-20",
12
+ "time": "19:39"
13
+ },
14
+ {
15
+ "id": 2,
16
+ "cmdImage": {
17
+ "src": "/public/media/images/user-images/fake-user-2.jpg",
18
+ "alt": "User image"
19
+ },
20
+ "contactFullName": "Name Sender #2",
21
+ "subject": "This is the subject of this mail #2",
22
+ "isoDate": "2025-02-20",
23
+ "time": "21:08"
24
+ }
25
+ ],
26
+ "outbox": [
27
+ {
28
+ "id": 3,
29
+ "cmdImage": {
30
+ "src": "/public/media/images/user-images/fake-user-2.jpg",
31
+ "alt": "User image"
32
+ },
33
+ "contactFullName": "Name Receiver #1",
34
+ "subject": "This is the subject of this mail #1",
35
+ "isoDate": "2025-02-20",
36
+ "time": "19:41"
37
+ },
38
+ {
39
+ "id": 4,
40
+ "cmdImage": {
41
+ "src": "/public/media/images/user-images/fake-user-3.jpg",
42
+ "alt": "User image"
43
+ },
44
+ "contactFullName": "Name Receiver #2",
45
+ "subject": "This is the subject of this mail #2",
46
+ "isoDate": "2025-02-21",
47
+ "time": "15:55"
48
+ }
49
+ ]
50
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "listOfRecommendations": [
3
+ {
4
+ "linkType": "href",
5
+ "text": "Option #1",
6
+ "icon": {
7
+ "iconClass": "icon-home"
8
+ }
9
+ },
10
+ {
11
+ "linkType": "href",
12
+ "text": "Option #2",
13
+ "icon": {
14
+ "iconClass": "icon-company"
15
+ }
16
+ },
17
+ {
18
+ "linkType": "href",
19
+ "text": "Option #3",
20
+ "icon": {
21
+ "iconClass": "icon-globe"
22
+ }
23
+ }
24
+ ],
25
+ "cmdFormElement": {
26
+ "labelText": "Label for inputfield (search) with smart-search:"
27
+ }
28
+ }
@@ -1,20 +1,20 @@
1
1
  [
2
2
  {
3
- "name": "Tab 1",
3
+ "text": "Tab 1",
4
4
  "headlineText": "Tab 1 Headline",
5
5
  "headlineLevel": 4,
6
6
  "iconClass": "icomoon-free:airplane",
7
7
  "htmlContent": "<p>Content for Tab 1</p>"
8
8
  },
9
9
  {
10
- "name": "Tab 2",
10
+ "text": "Tab 2",
11
11
  "headlineText": "Tab 2 Headline",
12
12
  "headlineLevel": 4,
13
13
  "iconClass": "icomoon-free:blocked",
14
14
  "htmlContent": "<p>Content for Tab 2</p>"
15
15
  },
16
16
  {
17
- "name": "Tab 3",
17
+ "text": "Tab 3",
18
18
  "headlineText": "Tab 3 Headline",
19
19
  "headlineLevel": 4,
20
20
  "iconClass": "cmd:linkedin",
@@ -449,16 +449,15 @@ data() {
449
449
  ]
450
450
  },
451
451
  cmdLoginFormSettingsData: {
452
- legendLoginForm: {
453
- show: true,
454
- align: "left",
455
- text: "Login form"
452
+ cmdHeadlineLoginForm: {
453
+ headlineText: "Login",
454
+ headlineLevel: 4
456
455
  },
457
- legendForgotLoginForm: {
458
- show: true,
459
- align: "right",
460
- text: "Forgot login form"
461
- }
456
+ cmdHeadlineSendLoginForm: {
457
+ headlineText: "Send Login",
458
+ headlineLevel: 4
459
+ },
460
+ orientation: "horizontal"
462
461
  },
463
462
  cmdLoginFormSettingsControls: {
464
463
  orientation: [
@@ -509,10 +508,6 @@ data() {
509
508
  },
510
509
  cmdNewsletterSubscriptionSettingsData: {
511
510
  buttonType: "submit",
512
- legend: {
513
- show: true,
514
- text: "Stay up-to-date"
515
- },
516
511
  cmdInputGroup: {
517
512
  inputElements: [
518
513
  {
@@ -615,11 +610,7 @@ data() {
615
610
  ],
616
611
  },
617
612
  cmdSiteSearchSettingsData: {
618
- useFilters: true,
619
- legend: {
620
- show: true,
621
- text: "Search"
622
- }
613
+ useFilters: true
623
614
  },
624
615
  cmdSlideshowSettingsData: {
625
616
  useSlot: false,
@@ -172,10 +172,11 @@
172
172
  </template>
173
173
 
174
174
  <script>
175
- import EditMode from "../mixins/EditMode.vue"
176
- import {buildComponentPath, updateHandlerProvider} from "../utils/editmode.js";
175
+ // import functions
176
+ import {buildComponentPath, updateHandlerProvider} from "../utils/editmode.js"
177
177
 
178
178
  // import mixins
179
+ import EditMode from "../mixins/EditMode.vue"
179
180
 
180
181
  export default {
181
182
  name: "CmdAddressData",
@@ -11,7 +11,6 @@
11
11
  </template>
12
12
 
13
13
  <script>
14
-
15
14
  export default {
16
15
  name: "CmdBackToTopButton",
17
16
  data() {
@@ -263,8 +263,9 @@
263
263
  // import mixins
264
264
  import I18n from "../mixins/I18n.js"
265
265
  import DefaultMessageProperties from "../mixins/CmdBasicForm/DefaultMessageProperties.js"
266
- import {ContactFormValidator} from "../utils/ContactFormValidation.js"
267
266
 
267
+ // import functions
268
+ import {ContactFormValidator} from "../utils/ContactFormValidation.js"
268
269
  import {openFancyBox} from "./CmdFancyBox.vue"
269
270
 
270
271
  export default {
@@ -0,0 +1,41 @@
1
+ <template>
2
+ <div :class="['cmd-flexible-scroll-container flexible-scroll-container', {'reverse-order': fixedContainerAtBottom}]">
3
+ <div class="fixed-wrapper">
4
+ <!-- begin slot for fixed-wrapper -->
5
+ <slot name="fixed-wrapper"></slot>
6
+ <!-- end slot for fixed-wrapper -->
7
+ </div>
8
+ <div class="scroll-wrapper">
9
+ <!-- begin slot for scroll-wrapper -->
10
+ <slot name="scroll-wrapper"></slot>
11
+ <!-- end slot for scroll-wrapper -->
12
+ </div>
13
+ </div>
14
+ </template>
15
+
16
+ <script>
17
+ export default {
18
+ name: "CmdFlexibleScrollContainer",
19
+ /**
20
+ * put fixed container to bottom
21
+ *
22
+ * @affectLayout: true
23
+ */
24
+ props: {
25
+ fixedContainerAtBottom: {
26
+ type: Boolean,
27
+ default: false
28
+ }
29
+ }
30
+ }
31
+ </script>
32
+
33
+ <style>
34
+ /* begin cmd-flexible-scroll-container ------------------------------------------------------------------------------------------ */
35
+ .cmd-flexible-scroll-container {
36
+ &.reverse-order {
37
+ flex-direction: column-reverse;
38
+ }
39
+ }
40
+ /* end cmd-flexible-scroll-container ------------------------------------------------------------------------------------------ */
41
+ </style>
@@ -71,7 +71,6 @@
71
71
  <!-- begin inputfield -->
72
72
  <template v-if="element === 'input' && $attrs.type !== 'search'">
73
73
  <input
74
- v-bind="elementAttributes"
75
74
  :id="htmlId"
76
75
  :class="inputClass"
77
76
  @focus="tooltip = true"
@@ -83,8 +82,10 @@
83
82
  :autocomplete="autocomplete"
84
83
  :list="datalist ? datalist.id : null"
85
84
  :value="modelValue"
85
+ :minlength="$attrs.type === 'password' ? '8' : null"
86
86
  :maxlength="getMaxLength()"
87
87
  ref="input"
88
+ v-bind="elementAttributes"
88
89
  />
89
90
  </template>
90
91
  <!-- end inputfield -->
@@ -178,27 +179,27 @@
178
179
  @blur="onBlur"
179
180
  @change="$emit('update:modelValue', $event.target.value)">
180
181
 
181
- <option v-if="!groupSelectOptionsByInitialLetters"
182
+ <option v-if="!groupSelectOptionsByInitialLetters"
182
183
  v-for="(option, index) in selectOptions"
183
184
  :key="index"
184
185
  :value="option.value"
185
186
  :selected="option.value === modelValue"
187
+ >
188
+ {{ option.text }}
189
+ </option>
190
+ <optgroup v-else :label="key"
191
+ v-for="(options, key) in initialLetters"
192
+ :key="key"
193
+ >
194
+ <option
195
+ v-for="(option, optionIndex) in options"
196
+ :key="optionIndex"
197
+ :value="option.value"
198
+ :selected="option.value === modelValue"
186
199
  >
187
200
  {{ option.text }}
188
201
  </option>
189
- <optgroup v-else :label="key"
190
- v-for="(options, key) in initialLetters"
191
- :key="key"
192
- >
193
- <option
194
- v-for="(option, optionIndex) in options"
195
- :key="optionIndex"
196
- :value="option.value"
197
- :selected="option.value === modelValue"
198
- >
199
- {{ option.text }}
200
- </option>
201
- </optgroup>
202
+ </optgroup>
202
203
  </select>
203
204
  <!-- end selectbox -->
204
205
 
@@ -699,7 +700,7 @@ export default {
699
700
  },
700
701
  computed: {
701
702
  initialLetters() {
702
- return this.getInitialLetters(this.selectOptions)
703
+ return this.getInitialLetters(this.selectOptions)
703
704
  },
704
705
  elementAttributes() {
705
706
  const commonAttributes = ["name", "required", "readonly", "disabled", "autofocus"]
@@ -788,7 +789,7 @@ export default {
788
789
  listOfOptions.sort((a, b) => a.text.toLowerCase().localeCompare(b.text.toLowerCase()))
789
790
 
790
791
  for (let i = 0; i < listOfOptions.length; i++) {
791
- const initialLetter = listOfOptions[i].text.slice(0,1)
792
+ const initialLetter = listOfOptions[i].text.slice(0, 1)
792
793
  if (!groupedListOfOptions[initialLetter]) {
793
794
  groupedListOfOptions[initialLetter] = []
794
795
  }
@@ -829,8 +830,11 @@ export default {
829
830
  const useValidation = event.target.closest("form")?.dataset.useValidation === "true"
830
831
 
831
832
  if (useValidation) {
833
+ // get value from input-element
834
+ const value = event.target.value
835
+
832
836
  // if input is filled, set status to success (expect for checkboxes and radiobuttons)
833
- if (!["checkbox", "radio"].includes(this.$attrs.type) && this.modelValue) {
837
+ if (!["checkbox", "radio"].includes(this.$attrs.type) && value) {
834
838
  this.validationStatus = "success"
835
839
  }
836
840
 
@@ -840,7 +844,7 @@ export default {
840
844
  if (this.customRequirements) {
841
845
  // check if customRequirement returns invalid result
842
846
  const invalidCustomRequirement = this.customRequirements.some(requirement => {
843
- return !requirement.valid(this.modelValue)
847
+ return !requirement.valid(value)
844
848
  })
845
849
 
846
850
  // set validation-status if invalidCustomRequirement returns at least one invalid entry
@@ -1032,10 +1036,8 @@ export default {
1032
1036
  }
1033
1037
 
1034
1038
  .place-inside {
1035
- + .search-field-wrapper {
1036
- input {
1037
- padding-left: calc(var(--default-padding) * 3);
1038
- }
1039
+ input {
1040
+ padding-left: calc(var(--default-padding) * 3);
1039
1041
  }
1040
1042
  }
1041
1043
 
@@ -105,7 +105,7 @@
105
105
  <!-- end image with figure/figcaption -->
106
106
 
107
107
  <!-- begin image without figure/figcaption -->
108
- <img v-else :src="imageSource" :alt="image?.alt" :title="image?.tooltip" @load="onImageLoaded"/>
108
+ <img v-else class="cmd-image" :src="imageSource" :alt="image?.alt" :title="image?.tooltip" @load="onImageLoaded"/>
109
109
  <!-- end image without figure/figcaption -->
110
110
  <!-- end default-view -->
111
111
  </template>