aloha-vue 1.2.103 → 1.2.105
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/docs/src/components/TheNavbar/compositionAPI/LanguagesAPI.js +8 -1
- package/docs/src/global/components/AlohaHighlightjs/AlohaHighlightjs.js +2 -0
- package/docs/src/global/components/AlohaTableProps/AlohaTableProps.pug +5 -0
- package/docs/src/main.js +6 -1
- package/docs/src/views/Functions/PageFilterCurrency/i18n/ru.json +2 -2
- package/docs/src/views/PageButton/PageButton.js +2 -0
- package/docs/src/views/PageButton/PageButton.pug +11 -0
- package/docs/src/views/PageButton/compositionAPI/PropsAPI.js +44 -16
- package/docs/src/views/PageButton/i18n/de.json +7 -1
- package/docs/src/views/PageButton/i18n/ru.json +10 -2
- package/package.json +1 -1
- package/src/AButton/AButton.js +17 -168
- package/src/AButton/compositionAPI/EmitsAPI.js +9 -0
- package/src/AElement/AElement.js +455 -0
- package/src/{ALink/compositionAPI/ToHrefAPI.js → AElement/comositionAPI/AttributesAPI.js} +18 -1
- package/src/{AButton → AElement}/comositionAPI/ComponentLocalAPI.js +4 -3
- package/src/{ALink/compositionAPI → AElement/comositionAPI}/HtmlTitleAPI.js +5 -0
- package/src/AElement/comositionAPI/RouterLinkAPI.js +20 -0
- package/src/AElement/comositionAPI/TagAPI.js +34 -0
- package/src/ALink/ALink.js +25 -158
- package/src/AMenu2/AMenuButtonToggle/AMenuButtonToggle.js +3 -3
- package/src/AMenu2/AMenuPanelLink/AMenuPanelLink.js +3 -3
- package/src/AMenu2/AMenuPanelLink/compositionAPI/EventsAPI.js +2 -2
- package/src/AMenu2/compositionAPI/LinkClickAPI.js +2 -2
- package/src/ATable/ATableHeaderTh/ATableHeaderTh.js +2 -2
- package/src/ATable/ATableTr/ATableTr.js +9 -2
- package/src/ATable/ATableTr/compositionAPI/AttributesAPI.js +0 -3
- package/src/ATable/ATableTr/compositionAPI/MobileAPI.js +5 -4
- package/src/ATable/compositionAPI/MobileColumnsAPI.js +1 -1
- package/src/ATable/i18n/ar.json +9 -6
- package/src/ATable/i18n/de.json +19 -16
- package/src/ATable/i18n/en.json +9 -6
- package/src/ATable/i18n/es.json +9 -6
- package/src/ATable/i18n/fr.json +9 -6
- package/src/ATable/i18n/hr.json +9 -6
- package/src/ATable/i18n/it.json +9 -6
- package/src/ATable/i18n/ru.json +19 -16
- package/src/PVP/new.txt +5 -1
- package/src/compositionAPI/AHttpAPI.js +3 -0
- package/src/filters/filterDefaultForEmpty.js +9 -0
- package/src/filters/filterFileSize.js +11 -0
- package/src/styles/components/AElement.scss +6 -0
- package/src/styles/components/ATable.scss +1 -1
- package/src/styles/styles.scss +1 -1
- package/src/AButton/comositionAPI/HtmlTitleAPI.js +0 -31
- package/src/AButton/comositionAPI/TypeAPI.js +0 -20
- package/src/ALink/compositionAPI/ClickAPI.js +0 -24
- package/src/ALink/compositionAPI/ComponentLocalAPI.js +0 -37
- package/src/styles/components/ALink.scss +0 -6
- /package/src/{AButton → AElement}/comositionAPI/ClickAPI.js +0 -0
- /package/src/{AButton → AElement}/comositionAPI/LoadingAPI.js +0 -0
- /package/src/{AButton → AElement}/comositionAPI/SwitchAPI.js +0 -0
- /package/src/{AButton → AElement}/comositionAPI/TextAPI.js +0 -0
- /package/src/{AButton → AElement}/comositionAPI/TitleAPI.js +0 -0
|
@@ -6,8 +6,9 @@ import {
|
|
|
6
6
|
setLanguage,
|
|
7
7
|
} from "../../../../../src/ATranslation/compositionAPI/ATranslationAPI";
|
|
8
8
|
|
|
9
|
+
export const modelLanguage = ref("de");
|
|
10
|
+
|
|
9
11
|
export default function LanguagesAPI() {
|
|
10
|
-
const modelLanguage = ref("de");
|
|
11
12
|
const languages = [
|
|
12
13
|
{
|
|
13
14
|
label: "Deutsch",
|
|
@@ -45,6 +46,7 @@ export default function LanguagesAPI() {
|
|
|
45
46
|
|
|
46
47
|
const changeLanguage = () => {
|
|
47
48
|
setTimeout(() => {
|
|
49
|
+
localStorage.setItem("language", modelLanguage.value);
|
|
48
50
|
setLanguage(modelLanguage.value);
|
|
49
51
|
});
|
|
50
52
|
};
|
|
@@ -55,3 +57,8 @@ export default function LanguagesAPI() {
|
|
|
55
57
|
modelLanguage,
|
|
56
58
|
};
|
|
57
59
|
}
|
|
60
|
+
|
|
61
|
+
export function setLanguageFromLocalStorage() {
|
|
62
|
+
modelLanguage.value = localStorage.getItem("language") || "de";
|
|
63
|
+
}
|
|
64
|
+
|
|
@@ -9,12 +9,14 @@ import hljs from "highlight.js/lib/core";
|
|
|
9
9
|
import javascript from "highlight.js/lib/languages/javascript";
|
|
10
10
|
import xml from "highlight.js/lib/languages/xml";
|
|
11
11
|
import markdown from "highlight.js/lib/languages/markdown";
|
|
12
|
+
import scss from "highlight.js/lib/languages/scss";
|
|
12
13
|
|
|
13
14
|
import "highlight.js/styles/a11y-dark.css";
|
|
14
15
|
|
|
15
16
|
hljs.registerLanguage("javascript", javascript);
|
|
16
17
|
hljs.registerLanguage("html", xml);
|
|
17
18
|
hljs.registerLanguage("markdown", markdown);
|
|
19
|
+
hljs.registerLanguage("scss", scss);
|
|
18
20
|
|
|
19
21
|
|
|
20
22
|
export default {
|
package/docs/src/main.js
CHANGED
|
@@ -15,11 +15,16 @@ import mainIcons from "./mainIcons";
|
|
|
15
15
|
import {
|
|
16
16
|
mainTranslation,
|
|
17
17
|
} from "./mainTranslation";
|
|
18
|
+
import {
|
|
19
|
+
modelLanguage,
|
|
20
|
+
setLanguageFromLocalStorage,
|
|
21
|
+
} from "./components/TheNavbar/compositionAPI/LanguagesAPI";
|
|
18
22
|
|
|
23
|
+
setLanguageFromLocalStorage();
|
|
19
24
|
|
|
20
25
|
const APP = createApp(App);
|
|
21
26
|
|
|
22
|
-
APP.use(AI18nPlugin, mainTranslation,
|
|
27
|
+
APP.use(AI18nPlugin, mainTranslation, modelLanguage.value, {});
|
|
23
28
|
APP.use(AIconPlugin, {
|
|
24
29
|
icons: mainIcons,
|
|
25
30
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"_PAGE_FILTER_CURRENCY_ARGUMENTS_DIGIT_GROUPING_": "Указывает, активировано ли
|
|
2
|
+
"_PAGE_FILTER_CURRENCY_ARGUMENTS_DIGIT_GROUPING_": "Указывает, активировано ли группировка цифр для вставки разделителя разряда числа тысячами в отформатированную строку",
|
|
3
3
|
"_PAGE_FILTER_CURRENCY_ARGUMENTS_DIGITS_": "Количество знаков после запятой в отформатированной строке",
|
|
4
4
|
"_PAGE_FILTER_CURRENCY_ARGUMENTS_SUFFIX_": "Суффикс, добавляемый к отформатированной строке для указания валюты",
|
|
5
5
|
"_PAGE_FILTER_CURRENCY_ARGUMENTS_VALUE_": "Числовое значение, которое следует форматировать как валюту",
|
|
6
|
-
"_PAGE_FILTER_CURRENCY_DESCRIPTION_": "Функция <strong>filterCurrency</strong> является специализированным расширением функции <a href=\"/#/filter-float\"><strong>filterFloat</strong></a> и предназначена для форматирования числовых значений как валюты. Она принимает числовое значение и возвращает строку, представляющую значение с указанной валютой, количеством десятичных знаков, суффиксом и, при необходимости, группировкой цифр (
|
|
6
|
+
"_PAGE_FILTER_CURRENCY_DESCRIPTION_": "Функция <strong>filterCurrency</strong> является специализированным расширением функции <a href=\"/#/filter-float\"><strong>filterFloat</strong></a> и предназначена для форматирования числовых значений как валюты. Она принимает числовое значение и возвращает строку, представляющую значение с указанной валютой, количеством десятичных знаков, суффиксом и, при необходимости, группировкой цифр (разделение разрядов числа тысячами). Если числовое значение не указано (равно null или undefined), возвращается пустая строка. Эта функция разработана с возможностью расширения для поддержки множества валют."
|
|
7
7
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import AlohaHighlightjs from "../../global/components/AlohaHighlightjs/AlohaHighlightjs";
|
|
1
2
|
import AlohaPage from "../../global/components/AlohaPage/AlohaPage.vue";
|
|
2
3
|
import AlohaTableProps from "../../global/components/AlohaTableProps/AlohaTableProps.vue";
|
|
3
4
|
import ATranslation from "../../../../src/ATranslation/ATranslation";
|
|
@@ -38,6 +39,7 @@ import SlotsAPI from "./compositionAPI/SlotsAPI";
|
|
|
38
39
|
export default {
|
|
39
40
|
name: "PageButton",
|
|
40
41
|
components: {
|
|
42
|
+
AlohaHighlightjs,
|
|
41
43
|
AlohaPage,
|
|
42
44
|
AlohaTableProps,
|
|
43
45
|
ATranslation,
|
|
@@ -4,6 +4,11 @@ aloha-page(
|
|
|
4
4
|
template(
|
|
5
5
|
v-slot:body
|
|
6
6
|
)
|
|
7
|
+
a-translation(
|
|
8
|
+
tag="p"
|
|
9
|
+
html="_A_BUTTON_COMPONENT_DESCRIPTION_"
|
|
10
|
+
)
|
|
11
|
+
|
|
7
12
|
page-button-basic
|
|
8
13
|
|
|
9
14
|
page-button-outline
|
|
@@ -61,6 +66,12 @@ aloha-page(
|
|
|
61
66
|
aloha-table-props(
|
|
62
67
|
:data="dataProps"
|
|
63
68
|
)
|
|
69
|
+
template(
|
|
70
|
+
v-slot:class-default="{ row }"
|
|
71
|
+
)
|
|
72
|
+
aloha-highlightjs(
|
|
73
|
+
:code="row.scss"
|
|
74
|
+
)
|
|
64
75
|
|
|
65
76
|
aloha-table-props(
|
|
66
77
|
table-label="Slots"
|
|
@@ -28,6 +28,28 @@ export default function PropsAPI() {
|
|
|
28
28
|
default: undefined,
|
|
29
29
|
required: false,
|
|
30
30
|
},
|
|
31
|
+
{
|
|
32
|
+
name: "class-default",
|
|
33
|
+
description: "_A_BUTTON_PROPS_CLASS_DEFAULT_DESCRIPTION_",
|
|
34
|
+
descriptionSlot: "class-default",
|
|
35
|
+
scss: `// SCSS:
|
|
36
|
+
.aloha_element {
|
|
37
|
+
position: relative;
|
|
38
|
+
& > :not(.aloha_element__hidden) + :not(.aloha_element__ml_0) {
|
|
39
|
+
margin-left: .5rem;
|
|
40
|
+
}
|
|
41
|
+
}`,
|
|
42
|
+
type: "String",
|
|
43
|
+
default: "aloha_element",
|
|
44
|
+
required: false,
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: "class-default-hidden",
|
|
48
|
+
description: "_A_BUTTON_PROPS_CLASS_DEFAULT_HIDDEN_DESCRIPTION_",
|
|
49
|
+
type: "String",
|
|
50
|
+
default: "aloha_element__hidden",
|
|
51
|
+
required: false,
|
|
52
|
+
},
|
|
31
53
|
{
|
|
32
54
|
name: "disabled",
|
|
33
55
|
description: "_A_BUTTON_PROPS_DISABLED_DESCRIPTION_",
|
|
@@ -42,6 +64,13 @@ export default function PropsAPI() {
|
|
|
42
64
|
default: undefined,
|
|
43
65
|
required: false,
|
|
44
66
|
},
|
|
67
|
+
{
|
|
68
|
+
name: "extraData",
|
|
69
|
+
description: "_A_BUTTON_PROPS_EXTRA_DATA_DESCRIPTION_",
|
|
70
|
+
type: "Any",
|
|
71
|
+
default: undefined,
|
|
72
|
+
required: false,
|
|
73
|
+
},
|
|
45
74
|
{
|
|
46
75
|
name: "html",
|
|
47
76
|
description: "_A_BUTTON_PROPS_HTML_DESCRIPTION_",
|
|
@@ -98,6 +127,13 @@ export default function PropsAPI() {
|
|
|
98
127
|
default: "() => uniqueId(\"a_btn_\")",
|
|
99
128
|
required: false,
|
|
100
129
|
},
|
|
130
|
+
{
|
|
131
|
+
name: "is-switch",
|
|
132
|
+
description: "_A_BUTTON_PROPS_IS_SWITCH_DESCRIPTION_",
|
|
133
|
+
type: "Boolean",
|
|
134
|
+
default: undefined,
|
|
135
|
+
required: false,
|
|
136
|
+
},
|
|
101
137
|
{
|
|
102
138
|
name: "is-title-html",
|
|
103
139
|
description: "_A_BUTTON_PROPS_IS_TITLE_HTML_DESCRIPTION_",
|
|
@@ -127,6 +163,13 @@ export default function PropsAPI() {
|
|
|
127
163
|
default: "a_spinner_small",
|
|
128
164
|
required: false,
|
|
129
165
|
},
|
|
166
|
+
{
|
|
167
|
+
name: "model-switch",
|
|
168
|
+
description: "_A_BUTTON_PROPS_MODEL_SWITCH_DESCRIPTION_",
|
|
169
|
+
type: "Boolean",
|
|
170
|
+
default: undefined,
|
|
171
|
+
required: false,
|
|
172
|
+
},
|
|
130
173
|
{
|
|
131
174
|
name: "prevent",
|
|
132
175
|
description: "_A_BUTTON_PROPS_PREVENT_DESCRIPTION_",
|
|
@@ -166,7 +209,7 @@ export default function PropsAPI() {
|
|
|
166
209
|
name: "tag",
|
|
167
210
|
description: "_A_BUTTON_PROPS_TAG_DESCRIPTION_",
|
|
168
211
|
type: "String",
|
|
169
|
-
default:
|
|
212
|
+
default: undefined,
|
|
170
213
|
required: false,
|
|
171
214
|
},
|
|
172
215
|
{
|
|
@@ -247,27 +290,12 @@ export default function PropsAPI() {
|
|
|
247
290
|
default: "auto",
|
|
248
291
|
required: false,
|
|
249
292
|
},
|
|
250
|
-
{
|
|
251
|
-
name: "is-switch",
|
|
252
|
-
description: "_A_BUTTON_PROPS_IS_SWITCH_DESCRIPTION_",
|
|
253
|
-
type: "Boolean",
|
|
254
|
-
default: undefined,
|
|
255
|
-
required: false,
|
|
256
|
-
},
|
|
257
|
-
{
|
|
258
|
-
name: "model-switch",
|
|
259
|
-
description: "_A_BUTTON_PROPS_MODEL_SWITCH_DESCRIPTION_",
|
|
260
|
-
type: "Boolean",
|
|
261
|
-
default: undefined,
|
|
262
|
-
required: false,
|
|
263
|
-
},
|
|
264
293
|
{
|
|
265
294
|
name: "type",
|
|
266
295
|
description: "_A_BUTTON_PROPS_TYPE_DESCRIPTION_",
|
|
267
296
|
type: "String",
|
|
268
297
|
default: "button",
|
|
269
298
|
required: false,
|
|
270
|
-
// validator: value => ["button", "submit", "reset"].indexOf(value) !== -1,
|
|
271
299
|
},
|
|
272
300
|
];
|
|
273
301
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
+
"_A_BUTTON_COMPONENT_DESCRIPTION_": "Die Komponente <strong>AButton</strong> ist eine universelle Schaltfläche mit erweiterten Anpassungsmöglichkeiten über Props. Sie integriert sich mit <a href=\"/#/element\">AElement</a> für das Rendering und ermöglicht die Anpassung von Zugänglichkeit, Klassen, Identifikatoren, Ladezuständen und anderen Parametern. Sie unterstützt das Anpassen des Aussehens, des Texts, der Icons und das Verarbeiten von Ereignissen wie Klicks, was sie zu einem leistungsstarken Werkzeug für die Gestaltung von Benutzeroberflächen macht.",
|
|
2
3
|
"_A_BUTTON_COMPONENT_NAME_": "Schaltfläche",
|
|
3
4
|
"_A_BUTTON_EVENTS_CLICK_DESCRIPTION_": "Wird emittiert, wenn der Button geklickt wird.",
|
|
4
5
|
"_A_BUTTON_EXAMPLE_BIG_TITLE_": "<div>DAS IST MEIN <strong>HTML-TOOLTIP!!!!</strong></div><div>Zweite Zeile</div>",
|
|
@@ -55,13 +56,16 @@
|
|
|
55
56
|
"_A_BUTTON_GROUP_TITLE_HTML_EXTRA_DESCRIPTION_": "Anzeige von HTML-Titel mit Übersetzung und Parameter",
|
|
56
57
|
"_A_BUTTON_GROUP_TITLE_HTML_EXTRA_HEADER_": "Im folgenden Beispiel wird der Titel als übersetzter Text mit einem Parameter angezeigt. Dabei wird der Parameter number über das extra-Attribut übergeben.",
|
|
57
58
|
"_A_BUTTON_GROUP_TITLE_HTML_HEADER_": "Anzeige von HTML-Titel und Titelplatzierung",
|
|
58
|
-
"_A_BUTTON_GROUP_TRANSPARENT_HEADER_": "Transparente Schaltflächen",
|
|
59
59
|
"_A_BUTTON_GROUP_TRANSPARENT_DESCRIPTION_": "Wenn Sie eine Schaltfläche benötigen, die mit dem Hintergrund verschmilzt, anstatt ihn zu verdecken, ersetzen Sie die Standardmodifikatorklassen durch die .a_btn_transparent*-Klassen.",
|
|
60
|
+
"_A_BUTTON_GROUP_TRANSPARENT_HEADER_": "Transparente Schaltflächen",
|
|
60
61
|
"_A_BUTTON_PROPS_ARIA_DISABLED_DESCRIPTION_": "Gibt an, ob der Button als inaktiv markiert werden soll. Wenn der Wert auf true gesetzt ist, wird der Button als inaktiv dargestellt und die Accessibility-Eigenschaft \"aria-disabled\" wird hinzugefügt.",
|
|
61
62
|
"_A_BUTTON_PROPS_ARIA_LABEL_DESCRIPTION_": " Gibt das ARIA-Label für den Button an. Sie können einen String, eine Zahl oder ein Objekt als Wert verwenden, um das gewünschte Label festzulegen.",
|
|
62
63
|
"_A_BUTTON_PROPS_ATTRIBUTES_DESCRIPTION_": "Gibt zusätzliche Attribute für den Button an. Sie können ein Objekt verwenden, um die gewünschten Attribute und deren Werte festzulegen.",
|
|
64
|
+
"_A_BUTTON_PROPS_CLASS_DEFAULT_DESCRIPTION_": "Definiert die Basis-CSS-Klasse für das Element, indem ein allgemeiner visueller Standardstil festgelegt wird.",
|
|
65
|
+
"_A_BUTTON_PROPS_CLASS_DEFAULT_HIDDEN_DESCRIPTION_": "Legt eine CSS-Klasse fest, um das Element zu verbergen, wird verwendet, um die Sichtbarkeit des Elements in verschiedenen Kontexten zu steuern.",
|
|
63
66
|
"_A_BUTTON_PROPS_CLASS_DESCRIPTION_": "CSS-Klasse",
|
|
64
67
|
"_A_BUTTON_PROPS_DISABLED_DESCRIPTION_": "Gibt an, ob der Button deaktiviert werden soll. Wenn der Wert auf true gesetzt ist, wird der Button deaktiviert.",
|
|
68
|
+
"_A_BUTTON_PROPS_EXTRA_DATA_DESCRIPTION_": "Bietet zusätzliche Daten für alle Slots des Komponenten, was die Übertragung benutzerdefinierter Daten und Informationen ermöglicht, die innerhalb der Slots für eine flexiblere und detailliertere Anpassung des Inhalts verwendet werden können.",
|
|
65
69
|
"_A_BUTTON_PROPS_EXTRA_DESCRIPTION_": "Extra-Objekt für Übersetzung",
|
|
66
70
|
"_A_BUTTON_PROPS_HTML_DESCRIPTION_": "Der zu sichernde HTML-Inhalt, der im Button angezeigt werden soll",
|
|
67
71
|
"_A_BUTTON_PROPS_HTML_SCREEN_READER_DESCRIPTION_": "Gibt das HTML für den Screenreader-Inhalt des Buttons an. Sie können einen String, eine Zahl oder ein Objekt als Wert verwenden, um den gewünschten HTML-Inhalt festzulegen.",
|
|
@@ -90,8 +94,10 @@
|
|
|
90
94
|
"_A_BUTTON_PROPS_TEXT_DESCRIPTION_": "Ein String oder ein Objekt, das den Text für verschiedene Geräte enthält. Verwenden Sie die Schlüssel \"mobile\" und \"desktop\", um den entsprechenden Text für jedes Gerät anzugeben.",
|
|
91
95
|
"_A_BUTTON_PROPS_TEXT_SCREEN_READER_DESCRIPTION_": "Gibt den Text an, der für Screenreader verwendet werden soll.",
|
|
92
96
|
"_A_BUTTON_PROPS_TEXT_TAG_DESCRIPTION_": "Diese Prop ermöglicht die Anpassung des HTML-Tags, in dem der Text innerhalb des Buttons gerendert wird",
|
|
97
|
+
"_A_BUTTON_PROPS_TITLE_ATTRIBUTES_DESCRIPTION_": "Bietet ein Objekt zur Einstellung zusätzlicher HTML-Attribute für den Titel des Elements, ermöglicht eine detaillierte Anpassung seines Verhaltens und Stils.",
|
|
93
98
|
"_A_BUTTON_PROPS_TITLE_DESCRIPTION_": "Ein String oder ein Array von Elementen, die zu einem einzigen Titel konkateniert werden.",
|
|
94
99
|
"_A_BUTTON_PROPS_TITLE_PLACEMENT_DESCRIPTION_": "Die Positionierung des HTML-Titels",
|
|
100
|
+
"_A_BUTTON_PROPS_TITLE_Z_INDEX_DESCRIPTION_": "Setzt den z-Index für den Titel des Elements, bestimmt seine Überlagerungsreihenfolge im Kontext anderer überlappender Elemente.",
|
|
95
101
|
"_A_BUTTON_PROPS_TYPE_DESCRIPTION_": "Gibt den Typ des Buttons an. Erlaubte Werte sind \"button\", \"submit\" und \"reset\".",
|
|
96
102
|
"_A_BUTTON_SLOT_BUTTON_APPEND_DESCRIPTION_": "Der Slot, der den Inhalt enthält, der nach dem Text im Button angezeigt werden soll.",
|
|
97
103
|
"_A_BUTTON_SLOT_BUTTON_PREPEND_DESCRIPTION_": "Der Slot, der den Inhalt enthält, der vor dem Text im Button angezeigt werden soll.",
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
{
|
|
2
|
+
"_A_BUTTON_COMPONENT_DESCRIPTION_": "Компонент <strong>AButton</strong> представляет собой универсальную кнопку с расширенной настройкой через пропсы. Он интегрируется с <a href=\"/#/element\">AElement</a> для рендеринга, позволяя настроить доступность, классы, идентификаторы, состояние загрузки и другие параметры. Поддерживает настройку внешнего вида, текста, иконок и обработку событий, таких как клик, делая его мощным инструментом для создания интерфейсов.",
|
|
2
3
|
"_A_BUTTON_COMPONENT_NAME_": "Кнопка",
|
|
3
4
|
"_A_BUTTON_EVENTS_CLICK_DESCRIPTION_": "Срабатывает при клике на кнопку.",
|
|
4
5
|
"_A_BUTTON_EXAMPLE_BIG_TITLE_": "<div>ЭТО МОЙ <strong>HTML-ВОЛШЕБНАЯ ПОДСКАЗКА!!!!</strong></div><div>Вторая строка</div>",
|
|
5
6
|
"_A_BUTTON_EXAMPLE_BIG_TITLE_{{number}}_": "<div>ЭТО МОЙ <strong>HTML-ВОЛШЕБНАЯ ПОДСКАЗКА!!!!</strong></div><div>Вторая строка</div><div>Номер: {{ number }}</div>",
|
|
6
7
|
"_A_BUTTON_EXAMPLE_HTML_": "<span onclick='alert(\"Aloha\")'>Aloha</button>",
|
|
7
|
-
"_A_BUTTON_GROUP_ARIA_DISABLED_DESCRIPTION_": "Компонент AButton позволяет отображать кнопку в неактивном состоянии и устанавливать соответствующие атрибуты доступности. Для этого можно использовать свойство \"aria-disabled\" для указания неактивного состояния. Это позволяет использовать события, такие как фокус или наведение, при этом кнопка остаётся неактивной для нажатия.",
|
|
8
|
+
"_A_BUTTON_GROUP_ARIA_DISABLED_DESCRIPTION_": "Компонент <strong>AButton</strong> позволяет отображать кнопку в неактивном состоянии и устанавливать соответствующие атрибуты доступности. Для этого можно использовать свойство \"aria-disabled\" для указания неактивного состояния. Это позволяет использовать события, такие как фокус или наведение, при этом кнопка остаётся неактивной для нажатия.",
|
|
8
9
|
"_A_BUTTON_GROUP_ARIA_DISABLED_HEADER_": "Неактивная кнопка с использованием aria-disabled",
|
|
9
10
|
"_A_BUTTON_GROUP_BASIC_DESCRIPTION_": "Существует множество классов CSS, которые можно использовать с кнопкой.",
|
|
10
|
-
"_A_BUTTON_GROUP_COMPLEX_DESCRIPTION_": "Компонент AButton позволяет использовать различные сложные свойства и события для настройки и управления кнопкой с расширенными функциями. В следующем примере используются несколько свойств и событий для настройки кнопки и управления её состоянием загрузки.",
|
|
11
|
+
"_A_BUTTON_GROUP_COMPLEX_DESCRIPTION_": "Компонент <strong>AButton</strong> позволяет использовать различные сложные свойства и события для настройки и управления кнопкой с расширенными функциями. В следующем примере используются несколько свойств и событий для настройки кнопки и управления её состоянием загрузки.",
|
|
11
12
|
"_A_BUTTON_GROUP_COMPLEX_HEADER_": "Использование сложных свойств и событий",
|
|
12
13
|
"_A_BUTTON_GROUP_DISABLED_DESCRIPTION_": "Компонент AButton позволяет отключить кнопку с помощью свойства \"disabled\". Это делает кнопку недоступной для взаимодействия как внешне, так и функционально.",
|
|
13
14
|
"_A_BUTTON_GROUP_DISABLED_HEADER_": "Отключение кнопки",
|
|
@@ -55,11 +56,16 @@
|
|
|
55
56
|
"_A_BUTTON_GROUP_TITLE_HTML_EXTRA_DESCRIPTION_": "Отображение HTML-заголовка с переводом и параметрами",
|
|
56
57
|
"_A_BUTTON_GROUP_TITLE_HTML_EXTRA_HEADER_": "В приведенном ниже примере заголовок отображается как переведенный текст с параметром. Параметр number передается через extra атрибут.",
|
|
57
58
|
"_A_BUTTON_GROUP_TITLE_HTML_HEADER_": "Отображение HTML-заголовка и его размещение",
|
|
59
|
+
"_A_BUTTON_GROUP_TRANSPARENT_DESCRIPTION_": "Если вам нужна кнопка, которая будет гармонировать с фоном, а не перекрывать его, замените стандартные классы на классы .a_btn_transparent*.",
|
|
60
|
+
"_A_BUTTON_GROUP_TRANSPARENT_HEADER_": "Прозрачные кнопки",
|
|
58
61
|
"_A_BUTTON_PROPS_ARIA_DISABLED_DESCRIPTION_": "Определяет, должна ли кнопка быть неактивной. Если значение установлено как true, кнопка будет отображаться как неактивная, и будет добавлено свойство доступности \"aria-disabled\".",
|
|
59
62
|
"_A_BUTTON_PROPS_ARIA_LABEL_DESCRIPTION_": "Определяет ARIA-метку для кнопки. Вы можете использовать строку, число или объект в качестве значения для задания желаемой метки.",
|
|
60
63
|
"_A_BUTTON_PROPS_ATTRIBUTES_DESCRIPTION_": "Определяет дополнительные атрибуты для кнопки. Вы можете использовать объект для задания необходимых атрибутов и их значений.",
|
|
64
|
+
"_A_BUTTON_PROPS_CLASS_DEFAULT_DESCRIPTION_": "Определяет базовый класс стиля для элемента, устанавливая общий визуальный стиль по умолчанию.",
|
|
65
|
+
"_A_BUTTON_PROPS_CLASS_DEFAULT_HIDDEN_DESCRIPTION_": "Задает класс стиля для скрытия элемента, используется для управления видимостью элемента в различных контекстах.",
|
|
61
66
|
"_A_BUTTON_PROPS_CLASS_DESCRIPTION_": "CSS-класс",
|
|
62
67
|
"_A_BUTTON_PROPS_DISABLED_DESCRIPTION_": "Определяет, должна ли кнопка быть отключена. Если значение установлено как true, кнопка будет отключена.",
|
|
68
|
+
"_A_BUTTON_PROPS_EXTRA_DATA_DESCRIPTION_": "Предоставляет дополнительные данные для всех слотов компонента, позволяя передавать пользовательские данные и информацию, которые могут быть использованы внутри слотов для более гибкой и детализированной кастомизации содержимого.",
|
|
63
69
|
"_A_BUTTON_PROPS_EXTRA_DESCRIPTION_": "Дополнительный объект для перевода",
|
|
64
70
|
"_A_BUTTON_PROPS_HTML_DESCRIPTION_": "HTML-контент, который должен быть отображен внутри кнопки.",
|
|
65
71
|
"_A_BUTTON_PROPS_HTML_SCREEN_READER_DESCRIPTION_": "Определяет HTML-контент для чтения экраном кнопки. Вы можете использовать строку, число или объект в качестве значения для задания желаемого HTML-контента.",
|
|
@@ -88,8 +94,10 @@
|
|
|
88
94
|
"_A_BUTTON_PROPS_TEXT_DESCRIPTION_": "Строка или объект, содержащий текст для разных устройств. Используйте ключи \"mobile\" и \"desktop\", чтобы указать соответствующий текст для каждого устройства.",
|
|
89
95
|
"_A_BUTTON_PROPS_TEXT_SCREEN_READER_DESCRIPTION_": "Определяет текст, который будет использоваться для считывания экраном.",
|
|
90
96
|
"_A_BUTTON_PROPS_TEXT_TAG_DESCRIPTION_": "Этот параметр позволяет настраивать тег HTML, в котором отображается текст внутри кнопки.",
|
|
97
|
+
"_A_BUTTON_PROPS_TITLE_ATTRIBUTES_DESCRIPTION_": "Предоставляет объект для настройки дополнительных HTML атрибутов для заголовка элемента, позволяя детализировать его поведение и стиль.",
|
|
91
98
|
"_A_BUTTON_PROPS_TITLE_DESCRIPTION_": "Строка или массив элементов, которые будут объединены в один заголовок.",
|
|
92
99
|
"_A_BUTTON_PROPS_TITLE_PLACEMENT_DESCRIPTION_": "Позиционирование HTML-заголовка.",
|
|
100
|
+
"_A_BUTTON_PROPS_TITLE_Z_INDEX_DESCRIPTION_": "Устанавливает z-index для заголовка элемента, определяя его порядок наложения в контексте других перекрывающихся элементов.",
|
|
93
101
|
"_A_BUTTON_PROPS_TYPE_DESCRIPTION_": "Определяет тип кнопки. Допустимые значения: \"button\", \"submit\" и \"reset\".",
|
|
94
102
|
"_A_BUTTON_SLOT_BUTTON_APPEND_DESCRIPTION_": "Слот, который содержит контент, который должен быть отображен после текста кнопки.",
|
|
95
103
|
"_A_BUTTON_SLOT_BUTTON_PREPEND_DESCRIPTION_": "Слот, который содержит контент, который должен быть отображен перед текстом кнопки.",
|
package/package.json
CHANGED
package/src/AButton/AButton.js
CHANGED
|
@@ -2,19 +2,9 @@ import {
|
|
|
2
2
|
h,
|
|
3
3
|
} from "vue";
|
|
4
4
|
|
|
5
|
-
import
|
|
6
|
-
import ASpinner from "../ASpinner/ASpinner";
|
|
7
|
-
import ATranslation from "../ATranslation/ATranslation";
|
|
5
|
+
import AElement from "../AElement/AElement";
|
|
8
6
|
|
|
9
|
-
import
|
|
10
|
-
import ClickAPI from "./comositionAPI/ClickAPI";
|
|
11
|
-
import ComponentLocalAPI from "./comositionAPI/ComponentLocalAPI";
|
|
12
|
-
import HtmlTitleAPI from "./comositionAPI/HtmlTitleAPI";
|
|
13
|
-
import LoadingAPI from "./comositionAPI/LoadingAPI";
|
|
14
|
-
import SwitchAPI from "./comositionAPI/SwitchAPI";
|
|
15
|
-
import TextAPI from "./comositionAPI/TextAPI";
|
|
16
|
-
import TitleAPI from "./comositionAPI/TitleAPI";
|
|
17
|
-
import TypeAPI from "./comositionAPI/TypeAPI";
|
|
7
|
+
import EmitsAPI from "./compositionAPI/EmitsAPI";
|
|
18
8
|
|
|
19
9
|
import placements from "../const/placements";
|
|
20
10
|
import {
|
|
@@ -47,10 +37,15 @@ export default {
|
|
|
47
37
|
required: false,
|
|
48
38
|
default: undefined,
|
|
49
39
|
},
|
|
50
|
-
classDefault: {
|
|
40
|
+
classDefault: {
|
|
51
41
|
type: String,
|
|
52
42
|
required: false,
|
|
53
|
-
default: "
|
|
43
|
+
default: "aloha_element",
|
|
44
|
+
},
|
|
45
|
+
classDefaultHidden: {
|
|
46
|
+
type: String,
|
|
47
|
+
required: false,
|
|
48
|
+
default: "aloha_element__hidden",
|
|
54
49
|
},
|
|
55
50
|
disabled: {
|
|
56
51
|
type: Boolean,
|
|
@@ -166,7 +161,7 @@ export default {
|
|
|
166
161
|
tag: {
|
|
167
162
|
type: String,
|
|
168
163
|
required: false,
|
|
169
|
-
default:
|
|
164
|
+
default: undefined,
|
|
170
165
|
},
|
|
171
166
|
text: {
|
|
172
167
|
type: [String, Number, Object, Array],
|
|
@@ -242,164 +237,18 @@ export default {
|
|
|
242
237
|
],
|
|
243
238
|
setup(props, context) {
|
|
244
239
|
const {
|
|
245
|
-
|
|
246
|
-
} =
|
|
247
|
-
|
|
248
|
-
const {
|
|
249
|
-
isTitleVisible,
|
|
250
|
-
} = TitleAPI(props);
|
|
251
|
-
|
|
252
|
-
const {
|
|
253
|
-
isLoadingLeft,
|
|
254
|
-
isLoadingRight,
|
|
255
|
-
} = LoadingAPI(props);
|
|
256
|
-
|
|
257
|
-
const {
|
|
258
|
-
isTextOrHtmlVisible,
|
|
259
|
-
isTextOrHtmlScreenReaderVisible,
|
|
260
|
-
} = TextAPI(props);
|
|
261
|
-
|
|
262
|
-
const {
|
|
263
|
-
onClick,
|
|
264
|
-
} = ClickAPI(props, context);
|
|
265
|
-
|
|
266
|
-
const {
|
|
267
|
-
componentLocal,
|
|
268
|
-
} = ComponentLocalAPI(props);
|
|
269
|
-
|
|
270
|
-
const {
|
|
271
|
-
buttonRef,
|
|
272
|
-
htmlTitleAttributes,
|
|
273
|
-
} = HtmlTitleAPI(props);
|
|
274
|
-
|
|
275
|
-
const {
|
|
276
|
-
ariaLabelAttributes,
|
|
277
|
-
} = AriaLabelAPI(props);
|
|
278
|
-
|
|
279
|
-
const {
|
|
280
|
-
isSwitchActive,
|
|
281
|
-
switchClass,
|
|
282
|
-
} = SwitchAPI(props);
|
|
240
|
+
clickEmit,
|
|
241
|
+
} = EmitsAPI(props, context);
|
|
283
242
|
|
|
284
243
|
return {
|
|
285
|
-
|
|
286
|
-
buttonRef,
|
|
287
|
-
componentLocal,
|
|
288
|
-
htmlTitleAttributes,
|
|
289
|
-
isLoadingLeft,
|
|
290
|
-
isLoadingRight,
|
|
291
|
-
isSwitchActive,
|
|
292
|
-
isTextOrHtmlScreenReaderVisible,
|
|
293
|
-
isTextOrHtmlVisible,
|
|
294
|
-
isTitleVisible,
|
|
295
|
-
onClick,
|
|
296
|
-
typeLocal,
|
|
297
|
-
switchClass,
|
|
244
|
+
clickEmit,
|
|
298
245
|
};
|
|
299
246
|
},
|
|
300
247
|
render() {
|
|
301
|
-
return h(
|
|
248
|
+
return h(AElement, {
|
|
302
249
|
...this.$attrs,
|
|
303
|
-
...this
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
id: this.id,
|
|
307
|
-
class: [
|
|
308
|
-
this.classDefault,
|
|
309
|
-
this.switchClass,
|
|
310
|
-
this.class,
|
|
311
|
-
{
|
|
312
|
-
disabled: this.ariaDisabled,
|
|
313
|
-
},
|
|
314
|
-
],
|
|
315
|
-
type: this.typeLocal,
|
|
316
|
-
tabindex: this.tabindex,
|
|
317
|
-
disabled: this.disabled,
|
|
318
|
-
ariaDisabled: this.ariaDisabled,
|
|
319
|
-
"aria-pressed": this.isSwitchActive,
|
|
320
|
-
// TODO: ATable
|
|
321
|
-
isAllRowsSelected: undefined,
|
|
322
|
-
onClick: this.onClick,
|
|
323
|
-
...this.attributes,
|
|
324
|
-
}, {
|
|
325
|
-
default: () => [
|
|
326
|
-
(!this.isTitleHtml && this.isTitleVisible) && h(ATranslation, {
|
|
327
|
-
tag: "span",
|
|
328
|
-
ariaHidden: true,
|
|
329
|
-
class: "a_position_absolute_all aloha_btn__hidden",
|
|
330
|
-
title: this.title,
|
|
331
|
-
extra: this.extra,
|
|
332
|
-
style: {
|
|
333
|
-
zIndex: this.titleZIndex,
|
|
334
|
-
},
|
|
335
|
-
...this.titleAttributes,
|
|
336
|
-
}),
|
|
337
|
-
this.isTextOrHtmlScreenReaderVisible && h(ATranslation, {
|
|
338
|
-
class: "a_sr_only aloha_btn__hidden",
|
|
339
|
-
tag: "span",
|
|
340
|
-
text: this.textScreenReader,
|
|
341
|
-
html: this.htmlScreenReader,
|
|
342
|
-
safeHtml: this.safeHtmlScreenReader,
|
|
343
|
-
extra: this.extra,
|
|
344
|
-
}),
|
|
345
|
-
this.$slots.buttonPrepend && this.$slots.buttonPrepend(),
|
|
346
|
-
this.isLoadingLeft && h(ASpinner, {
|
|
347
|
-
class: [
|
|
348
|
-
"aloha_btn__spinner_left",
|
|
349
|
-
this.loadingClass,
|
|
350
|
-
],
|
|
351
|
-
}),
|
|
352
|
-
h(AIcon, {
|
|
353
|
-
icon: this.iconLeft,
|
|
354
|
-
iconTag: this.iconTag,
|
|
355
|
-
class: [
|
|
356
|
-
"aloha_btn__icon_left",
|
|
357
|
-
this.iconClass,
|
|
358
|
-
],
|
|
359
|
-
...this.iconAttributes,
|
|
360
|
-
}),
|
|
361
|
-
this.$slots.default && this.$slots.default({ extraData: this.extraData }),
|
|
362
|
-
this.isTextOrHtmlVisible && h(ATranslation, {
|
|
363
|
-
ariaHidden: this.textAriaHidden,
|
|
364
|
-
class: this.textClass,
|
|
365
|
-
extra: this.extra,
|
|
366
|
-
html: this.html,
|
|
367
|
-
safeHtml: this.safeHtml,
|
|
368
|
-
tag: this.textTag,
|
|
369
|
-
text: this.text,
|
|
370
|
-
textAfter: this.textAfter,
|
|
371
|
-
textBefore: this.textBefore,
|
|
372
|
-
}),
|
|
373
|
-
h(AIcon, {
|
|
374
|
-
icon: this.iconRight,
|
|
375
|
-
iconTag: this.iconTag,
|
|
376
|
-
class: [
|
|
377
|
-
"aloha_btn__icon_right",
|
|
378
|
-
this.iconClass,
|
|
379
|
-
],
|
|
380
|
-
...this.iconAttributes,
|
|
381
|
-
}),
|
|
382
|
-
this.isLoadingRight && h(ASpinner, {
|
|
383
|
-
class: [
|
|
384
|
-
"aloha_btn__spinner_right",
|
|
385
|
-
this.loadingClass,
|
|
386
|
-
],
|
|
387
|
-
}),
|
|
388
|
-
this.$slots.buttonAppend && this.$slots.buttonAppend(),
|
|
389
|
-
],
|
|
390
|
-
title: !this.isTitleHtml ||
|
|
391
|
-
(!this.title && !this.$slots.buttonTitle) ?
|
|
392
|
-
undefined :
|
|
393
|
-
() => {
|
|
394
|
-
return [
|
|
395
|
-
this.isTitleVisible && h(ATranslation, {
|
|
396
|
-
html: this.title,
|
|
397
|
-
tag: "span",
|
|
398
|
-
extra: this.extra,
|
|
399
|
-
}),
|
|
400
|
-
this.$slots.buttonTitle && this.$slots.buttonTitle(),
|
|
401
|
-
];
|
|
402
|
-
},
|
|
403
|
-
});
|
|
250
|
+
...this.$props,
|
|
251
|
+
onClick: this.clickEmit,
|
|
252
|
+
}, this.$slots);
|
|
404
253
|
},
|
|
405
254
|
};
|