@webitel/ui-sdk 3.2.124 → 3.2.125

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 (205) hide show
  1. package/dist/ui-sdk.common.js +735 -729
  2. package/dist/ui-sdk.common.js.map +1 -1
  3. package/dist/ui-sdk.css +1 -1
  4. package/dist/ui-sdk.umd.js +737 -731
  5. package/dist/ui-sdk.umd.js.map +1 -1
  6. package/dist/ui-sdk.umd.min.js +1 -1
  7. package/dist/ui-sdk.umd.min.js.map +1 -1
  8. package/package.json +1 -1
  9. package/src/components/index.js +56 -59
  10. package/src/components/{organisms/wt-app-header → wt-app-header}/__tests__/WtAppNavigator.spec.js +1 -1
  11. package/src/{css/components/organisms → components}/wt-app-header/_variables.scss +1 -1
  12. package/src/components/wt-app-header/wt-app-header.vue +26 -0
  13. package/src/components/{organisms/wt-app-header → wt-app-header}/wt-app-navigator.vue +9 -9
  14. package/src/{css/components/atoms → components}/wt-avatar/_variables.scss +1 -1
  15. package/src/components/{atoms/wt-avatar → wt-avatar}/wt-avatar.vue +4 -2
  16. package/src/components/{atoms/wt-badge → wt-badge}/wt-badge.vue +17 -13
  17. package/src/{css/components/atoms → components}/wt-button/_variables.scss +0 -1
  18. package/src/components/{atoms/wt-button → wt-button}/wt-button.vue +2 -0
  19. package/src/{css/components/molecules → components}/wt-button-select/_variables.scss +1 -1
  20. package/src/components/{molecules/wt-button-select → wt-button-select}/wt-button-select.vue +2 -0
  21. package/src/components/{molecules/wt-checkbox → wt-checkbox}/__tests__/WtCheckbox.spec.js +1 -1
  22. package/src/components/wt-checkbox/wt-checkbox.vue +182 -0
  23. package/src/components/wt-chip/wt-chip.vue +24 -0
  24. package/src/components/{atoms/wt-context-menu → wt-context-menu}/wt-context-menu.vue +2 -0
  25. package/src/components/{molecules/wt-datepicker → wt-datepicker}/__tests__/WtDatepicker.spec.js +1 -1
  26. package/src/components/{molecules/wt-datepicker → wt-datepicker}/wt-datepicker.vue +2 -0
  27. package/src/components/wt-divider/wt-divider.vue +27 -0
  28. package/src/components/{molecules/wt-dummy → wt-dummy}/wt-dummy.vue +1 -1
  29. package/src/components/{organisms/wt-error-page → wt-error-page}/wt-error-page.vue +2 -2
  30. package/src/components/{organisms/wt-headline → wt-headline}/wt-headline.vue +2 -0
  31. package/src/components/{organisms/wt-headline-nav → wt-headline-nav}/wt-headline-nav.vue +2 -0
  32. package/src/components/{atoms/wt-icon → wt-icon}/wt-icon.vue +17 -1
  33. package/src/components/{molecules/wt-icon-btn → wt-icon-btn}/__tests__/WtIconBtn.spec.js +1 -1
  34. package/src/components/{molecules/wt-icon-btn → wt-icon-btn}/wt-icon-btn.vue +1 -1
  35. package/src/components/{atoms/wt-indicator → wt-indicator}/wt-indicator.vue +2 -0
  36. package/src/components/{molecules/wt-input → wt-input}/wt-input.vue +3 -1
  37. package/src/components/wt-input-info/wt-input-info.vue +37 -0
  38. package/src/components/{molecules/wt-label → wt-label}/wt-label.vue +2 -0
  39. package/src/components/{molecules/wt-load-bar → wt-load-bar}/wt-load-bar.vue +2 -0
  40. package/src/components/{atoms/wt-loader → wt-loader}/wt-loader.vue +19 -17
  41. package/src/components/{organisms/wt-navigation-bar → wt-navigation-bar}/wt-navigation-bar.vue +15 -13
  42. package/src/components/{molecules/wt-notification → wt-notification}/__tests__/WtNotification.spec.js +1 -1
  43. package/src/components/wt-notification/wt-notification.vue +83 -0
  44. package/src/components/{organisms/wt-notifications-bar → wt-notifications-bar}/__tests__/WtNotificationsBar.spec.js +2 -2
  45. package/src/components/{organisms/wt-notifications-bar → wt-notifications-bar}/wt-notifications-bar.vue +2 -0
  46. package/src/components/{organisms/wt-page-header → wt-page-header}/wt-page-header.vue +1 -0
  47. package/src/components/{organisms/wt-page-wrapper → wt-page-wrapper}/wt-page-wrapper.vue +2 -0
  48. package/src/components/{organisms/wt-pagination → wt-pagination}/wt-pagination.vue +3 -1
  49. package/src/components/{organisms/wt-player → wt-player}/wt-player.vue +9 -4
  50. package/src/components/{molecules/wt-popup → wt-popup}/wt-popup.vue +2 -0
  51. package/src/components/{molecules/wt-progress-bar → wt-progress-bar}/wt-progress-bar.vue +9 -2
  52. package/src/components/{molecules/wt-radio → wt-radio}/__tests__/WtRadio.spec.js +1 -1
  53. package/src/components/wt-radio/wt-radio.vue +177 -0
  54. package/src/components/{atoms/wt-rounded-action → wt-rounded-action}/wt-rounded-action.vue +2 -0
  55. package/src/components/{molecules/wt-search-bar → wt-search-bar}/wt-search-bar.vue +3 -1
  56. package/src/{css/components/molecules → components}/wt-select/_multiselect.scss +1 -1
  57. package/src/components/{molecules/wt-select → wt-select}/mixins/multiselectMixin.js +3 -3
  58. package/src/components/{molecules/wt-select → wt-select}/wt-select.vue +2 -1
  59. package/src/components/{molecules/wt-slider → wt-slider}/wt-slider.vue +2 -0
  60. package/src/components/{organisms/wt-status-select → wt-status-select}/__tests__/WtStatusSelect.spec.js +1 -1
  61. package/src/components/{organisms/wt-status-select → wt-status-select}/_internals/StatusOptions.lookup.js +1 -1
  62. package/src/components/{organisms/wt-status-select → wt-status-select}/wt-status-select.vue +4 -2
  63. package/src/components/wt-switcher/wt-switcher.vue +185 -0
  64. package/src/components/{organisms/wt-table → wt-table}/__tests__/WtTable.spec.js +1 -1
  65. package/src/components/{organisms/wt-table → wt-table}/wt-table.vue +2 -0
  66. package/src/components/{organisms/wt-table-actions → wt-table-actions}/wt-table-actions.vue +2 -0
  67. package/src/components/{molecules/wt-tabs → wt-tabs}/wt-tabs.vue +2 -0
  68. package/src/components/{molecules/wt-tags-input → wt-tags-input}/wt-tags-input.vue +2 -1
  69. package/src/components/wt-textarea/wt-textarea.vue +217 -0
  70. package/src/components/{molecules/wt-time-input → wt-time-input}/wt-time-input.vue +1 -1
  71. package/src/components/{molecules/wt-timepicker → wt-timepicker}/wt-timepicker.vue +4 -2
  72. package/src/components/wt-tooltip/_variables.scss +11 -0
  73. package/src/components/{atoms/wt-tooltip → wt-tooltip}/wt-tooltip.vue +2 -0
  74. package/src/css/main.scss +0 -2
  75. package/src/modules/AuditForm/components/audit-form-question-read-wrapper.vue +1 -1
  76. package/src/modules/AuditForm/components/audit-form-question-write-wrapper.vue +5 -5
  77. package/src/modules/AuditForm/components/audit-form.vue +1 -1
  78. package/src/modules/AuditForm/components/questions/options/audit-form-question-options-write-row.vue +3 -3
  79. package/src/modules/AuditForm/components/questions/options/audit-form-question-options.vue +2 -2
  80. package/src/modules/AuditForm/components/questions/score/audit-form-question-score.vue +2 -2
  81. package/src/components/atoms/wt-chip/wt-chip.vue +0 -23
  82. package/src/components/atoms/wt-divider/wt-divider.vue +0 -25
  83. package/src/components/atoms/wt-input-info/wt-input-info.vue +0 -35
  84. package/src/components/molecules/wt-checkbox/wt-checkbox.vue +0 -180
  85. package/src/components/molecules/wt-notification/wt-notification.vue +0 -75
  86. package/src/components/molecules/wt-radio/wt-radio.vue +0 -174
  87. package/src/components/molecules/wt-switcher/wt-switcher.vue +0 -182
  88. package/src/components/molecules/wt-textarea/wt-textarea.vue +0 -215
  89. package/src/components/organisms/wt-app-header/wt-app-header.vue +0 -24
  90. package/src/css/components/_components.scss +0 -45
  91. package/src/css/components/atoms/wt-tooltip/_variables.scss +0 -29
  92. package/src/css/components/molecules/wt-icon-btn/_variables.scss +0 -3
  93. package/src/css/components/organisms/wt-icon-action/_variables.scss +0 -0
  94. /package/src/components/{organisms/wt-app-header → wt-app-header}/__tests__/WtAppHeader.spec.js +0 -0
  95. /package/src/components/{organisms/wt-app-header → wt-app-header}/__tests__/WtHeaderActions.spec.js +0 -0
  96. /package/src/components/{organisms/wt-app-header → wt-app-header}/wt-header-actions.vue +0 -0
  97. /package/src/components/{atoms/wt-avatar → wt-avatar}/__tests__/wt-avatar.spec.js +0 -0
  98. /package/src/components/{atoms/wt-badge → wt-badge}/__tests__/wt-badge.spec.js +0 -0
  99. /package/src/{css/components/atoms → components}/wt-badge/_variables.scss +0 -0
  100. /package/src/components/{atoms/wt-button → wt-button}/__tests__/WtButton.spec.js +0 -0
  101. /package/src/components/{molecules/wt-button-select → wt-button-select}/__tests__/WtButtonSelect.spec.js +0 -0
  102. /package/src/{css/components/molecules → components}/wt-checkbox/_variables.scss +0 -0
  103. /package/src/components/{atoms/wt-chip → wt-chip}/__tests__/WtChip.spec.js +0 -0
  104. /package/src/{css/components/atoms → components}/wt-chip/_variables.scss +0 -0
  105. /package/src/{css/components/atoms → components}/wt-chip/wt-chip.scss +0 -0
  106. /package/src/components/{atoms/wt-context-menu → wt-context-menu}/__tests__/WtContextMenu.spec.js +0 -0
  107. /package/src/{css/components/atoms → components}/wt-context-menu/_variables.scss +0 -0
  108. /package/src/components/{molecules/wt-copy-action → wt-copy-action}/__tests__/WtCopyAction.spec.js +0 -0
  109. /package/src/components/{molecules/wt-copy-action → wt-copy-action}/wt-copy-action.vue +0 -0
  110. /package/src/{css/components/molecules → components}/wt-datepicker/_variables.scss +0 -0
  111. /package/src/components/{atoms/wt-divider → wt-divider}/__tests__/WtDivider.spec.js +0 -0
  112. /package/src/{css/components/atoms → components}/wt-divider/_variables.scss +0 -0
  113. /package/src/components/{molecules/wt-dummy → wt-dummy}/__tests__/WtDummy.spec.js +0 -0
  114. /package/src/components/{organisms/wt-error-page → wt-error-page}/__tests__/wt-error-page.spec.js +0 -0
  115. /package/src/components/{organisms/wt-expansion-panel → wt-expansion-panel}/__tests__/WtExpansionPanel.spec.js +0 -0
  116. /package/src/components/{organisms/wt-expansion-panel → wt-expansion-panel}/wt-expansion-panel.vue +0 -0
  117. /package/src/components/{organisms/wt-filters-panel-wrapper → wt-filters-panel-wrapper}/__tests__/WtFiltersPanelWrapper.spec.js +0 -0
  118. /package/src/components/{organisms/wt-filters-panel-wrapper → wt-filters-panel-wrapper}/wt-filters-panel-wrapper.vue +0 -0
  119. /package/src/components/{organisms/wt-headline → wt-headline}/__tests__/WtHeadline.spec.js +0 -0
  120. /package/src/{css/components/organisms → components}/wt-headline/_variables.scss +0 -0
  121. /package/src/components/{organisms/wt-headline-nav → wt-headline-nav}/__tests__/wt-headline-nav.spec.js +0 -0
  122. /package/src/{css/components/organisms → components}/wt-headline-nav/_variables.scss +0 -0
  123. /package/src/components/{molecules/wt-hint → wt-hint}/__tests__/WtHint.spec.js +0 -0
  124. /package/src/components/{molecules/wt-hint → wt-hint}/wt-hint.vue +0 -0
  125. /package/src/components/{atoms/wt-icon → wt-icon}/__tests__/WtIcon.spec.js +0 -0
  126. /package/src/{css/components/atoms → components}/wt-icon/_variables.scss +0 -0
  127. /package/src/components/{atoms/wt-icon-action → wt-icon-action}/__tests__/WtIconAction.spec.js +0 -0
  128. /package/src/components/{atoms/wt-icon-action → wt-icon-action}/_internals/__tests__/WtAddIconAction.spec.js +0 -0
  129. /package/src/components/{atoms/wt-icon-action → wt-icon-action}/_internals/__tests__/WtDeleteIconAction.spec.js +0 -0
  130. /package/src/components/{atoms/wt-icon-action → wt-icon-action}/_internals/__tests__/WtDownloadIconAction.spec.js +0 -0
  131. /package/src/components/{atoms/wt-icon-action → wt-icon-action}/_internals/__tests__/WtEditIconAction.spec.js +0 -0
  132. /package/src/components/{atoms/wt-icon-action → wt-icon-action}/_internals/__tests__/WtHistoryIconAction.spec.js +0 -0
  133. /package/src/components/{atoms/wt-icon-action → wt-icon-action}/_internals/__tests__/WtRefreshIconAction.spec.js +0 -0
  134. /package/src/components/{atoms/wt-icon-action → wt-icon-action}/_internals/wt-add-icon-action.vue +0 -0
  135. /package/src/components/{atoms/wt-icon-action → wt-icon-action}/_internals/wt-delete-icon-action.vue +0 -0
  136. /package/src/components/{atoms/wt-icon-action → wt-icon-action}/_internals/wt-download-icon-action.vue +0 -0
  137. /package/src/components/{atoms/wt-icon-action → wt-icon-action}/_internals/wt-edit-icon-action.vue +0 -0
  138. /package/src/components/{atoms/wt-icon-action → wt-icon-action}/_internals/wt-history-icon-action.vue +0 -0
  139. /package/src/components/{atoms/wt-icon-action → wt-icon-action}/_internals/wt-refresh-icon-action.vue +0 -0
  140. /package/src/components/{atoms/wt-icon-action → wt-icon-action}/wt-icon-action.vue +0 -0
  141. /package/src/components/{atoms/wt-indicator → wt-indicator}/__tests__/WtIndicator.spec.js +0 -0
  142. /package/src/{css/components/atoms → components}/wt-indicator/_variables.scss +0 -0
  143. /package/src/components/{molecules/wt-input → wt-input}/__tests__/WtInput.spec.js +0 -0
  144. /package/src/{css/components/molecules → components}/wt-input/_variables.scss +0 -0
  145. /package/src/components/{atoms/wt-input-info → wt-input-info}/__tests__/WtInputInfo.spec.js +0 -0
  146. /package/src/{css/components/atoms → components}/wt-input-info/_variables.scss +0 -0
  147. /package/src/components/{molecules/wt-item-link → wt-item-link}/__tests__/WtItemLink.spec.js +0 -0
  148. /package/src/components/{molecules/wt-item-link → wt-item-link}/wt-item-link.vue +0 -0
  149. /package/src/components/{molecules/wt-label → wt-label}/__tests__/WtLabel.spec.js +0 -0
  150. /package/src/{css/components/atoms → components}/wt-label/_variables.scss +0 -0
  151. /package/src/components/{molecules/wt-label → wt-label}/mixins/labelUsageMixin.js +0 -0
  152. /package/src/components/{molecules/wt-load-bar → wt-load-bar}/__tests__/WtLoadBar.spec.js +0 -0
  153. /package/src/{css/components/molecules → components}/wt-load-bar/_variables.scss +0 -0
  154. /package/src/components/{atoms/wt-loader → wt-loader}/__tests__/WtLoader.spec.js +0 -0
  155. /package/src/components/{atoms/wt-loader → wt-loader}/_internals/wt-loader--md.vue +0 -0
  156. /package/src/components/{atoms/wt-loader → wt-loader}/_internals/wt-loader--sm.vue +0 -0
  157. /package/src/{css/components/atoms → components}/wt-loader/_variables.scss +0 -0
  158. /package/src/components/{organisms/wt-navigation-bar → wt-navigation-bar}/__tests__/WtNavigationBar.spec.js +0 -0
  159. /package/src/{css/components/organisms → components}/wt-navigation-bar/_variables.scss +0 -0
  160. /package/src/{css/components/molecules → components}/wt-notification/_variables.scss +0 -0
  161. /package/src/{css/components/organisms → components}/wt-notifications-bar/_variables.scss +0 -0
  162. /package/src/components/{organisms/wt-page-header → wt-page-header}/__tests__/wt-page-header.spec.js +0 -0
  163. /package/src/components/{organisms/wt-page-wrapper → wt-page-wrapper}/__tests__/WtPageWrapper.spec.js +0 -0
  164. /package/src/{css/components/organisms → components}/wt-page-wrapper/_variables.scss +0 -0
  165. /package/src/components/{organisms/wt-pagination → wt-pagination}/__tests__/WtPagination.spec.js +0 -0
  166. /package/src/{css/components/organisms → components}/wt-pagination/_variables.scss +0 -0
  167. /package/src/components/{organisms/wt-player → wt-player}/__tests__/WtPlayer.spec.js +0 -0
  168. /package/src/{css/components/organisms → components}/wt-player/_variables.scss +0 -0
  169. /package/src/components/{molecules/wt-popup → wt-popup}/__tests__/WtPopup.spec.js +0 -0
  170. /package/src/{css/components/molecules → components}/wt-popup/_variables.scss +0 -0
  171. /package/src/components/{molecules/wt-progress-bar → wt-progress-bar}/__tests__/WtProgressBar.spec.js +0 -0
  172. /package/src/{css/components/molecules → components}/wt-progress-bar/_variables.scss +0 -0
  173. /package/src/{css/components/molecules → components}/wt-radio/_variables.scss +0 -0
  174. /package/src/components/{atoms/wt-rounded-action → wt-rounded-action}/__tests__/WtRoundedAction.spec.js +0 -0
  175. /package/src/{css/components/atoms → components}/wt-rounded-action/_variables.scss +0 -0
  176. /package/src/components/{molecules/wt-search-bar → wt-search-bar}/__tests__/WtSearchBar.spec.js +0 -0
  177. /package/src/{css/components/molecules → components}/wt-search-bar/_variables.scss +0 -0
  178. /package/src/components/{molecules/wt-select → wt-select}/__tests__/WtSelect.spec.js +0 -0
  179. /package/src/{css/components/molecules → components}/wt-select/_variables.scss +0 -0
  180. /package/src/components/{molecules/wt-select → wt-select}/mixins/__tests__/multiselectMixin.spec.js +0 -0
  181. /package/src/components/{molecules/wt-slider → wt-slider}/__tests__/WtSlider.spec.js +0 -0
  182. /package/src/{css/components/molecules → components}/wt-slider/_variables.scss +0 -0
  183. /package/src/{css/components/organisms → components}/wt-status-select/_variables.scss +0 -0
  184. /package/src/components/{organisms/wt-stepper → wt-stepper}/__tests__/WtStepper.spec.vue.js +0 -0
  185. /package/src/components/{organisms/wt-stepper → wt-stepper}/wt-stepper.vue +0 -0
  186. /package/src/components/{molecules/wt-switcher → wt-switcher}/__tests__/WtSwitcher.spec.js +0 -0
  187. /package/src/{css/components/molecules → components}/wt-switcher/_variables.scss +0 -0
  188. /package/src/components/{organisms/wt-table → wt-table}/_internals/getSortOrder.js +0 -0
  189. /package/src/{css/components/organisms → components}/wt-table/_variables.scss +0 -0
  190. /package/src/components/{organisms/wt-table-actions → wt-table-actions}/__tests__/WtTableActions.spec.js +0 -0
  191. /package/src/{css/components/organisms → components}/wt-table-actions/_variables.scss +0 -0
  192. /package/src/components/{organisms/wt-table-column-select → wt-table-column-select}/__tests__/WtTableColumnSelect.spec.js +0 -0
  193. /package/src/components/{organisms/wt-table-column-select → wt-table-column-select}/wt-table-column-select.vue +0 -0
  194. /package/src/components/{molecules/wt-tabs → wt-tabs}/__tests__/WtTabs.spec.js +0 -0
  195. /package/src/{css/components/molecules → components}/wt-tabs/_variables.scss +0 -0
  196. /package/src/components/{molecules/wt-tags-input → wt-tags-input}/__tests__/WtTagsInput.spec.js +0 -0
  197. /package/src/{css/components/molecules → components}/wt-tags-input/_variables.scss +0 -0
  198. /package/src/components/{molecules/wt-textarea → wt-textarea}/__tests__/WtTextarea.spec.js +0 -0
  199. /package/src/{css/components/molecules → components}/wt-textarea/_variables.scss +0 -0
  200. /package/src/components/{molecules/wt-time-input → wt-time-input}/__tests__/WtTimeInput.spec.js +0 -0
  201. /package/src/components/{molecules/wt-timepicker → wt-timepicker}/__tests__/WtTimepicker.spec.js +0 -0
  202. /package/src/{css/components/molecules → components}/wt-timepicker/_variables.scss +0 -0
  203. /package/src/components/{atoms/wt-tooltip → wt-tooltip}/__tests__/WtTooltip.spec.js +0 -0
  204. /package/src/components/{atoms/wt-tooltip → wt-tooltip}/_internals/useTooltipTriggerSubscriptions.js +0 -0
  205. /package/src/components/{atoms/wt-tooltip → wt-tooltip}/_internals/wt-tooltip-floating.vue +0 -0
