@citruslime/ui 1.2.1-beta.0 → 1.2.1

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 (140) hide show
  1. package/README.md +5 -4
  2. package/dist/citrus-lime-ui.es.js +4602 -0
  3. package/dist/citrus-lime-ui.umd.js +2 -0
  4. package/dist/components/accordion/cl-ui-accordion.vue.d.ts +26 -0
  5. package/dist/components/accordion/index.d.ts +4 -0
  6. package/dist/components/accordion/item/cl-ui-accordion-item.vue.d.ts +35 -0
  7. package/dist/{@types/components/accordion/item.d.ts → components/accordion/types.d.ts} +0 -0
  8. package/dist/components/app/cl-ui-app.vue.d.ts +51 -0
  9. package/dist/components/app/index.d.ts +1 -0
  10. package/dist/components/button/cl-ui-button.vue.d.ts +51 -0
  11. package/dist/components/button/index.d.ts +2 -0
  12. package/dist/components/button/types.d.ts +4 -0
  13. package/dist/components/calendar/cl-ui-calendar.vue.d.ts +2 -0
  14. package/dist/components/calendar/index.d.ts +2 -0
  15. package/dist/components/calendar/types.d.ts +2 -0
  16. package/dist/components/calendar/utils.d.ts +38 -0
  17. package/dist/components/card/cl-ui-card.vue.d.ts +27 -0
  18. package/dist/components/card/index.d.ts +2 -0
  19. package/dist/components/card/types.d.ts +2 -0
  20. package/dist/components/combo-box/cl-ui-combo-box.vue.d.ts +583 -0
  21. package/dist/components/combo-box/index.d.ts +2 -0
  22. package/dist/components/combo-box/search-container/cl-ui-combo-box-search.vue.d.ts +276 -0
  23. package/dist/components/combo-box/search-container/header/cl-ui-combo-box-header.vue.d.ts +42 -0
  24. package/dist/components/combo-box/search-container/selectable/cl-ui-combo-box-selectable.vue.d.ts +81 -0
  25. package/dist/{@types/components/combo-box/item.d.ts → components/combo-box/types.d.ts} +0 -0
  26. package/dist/components/footer/index.d.ts +1 -0
  27. package/dist/components/grid/cell/cl-ui-grid-cell.vue.d.ts +72 -0
  28. package/dist/components/grid/cl-ui-grid.vue.d.ts +550 -0
  29. package/dist/components/grid/filter/cl-ui-grid-filter.vue.d.ts +72 -0
  30. package/dist/components/grid/filter/filter-methods.d.ts +5 -0
  31. package/dist/components/grid/footer/cl-ui-grid-footer.vue.d.ts +63 -0
  32. package/dist/components/grid/header/cl-ui-grid-header.vue.d.ts +207 -0
  33. package/dist/components/grid/index.d.ts +2 -0
  34. package/dist/components/grid/types.d.ts +92 -0
  35. package/dist/components/grid/view-manager/cl-ui-grid-view-manager.vue.d.ts +88 -0
  36. package/dist/components/header/index.d.ts +2 -0
  37. package/dist/components/header/menu/cl-ui-header-menu.vue.d.ts +40 -0
  38. package/dist/components/header/menu/index.d.ts +1 -0
  39. package/dist/components/index.d.ts +16 -14
  40. package/dist/components/input/cl-ui-input.vue.d.ts +2 -0
  41. package/dist/components/input/index.d.ts +2 -0
  42. package/dist/components/input/types.d.ts +6 -0
  43. package/dist/components/input/utils.d.ts +44 -0
  44. package/dist/components/language-switcher/cl-ui-language-switcher.vue.d.ts +37 -0
  45. package/dist/components/language-switcher/index.d.ts +2 -0
  46. package/dist/{@types/language.d.ts → components/language-switcher/types.d.ts} +0 -1
  47. package/dist/components/loading-spinner/index.d.ts +1 -0
  48. package/dist/components/login/cl-ui-login.vue.d.ts +106 -0
  49. package/dist/components/login/index.d.ts +2 -0
  50. package/dist/{@types/components/login/authentication.d.ts → components/login/types.d.ts} +0 -0
  51. package/dist/components/modal/cl-ui-modal.vue.d.ts +49 -0
  52. package/dist/components/modal/index.d.ts +2 -0
  53. package/dist/components/modal/types.d.ts +4 -0
  54. package/dist/components/navigation/cl-ui-navigation.vue.d.ts +11 -0
  55. package/dist/components/navigation/group/cl-ui-navigation-group.vue.d.ts +12 -0
  56. package/dist/components/navigation/icon/cl-ui-navigation-icon.vue.d.ts +20 -0
  57. package/dist/components/navigation/index.d.ts +5 -0
  58. package/dist/components/notification/cl-ui-notification.vue.d.ts +36 -0
  59. package/dist/components/notification/index.d.ts +1 -0
  60. package/dist/components/notification/types.d.ts +9 -0
  61. package/dist/components/slider/cl-ui-slider.vue.d.ts +114 -0
  62. package/dist/components/slider/index.d.ts +1 -0
  63. package/dist/components/tab/cl-ui-tab.vue.d.ts +52 -0
  64. package/dist/components/tab/header/cl-ui-tab-header.vue.d.ts +60 -0
  65. package/dist/components/tab/index.d.ts +4 -0
  66. package/dist/components/tab/types.d.ts +4 -0
  67. package/dist/composables/notification.d.ts +1 -1
  68. package/dist/main.d.ts +3 -5
  69. package/dist/style.css +1 -1
  70. package/dist/utils/i18n/config.d.ts +33 -0
  71. package/dist/utils/i18n/defaults.d.ts +4 -0
  72. package/dist/utils/i18n/index.d.ts +3 -0
  73. package/dist/utils/i18n/types.d.ts +97 -0
  74. package/dist/utils/index.d.ts +2 -6
  75. package/dist/utils/validation.d.ts +37 -0
  76. package/package.json +29 -13
  77. package/dist/.eslintrc.js +0 -448
  78. package/dist/.stylelintrc.js +0 -119
  79. package/dist/@types/appUser.d.ts +0 -10
  80. package/dist/@types/components/accordion/index.d.ts +0 -1
  81. package/dist/@types/components/combo-box/index.d.ts +0 -2
  82. package/dist/@types/components/combo-box/localisations.d.ts +0 -19
  83. package/dist/@types/components/grid/column.d.ts +0 -45
  84. package/dist/@types/components/grid/index.d.ts +0 -4
  85. package/dist/@types/components/grid/localisations.d.ts +0 -47
  86. package/dist/@types/components/grid/request.d.ts +0 -49
  87. package/dist/@types/components/grid/update.d.ts +0 -4
  88. package/dist/@types/components/header/index.d.ts +0 -2
  89. package/dist/@types/components/header/localisations.d.ts +0 -8
  90. package/dist/@types/components/header/navigation.d.ts +0 -15
  91. package/dist/@types/components/login/index.d.ts +0 -2
  92. package/dist/@types/components/login/localisations.d.ts +0 -7
  93. package/dist/@types/components/notification/index.d.ts +0 -1
  94. package/dist/@types/components/notification/item.d.ts +0 -7
  95. package/dist/@types/components/slider/index.d.ts +0 -1
  96. package/dist/@types/components/slider/localisations.d.ts +0 -3
  97. package/dist/@types/date-format.d.ts +0 -8
  98. package/dist/@types/debouncer.d.ts +0 -6
  99. package/dist/@types/index.d.ts +0 -15
  100. package/dist/@types/locale.d.ts +0 -10
  101. package/dist/@types/number-format.d.ts +0 -7
  102. package/dist/@types/string-format.d.ts +0 -3
  103. package/dist/@types/string.d.ts +0 -47
  104. package/dist/theme.js +0 -122
  105. package/dist/ui.es.js +0 -1
  106. package/dist/ui.umd.js +0 -1
  107. package/dist/utils/copy.d.ts +0 -8
  108. package/dist/utils/debouncer.d.ts +0 -8
  109. package/dist/utils/extensions/string-utilities.d.ts +0 -83
  110. package/dist/utils/extensions/string.d.ts +0 -1
  111. package/dist/utils/i18n/datetime-formats.d.ts +0 -3
  112. package/dist/utils/i18n/number-formats.d.ts +0 -3
  113. package/dist/utils/id.d.ts +0 -6
  114. package/dist/utils/name-of.d.ts +0 -7
  115. package/dist/utils/sort.d.ts +0 -9
  116. package/dist/utils/url-params.d.ts +0 -8
  117. package/src/components/accordion/accordion.vue +0 -30
  118. package/src/components/button/button.vue +0 -28
  119. package/src/components/calendar/calendar.vue +0 -35
  120. package/src/components/card/card.vue +0 -54
  121. package/src/components/combo-box/combo-box.vue +0 -79
  122. package/src/components/combo-box/search-container/header-option/header-option.vue +0 -21
  123. package/src/components/combo-box/search-container/search-container.vue +0 -57
  124. package/src/components/combo-box/search-container/selectable-option/selectable-option.vue +0 -27
  125. package/src/components/footer/footer.vue +0 -23
  126. package/src/components/grid/cell/cell.vue +0 -64
  127. package/src/components/grid/filter/filter.vue +0 -93
  128. package/src/components/grid/footer/footer.vue +0 -91
  129. package/src/components/grid/grid.vue +0 -194
  130. package/src/components/grid/header/header.vue +0 -39
  131. package/src/components/grid/view-manager/view-manager.vue +0 -73
  132. package/src/components/header/header-helper/header-helper.vue +0 -95
  133. package/src/components/header/header.vue +0 -33
  134. package/src/components/header/navigation/navigation.vue +0 -84
  135. package/src/components/language-switcher/language-switcher.vue +0 -36
  136. package/src/components/loading-spinner/loading-spinner.vue +0 -8
  137. package/src/components/login/login.vue +0 -101
  138. package/src/components/modal/modal.vue +0 -48
  139. package/src/components/notification/notification.vue +0 -36
  140. package/src/components/slider/slider.vue +0 -41
