shared-ritm 1.3.67 → 1.3.69
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.
- package/dist/index.css +1 -1
- package/dist/shared-ritm.es.js +4862 -4700
- package/dist/shared-ritm.umd.js +190 -190
- package/dist/types/api/services/AuthService.d.ts +0 -1
- package/dist/types/api/services/MetricsService.d.ts +2 -1
- package/dist/types/api/services/PhotoService.d.ts +40 -0
- package/dist/types/api/services/UserService.d.ts +1 -2
- package/dist/types/api/settings/ApiService.d.ts +2 -7
- package/dist/types/api/types/Api_Auth.d.ts +0 -15
- package/dist/types/api/types/Api_Metrics.d.ts +18 -0
- package/dist/types/api/types/Api_User.d.ts +0 -9
- package/dist/types/common/app-checkbox/Checkbox.stories.d.ts +5 -1
- package/dist/types/common/app-toggle/Toggle.stories.d.ts +5 -1
- package/dist/types/stories/Button.stories.d.ts +13 -0
- package/dist/types/stories/Checkbox.stories.d.ts +7 -0
- package/dist/types/stories/Confirm.stories.d.ts +8 -0
- package/dist/types/stories/DatePicker.stories.d.ts +8 -0
- package/dist/types/stories/Dropdown.stories.d.ts +8 -0
- package/dist/types/stories/File.stories.d.ts +8 -0
- package/dist/types/stories/Icon.stories.d.ts +7 -0
- package/dist/types/stories/Input.stories.d.ts +11 -0
- package/dist/types/stories/InputNew.stories.d.ts +12 -0
- package/dist/types/stories/InputSearch.stories.d.ts +10 -0
- package/dist/types/stories/Loader.stories.d.ts +8 -0
- package/dist/types/stories/Select.stories.d.ts +7 -0
- package/dist/types/stories/Toggle.stories.d.ts +8 -0
- package/package.json +70 -70
- package/src/App.vue +2461 -2461
- package/src/api/services/AuthService.ts +4 -18
- package/src/api/services/ControlsService.ts +96 -96
- package/src/api/services/EquipmentService.ts +29 -29
- package/src/api/services/GanttService.ts +23 -23
- package/src/api/services/MetricsService.ts +127 -123
- package/src/api/services/RepairsService.ts +111 -111
- package/src/api/services/UserService.ts +0 -6
- package/src/api/services/VideoService.ts +118 -118
- package/src/api/settings/ApiService.ts +10 -73
- package/src/api/types/Api_Auth.ts +0 -16
- package/src/api/types/Api_Metrics.ts +26 -5
- package/src/api/types/Api_Repairs.ts +186 -186
- package/src/api/types/Api_Tasks.ts +376 -376
- package/src/api/types/Api_User.ts +0 -10
- package/src/api/types/Api_Video.ts +244 -244
- package/src/common/app-button/Button.stories.ts +369 -369
- package/src/common/app-checkbox/AppCheckbox.vue +19 -12
- package/src/common/app-checkbox/Checkbox.stories.ts +252 -60
- package/src/common/app-date-picker/DatePicker.stories.ts +66 -66
- package/src/common/app-datepicker/Datepicker.stories.ts +145 -145
- package/src/common/app-dialogs/AppConfirmDialog.vue +109 -109
- package/src/common/app-dialogs/Confirm.stories.ts +93 -93
- package/src/common/app-dropdown/Dropdown.stories.ts +94 -94
- package/src/common/app-file/File.stories.ts +104 -104
- package/src/common/app-icon/AppIcon.vue +108 -108
- package/src/common/app-icon/Icon.stories.ts +91 -91
- package/src/common/app-input/Input.stories.ts +160 -160
- package/src/common/app-input-new/InputNew.stories.ts +240 -240
- package/src/common/app-input-search/InputSearch.stories.ts +149 -149
- package/src/common/app-layout/components/AppLayoutHeader.vue +289 -289
- package/src/common/app-loader/Loader.stories.ts +114 -114
- package/src/common/app-select/AppSelect.vue +159 -159
- package/src/common/app-select/Select.stories.ts +155 -155
- package/src/common/app-sidebar/AppSidebar.vue +174 -174
- package/src/common/app-table/AppTable.vue +313 -313
- package/src/common/app-table/components/ModalSelect.stories.ts +323 -323
- package/src/common/app-table/components/ModalSelect.vue +302 -302
- package/src/common/app-table/components/TableModal.vue +367 -367
- package/src/common/app-table/controllers/useColumnSelector.ts +45 -45
- package/src/common/app-table/controllers/useTableModel.ts +97 -97
- package/src/common/app-toggle/AppToggle.vue +5 -15
- package/src/common/app-toggle/Toggle.stories.ts +245 -69
- package/src/common/app-wrapper/AppWrapper.vue +31 -31
- package/src/configs/storybook.ts +14 -14
- package/src/index.ts +131 -131
- package/src/shared/styles/general.css +140 -140
- package/src/styles/variables.sass +12 -12
- package/src/utils/helpers.ts +59 -59
|
@@ -1,149 +1,149 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from '@storybook/vue3'
|
|
2
|
-
import AppInputSearch from '@/common/app-input-search/AppInputSearch.vue'
|
|
3
|
-
|
|
4
|
-
const meta: Meta<typeof AppInputSearch> = {
|
|
5
|
-
title: 'Components/AppInputSearch',
|
|
6
|
-
component: AppInputSearch,
|
|
7
|
-
tags: ['autodocs'],
|
|
8
|
-
argTypes: {
|
|
9
|
-
modelValue: {
|
|
10
|
-
control: 'text',
|
|
11
|
-
table: { category: 'Используется' },
|
|
12
|
-
},
|
|
13
|
-
label: {
|
|
14
|
-
control: 'text',
|
|
15
|
-
description: 'Подсказка (placeholder) внутри поля.',
|
|
16
|
-
table: { category: 'Используется' },
|
|
17
|
-
},
|
|
18
|
-
type: {
|
|
19
|
-
control: 'select',
|
|
20
|
-
options: ['text', 'password', 'number', 'email', 'search', 'tel'],
|
|
21
|
-
description: 'Тип HTML-инпута.',
|
|
22
|
-
table: { category: 'Используется' },
|
|
23
|
-
},
|
|
24
|
-
|
|
25
|
-
borderRadius: {
|
|
26
|
-
control: 'text',
|
|
27
|
-
description: 'Скругление углов (например, "14px").',
|
|
28
|
-
table: { category: 'Используется' },
|
|
29
|
-
},
|
|
30
|
-
searchIcon: {
|
|
31
|
-
control: 'boolean',
|
|
32
|
-
description: 'Показывать иконку лупы слева.',
|
|
33
|
-
table: { category: 'Используется' },
|
|
34
|
-
},
|
|
35
|
-
|
|
36
|
-
disable: {
|
|
37
|
-
control: 'boolean',
|
|
38
|
-
description: 'Отключает поле ввода.',
|
|
39
|
-
table: { disable: true },
|
|
40
|
-
},
|
|
41
|
-
readonly: {
|
|
42
|
-
control: 'boolean',
|
|
43
|
-
description: 'Делает поле доступным только для чтения.',
|
|
44
|
-
table: { category: 'Используется' },
|
|
45
|
-
},
|
|
46
|
-
field: {
|
|
47
|
-
control: 'boolean',
|
|
48
|
-
description: 'Делает поле доступным только для чтения.',
|
|
49
|
-
table: { category: 'Используется' },
|
|
50
|
-
},
|
|
51
|
-
error: {
|
|
52
|
-
control: 'boolean',
|
|
53
|
-
description: 'Принудительно показывает состояние ошибки.',
|
|
54
|
-
table: { disable: true },
|
|
55
|
-
},
|
|
56
|
-
loading: {
|
|
57
|
-
control: 'boolean',
|
|
58
|
-
description: 'Показывает индикатор загрузки.',
|
|
59
|
-
table: { disable: true },
|
|
60
|
-
},
|
|
61
|
-
|
|
62
|
-
dense: {
|
|
63
|
-
control: 'boolean',
|
|
64
|
-
description: 'Уменьшает внутренние отступы (по умолчанию true).',
|
|
65
|
-
table: { disable: true },
|
|
66
|
-
},
|
|
67
|
-
debounce: {
|
|
68
|
-
control: 'number',
|
|
69
|
-
description: 'Задержка перед эмитом значения (мс).',
|
|
70
|
-
table: { disable: true },
|
|
71
|
-
},
|
|
72
|
-
mask: {
|
|
73
|
-
control: 'text',
|
|
74
|
-
description: 'Маска ввода (например, "(###) ###-####").',
|
|
75
|
-
table: { disable: true },
|
|
76
|
-
},
|
|
77
|
-
|
|
78
|
-
datePicker: { table: { disable: true } },
|
|
79
|
-
timePicker: { table: { disable: true } },
|
|
80
|
-
dateLocale: { table: { disable: true } },
|
|
81
|
-
withIcon: { table: { disable: true } },
|
|
82
|
-
iconName: { table: { disable: true } },
|
|
83
|
-
iconColor: { table: { disable: true } },
|
|
84
|
-
withButton: { table: { disable: true } },
|
|
85
|
-
buttonIcon: { table: { disable: true } },
|
|
86
|
-
buttonTooltip: { table: { disable: true } },
|
|
87
|
-
clearTooltip: { table: { disable: true } },
|
|
88
|
-
withArrow: { table: { disable: true } },
|
|
89
|
-
required: { table: { disable: true } },
|
|
90
|
-
height: { table: { disable: true } },
|
|
91
|
-
clearable: { table: { disable: true } },
|
|
92
|
-
},
|
|
93
|
-
args: {
|
|
94
|
-
modelValue: '',
|
|
95
|
-
label: 'Поиск...',
|
|
96
|
-
type: 'text',
|
|
97
|
-
borderRadius: '14px',
|
|
98
|
-
},
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
export default meta
|
|
102
|
-
|
|
103
|
-
type Story = StoryObj<typeof AppInputSearch>
|
|
104
|
-
|
|
105
|
-
export const Default: Story = {}
|
|
106
|
-
|
|
107
|
-
export const InputTypes: Story = {
|
|
108
|
-
render: () => ({
|
|
109
|
-
components: { AppInputSearch },
|
|
110
|
-
template: `
|
|
111
|
-
<div style="display: flex; flex-direction: column; gap: 16px;">
|
|
112
|
-
<AppInputSearch v-model="textValue" label="Текст" type="text" />
|
|
113
|
-
<AppInputSearch v-model="passwordValue" label="Пароль" type="password" />
|
|
114
|
-
<AppInputSearch v-model="emailValue" label="Email" type="email" />
|
|
115
|
-
<AppInputSearch v-model="telValue" label="Телефон" type="tel" />
|
|
116
|
-
<AppInputSearch v-model="numberValue" label="Число" type="number" />
|
|
117
|
-
</div>
|
|
118
|
-
`,
|
|
119
|
-
data() {
|
|
120
|
-
return {
|
|
121
|
-
textValue: '',
|
|
122
|
-
passwordValue: '',
|
|
123
|
-
emailValue: '',
|
|
124
|
-
telValue: '',
|
|
125
|
-
numberValue: 0,
|
|
126
|
-
}
|
|
127
|
-
},
|
|
128
|
-
}),
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
export const Styles: Story = {
|
|
132
|
-
render: () => ({
|
|
133
|
-
components: { AppInputSearch },
|
|
134
|
-
template: `
|
|
135
|
-
<div style="display: flex; flex-direction: column; gap: 16px;">
|
|
136
|
-
<AppInputSearch v-model="readonlyValue" label="Только для чтения" :readonly="true" />
|
|
137
|
-
<AppInputSearch v-model="val2" label="radius 8px" border-radius="8px" />
|
|
138
|
-
<AppInputSearch v-model="val3" label="Без иконки поиска" :search-icon="false" />
|
|
139
|
-
</div>
|
|
140
|
-
`,
|
|
141
|
-
data() {
|
|
142
|
-
return {
|
|
143
|
-
readonlyValue: '',
|
|
144
|
-
val2: '',
|
|
145
|
-
val3: '',
|
|
146
|
-
}
|
|
147
|
-
},
|
|
148
|
-
}),
|
|
149
|
-
}
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/vue3'
|
|
2
|
+
import AppInputSearch from '@/common/app-input-search/AppInputSearch.vue'
|
|
3
|
+
|
|
4
|
+
const meta: Meta<typeof AppInputSearch> = {
|
|
5
|
+
title: 'Components/AppInputSearch',
|
|
6
|
+
component: AppInputSearch,
|
|
7
|
+
tags: ['autodocs'],
|
|
8
|
+
argTypes: {
|
|
9
|
+
modelValue: {
|
|
10
|
+
control: 'text',
|
|
11
|
+
table: { category: 'Используется' },
|
|
12
|
+
},
|
|
13
|
+
label: {
|
|
14
|
+
control: 'text',
|
|
15
|
+
description: 'Подсказка (placeholder) внутри поля.',
|
|
16
|
+
table: { category: 'Используется' },
|
|
17
|
+
},
|
|
18
|
+
type: {
|
|
19
|
+
control: 'select',
|
|
20
|
+
options: ['text', 'password', 'number', 'email', 'search', 'tel'],
|
|
21
|
+
description: 'Тип HTML-инпута.',
|
|
22
|
+
table: { category: 'Используется' },
|
|
23
|
+
},
|
|
24
|
+
|
|
25
|
+
borderRadius: {
|
|
26
|
+
control: 'text',
|
|
27
|
+
description: 'Скругление углов (например, "14px").',
|
|
28
|
+
table: { category: 'Используется' },
|
|
29
|
+
},
|
|
30
|
+
searchIcon: {
|
|
31
|
+
control: 'boolean',
|
|
32
|
+
description: 'Показывать иконку лупы слева.',
|
|
33
|
+
table: { category: 'Используется' },
|
|
34
|
+
},
|
|
35
|
+
|
|
36
|
+
disable: {
|
|
37
|
+
control: 'boolean',
|
|
38
|
+
description: 'Отключает поле ввода.',
|
|
39
|
+
table: { disable: true },
|
|
40
|
+
},
|
|
41
|
+
readonly: {
|
|
42
|
+
control: 'boolean',
|
|
43
|
+
description: 'Делает поле доступным только для чтения.',
|
|
44
|
+
table: { category: 'Используется' },
|
|
45
|
+
},
|
|
46
|
+
field: {
|
|
47
|
+
control: 'boolean',
|
|
48
|
+
description: 'Делает поле доступным только для чтения.',
|
|
49
|
+
table: { category: 'Используется' },
|
|
50
|
+
},
|
|
51
|
+
error: {
|
|
52
|
+
control: 'boolean',
|
|
53
|
+
description: 'Принудительно показывает состояние ошибки.',
|
|
54
|
+
table: { disable: true },
|
|
55
|
+
},
|
|
56
|
+
loading: {
|
|
57
|
+
control: 'boolean',
|
|
58
|
+
description: 'Показывает индикатор загрузки.',
|
|
59
|
+
table: { disable: true },
|
|
60
|
+
},
|
|
61
|
+
|
|
62
|
+
dense: {
|
|
63
|
+
control: 'boolean',
|
|
64
|
+
description: 'Уменьшает внутренние отступы (по умолчанию true).',
|
|
65
|
+
table: { disable: true },
|
|
66
|
+
},
|
|
67
|
+
debounce: {
|
|
68
|
+
control: 'number',
|
|
69
|
+
description: 'Задержка перед эмитом значения (мс).',
|
|
70
|
+
table: { disable: true },
|
|
71
|
+
},
|
|
72
|
+
mask: {
|
|
73
|
+
control: 'text',
|
|
74
|
+
description: 'Маска ввода (например, "(###) ###-####").',
|
|
75
|
+
table: { disable: true },
|
|
76
|
+
},
|
|
77
|
+
|
|
78
|
+
datePicker: { table: { disable: true } },
|
|
79
|
+
timePicker: { table: { disable: true } },
|
|
80
|
+
dateLocale: { table: { disable: true } },
|
|
81
|
+
withIcon: { table: { disable: true } },
|
|
82
|
+
iconName: { table: { disable: true } },
|
|
83
|
+
iconColor: { table: { disable: true } },
|
|
84
|
+
withButton: { table: { disable: true } },
|
|
85
|
+
buttonIcon: { table: { disable: true } },
|
|
86
|
+
buttonTooltip: { table: { disable: true } },
|
|
87
|
+
clearTooltip: { table: { disable: true } },
|
|
88
|
+
withArrow: { table: { disable: true } },
|
|
89
|
+
required: { table: { disable: true } },
|
|
90
|
+
height: { table: { disable: true } },
|
|
91
|
+
clearable: { table: { disable: true } },
|
|
92
|
+
},
|
|
93
|
+
args: {
|
|
94
|
+
modelValue: '',
|
|
95
|
+
label: 'Поиск...',
|
|
96
|
+
type: 'text',
|
|
97
|
+
borderRadius: '14px',
|
|
98
|
+
},
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export default meta
|
|
102
|
+
|
|
103
|
+
type Story = StoryObj<typeof AppInputSearch>
|
|
104
|
+
|
|
105
|
+
export const Default: Story = {}
|
|
106
|
+
|
|
107
|
+
export const InputTypes: Story = {
|
|
108
|
+
render: () => ({
|
|
109
|
+
components: { AppInputSearch },
|
|
110
|
+
template: `
|
|
111
|
+
<div style="display: flex; flex-direction: column; gap: 16px;">
|
|
112
|
+
<AppInputSearch v-model="textValue" label="Текст" type="text" />
|
|
113
|
+
<AppInputSearch v-model="passwordValue" label="Пароль" type="password" />
|
|
114
|
+
<AppInputSearch v-model="emailValue" label="Email" type="email" />
|
|
115
|
+
<AppInputSearch v-model="telValue" label="Телефон" type="tel" />
|
|
116
|
+
<AppInputSearch v-model="numberValue" label="Число" type="number" />
|
|
117
|
+
</div>
|
|
118
|
+
`,
|
|
119
|
+
data() {
|
|
120
|
+
return {
|
|
121
|
+
textValue: '',
|
|
122
|
+
passwordValue: '',
|
|
123
|
+
emailValue: '',
|
|
124
|
+
telValue: '',
|
|
125
|
+
numberValue: 0,
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
}),
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
export const Styles: Story = {
|
|
132
|
+
render: () => ({
|
|
133
|
+
components: { AppInputSearch },
|
|
134
|
+
template: `
|
|
135
|
+
<div style="display: flex; flex-direction: column; gap: 16px;">
|
|
136
|
+
<AppInputSearch v-model="readonlyValue" label="Только для чтения" :readonly="true" />
|
|
137
|
+
<AppInputSearch v-model="val2" label="radius 8px" border-radius="8px" />
|
|
138
|
+
<AppInputSearch v-model="val3" label="Без иконки поиска" :search-icon="false" />
|
|
139
|
+
</div>
|
|
140
|
+
`,
|
|
141
|
+
data() {
|
|
142
|
+
return {
|
|
143
|
+
readonlyValue: '',
|
|
144
|
+
val2: '',
|
|
145
|
+
val3: '',
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
}),
|
|
149
|
+
}
|