@@ -0,0 +1,217 @@
1
+ <template>
2
+ <div
3
+ class="wt-textarea"
4
+ :class="{
5
+ 'wt-textarea--disabled': disabled,
6
+ 'wt-textarea--invalid': invalid,
7
+ }"
8
+ >
9
+ <wt-label
10
+ :for="name"
11
+ :disabled="disabled"
12
+ :invalid="invalid"
13
+ v-bind="labelProps"
14
+ >
15
+ <!-- @slot Custom input label -->
16
+ <slot name="label" v-bind="{ label }">{{ requiredLabel }}</slot>
17
+ </wt-label>
18
+ <div class="wt-textarea__wrapper">
19
+ <textarea
20
+ :id="name"
21
+ ref="wt-textarea"
22
+ class="wt-textarea__textarea"
23
+ :value="value"
24
+ :placeholder="placeholder || label"
25
+ :disabled="disabled"
26
+ v-on="listeners"
27
+ ></textarea>
28
+ <div class="wt-textarea__after-wrapper" ref="after-wrapper">
29
+ <slot name="after-input"></slot>
30
+ <wt-icon-btn
31
+ class="wt-textarea__reset-icon-btn"
32
+ :class="{ 'hidden': !value }"
33
+ icon="close--filled"
34
+ size="sm"
35
+ :disabled="disabled"
36
+ @click="$emit('input', '')"
37
+ ></wt-icon-btn>
38
+ </div>
39
+ </div>
40
+ <wt-input-info
41
+ v-if="isValidation"
42
+ :invalid="invalid"
43
+ >{{ validationText }}
44
+ </wt-input-info>
45
+ </div>
46
+ </template>
47
+
48
+ <script>
49
+ import validationMixin from '../../mixins/validationMixin/validationMixin';
50
+
51
+ export default {
52
+ name: 'wt-textarea',
53
+ mixins: [validationMixin],
54
+ props: {
55
+ /**
56
+ * Current textarea value (`v-model`)
57
+ */
58
+ value: {
59
+ type: String,
60
+ default: '',
61
+ },
62
+ /**
63
+ * textarea label
64
+ */
65
+ label: {
66
+ type: String,
67
+ default: '',
68
+ },
69
+ /**
70
+ * textarea placeholder
71
+ */
72
+ placeholder: {
73
+ type: String,
74
+ },
75
+ /**
76
+ * Native textarea disabled attribute
77
+ */
78
+ disabled: {
79
+ type: Boolean,
80
+ default: false,
81
+ description: 'Native textarea disabled attribute',
82
+ },
83
+ /**
84
+ * textarea name
85
+ */
86
+ name: {
87
+ type: String,
88
+ default: '',
89
+ },
90
+ chatMode: {
91
+ type: Boolean,
92
+ default: false,
93
+ },
94
+ labelProps: {
95
+ type: Object,
96
+ description: 'Object with props, passed down to wt-label as props',
97
+ },
98
+ },
99
+ emits: ['input', 'enter'],
100
+ computed: {
101
+ listeners() {
102
+ return {
103
+ ...this.$listeners,
104
+ input: (event) => this.$emit('input', event.target.value),
105
+ keypress: (event) => this.handleKeypress(event),
106
+ };
107
+ },
108
+
109
+ requiredLabel() {
110
+ return this.required ? `${this.label}*` : this.label;
111
+ },
112
+ },
113
+
114
+ methods: {
115
+ handleKeypress(event) {
116
+ if (!this.chatMode) return;
117
+ if (event.key === 'Enter' && !event.shiftKey) {
118
+ this.$emit('enter');
119
+ event.preventDefault();
120
+ }
121
+ },
122
+
123
+ updateInputPaddings() {
124
+ // cant test this thing cause vue test utils doesnt render elements width :/
125
+ const afterWrapperWidth = this.$refs['after-wrapper'].offsetWidth;
126
+ const inputEl = this.$refs['wt-textarea'];
127
+ const defaultInputPadding = getComputedStyle(document.documentElement)
128
+ .getPropertyValue('--textarea-padding');
129
+ inputEl.style.paddingRight = `calc(${defaultInputPadding} * 2 + ${afterWrapperWidth}px)`;
130
+ },
131
+ },
132
+ mounted() {
133
+ this.updateInputPaddings();
134
+ },
135
+ };
136
+ </script>
137
+
138
+ <style lang="scss" scoped>
139
+ @import './variables.scss';
140
+
141
+ .wt-textarea {
142
+ cursor: text;
143
+
144
+ &--disabled {
145
+ pointer-events: none;
146
+ }
147
+ }
148
+
149
+ .wt-textarea__wrapper {
150
+ position: relative;
151
+ }
152
+
153
+ .wt-label {
154
+ .wt-textarea:hover &,
155
+ .wt-textarea:focus-within & {
156
+ color: var(--form-label--hover-color);
157
+ }
158
+
159
+ .wt-textarea--invalid:hover &,
160
+ .wt-textarea--invalid:focus-within & {
161
+ color: var(--label--invalid-color);
162
+ }
163
+ }
164
+
165
+ .wt-textarea__textarea {
166
+ @extend %typo-body-1;
167
+ @extend %wt-scrollbar;
168
+ @include wt-placeholder;
169
+
170
+ display: block;
171
+ width: 100%;
172
+ min-height: var(--textarea-min-height);
173
+ box-sizing: border-box;
174
+ padding: var(--textarea-padding);
175
+ color: var(--form-input-color);
176
+ border: var(--input-border);
177
+ border-color: var(--form-border-color);
178
+ border-radius: var(--border-radius);
179
+ transition: var(--transition);
180
+ resize: none;
181
+
182
+ &:focus {
183
+ @include wt-placeholder('focus');
184
+
185
+ border-color: var(--form-border--hover-color);
186
+ }
187
+
188
+ .wt-textarea--disabled & {
189
+ @include wt-placeholder('disabled');
190
+
191
+ background: var(--form-border--disabled-color);
192
+ border-color: var(--form-border--disabled-color);
193
+ }
194
+
195
+ .wt-textarea--invalid &,
196
+ .wt-textarea--invalid:hover & {
197
+ border-color: var(--false-color);
198
+ outline: none; // prevent outline overlapping false color
199
+ }
200
+ }
201
+
202
+ /* make icons black */
203
+ .wt-textarea:hover ::v-deep .wt-icon-btn:not(.wt-textarea__reset-icon-btn) .wt-icon__icon,
204
+ .wt-textarea:focus-within ::v-deep .wt-icon-btn:not(.wt-textarea__reset-icon-btn) .wt-icon__icon {
205
+ fill: var(--icon-color--hover);
206
+ }
207
+
208
+ .wt-textarea__after-wrapper {
209
+ display: flex;
210
+ gap: var(--input-after-wrapper-gap);
211
+ align-items: center;
212
+ position: absolute;
213
+ top: var(--input-icon-margin);
214
+ right: var(--input-icon-margin);
215
+ pointer-events: auto; // override --disabled p-events none
216
+ }
217
+ </style>
@@ -39,7 +39,7 @@
39
39
  </template>