@@ -1,194 +0,0 @@
1
- <script lang="ts" src="./grid"></script>
2
-
3
- <style scoped src="./grid.css"></style>
4
-
5
- <template>
6
- <div class="hidden lg:block lg:text-right mb-4 w-full">
7
- <cl-ui-grid-header v-model:columns="currentColumns"
8
- v-model:edit-mode="editMode"
9
- :localisations="localisations"
10
- @reset-filters="resetFilters" />
11
- </div>
12
-
13
- <div class="grid-wrapper relative w-full"
14
- :data-loading="loading">
15
- <div v-show="loading"
16
- class="absolute bg-white h-full opacity-40 w-full z-20"></div>
17
-
18
- <div class="bg-white flex flex-wrap lg:hidden sticky top-0 w-full">
19
- <div class="border-b border-grey-2 flex flex-wrap px-2 py-4 w-full">
20
- <strong class="mb-4 text-sm w-full">
21
- {{ localisations.gridTools }}
22
- </strong>
23
-
24
- <div class="flex flex-wrap w-full">
25
- <cl-ui-grid-header v-model:columns="currentColumns"
26
- v-model:edit-mode="editMode"
27
- v-model:filter-panel-open="filterPanelOpen"
28
- :localisations="localisations"
29
- @reset-filters="resetFilters" />
30
- </div>
31
- </div>
32
-
33
- <div v-show="filterPanelOpen"
34
- class="absolute bg-white h-screen overflow-x-auto p-4 text-sm w-full z-10">
35
- <div class="border-b border-grey-3 mb-2 pb-2 text-right w-full">
36
- <cl-ui-button colour="blue"
37
- size="small"
38
- @click.prevent="filterPanelOpen = false;">
39
- <ph-x class="-mt-1 inline-block"
40
- :size="16" />
41
-
42
- {{ localisations.confirmFilters }}
43
- </cl-ui-button>
44
- </div>
45
-
46
- <div class="grid grid-cols-3">
47
- <div>
48
- {{ localisations.field }}
49
- </div>
50
-
51
- <div>
52
- {{ localisations.filter }}
53
- </div>
54
-
55
- <div>
56
- {{ localisations.sortBy }}
57
- </div>
58
- </div>
59
-
60
- <div v-for="(column, index) in visibleColumns"
61
- :key="index"
62
- class="grid grid-cols-3 mb-4 w-full">
63
- <div>
64
- {{ column.caption }}
65
- </div>
66
-
67
- <cl-ui-grid-filter v-model:request="currentRequest"
68
- :localisations="localisations"
69
- :column="column"
70
- :current-locale="currentLocale" />
71
-
72
- <template v-if="(column.type !== GridColumnType.SLOT || (column.slotType !== undefined) && column.field !== undefined) &&
73
- (column.sortable === undefined || column.sortable === true)">
74
- <ph-minus v-if="currentRequest.sort === null || currentRequest.sort.sortOnColumn !== column.field"
75
- class="cursor-pointer ml-2"
76
- @click="setSort(column.field)" />
77
- <ph-caret-down v-else-if="currentRequest.sort.sortByAscending === false"
78
- class="cursor-pointer ml-2"
79
- @click="setSort(column.field)" />
80
- <ph-caret-up v-else
81
- class="cursor-pointer ml-2"
82
- @click="setSort(column.field)" />
83
- </template>
84
- <div v-else
85
- class="ml-2">
86
- &nbsp;
87
- </div>
88
- </div>
89
- </div>
90
- </div>
91
-
92
- <div class="overflow-auto w-full">
93
- <table class="min-w-full table-fixed">
94
- <colgroup class="hidden lg:table-column-group">
95
- <col v-for="(column, index) in visibleColumns"
96
- :key="index"
97
- :style="getStyleForColumn(column.name)"
98
- :span="1">
99
- </colgroup>
100
-
101
- <thead class="hidden lg:table-header-group">
102
- <tr>
103
- <th v-for="(column, index) in visibleColumns"
104
- :key="index"
105
- class="border-b border-grey-2 font-semibold p-1 text-grey-3 text-left text-sm uppercase"
106
- :style="getStyleForColumn(column.name)">
107
- <span v-if="data && data.results?.length &&
108
- (column.type !== GridColumnType.SLOT || (column.slotType !== undefined && column.field !== undefined)) &&
109
- (column.sortable === undefined || column.sortable === true)"
110
- class="cursor-pointer"
111
- @click="setSort(column.field)">
112
- {{ column.caption }}
113
-
114
- <ph-caret-up v-show="currentRequest.sort !== null && currentRequest.sort.sortOnColumn === column.field && currentRequest.sort.sortByAscending === true"
115
- class="-mt-1 inline-block" />
116
-
117
- <ph-caret-down v-show="currentRequest.sort !== null && currentRequest.sort.sortOnColumn === column.field && currentRequest.sort.sortByAscending === false"
118
- class="-mt-1 inline-block" />
119
- </span>
120
- <span v-else>
121
- {{ column.caption }}
122
- </span>
123
- </th>
124
- </tr>
125
-
126
- <tr v-if="(data && data.results?.length) || currentRequest.filters.length > 0">
127
- <th v-for="(column, index) in visibleColumns"
128
- :key="index"
129
- class="p-1"
130
- :style="getStyleForColumn(column.name)">
131
- <cl-ui-grid-filter v-model:request="currentRequest"
132
- :localisations="localisations"
133
- :column="column"
134
- :current-locale="currentLocale"
135
- :first-half="index <= visibleColumns.length / 2" />
136
- </th>
137
- </tr>
138
- </thead>
139
-
140
- <tbody>
141
- <template v-if="data && data.results?.length">
142
- <tr v-for="(record, recordIndex) in data.results"
143
- :key="recordIndex"
144
- :class="{
145
- 'bg-white': (recordIndex % 2) !== 1,
146
- 'bg-off-white': (recordIndex % 2) === 1
147
- }">
148
- <cl-ui-grid-cell v-for="(column, columnIndex) in visibleColumns"
149
- :key="columnIndex"
150
- class="align-top p-2 whitespace-nowrap"
151
- :style="getStyleForColumn(column.name)"
152
- :current-locale="currentLocale"
153
- :column="column"
154
- :record="record"
155
- :edit-mode="editMode"
156
- @focus="cellFocused(recordIndex)"
157
- @edit="cellFocused(recordIndex); cellChanged($event, column.field);"
158
- @undo-edit="cellReverted(column.field)">
159
- <template v-for="(_, name) in $slots"
160
- #[name]="data">
161
- <slot :name="name"
162
- v-bind="data"></slot>
163
- </template>
164
- </cl-ui-grid-cell>
165
- </tr>
166
- </template>
167
- <tr v-else>
168
- <td :colspan="visibleColumns.length">
169
- <div class="my-10 py-1 text-center text-sm w-full">
170
- <strong>
171
- {{ localisations.noData }}
172
- </strong>
173
-
174
- <div v-if="currentRequest.filters.length > 0"
175
- class="w-full">
176
- {{ localisations.noDataFiltersPresent }}
177
-
178
- <cl-ui-button size="small"
179
- @click.prevent="resetFilters">
180
- {{ localisations.clearFilters }}
181
- </cl-ui-button>
182
- </div>
183
- </div>
184
- </td>
185
- </tr>
186
- </tbody>
187
- </table>
188
- </div>
189
-
190
- <cl-ui-grid-footer v-model:request="currentRequest"
191
- :localisations="localisations"
192
- :data="data" />
193
- </div>
194
- </template>
@@ -1,39 +0,0 @@
1
- <script lang="ts" src="./header"></script>
2
-
3
- <template>
4
- <span class="lg:pb-0 lg:w-auto pb-2 pr-2 w-1/2">
5
- <cl-ui-button class="lg:w-auto w-full"
6
- size="small"
7
- colour="default"
8
- @click="$emit('update:edit-mode', !editMode)">
9
- <span v-show="!editMode">
10
- {{ localisations.editData }}
11
- </span>
12
- <span v-show="editMode">
13
- {{ localisations.finishEditing }}
14
- </span>
15
- </cl-ui-button>
16
- </span>
17
-
18
- <span class="hidden lg:inline-block pr-2">
19
- <cl-ui-view-manager v-model:columns="currentColumns"
20
- :localisations="localisations" />
21
- </span>
22
-
23
- <span class="lg:pb-0 lg:pr-0 lg:w-auto pb-2 pr-2 w-1/2">
24
- <cl-ui-button class="lg:w-auto w-full"
25
- size="small"
26
- @click.prevent="$emit('reset-filters')">
27
- {{ localisations.clearFilters }}
28
- </cl-ui-button>
29
- </span>
30
-
31
- <span class="lg:hidden pr-2 w-1/2">
32
- <cl-ui-button class="w-full"
33
- colour="blue"
34
- size="small"
35
- @click.prevent="$emit('update:filter-panel-open', true)">
36
- {{ localisations.modifyFilters }}
37
- </cl-ui-button>
38
- </span>
39
- </template>
@@ -1,73 +0,0 @@
1
- <script lang="ts" src="./view-manager"></script>
2
-
3
- <template>
4
- <cl-ui-button v-bind="$attrs"
5
- class="w-full"
6
- size="small"
7
- @click.prevent="visible = true">
8
- {{ localisations.manageView }}
9
- </cl-ui-button>
10
-
11
- <teleport to="body">
12
- <div v-show="visible"
13
- class="fixed flex h-full right-0 top-0 w-full z-40">
14
- <div class="bg-black cursor-pointer flex-1 h-full opacity-40"
15
- @click="visible = false"></div>
16
-
17
- <div class="bg-secondary-default h-full overflow-y-auto px-10 py-20 relative text-grey-2 w-80">
18
- <ph-x class="absolute cursor-pointer right-3 text-off-white top-3"
19
- :size="16"
20
- @click="visible = false" />
21
-
22
- <h3 class="mb-4 text-2xl text-off-white">
23
- {{ localisations.manageView }}
24
- </h3>
25
-
26
- <ul class="border-grey-3 border-t flex flex-wrap text-sm w-full">
27
- <li class="border-b border-grey-2 flex py-2 text-sm w-full">
28
- <strong class="flex-1 py-2">
29
- {{ localisations.column }}
30
- </strong>
31
-
32
- <strong class="py-2 w-1/4">
33
- {{ localisations.visible }}
34
- </strong>
35
-
36
- <strong class="py-2 w-1/5">
37
- {{ localisations.order }}
38
- </strong>
39
- </li>
40
-
41
- <li v-for="(column, index) in columns"
42
- :key="index"
43
- class="border-b border-grey-2 flex py-2 text-sm w-full">
44
- <div class="flex-1 py-2">
45
- {{ column.caption }}
46
- </div>
47
-
48
- <div class="py-2 w-1/4">
49
- <input :checked="column.visible === undefined || column.visible === true"
50
- type="checkbox"
51
- @click="updateColumnVisibility($event.target, column)">
52
- </div>
53
-
54
- <div class="py-2 text-off-white w-1/5">
55
- <template v-if="column.visible === undefined || column.visible === true">
56
- <ph-arrow-left v-if="index !== 0"
57
- class="cursor-pointer inline-block mr-2"
58
- @click="changeColumnOrder(index, 'down')" />
59
-
60
- <ph-arrow-right v-if="index !== columns.length - 1"
61
- class="cursor-pointer inline-block"
62
- @click="changeColumnOrder(index, 'up')" />
63
- </template>
64
- <em v-else>
65
- {{ localisations.hidden }}
66
- </em>
67
- </div>
68
- </li>
69
- </ul>
70
- </div>
71
- </div>
72
- </teleport>
73
- </template>
@@ -1,95 +0,0 @@
1
- <script lang="ts" src="./header-helper"></script>
2
-
3
- <template>
4
- <div class="flex items-center z-30"
5
- :class="{
6
- 'cursor-pointer': !disabled
7
- }">
8
- <cl-ui-language-switcher v-model:current-locale="selectedLocale"
9
- :supported-locales="supportedLocales"
10
- :disabled="disabled" />
11
-
12
- <div v-if="user !== null"
13
- class="bg-blue-light ease-in-out flex h-14 hover:bg-blue-hover items-center lg:w-64 select-none text-white transition-colors uppercase w-12"
14
- @click="toggleBox">
15
- <div class="w-auto">
16
- <div class="bg-secondary-default font-semibold h-8 leading-8 mx-2 rounded-full text-center text-xs w-8">
17
- {{ user.userInitial }}
18
- </div>
19
- </div>
20
-
21
- <div class="flex-1 hidden lg:inline-block ml-2">
22
- <div class="flex font-semibold text-sm">
23
- <div class="lg:w-36 overflow-ellipsis overflow-hidden whitespace-nowrap">
24
- {{ user.userName }}
25
- </div>
26
-
27
- <div v-if="user.userGroup !== undefined && user.userGroup.groupName !== 'NOT LOGGED IN'"
28
- class="hidden lg:inline-block mx-2">
29
- #{{ user.userGroup.groupId }}
30
- </div>
31
- </div>
32
-
33
- <div v-if="user.userGroup !== undefined"
34
- class="lg:w-44 overflow-ellipsis overflow-hidden text-xs uppercase whitespace-nowrap">
35
- {{ user.userGroup.groupName }}
36
- </div>
37
- </div>
38
- </div>
39
-
40
- <div class="bg-blue-default ease-in-out font-semibold h-14 hidden hover:bg-blue-hover items-center lg:flex px-4 select-none text-white transition-colors uppercase"
41
- @click="toggleBox">
42
- {{ helperLocalisations.helpLabel }}
43
- </div>
44
- </div>
45
-
46
- <div class="absolute bg-white border border-grey-2 lg:w-80 right-4 shadow-xl top-20 w-72 z-30"
47
- :class="{ 'block': display, 'hidden': !display }">
48
- <div v-if="user"
49
- class="bg-blue-default font-semibold p-2.5 text-white">
50
- {{ helperLocalisations.helpMessage }}
51
- </div>
52
-
53
- <!--
54
- TODO
55
- <TawkTo v-if="showChildComponents" />
56
- -->
57
-
58
- <a v-if="supportLink !== null"
59
- :href="supportLink"
60
- target="_blank"
61
- rel="noreferrer"
62
- class="block border-b border-grey-2 cursor-pointer font-semibold hover:bg-grey-1 hover:text-grey-4 p-2.5 text-grey-4 text-sm">
63
- <img class="inline-block mr-1"
64
- src="../../../assets/images/feedback.png">
65
-
66
- {{ helperLocalisations.support }}
67
- </a>
68
-
69
- <a v-if="feedbackLink !== null"
70
- :href="feedbackLink"
71
- target="_blank"
72
- rel="noreferrer"
73
- class="block border-b border-grey-2 cursor-pointer font-semibold hover:bg-grey-1 hover:text-grey-4 p-2.5 text-grey-4 text-sm">
74
- <img class="inline-block mr-1"
75
- src="../../../assets/images/portal.png">
76
-
77
- {{ helperLocalisations.feedback }}
78
- </a>
79
-
80
- <a v-if="websiteLink !== null"
81
- :href="websiteLink"
82
- target="_blank"
83
- rel="noreferrer"
84
- class="block border-b border-grey-2 cursor-pointer font-semibold hover:bg-grey-1 hover:text-grey-4 p-2 text-grey-4 text-xs">
85
- {{ helperLocalisations.website }}
86
- </a>
87
-
88
- <a v-if="userLoggedIn == true && logoutEnabled"
89
- href="#"
90
- class="block border-b border-grey-2 cursor-pointer font-semibold hover:bg-grey-1 hover:text-grey-4 p-2 text-grey-4 text-xs"
91
- @click.prevent="logout">
92
- {{ helperLocalisations.logout }}
93
- </a>
94
- </div>
95
- </template>
@@ -1,33 +0,0 @@
1
- <script lang="ts" src="./header"></script>
2
-
3
- <template>
4
- <div class="w-full">
5
- <nav class="bg-secondary-default flex items-center justify-between min-h-[56px] relative w-full">
6
- <div class="flex-1 ml-14 text-center z-30">
7
- <img class="box-border h-6 inline-block lg:h-10 mx-4"
8
- :class="{ 'cursor-pointer': !additionalActionsDisabled }"
9
- :src="logoPath"
10
- loading="lazy"
11
- @click="logoSelected">
12
- </div>
13
-
14
- <cl-ui-header-helper v-if="!noHelper"
15
- v-model:current-locale="selectedLocale"
16
- :supported-locales="supportedLocales"
17
- :disabled="additionalActionsDisabled"
18
- :localisations="localisations"
19
- :feedback-link="feedbackLink"
20
- :support-link="supportLink"
21
- :website-link="websiteLink"
22
- :user-logged-in="userLoggedIn"
23
- :logout-enabled="true"
24
- :user="user"
25
- @logout="logout" />
26
- </nav>
27
-
28
- <cl-ui-navigation :navigation="navigation"
29
- @item-select="itemSelected"
30
- @group-select="groupSelected"
31
- @state-change="stateChanged" />
32
- </div>
33
- </template>
@@ -1,84 +0,0 @@
1
- <script lang="ts" src="./navigation"></script>
2
-
3
- <template>
4
- <div v-if="navigation"
5
- class="absolute h-full left-0 overflow-hidden top-0 w-full">
6
- <div class="bg-link-default cursor-pointer delay-200 duration-200 ease-in-out flex h-14 hover:bg-link-light items-center relative transform transition-all w-14 z-40"
7
- :class="{ 'lg:translate-x-80 translate-x-44': isOpen }"
8
- @click.prevent="isOpen ? close() : open()">
9
- <ph-list class="leading-10 text-white w-full"
10
- :size="24"
11
- weight="bold" />
12
- </div>
13
-
14
- <div v-show="isOpen"
15
- class="bg-black cursor-pointer h-full opacity-40 relative w-full z-40"
16
- @click="close">
17
- </div>
18
-
19
- <div class="absolute bg-white border border-grey-0 duration-200 ease-in-out h-full left-0 lg:w-80 overflow-y-auto top-0 transform transition-transform w-44 z-[45]"
20
- :class="{ 'lg:-translate-x-96 -translate-x-48': !isOpen }">
21
- <div class="h-14 p-4 relative">
22
- <input class="!h-6 !p-1 !px-1.5 !text-xs"
23
- :value="filter"
24
- type="text"
25
- @input="debounce(setFilter, [ $event.target?.value ])">
26
-
27
- <ph-magnifying-glass v-show="filter === ''"
28
- class="absolute right-5 text-grey-3 top-5"
29
- :size="16" />
30
-
31
- <ph-x v-show="filter !== ''"
32
- class="absolute cursor-pointer right-5 text-grey-3 top-5"
33
- :size="16"
34
- @click="filter = ''" />
35
- </div>
36
-
37
- <div v-for="(group, index) in navigationList"
38
- :key="index">
39
- <div class="bg-grey-1 capitalize flex font-semibold items-center px-1 py-2 text-sm w-full"
40
- :class="{ 'cursor-pointer': !group.disabled }"
41
- @click="group.disabled ? null : groupSelected(group)">
42
- <ph-caret-right v-show="group.collapsed"
43
- class="mr-2"
44
- :size="16" />
45
-
46
- <ph-caret-down v-show="!group.collapsed"
47
- class="mr-2"
48
- :size="16" />
49
-
50
- <span class="flex-1 min-w-min">
51
- {{ group.caption }}
52
- </span>
53
-
54
- <component :is="group.icon"
55
- v-if="group.icon !== null"
56
- class="mr-1 w-auto"
57
- :size="18" />
58
- </div>
59
-
60
- <template v-if="!group.collapsed">
61
- <div v-for="(groupItem, groupIndex) in group.records"
62
- :key="groupIndex"
63
- class="border-link-default cursor-pointer text-xs w-full"
64
- :class="{ 'border-l-4': groupItem.active }">
65
- <a v-if="!groupItem.linkIsExternal"
66
- class="bg-grey-0 block hover:bg-link-default hover:text-white py-1.5 text-black w-full"
67
- :class="{ 'pl-5': groupItem.active, 'pl-6': !groupItem.active }"
68
- @click="itemSelected(groupItem); close();">
69
- {{ groupItem.caption }}
70
- </a>
71
- <a v-else
72
- class="bg-grey-0 block hover:bg-link-default hover:text-white pl-6 py-1.5 text-black w-full"
73
- :href="groupItem.link"
74
- target="_blank "
75
- rel="noreferrer"
76
- @click="close">
77
- {{ groupItem.caption }}
78
- </a>
79
- </div>
80
- </template>
81
- </div>
82
- </div>
83
- </div>
84
- </template>
@@ -1,36 +0,0 @@
1
- <script lang="ts" src="./language-switcher"></script>
2
-
3
- <style scoped src="./language-switcher.css"></style>
4
-
5
- <template>
6
- <div v-if="selectedLanguage !== null && isLanguageLocaleFormat(selectedLanguage)"
7
- class="flex relative select-none w-auto z-30">
8
- <div class="flex items-center"
9
- :class="{ 'cursor-pointer': !disabled }"
10
- @click="toggleLocaleSwitcher">
11
- <span class="flag-svg inline-block mr-3"
12
- :style="{ 'background': `url('${selectedLanguage.svgCode}')` }"></span>
13
-
14
- <span class="font-semibold hidden lg:inline-block mr-4 text-white text-xs">
15
- {{ selectedLanguage.nativeName }}
16
- </span>
17
- </div>
18
-
19
- <div v-show="localeToggleOpen"
20
- class="absolute bg-white overflow-hidden right-0 rounded shadow-xl top-6 z-30">
21
- <div v-for="(location, index) in validLanguages"
22
- :key="index"
23
- class="border-b border-grey-0 content-center cursor-pointer flex hover:bg-grey-0 items-center last-child:border-b-0 last:border-b-0 p-2 text-center transition-colors"
24
- :data-localename="location.name"
25
- :data-localecode="location.localeCode"
26
- @click="selectedLocale = location.localeCode">
27
- <span class="flag-svg inline-block mr-3"
28
- :style="{ 'background': `url('${location.svgCode}')` }"></span>
29
-
30
- <span class="hidden lg:inline-flex ml-2 text-xs">
31
- {{ location.nativeName }}
32
- </span>
33
- </div>
34
- </div>
35
- </div>
36
- </template>
@@ -1,8 +0,0 @@
1
- <script lang="ts" src="./loading-spinner"></script>
2
-
3
- <style scoped src="./loading-spinner.css"></style>
4
-
5
- <template>
6
- <div class="loading-spinner">
7
- </div>
8
- </template>