40
40
 
41
41
  <script>
42
- import validationMixin from '../../../mixins/validationMixin/validationMixin';
42
+ import validationMixin from '../../mixins/validationMixin/validationMixin';
43
43
 
44
44
  export default {
45
45
  name: 'wt-time-input',
@@ -48,12 +48,12 @@
48
48
  </template>
49
49
 
50
50
  <script>
51
- import validationMixin from '../../../mixins/validationMixin/validationMixin';
51
+ import validationMixin from '../../mixins/validationMixin/validationMixin';
52
52
 
53
53
  const SEC_IN_HOUR = 60 * 60;
54
54
  const SEC_IN_MIN = 60;
55
55
 
56
- export default {
56
+ export default {
57
57
  name: 'wt-timepicker',
58
58
  mixins: [validationMixin],
59
59
  props: {
@@ -143,6 +143,8 @@ export default {
143
143
  </script>
144
144
 
145
145
  <style lang="scss" scoped>
146
+ @import './variables.scss';
147
+
146
148
  .wt-timepicker {
147
149
  display: flex;
148
150
  flex-direction: column;
@@ -0,0 +1,11 @@
1
+
2
+ :root {
3
+ --tooltip-padding: var(--spacing-2xs) var(--spacing-xs);
4
+
5
+ --tooltip-light-text-color: var(--text-primary-color);
6
+ --tooltip-light-bg-color: var(--main-color);
7
+ --tooltip-dark-text-color: var(--text-contrast-color);
8
+ --tooltip-dark-bg-color: var(--contrast-color);
9
+
10
+ --tooltip-elevation: var(--elevation-10);
11
+ }
@@ -117,6 +117,8 @@ onMounted(() => {
117
117
  </script>
118
118
 
119
119
  <style lang="scss" scoped>
120
+ @import './variables.scss';
121
+
120
122
  .wt-tooltip {
121
123
  display: inline-block;
122
124
  height: fit-content;
package/src/css/main.scss CHANGED
@@ -1,6 +1,4 @@
1
1
  @import 'styleguide/styleguide';
2
-
3
- @import 'components/components';
4
2
  @import 'styleguide/display-helpers/display-helpers';
5
3
 
6
4
 
@@ -40,7 +40,7 @@ import { EngineAuditQuestionType } from 'webitel-sdk';
40
40
  import isEmpty from '../../../scripts/isEmpty';
41
41
  import AuditFormQuestionOptions from './questions/options/audit-form-question-options.vue';
42
42
  import AuditFormQuestionScore from './questions/score/audit-form-question-score.vue';
43
- import WtIcon from '../../../components/atoms/wt-icon/wt-icon.vue';
43
+ import WtIcon from '../../../components/wt-icon/wt-icon.vue';
44
44
 
45
45
  const props = defineProps({
46
46
  question: {
@@ -63,11 +63,11 @@ import set from 'lodash/set';
63
63
  import cloneDeep from 'lodash/cloneDeep';
64
64
  import { computed } from 'vue';
65
65
  import { EngineAuditQuestionType } from 'webitel-sdk';
66
- import WtTooltip from '../../../components/atoms/wt-tooltip/wt-tooltip.vue';
67
- import WtSwitcher from '../../../components/molecules/wt-switcher/wt-switcher.vue';
68
- import WtIconBtn from '../../../components/molecules/wt-icon-btn/wt-icon-btn.vue';
69
- import WtInput from '../../../components/molecules/wt-input/wt-input.vue';
70
- import WtSelect from '../../../components/molecules/wt-select/wt-select.vue';
66
+ import WtTooltip from '../../../components/wt-tooltip/wt-tooltip.vue';
67
+ import WtSwitcher from '../../../components/wt-switcher/wt-switcher.vue';
68
+ import WtIconBtn from '../../../components/wt-icon-btn/wt-icon-btn.vue';
69
+ import WtInput from '../../../components/wt-input/wt-input.vue';
70
+ import WtSelect from '../../../components/wt-select/wt-select.vue';
71
71
 
72
72
  import AuditFormQuestionOptions from './questions/options/audit-form-question-options.vue';
73
73
  import AuditFormQuestionScore from './questions/score/audit-form-question-score.vue';
@@ -39,7 +39,7 @@ import {
39
39
  import { useVuelidate } from '@vuelidate/core';
40
40
  import { useDestroyableSortable } from '../../../composables/useDestroyableSortable/useDestroyableSortable';
41
41
  import AuditFormQuestion from './audit-form-question.vue';
42
- import WtButton from '../../../components/atoms/wt-button/wt-button.vue';
42
+ import WtButton from '../../../components/wt-button/wt-button.vue';
43
43
  import { generateQuestionSchema } from '../schemas/AuditFormQuestionSchema';
44
44
 
45
45
  const props = defineProps({
@@ -31,9 +31,9 @@
31
31
  import { useVuelidate } from '@vuelidate/core';
32
32
  import { required, minValue, maxValue } from '@vuelidate/validators';
33
33
  import { computed, onMounted, toRefs } from 'vue';
34
- import WtTooltip from '../../../../../components/atoms/wt-tooltip/wt-tooltip.vue';
35
- import WtIconBtn from '../../../../../components/molecules/wt-icon-btn/wt-icon-btn.vue';
36
- import WtInput from '../../../../../components/molecules/wt-input/wt-input.vue';
34
+ import WtTooltip from '../../../../../components/wt-tooltip/wt-tooltip.vue';
35
+ import WtIconBtn from '../../../../../components/wt-icon-btn/wt-icon-btn.vue';
36
+ import WtInput from '../../../../../components/wt-input/wt-input.vue';
37
37
 
38
38
  const props = defineProps({
39
39
  option: {
@@ -37,8 +37,8 @@
37
37
 
38
38
  <script setup>
39
39
  import OptionsWriteRow from './audit-form-question-options-write-row.vue';
40
- import WtButton from '../../../../../components/atoms/wt-button/wt-button.vue';
41
- import WtRadio from '../../../../../components/molecules/wt-radio/wt-radio.vue';
40
+ import WtButton from '../../../../../components/wt-button/wt-button.vue';
41
+ import WtRadio from '../../../../../components/wt-radio/wt-radio.vue';
42
42
  import updateObject from '../../../../../scripts/updateObject';
43
43
  import { generateOption } from '../../../schemas/AuditFormQuestionOptionsSchema';
44
44
 
@@ -47,8 +47,8 @@ import { maxValue, minValue, required } from '@vuelidate/validators';
47
47
  import { computed, onMounted, toRefs } from 'vue';
48
48
  import isEmpty from '../../../../../scripts/isEmpty';
49
49
  import updateObject from '../../../../../scripts/updateObject';
50
- import WtRadio from '../../../../../components/molecules/wt-radio/wt-radio.vue';
51
- import WtInput from '../../../../../components/molecules/wt-input/wt-input.vue';
50
+ import WtRadio from '../../../../../components/wt-radio/wt-radio.vue';
51
+ import WtInput from '../../../../../components/wt-input/wt-input.vue';
52
52
 
53
53
  const props = defineProps({
54
54
  question: {
@@ -1,23 +0,0 @@
1
- <template>
2
- <span class="wt-chip" :class="`wt-chip--${color}-color`">
3
- <slot></slot>
4
- </span>
5
- </template>
6
-
7
- <script>
8
- export default {
9
- name: 'wt-chip',
10
- props: {
11
- color: {
12
- type: String,
13
- default: 'main',
14
- options: ['main', 'outline', 'accent', 'secondary', 'secondary-50', 'success', 'danger', 'transfer'],
15
- notes: '"main" and "outline" are chip-specific colors',
16
- },
17
- },
18
- };
19
- </script>
20
-
21
- <style lang="scss" scoped>
22
- @import '../../../css/components/atoms/wt-chip/wt-chip';
23
- </style>
@@ -1,25 +0,0 @@
1
- <template>
2
- <hr class="wt-divider">
3
- </template>
4
-
5
- <script>
6
- export default {
7
- name: 'wt-divider',
8
- };
9
- </script>
10
-
11
- <style lang="scss" scoped>
12
- .wt-divider {
13
- display: block;
14
- box-sizing: border-box;
15
- width: 100%;
16
- max-width: 100%;
17
- height: 0;
18
- max-height: 0;
19
- padding: 0;
20
- margin: 0;
21
- border: var(--divider-border);
22
- border-color: var(--divider-border-color);
23
- border-top-width: thin;
24
- }
25
- </style>
@@ -1,35 +0,0 @@
1
- <template>
2
- <div
3
- class="wt-input-info"
4
- :class="{
5
- 'wt-input-info--invalid': invalid,
6
- }"
7
- >
8
- <slot></slot>
9
- </div>
10
- </template>
11
-
12
- <script>
13
- export default {
14
- name: 'wt-input-info',
15
- props: {
16
- invalid: {
17
- type: Boolean,
18
- default: false,
19
- },
20
- },
21
- };
22
- </script>
23
-
24
- <style lang="scss" scoped>
25
- .wt-input-info {
26
- @extend %typo-caption;
27
- margin-top: var(--input-info-margin);
28
- color: var(--input-info-color);
29
- min-height: var(--input-info-min-height);
30
-
31
- &--invalid {
32
- color: var(--input-info--invalid-color);
33
- }
34
- }
35
- </style>
@@ -1,180 +0,0 @@
1
- <template>
2
- <div
3
- class="wt-checkbox"
4
- :class="{
5
- 'wt-checkbox--active': isChecked,
6
- 'wt-checkbox--outline': outline,
7
- 'wt-checkbox--disabled': disabled,
8
- }"
9
- >
10
- <wt-label class="wt-checkbox__wrapper" v-bind="labelProps">
11
- <input
12
- class="wt-checkbox__input"
13
- type="checkbox"
14
- :value="value"
15
- :checked="isChecked"
16
- :disabled="disabled"
17
- @change="inputHandler"
18
- >
19
- <span class="wt-checkbox__checkmark">
20
- <wt-icon
21
- :icon="checkboxIcon"
22
- :color="iconColor"
23
- ></wt-icon>
24
- </span>
25
- <!-- @slot Custom label markup -->
26
- <slot name="label" v-bind="{ label, isChecked, disabled }">
27
- <div v-if="label" class="wt-checkbox__label">{{ label }}</div>
28
- </slot>
29
- </wt-label>
30
- </div>
31
- </template>
32
-
33
- <script>
34
- export default {
35
- name: 'wt-checkbox',
36
- model: {
37
- prop: 'selected',
38
- event: 'change',
39
- },
40
- props: {
41
- value: {
42
- type: [String, Boolean],
43
- default: '',
44
- },
45
- selected: {
46
- type: [Array, Boolean],
47
- default: () => [],
48
- },
49
- label: {
50
- type: String,
51
- default: '',
52
- },
53
- disabled: {
54
- type: Boolean,
55
- default: false,
56
- },
57
- outline: {
58
- type: Boolean,
59
- default: false,
60
- },
61
- labelProps: {
62
- type: Object,
63
- description: 'Object with props, passed down to wt-label as props',
64
- },
65
- },
66
- emits: ['change'],
67
- computed: {
68
- isChecked() {
69
- if (typeof this.selected === 'boolean') {
70
- return this.selected;
71
- }
72
- return this.selected.includes(this.value);
73
- },
74
- checkboxIcon() {
75
- return this.isChecked ? 'checkbox--checked' : 'checkbox';
76
- },
77
- iconColor() {
78
- if (this.disabled) return 'disabled';
79
- if (this.isChecked) return 'active';
80
- return null;
81
- },
82
- },
83
- methods: {
84
- inputHandler() {
85
- if (typeof this.selected === 'boolean') {
86
- this.$emit('change', !this.selected);
87
- } else {
88
- let selected = [...this.selected];
89
- if (selected.includes(this.value)) {
90
- selected = selected.filter((value) => value !== this.value);
91
- } else {
92
- selected.push(this.value);
93
- }
94
- this.$emit('change', selected);
95
- }
96
- },
97
- },
98
- };
99
- </script>
100
-
101
- <style lang="scss" scoped>
102
- .wt-checkbox {
103
- @include width-fit-content;
104
- box-sizing: border-box;
105
-
106
- .wt-label {
107
- cursor: pointer;
108
- }
109
- }
110
-
111
- .wt-checkbox__wrapper {
112
- position: relative;
113
- display: flex;
114
- align-items: center;
115
- user-select: none;
116
-
117
- .wt-checkbox__checkmark {
118
- line-height: 0; // prevent icon height >> content
119
- }
120
- }
121
-
122
- .wt-checkbox__label {
123
- margin-left: var(--checkbox-icon-margin);
124
- transition: var(--transition);
125
- cursor: pointer;
126
- }
127
-
128
- /* Hide the browser's default checkbox */
129
- .wt-checkbox__input {
130
- position: absolute;
131
- width: 0;
132
- height: 0;
133
- opacity: 0;
134
- pointer-events: none;
135
- }
136
-
137
- .wt-checkbox:hover {
138
- .wt-checkbox__label {
139
- color: var(--form-label--hover-color);
140
- }
141
-
142
- ::v-deep .wt-icon__icon {
143
- fill: var(--icon-color--hover);
144
- }
145
- }
146
-
147
- .wt-checkbox--active {
148
- .wt-checkbox__label {
149
- color: var(--form-label--active-color);
150
- }
151
- }
152
-
153
- .wt-checkbox--outline {
154
- .wt-checkbox__label {
155
- color: var(--form-outline-label-color);
156
- }
157
-
158
- ::v-deep .wt-icon__icon {
159
- fill: var(--icon-outline-color);
160
- }
161
-
162
- &.wt-checkbox--active {
163
- .wt-checkbox__label {
164
- color: var(--form-label--active-color);
165
- }
166
-
167
- ::v-deep .wt-icon__icon {
168
- fill: var(--icon-outline--active-color);
169
- }
170
- }
171
- }
172
-
173
- .wt-checkbox--disabled {
174
- pointer-events: none;
175
-
176
- .wt-checkbox__label {
177
- color: var(--form-label--disabled-color);
178
- }
179
- }
180
- </style>