origam 2.12.1 → 2.13.0
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/src/assets/locales/en.json +114 -76
- package/dist/src/assets/locales/fr.json +117 -74
- package/dist/src/components/BottomNav/OrigamBottomNav.vue +6 -4
- package/dist/src/components/Breadcrumb/OrigamBreadcrumb.vue +1 -1
- package/dist/src/components/Breadcrumb/OrigamBreadcrumbDivider.vue +1 -1
- package/dist/src/components/Breadcrumb/OrigamBreadcrumbItem.vue +2 -2
- package/dist/src/components/Btn/OrigamBtn.vue +1 -1
- package/dist/src/components/Calendar/OrigamCalendar.vue +3 -3
- package/dist/src/components/Carousel/OrigamCarousel.vue +1 -1
- package/dist/src/components/Clipboard/OrigamClipboard.vue +1 -1
- package/dist/src/components/Code/OrigamCode.vue +1 -1
- package/dist/src/components/ColorPicker/OrigamColorPickerCanvas.vue +2 -2
- package/dist/src/components/ContextualMenu/OrigamContextualMenu.vue +1 -0
- package/dist/src/components/DataTable/OrigamDataTableFooter.vue +8 -8
- package/dist/src/components/DataTable/OrigamDataTableHeadersCellMobile.vue +1 -1
- package/dist/src/components/DataTable/OrigamDataTableRow.vue +1 -1
- package/dist/src/components/DataTable/OrigamDataTableRows.vue +2 -2
- package/dist/src/components/DatePicker/OrigamDatePicker.vue +3 -3
- package/dist/src/components/DatePickerField/OrigamDatePickerField.vue +1 -1
- package/dist/src/components/ExpansionPanel/OrigamExpansionPanelHeader.vue +8 -3
- package/dist/src/components/FileField/OrigamFileField.vue +8 -8
- package/dist/src/components/InfiniteScroll/OrigamInfiniteScroll.vue +2 -2
- package/dist/src/components/List/OrigamList.vue +7 -0
- package/dist/src/components/List/OrigamListItem.vue +71 -3
- package/dist/src/components/Media/OrigamMediaController.vue +9 -9
- package/dist/src/components/Menu/OrigamMenu.vue +6 -1
- package/dist/src/components/Pagination/OrigamPagination.vue +8 -8
- package/dist/src/components/RatingField/OrigamRatingFieldItem.vue +1 -1
- package/dist/src/components/Select/OrigamSelect.vue +7 -2
- package/dist/src/components/SelectionControl/OrigamSelectionControl.vue +6 -3
- package/dist/src/components/SelectionControl/OrigamSelectionControlGroup.vue +15 -0
- package/dist/src/components/Stepper/OrigamStepper.vue +1 -1
- package/dist/src/components/Stepper/OrigamStepperItem.vue +1 -1
- package/dist/src/components/Switch/OrigamSwitch.vue +453 -449
- package/dist/src/components/TextField/OrigamTextField.vue +4 -1
- package/dist/src/components/TextareaField/OrigamRichToolbar.vue +8 -8
- package/dist/src/components/TextareaField/OrigamTextareaField.vue +1 -1
- package/dist/src/components/Title/OrigamTitle.vue +6 -4
- package/dist/src/components/Video/OrigamVideo.vue +3 -3
- package/dist/src/composables/Commons/group.composable.cjs +2 -2
- package/dist/src/composables/Commons/group.composable.js +2 -2
- package/dist/src/composables/Commons/style.composable.cjs +14 -12
- package/dist/src/composables/Commons/style.composable.d.ts +16 -2
- package/dist/src/composables/Commons/style.composable.js +16 -14
- package/dist/src/consts/Btn/btn-toggle.const.cjs +1 -1
- package/dist/src/consts/Btn/btn-toggle.const.js +1 -1
- package/dist/src/consts/Chip/chip-group.const.cjs +1 -1
- package/dist/src/consts/Chip/chip-group.const.js +1 -1
- package/dist/src/consts/Commons/date.const.cjs +2 -2
- package/dist/src/consts/Commons/date.const.js +2 -2
- package/dist/src/consts/Commons/defaults.const.cjs +1 -1
- package/dist/src/consts/Commons/defaults.const.js +1 -1
- package/dist/src/consts/Commons/display.const.cjs +1 -1
- package/dist/src/consts/Commons/display.const.js +1 -1
- package/dist/src/consts/Commons/forwardRefs.const.cjs +1 -1
- package/dist/src/consts/Commons/forwardRefs.const.js +1 -1
- package/dist/src/consts/Commons/goTo.const.cjs +1 -1
- package/dist/src/consts/Commons/goTo.const.js +1 -1
- package/dist/src/consts/Commons/hover.const.cjs +1 -1
- package/dist/src/consts/Commons/hover.const.js +1 -1
- package/dist/src/consts/Commons/layout.const.cjs +2 -2
- package/dist/src/consts/Commons/layout.const.js +2 -2
- package/dist/src/consts/Commons/locale.const.cjs +1 -1
- package/dist/src/consts/Commons/locale.const.js +1 -1
- package/dist/src/consts/Commons/nested.const.cjs +1 -1
- package/dist/src/consts/Commons/nested.const.js +1 -1
- package/dist/src/consts/Commons/ripple.const.cjs +1 -1
- package/dist/src/consts/Commons/ripple.const.js +1 -1
- package/dist/src/consts/Commons/stack.const.cjs +1 -1
- package/dist/src/consts/Commons/stack.const.js +1 -1
- package/dist/src/consts/DataTable/expand.const.cjs +1 -1
- package/dist/src/consts/DataTable/expand.const.js +1 -1
- package/dist/src/consts/DataTable/group.const.cjs +1 -1
- package/dist/src/consts/DataTable/group.const.js +1 -1
- package/dist/src/consts/DataTable/headers.const.cjs +1 -1
- package/dist/src/consts/DataTable/headers.const.js +1 -1
- package/dist/src/consts/DataTable/pagination.const.cjs +1 -1
- package/dist/src/consts/DataTable/pagination.const.js +1 -1
- package/dist/src/consts/DataTable/select.const.cjs +2 -2
- package/dist/src/consts/DataTable/select.const.js +2 -2
- package/dist/src/consts/DataTable/sort.const.cjs +1 -1
- package/dist/src/consts/DataTable/sort.const.js +1 -1
- package/dist/src/consts/ExpansionPanel/expansion-panel.const.cjs +1 -1
- package/dist/src/consts/ExpansionPanel/expansion-panel.const.js +1 -1
- package/dist/src/consts/Form/form.const.cjs +1 -1
- package/dist/src/consts/Form/form.const.js +1 -1
- package/dist/src/consts/Icon/icon.const.cjs +1 -1
- package/dist/src/consts/Icon/icon.const.js +1 -1
- package/dist/src/consts/ItemGroup/item-group.const.cjs +1 -1
- package/dist/src/consts/ItemGroup/item-group.const.js +1 -1
- package/dist/src/consts/List/list.const.cjs +1 -1
- package/dist/src/consts/List/list.const.js +1 -1
- package/dist/src/consts/Menu/menu.const.cjs +1 -1
- package/dist/src/consts/Menu/menu.const.js +1 -1
- package/dist/src/consts/Parallax/parallax-container.const.cjs +1 -1
- package/dist/src/consts/Parallax/parallax-container.const.js +1 -1
- package/dist/src/consts/Parallax/parallax-layer.const.cjs +1 -1
- package/dist/src/consts/Parallax/parallax-layer.const.js +1 -1
- package/dist/src/consts/SelectionControl/selection-control.const.cjs +1 -1
- package/dist/src/consts/SelectionControl/selection-control.const.js +1 -1
- package/dist/src/consts/Slide/slide-group.const.cjs +1 -1
- package/dist/src/consts/Slide/slide-group.const.js +1 -1
- package/dist/src/consts/Stepper/stepper.const.cjs +1 -1
- package/dist/src/consts/Stepper/stepper.const.js +1 -1
- package/dist/src/consts/Tabs/tabs.const.cjs +3 -3
- package/dist/src/consts/Tabs/tabs.const.js +3 -3
- package/dist/src/consts/Theme/theme.const.cjs +2 -2
- package/dist/src/consts/Theme/theme.const.js +2 -2
- package/dist/src/consts/Timeline/timeline.const.cjs +1 -1
- package/dist/src/consts/Timeline/timeline.const.js +1 -1
- package/dist/src/consts/Treeview/treeview.const.cjs +1 -1
- package/dist/src/consts/Treeview/treeview.const.js +1 -1
- package/dist/src/consts/Window/window.const.cjs +2 -2
- package/dist/src/consts/Window/window.const.js +2 -2
- package/dist/src/interfaces/Commons/commons.interface.d.ts +18 -0
- package/dist/src/interfaces/List/list-item.interface.d.ts +15 -2
- package/dist/src/interfaces/List/list.interface.d.ts +10 -2
- package/dist/src/interfaces/Pagination/pagination.interface.d.ts +2 -2
- package/dist/src/nuxt/module.cjs +3 -2
- package/dist/src/nuxt/module.js +2 -1
- package/dist/src/origam.cjs +3 -2
- package/dist/src/origam.js +3 -2
- package/dist/src/services/Commons/circular-buffer.service.cjs +1 -0
- package/dist/src/services/Commons/circular-buffer.service.js +1 -0
- package/dist/src/utils/Commons/dom.util.cjs +32 -0
- package/dist/src/utils/Commons/dom.util.d.ts +1 -0
- package/dist/src/utils/Commons/dom.util.js +31 -0
- package/package.json +10 -5
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
<template v-if="hasPrepend">
|
|
14
14
|
<span
|
|
15
15
|
key="prepend"
|
|
16
|
-
class="origam-
|
|
16
|
+
class="origam-breadcrumb-item__prepend"
|
|
17
17
|
@click="handleClickPrepend"
|
|
18
18
|
>
|
|
19
19
|
<slot name="prepend">
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
<template v-if="hasAppend">
|
|
41
41
|
<span
|
|
42
42
|
key="append"
|
|
43
|
-
class="origam-
|
|
43
|
+
class="origam-breadcrumb-item__append"
|
|
44
44
|
@click="handleClickAppend"
|
|
45
45
|
>
|
|
46
46
|
<slot name="append">
|
|
@@ -386,7 +386,7 @@ const btnClasses = computed(() => {
|
|
|
386
386
|
props.class
|
|
387
387
|
];
|
|
388
388
|
});
|
|
389
|
-
const { id, css, load, isLoaded, unload } = useStyle(btnStyles);
|
|
389
|
+
const { id, css, load, isLoaded, unload } = useStyle(btnStyles, () => props.id);
|
|
390
390
|
defineExpose({
|
|
391
391
|
group,
|
|
392
392
|
filterProps,
|
|
@@ -459,13 +459,13 @@ const VIEW_LABEL_FALLBACK = {
|
|
|
459
459
|
function viewLabel(view) {
|
|
460
460
|
return t(`origam.calendar.view.${view}`, VIEW_LABEL_FALLBACK[view]);
|
|
461
461
|
}
|
|
462
|
-
const ariaLabel = computed(() => t("origam.calendar.
|
|
462
|
+
const ariaLabel = computed(() => t("origam.calendar.aria_label", "Calendar"));
|
|
463
463
|
const ariaToolbarLabel = computed(() => t("origam.calendar.toolbar", "Calendar toolbar"));
|
|
464
464
|
const ariaPrevLabel = computed(() => t("origam.calendar.previous", "Previous"));
|
|
465
465
|
const ariaNextLabel = computed(() => t("origam.calendar.next", "Next"));
|
|
466
466
|
const ariaTodayLabel = computed(() => t("origam.calendar.today", "Today"));
|
|
467
|
-
const ariaViewListLabel = computed(() => t("origam.calendar.
|
|
468
|
-
const ariaMonthLabel = computed(() => t("origam.calendar.
|
|
467
|
+
const ariaViewListLabel = computed(() => t("origam.calendar.view_switcher", "View"));
|
|
468
|
+
const ariaMonthLabel = computed(() => t("origam.calendar.month_grid", "Month grid"));
|
|
469
469
|
const todayLabel = computed(() => t("origam.calendar.today", "Today"));
|
|
470
470
|
const emptyLabel = computed(() => t("origam.calendar.empty", "No events to display"));
|
|
471
471
|
const slotPx = DEFAULT_SLOT_HEIGHT_PX;
|
|
@@ -243,7 +243,7 @@ const controlProps = (item, index, group) => {
|
|
|
243
243
|
item,
|
|
244
244
|
{
|
|
245
245
|
id: `carousel-item-${item.id}`,
|
|
246
|
-
"aria-label": t("origam.carousel.
|
|
246
|
+
"aria-label": t("origam.carousel.aria_label.delimiter", index + 1, group.items.value.length),
|
|
247
247
|
// The SELECTED dot is active. When the consumer passes an
|
|
248
248
|
// `active` STATE object, the selected dot wears that surface
|
|
249
249
|
// (forced); otherwise it just reads as active. Hover applies
|
|
@@ -108,7 +108,7 @@ const { t } = useLocale();
|
|
|
108
108
|
const resolvedFeedbackText = computed(() => props.successText ?? props.feedbackText ?? "Copied!");
|
|
109
109
|
const defaultIcon = MDI_ICONS.CONTENT_COPY;
|
|
110
110
|
const defaultAriaLabel = computed(
|
|
111
|
-
() => copied.value ? t("origam.clipboard.
|
|
111
|
+
() => copied.value ? t("origam.clipboard.copied_aria_label", "Value copied to clipboard") : t("origam.clipboard.copy_aria_label", "Copy to clipboard")
|
|
112
112
|
);
|
|
113
113
|
async function handleCopy() {
|
|
114
114
|
if (props.disabled) return false;
|
|
@@ -267,7 +267,7 @@ const copyButtonLabel = computed(
|
|
|
267
267
|
() => copied.value ? t("origam.code.copied", "Copied!") : t("origam.code.copy", "Copy")
|
|
268
268
|
);
|
|
269
269
|
const copyAriaLabel = computed(
|
|
270
|
-
() => copied.value ? t("origam.code.
|
|
270
|
+
() => copied.value ? t("origam.code.copied_aria_label", "Code copied to clipboard") : t("origam.code.copy_aria_label", "Copy code to clipboard")
|
|
271
271
|
);
|
|
272
272
|
const copyBtnStyle = {
|
|
273
273
|
padding: "var(--origam-code__copy---padding-block) var(--origam-code__copy---padding-inline)"
|
|
@@ -128,12 +128,12 @@ const updateCanvas = () => {
|
|
|
128
128
|
ctx.fillRect(0, 0, canvas.width, canvas.height);
|
|
129
129
|
};
|
|
130
130
|
const canvasAriaLabel = computed(() => {
|
|
131
|
-
return props.ariaLabel ?? t("origam.
|
|
131
|
+
return props.ariaLabel ?? t("origam.color_picker.canvas.aria_label");
|
|
132
132
|
});
|
|
133
133
|
const canvasAriaValueText = computed(() => {
|
|
134
134
|
const s = Math.round((props.colorHsv?.s ?? 0) * 100);
|
|
135
135
|
const v = Math.round((props.colorHsv?.v ?? 0) * 100);
|
|
136
|
-
return t("origam.
|
|
136
|
+
return t("origam.color_picker.canvas.value", s, v);
|
|
137
137
|
});
|
|
138
138
|
const STEP_SMALL = 0.01;
|
|
139
139
|
const STEP_LARGE = 0.05;
|
|
@@ -92,6 +92,7 @@ const props = defineProps({
|
|
|
92
92
|
borderBottomColor: { type: [String, Object, Boolean, null], required: false, skipCheck: true },
|
|
93
93
|
borderLeftColor: { type: [String, Object, Boolean, null], required: false, skipCheck: true },
|
|
94
94
|
density: { type: null, required: false },
|
|
95
|
+
size: { type: null, required: false },
|
|
95
96
|
rounded: { type: [Boolean, Number, String, null], required: false, skipCheck: true },
|
|
96
97
|
roundedTopRight: { type: [Boolean, Number, String], required: false },
|
|
97
98
|
roundedTopLeft: { type: [Boolean, Number, String], required: false },
|
|
@@ -50,18 +50,18 @@ const props = defineProps({
|
|
|
50
50
|
nextIcon: { type: null, required: false },
|
|
51
51
|
firstIcon: { type: null, required: false },
|
|
52
52
|
lastIcon: { type: null, required: false },
|
|
53
|
-
itemsPerPageText: { type: String, required: false, default: "origam.
|
|
54
|
-
pageText: { type: String, required: false, default: "origam.
|
|
55
|
-
firstPageLabel: { type: String, required: false, default: "origam.
|
|
56
|
-
prevPageLabel: { type: String, required: false, default: "origam.
|
|
57
|
-
nextPageLabel: { type: String, required: false, default: "origam.
|
|
58
|
-
lastPageLabel: { type: String, required: false, default: "origam.
|
|
53
|
+
itemsPerPageText: { type: String, required: false, default: "origam.data_footer.items_per_page_text" },
|
|
54
|
+
pageText: { type: String, required: false, default: "origam.data_footer.page_text" },
|
|
55
|
+
firstPageLabel: { type: String, required: false, default: "origam.data_footer.first_page" },
|
|
56
|
+
prevPageLabel: { type: String, required: false, default: "origam.data_footer.prev_page" },
|
|
57
|
+
nextPageLabel: { type: String, required: false, default: "origam.data_footer.next_page" },
|
|
58
|
+
lastPageLabel: { type: String, required: false, default: "origam.data_footer.last_page" },
|
|
59
59
|
itemsPerPageOptions: { type: Array, required: false, default: () => [
|
|
60
60
|
{ value: 10, title: "10" },
|
|
61
61
|
{ value: 25, title: "25" },
|
|
62
62
|
{ value: 50, title: "50" },
|
|
63
63
|
{ value: 100, title: "100" },
|
|
64
|
-
{ value: -1, title: "origam.
|
|
64
|
+
{ value: -1, title: "origam.data_footer.items_per_page_all" }
|
|
65
65
|
] },
|
|
66
66
|
showCurrentPage: { type: Boolean, required: false, default: true },
|
|
67
67
|
id: { type: String, required: false },
|
|
@@ -90,7 +90,7 @@ const itemsPerPageOptions = computed(() => props.itemsPerPageOptions.map((option
|
|
|
90
90
|
if (typeof option === "number") {
|
|
91
91
|
return {
|
|
92
92
|
value: option,
|
|
93
|
-
title: option === -1 ? t("origam.
|
|
93
|
+
title: option === -1 ? t("origam.data_footer.items_per_page_all") : String(option)
|
|
94
94
|
};
|
|
95
95
|
}
|
|
96
96
|
return {
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
>
|
|
44
44
|
<origam-btn
|
|
45
45
|
:aria-expanded="isExpanded(item)"
|
|
46
|
-
:aria-label="isExpanded(item) ? t('origam.
|
|
46
|
+
:aria-label="isExpanded(item) ? t('origam.data_table_row.collapse_row', 'Collapse row') : t('origam.data_table_row.expand_row', 'Expand row')"
|
|
47
47
|
:icon="isExpanded(item) ? MDI_ICONS.CHEVRON_UP : MDI_ICONS.CHEVRON_DOWN"
|
|
48
48
|
:size="SIZES.SMALL"
|
|
49
49
|
@click="handleBtnClick"
|
|
@@ -90,14 +90,14 @@ const attrs = useAttrs();
|
|
|
90
90
|
const props = defineProps({
|
|
91
91
|
hideNoData: { type: Boolean, required: false },
|
|
92
92
|
items: { type: Array, required: false },
|
|
93
|
-
noDataText: { type: String, required: false, default: "origam.
|
|
93
|
+
noDataText: { type: String, required: false, default: "origam.no_data_text" },
|
|
94
94
|
rowProps: { type: [Object, Function], required: false },
|
|
95
95
|
cellProps: { type: [Object, Function], required: false },
|
|
96
96
|
id: { type: String, required: false },
|
|
97
97
|
class: { type: [String, Array, Object], required: false },
|
|
98
98
|
style: { type: [String, Array, Object, Boolean, null], required: false, skipCheck: true },
|
|
99
99
|
loading: { type: [Boolean, Number, Object], required: false },
|
|
100
|
-
loadingText: { type: String, required: false, default: "origam.
|
|
100
|
+
loadingText: { type: String, required: false, default: "origam.data_iterator.loading_text" },
|
|
101
101
|
tag: { type: String, required: false },
|
|
102
102
|
color: { type: [String, Object, Boolean, null], required: false, skipCheck: true },
|
|
103
103
|
mobileBreakpoint: { type: null, required: false }
|
|
@@ -174,7 +174,7 @@ const props = defineProps({
|
|
|
174
174
|
active: { type: [Boolean, Object], required: false },
|
|
175
175
|
activeClass: { type: String, required: false },
|
|
176
176
|
hover: { type: [Boolean, Object], required: false },
|
|
177
|
-
title: { type: String, required: false, default: "origam.
|
|
177
|
+
title: { type: String, required: false, default: "origam.date_picker.title" },
|
|
178
178
|
fontFamily: { type: String, required: false },
|
|
179
179
|
fontSize: { type: String, required: false },
|
|
180
180
|
fontWeight: { type: String, required: false },
|
|
@@ -206,7 +206,7 @@ const props = defineProps({
|
|
|
206
206
|
weekdays: { type: Array, required: false },
|
|
207
207
|
weeksInMonth: { type: null, required: false, default: CALENDAR_STRATEGY.STATIC },
|
|
208
208
|
firstDayOfWeek: { type: Number, required: false },
|
|
209
|
-
header: { type: String, required: false, default: "origam.
|
|
209
|
+
header: { type: String, required: false, default: "origam.date_picker.header" },
|
|
210
210
|
appendAvatar: { type: String, required: false },
|
|
211
211
|
appendIcon: { type: null, required: false },
|
|
212
212
|
prependAvatar: { type: String, required: false },
|
|
@@ -244,7 +244,7 @@ const year = ref(Number(props.year ?? adapter.getYear(adapter.startOfYear(adapte
|
|
|
244
244
|
const isReversing = shallowRef(false);
|
|
245
245
|
const header = computed(() => {
|
|
246
246
|
if ((props.multiple || props.range) && model.value?.length > 1) {
|
|
247
|
-
return t("origam.
|
|
247
|
+
return t("origam.date_picker.items_selected", model.value?.length);
|
|
248
248
|
}
|
|
249
249
|
return model.value?.[0] && adapter.isValid(model.value?.[0]) ? adapter.format(adapter.date(model.value?.[0]), "normalDateWithWeekday") : t(props.header);
|
|
250
250
|
});
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
<template v-if="isRange">
|
|
87
87
|
<span class="origam-date-picker-field__selection-text">
|
|
88
88
|
<slot name="rangeSelection">
|
|
89
|
-
{{ t('origam.
|
|
89
|
+
{{ t('origam.date_picker_range_field.text', selectedValues[0], selectedValues[1]) }}
|
|
90
90
|
</slot>
|
|
91
91
|
</span>
|
|
92
92
|
</template>
|
|
@@ -46,10 +46,15 @@
|
|
|
46
46
|
class="origam-expansion-panel-header__title"
|
|
47
47
|
>
|
|
48
48
|
<slot
|
|
49
|
-
name="
|
|
49
|
+
name="title"
|
|
50
50
|
v-bind="slotProps"
|
|
51
51
|
>
|
|
52
|
-
|
|
52
|
+
<slot
|
|
53
|
+
name="default"
|
|
54
|
+
v-bind="slotProps"
|
|
55
|
+
>
|
|
56
|
+
{{ title }}
|
|
57
|
+
</slot>
|
|
53
58
|
</slot>
|
|
54
59
|
</span>
|
|
55
60
|
|
|
@@ -189,7 +194,7 @@ const slotProps = computed(() => {
|
|
|
189
194
|
};
|
|
190
195
|
});
|
|
191
196
|
const hasTitle = computed(() => {
|
|
192
|
-
return slots.default || props.title;
|
|
197
|
+
return slots.title || slots.default || props.title != null;
|
|
193
198
|
});
|
|
194
199
|
const {
|
|
195
200
|
hasAppend,
|
|
@@ -395,8 +395,8 @@ import { filterInputAttrs, forwardRefs, humanReadableFileSize, wrapInArray } fro
|
|
|
395
395
|
const _props = defineProps({
|
|
396
396
|
chips: { type: Boolean, required: false },
|
|
397
397
|
counter: { type: Boolean, required: false },
|
|
398
|
-
counterSizeString: { type: String, required: false, default: "origam.
|
|
399
|
-
counterString: { type: String, required: false, default: "origam.
|
|
398
|
+
counterSizeString: { type: String, required: false, default: "origam.file_field.counter_size" },
|
|
399
|
+
counterString: { type: String, required: false, default: "origam.file_field.counter" },
|
|
400
400
|
placeholder: { type: String, required: false },
|
|
401
401
|
persistentPlaceholder: { type: Boolean, required: false },
|
|
402
402
|
persistentCounter: { type: Boolean, required: false },
|
|
@@ -414,9 +414,9 @@ const _props = defineProps({
|
|
|
414
414
|
downloadIcon: { type: String, required: false, default: MDI_ICONS.DOWNLOAD },
|
|
415
415
|
downloadable: { type: Boolean, required: false },
|
|
416
416
|
progress: { type: Array, required: false },
|
|
417
|
-
dropzoneTitle: { type: String, required: false, default: "origam.
|
|
418
|
-
dropzoneSubtitle: { type: String, required: false, default: "origam.
|
|
419
|
-
browseText: { type: String, required: false, default: "origam.
|
|
417
|
+
dropzoneTitle: { type: String, required: false, default: "origam.file_field.dropzone_title" },
|
|
418
|
+
dropzoneSubtitle: { type: String, required: false, default: "origam.file_field.dropzone_subtitle" },
|
|
419
|
+
browseText: { type: String, required: false, default: "origam.file_field.browse" },
|
|
420
420
|
maxFileSizeErrorString: { type: String, required: false, default: "origam.validation.max_size_error" },
|
|
421
421
|
display: { type: String, required: false, default: "list" },
|
|
422
422
|
dropzone: { type: Boolean, required: false },
|
|
@@ -692,16 +692,16 @@ const fileNames = computed(() => {
|
|
|
692
692
|
const selectionText = computed(() => {
|
|
693
693
|
if (!hasFiles.value) return "";
|
|
694
694
|
if (props.multiple) {
|
|
695
|
-
return t(props.counterString,
|
|
695
|
+
return t(props.counterString, model.value?.length ?? 0);
|
|
696
696
|
}
|
|
697
697
|
return fileNames.value[0] ?? "";
|
|
698
698
|
});
|
|
699
699
|
const counterValue = computed(() => {
|
|
700
700
|
const fileCount = model.value?.length ?? 0;
|
|
701
701
|
if (props.showSize) {
|
|
702
|
-
return t(props.counterSizeString,
|
|
702
|
+
return t(props.counterSizeString, fileCount, totalBytesReadable.value);
|
|
703
703
|
}
|
|
704
|
-
return t(props.counterString,
|
|
704
|
+
return t(props.counterString, fileCount);
|
|
705
705
|
});
|
|
706
706
|
const hasFiles = computed(() => {
|
|
707
707
|
return Array.isArray(model.value) && model.value.length > 0;
|
|
@@ -134,8 +134,8 @@ import {
|
|
|
134
134
|
const props = defineProps({
|
|
135
135
|
side: { type: null, required: false, default: INFINITE_SCROLL_SIDE.END },
|
|
136
136
|
mode: { type: null, required: false, default: INFINITE_SCROLL_MODE.INTERSECT },
|
|
137
|
-
loadMoreText: { type: String, required: false, default: "origam.
|
|
138
|
-
emptyText: { type: String, required: false, default: "origam.
|
|
137
|
+
loadMoreText: { type: String, required: false, default: "origam.infinite_scroll.load_more" },
|
|
138
|
+
emptyText: { type: String, required: false, default: "origam.infinite_scroll.empty" },
|
|
139
139
|
margin: { type: String, required: false },
|
|
140
140
|
id: { type: String, required: false },
|
|
141
141
|
class: { type: [String, Array, Object], required: false },
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
<component
|
|
3
3
|
:is="tag"
|
|
4
4
|
:id="id"
|
|
5
|
+
ref="contentRef"
|
|
5
6
|
:class="listClasses"
|
|
6
7
|
:style="listStyles"
|
|
7
8
|
:tabindex="tabIndex"
|
|
@@ -132,6 +133,7 @@ const props = defineProps({
|
|
|
132
133
|
borderBottomColor: { type: [String, Object, Boolean, null], required: false, skipCheck: true },
|
|
133
134
|
borderLeftColor: { type: [String, Object, Boolean, null], required: false, skipCheck: true },
|
|
134
135
|
density: { type: null, required: false, default: DENSITY.DEFAULT },
|
|
136
|
+
size: { type: null, required: false },
|
|
135
137
|
rounded: { type: [Boolean, Number, String, null], required: false, skipCheck: true },
|
|
136
138
|
roundedTopRight: { type: [Boolean, Number, String], required: false },
|
|
137
139
|
roundedTopLeft: { type: [Boolean, Number, String], required: false },
|
|
@@ -177,6 +179,7 @@ const { filterProps } = useProps(props);
|
|
|
177
179
|
const slotDefaults = computed(() => ({
|
|
178
180
|
"origam-list-item": {
|
|
179
181
|
density: props.density,
|
|
182
|
+
size: props.size,
|
|
180
183
|
color: props.color,
|
|
181
184
|
bgColor: props.bgColor
|
|
182
185
|
}
|
|
@@ -384,6 +387,10 @@ defineExpose({
|
|
|
384
387
|
--origam-list---density: -8px;
|
|
385
388
|
}
|
|
386
389
|
|
|
390
|
+
&--density-comfortable {
|
|
391
|
+
--origam-list---density: 8px;
|
|
392
|
+
}
|
|
393
|
+
|
|
387
394
|
&__overlay {
|
|
388
395
|
background-color: var(--origam-list__overlay---background-color, var(--origam-color__overlay---scrim));
|
|
389
396
|
border-radius: var(--origam-list__overlay---border-radius, inherit);
|
|
@@ -124,6 +124,7 @@ import {
|
|
|
124
124
|
useList,
|
|
125
125
|
useNestedItem,
|
|
126
126
|
useProps,
|
|
127
|
+
useSize,
|
|
127
128
|
useStateEffect,
|
|
128
129
|
useStyle,
|
|
129
130
|
useTypography
|
|
@@ -171,6 +172,7 @@ const _props = defineProps({
|
|
|
171
172
|
roundedTopLeft: { type: [Boolean, Number, String], required: false },
|
|
172
173
|
roundedBottomLeft: { type: [Boolean, Number, String], required: false },
|
|
173
174
|
roundedBottomRight: { type: [Boolean, Number, String], required: false },
|
|
175
|
+
size: { type: null, required: false },
|
|
174
176
|
tag: { type: String, required: false, default: "div" },
|
|
175
177
|
href: { type: String, required: false },
|
|
176
178
|
replace: { type: Boolean, required: false },
|
|
@@ -222,6 +224,7 @@ const {
|
|
|
222
224
|
const list = useList();
|
|
223
225
|
const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, "bgColor"));
|
|
224
226
|
const { densityClasses } = useDensity(props);
|
|
227
|
+
const { sizeClasses } = useSize(props);
|
|
225
228
|
const { isHover, hoverState } = useHover(props);
|
|
226
229
|
const {
|
|
227
230
|
borderClasses,
|
|
@@ -337,6 +340,7 @@ const listItemClasses = computed(() => {
|
|
|
337
340
|
backgroundColorClasses.value,
|
|
338
341
|
borderClasses.value,
|
|
339
342
|
densityClasses.value,
|
|
343
|
+
sizeClasses.value,
|
|
340
344
|
elevationClasses.value,
|
|
341
345
|
lineClasses.value,
|
|
342
346
|
roundedClasses.value,
|
|
@@ -365,6 +369,11 @@ defineExpose({
|
|
|
365
369
|
.origam-list-item {
|
|
366
370
|
$this: &;
|
|
367
371
|
|
|
372
|
+
// Declared locally rather than inherited from the global reset in
|
|
373
|
+
// `assets/scss/main.scss`: the row height is the contract of the
|
|
374
|
+
// `--size-*` rungs below, and it must resolve to the same number
|
|
375
|
+
// whether or not the consumer imported the reset sheet. Same
|
|
376
|
+
// precedent as `.origam-field__input`, which declares it too.
|
|
368
377
|
align-items: var(--origam-list-item---align-items, center);
|
|
369
378
|
display: var(--origam-list-item---display, grid);
|
|
370
379
|
flex: var(--origam-list-item---flex, none);
|
|
@@ -372,15 +381,34 @@ defineExpose({
|
|
|
372
381
|
grid-template-columns: var(--origam-list-item---grid-template-columns, max-content 1fr auto);
|
|
373
382
|
|
|
374
383
|
max-width: var(--origam-list-item---max-width, 100%);
|
|
375
|
-
|
|
384
|
+
// Density is added ONCE, on this term only — mirrors
|
|
385
|
+
// `.origam-field__input`'s own `min-height: max(calc(height + density), lineHeight + padding)`.
|
|
386
|
+
// The block padding below stays fixed per rung (no density term), exactly
|
|
387
|
+
// like the field's `--origam-field__input---padding-top/bottom`, which are
|
|
388
|
+
// only rung-dependent. Adding density a second time here (or a third time
|
|
389
|
+
// via the block padding) double/triple-counts it — see the mixin comment.
|
|
390
|
+
// `border-box` is declared here rather than inherited: the rung scale
|
|
391
|
+
// below resolves to a DIFFERENT height under each box model, so leaving
|
|
392
|
+
// it to the consumer's reset made the row depend on whether that reset
|
|
393
|
+
// was loaded. Measured on x-large + comfortable: 60px without the reset
|
|
394
|
+
// (content-box), 52px with it (border-box) — the second is what a built
|
|
395
|
+
// app renders, and it silently broke the control/row match. Declaring
|
|
396
|
+
// the model makes the scale mean one thing everywhere.
|
|
397
|
+
box-sizing: border-box;
|
|
398
|
+
|
|
399
|
+
// Density is added ONCE, on this term only — mirrors
|
|
400
|
+
// `.origam-field__input`'s own `min-height: max(height + density, …)`.
|
|
401
|
+
// Under `border-box` this min-height IS the row height, so the rungs
|
|
402
|
+
// below hand it the FULL rung, not the rung minus its padding.
|
|
403
|
+
min-height: max(calc(var(--origam-list-item---min-height, 56px) + var(--origam-list---density, 0px)), 1.5rem);
|
|
376
404
|
|
|
377
405
|
text-decoration: var(--origam-list-item---text-decoration, none);
|
|
378
406
|
|
|
379
407
|
outline: var(--origam-list-item---outline, none);
|
|
380
408
|
position: var(--origam-list-item---position, relative);
|
|
381
409
|
|
|
382
|
-
padding-block-start:
|
|
383
|
-
padding-block-end:
|
|
410
|
+
padding-block-start: var(--origam-list-item---padding-block-start, 8px);
|
|
411
|
+
padding-block-end: var(--origam-list-item---padding-block-end, 8px);
|
|
384
412
|
padding-inline-start: calc(var(--origam-list-item---padding-inline-start, 16px) + var(--origam-list---indent-padding, 0px) + var(--origam-list---density, 0px));
|
|
385
413
|
padding-inline-end: calc(var(--origam-list-item---padding-inline-end, 16px) + var(--origam-list---density, 0px));
|
|
386
414
|
|
|
@@ -402,6 +430,46 @@ defineExpose({
|
|
|
402
430
|
--origam-list-item---border-radius: 4px;
|
|
403
431
|
}
|
|
404
432
|
|
|
433
|
+
// Row-height scale, aligned rung for rung on the control-height scale
|
|
434
|
+
// (`--origam-input__control---height-{sm,md,lg,xl}` = 28/36/44/52px) so
|
|
435
|
+
// a row and a field of the same `size` share an identical vertical
|
|
436
|
+
// footprint. The block padding is the field's own per-size padding —
|
|
437
|
+
// (rung - 24px title line-height) / 2.
|
|
438
|
+
//
|
|
439
|
+
// The row is `border-box` (declared on the base rule above), so the
|
|
440
|
+
// `min-height` there IS the rendered height: the rung goes in whole,
|
|
441
|
+
// and the block padding only positions the 24px title inside it.
|
|
442
|
+
// Density is NOT touched here — the base rule already applies it once,
|
|
443
|
+
// to `min-height` only, which is where the field applies it too.
|
|
444
|
+
//
|
|
445
|
+
// The result reproduces `.origam-field__input` exactly:
|
|
446
|
+
// `max(controlHeight + density, 1.5rem + paddingTop + paddingBottom)`.
|
|
447
|
+
@mixin size-rung($rung, $block) {
|
|
448
|
+
--origam-list-item---min-height: #{$rung};
|
|
449
|
+
--origam-list-item---padding-block-start: #{$block};
|
|
450
|
+
--origam-list-item---padding-block-end: #{$block};
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
&--size-small {
|
|
454
|
+
@include size-rung(var(--origam-list-item---height-sm, 28px), var(--origam-list-item---padding-block-sm, 2px));
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
// `x-small` maps onto the default rung on purpose: `.origam-field` has no
|
|
458
|
+
// `--size-x-small` rule, so a field at that size renders at 36px. Giving
|
|
459
|
+
// the row a smaller rung would re-create the mismatch instead of fixing it.
|
|
460
|
+
&--size-x-small,
|
|
461
|
+
&--size-default {
|
|
462
|
+
@include size-rung(var(--origam-list-item---height-md, 36px), var(--origam-list-item---padding-block-md, 6px));
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
&--size-large {
|
|
466
|
+
@include size-rung(var(--origam-list-item---height-lg, 44px), var(--origam-list-item---padding-block-lg, 10px));
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
&--size-x-large {
|
|
470
|
+
@include size-rung(var(--origam-list-item---height-xl, 52px), var(--origam-list-item---padding-block-xl, 14px));
|
|
471
|
+
}
|
|
472
|
+
|
|
405
473
|
&--active {
|
|
406
474
|
#{$this}__prepend,
|
|
407
475
|
#{$this}__append {
|
|
@@ -213,18 +213,18 @@ const muteLabel = computed(() => t("origam.media.mute", "Mute"));
|
|
|
213
213
|
const unmuteLabel = computed(() => t("origam.media.unmute", "Unmute"));
|
|
214
214
|
const volumeLabel = computed(() => t("origam.media.volume", "Volume"));
|
|
215
215
|
const seekLabel = computed(() => t("origam.media.seek", "Seek"));
|
|
216
|
-
const previousLabel = computed(() => t("origam.media.
|
|
217
|
-
const nextLabel = computed(() => t("origam.media.
|
|
218
|
-
const loopAllLabel = computed(() => t("origam.media.
|
|
219
|
-
const loopOneLabel = computed(() => t("origam.media.
|
|
220
|
-
const loopOffLabel = computed(() => t("origam.media.
|
|
216
|
+
const previousLabel = computed(() => t("origam.media.previous_track", "Previous track"));
|
|
217
|
+
const nextLabel = computed(() => t("origam.media.next_track", "Next track"));
|
|
218
|
+
const loopAllLabel = computed(() => t("origam.media.loop_all", "Loop playlist"));
|
|
219
|
+
const loopOneLabel = computed(() => t("origam.media.loop_one", "Loop track"));
|
|
220
|
+
const loopOffLabel = computed(() => t("origam.media.loop_off", "Loop off"));
|
|
221
221
|
const shuffleLabel = computed(() => t("origam.media.shuffle", "Shuffle"));
|
|
222
|
-
const castLabel = computed(() => t("origam.media.
|
|
223
|
-
const stopCastLabel = computed(() => t("origam.media.
|
|
222
|
+
const castLabel = computed(() => t("origam.media.cast_to_device", "Cast to device"));
|
|
223
|
+
const stopCastLabel = computed(() => t("origam.media.stop_casting", "Stop casting"));
|
|
224
224
|
const settingsLabel = computed(() => t("origam.media.settings", "Settings"));
|
|
225
225
|
const downloadLabel = computed(() => t("origam.media.download", "Download"));
|
|
226
|
-
const speedLabel = computed(() => t("origam.media.
|
|
227
|
-
const normalSpeedLabel = computed(() => t("origam.media.
|
|
226
|
+
const speedLabel = computed(() => t("origam.media.playback_speed", "Playback speed"));
|
|
227
|
+
const normalSpeedLabel = computed(() => t("origam.media.normal_speed", "Normal"));
|
|
228
228
|
const qualityLabel = computed(() => t("origam.media.quality", "Quality"));
|
|
229
229
|
const transportLabel = computed(() => t("origam.media.transport", "Transport controls"));
|
|
230
230
|
const state = computed(() => props.state);
|
|
@@ -29,7 +29,11 @@
|
|
|
29
29
|
:style="[colorStyles, roundedStyles, borderStyles, elevationStyles, paddingStyles, marginStyles]"
|
|
30
30
|
>
|
|
31
31
|
<slot name="default">
|
|
32
|
-
<origam-list
|
|
32
|
+
<origam-list
|
|
33
|
+
:density="density"
|
|
34
|
+
:size="size"
|
|
35
|
+
class="origam-menu__list"
|
|
36
|
+
>
|
|
33
37
|
<origam-list-subheader
|
|
34
38
|
v-if="title"
|
|
35
39
|
class="origam-menu__title"
|
|
@@ -155,6 +159,7 @@ const _props = defineProps({
|
|
|
155
159
|
borderBottomColor: { type: [String, Object, Boolean, null], required: false, skipCheck: true },
|
|
156
160
|
borderLeftColor: { type: [String, Object, Boolean, null], required: false, skipCheck: true },
|
|
157
161
|
density: { type: null, required: false },
|
|
162
|
+
size: { type: null, required: false },
|
|
158
163
|
rounded: { type: [Boolean, Number, String, null], required: false, skipCheck: true },
|
|
159
164
|
roundedTopRight: { type: [Boolean, Number, String], required: false },
|
|
160
165
|
roundedTopLeft: { type: [Boolean, Number, String], required: false },
|
|
@@ -190,13 +190,13 @@ const props = defineProps({
|
|
|
190
190
|
prevIcon: { type: null, required: false, default: MDI_ICONS.CHEVRON_LEFT },
|
|
191
191
|
nextIcon: { type: null, required: false, default: MDI_ICONS.CHEVRON_RIGHT },
|
|
192
192
|
lastIcon: { type: null, required: false, default: MDI_ICONS.CHEVRON_DOUBLE_RIGHT },
|
|
193
|
-
ariaLabel: { type: String, required: false, default: "origam.pagination.
|
|
194
|
-
pageAriaLabel: { type: String, required: false, default: "origam.pagination.
|
|
195
|
-
currentPageAriaLabel: { type: String, required: false, default: "origam.pagination.
|
|
196
|
-
firstAriaLabel: { type: String, required: false, default: "origam.pagination.
|
|
197
|
-
previousAriaLabel: { type: String, required: false, default: "origam.pagination.
|
|
198
|
-
nextAriaLabel: { type: String, required: false, default: "origam.pagination.
|
|
199
|
-
lastAriaLabel: { type: String, required: false, default: "origam.pagination.
|
|
193
|
+
ariaLabel: { type: String, required: false, default: "origam.pagination.aria_label.root" },
|
|
194
|
+
pageAriaLabel: { type: String, required: false, default: "origam.pagination.aria_label.page" },
|
|
195
|
+
currentPageAriaLabel: { type: String, required: false, default: "origam.pagination.aria_label.current_page" },
|
|
196
|
+
firstAriaLabel: { type: String, required: false, default: "origam.pagination.aria_label.first" },
|
|
197
|
+
previousAriaLabel: { type: String, required: false, default: "origam.pagination.aria_label.previous" },
|
|
198
|
+
nextAriaLabel: { type: String, required: false, default: "origam.pagination.aria_label.next" },
|
|
199
|
+
lastAriaLabel: { type: String, required: false, default: "origam.pagination.aria_label.last" },
|
|
200
200
|
ellipsis: { type: String, required: false, default: "..." },
|
|
201
201
|
showFirstLastPage: { type: Boolean, required: false },
|
|
202
202
|
compact: { type: Boolean, required: false, default: false },
|
|
@@ -208,7 +208,7 @@ const props = defineProps({
|
|
|
208
208
|
infoText: { type: String, required: false, default: "origam.pagination.info" },
|
|
209
209
|
previousText: { type: String, required: false },
|
|
210
210
|
nextText: { type: String, required: false },
|
|
211
|
-
pageNumberAriaLabel: { type: String, required: false, default: "origam.pagination.
|
|
211
|
+
pageNumberAriaLabel: { type: String, required: false, default: "origam.pagination.aria_label.page_number" },
|
|
212
212
|
hoverColor: { type: [String, Object, Boolean, null], required: false, skipCheck: true },
|
|
213
213
|
hoverBgColor: { type: [String, Object, Boolean, null], required: false, skipCheck: true },
|
|
214
214
|
activeColor: { type: [String, Object, Boolean, null], required: false, skipCheck: true },
|
|
@@ -45,7 +45,7 @@ const props = defineProps({
|
|
|
45
45
|
index: { type: Number, required: false, default: -1 },
|
|
46
46
|
value: { type: Number, required: true },
|
|
47
47
|
label: { type: String, required: false },
|
|
48
|
-
itemAriaLabel: { type: String, required: false, default: "origam.rating.
|
|
48
|
+
itemAriaLabel: { type: String, required: false, default: "origam.rating.aria_label.item" },
|
|
49
49
|
showStar: { type: Boolean, required: false, default: true },
|
|
50
50
|
isFilled: { type: Boolean, required: false },
|
|
51
51
|
isHovered: { type: Boolean, required: false },
|
|
@@ -85,8 +85,10 @@
|
|
|
85
85
|
v-if="hasList"
|
|
86
86
|
:id="listboxId"
|
|
87
87
|
ref="origamListRef"
|
|
88
|
+
:density="density"
|
|
88
89
|
:select-strategy="multiple ? SELECT_STRATEGY.INDEPENDENT : SELECT_STRATEGY.SINGLE_INDEPENDENT"
|
|
89
90
|
:selected="selectedValues"
|
|
91
|
+
:size="listSize"
|
|
90
92
|
:tabindex="-1"
|
|
91
93
|
aria-live="polite"
|
|
92
94
|
v-bind="{ ...listProps }"
|
|
@@ -308,6 +310,7 @@ import {
|
|
|
308
310
|
KEYBOARD_VALUES,
|
|
309
311
|
MDI_ICONS,
|
|
310
312
|
SELECT_STRATEGY,
|
|
313
|
+
SIZES,
|
|
311
314
|
TEXT_FIELD_TYPE
|
|
312
315
|
} from "../../enums";
|
|
313
316
|
import { deepEqual, forwardRefs, getUid, matchesSelector, noop, wrapInArray } from "../../utils";
|
|
@@ -322,7 +325,7 @@ const _props = defineProps({
|
|
|
322
325
|
menuProps: { type: Object, required: false },
|
|
323
326
|
chipProps: { type: Object, required: false },
|
|
324
327
|
multiple: { type: Boolean, required: false },
|
|
325
|
-
noDataText: { type: String, required: false, default: "origam.
|
|
328
|
+
noDataText: { type: String, required: false, default: "origam.no_data_text" },
|
|
326
329
|
openOnClear: { type: Boolean, required: false },
|
|
327
330
|
autocomplete: { type: Boolean, required: false },
|
|
328
331
|
autoSelectFirst: { type: [Boolean, String], required: false },
|
|
@@ -867,6 +870,9 @@ const hasList = computed(() => {
|
|
|
867
870
|
const textFieldProps = computed(() => {
|
|
868
871
|
return origamTextFieldRef.value?.filterProps(props, ["class", "id", "style", "counterValue", "dirty", "modelValue", "placeholder", "validationValue", "focused"]);
|
|
869
872
|
});
|
|
873
|
+
const listSize = computed(() => {
|
|
874
|
+
return props.size ?? SIZES.DEFAULT;
|
|
875
|
+
});
|
|
870
876
|
const isDirty = computed(() => {
|
|
871
877
|
return model.value.length > 0;
|
|
872
878
|
});
|
|
@@ -1099,7 +1105,6 @@ defineExpose(forwardRefs({
|
|
|
1099
1105
|
}
|
|
1100
1106
|
|
|
1101
1107
|
.origam-select__content .origam-list-item {
|
|
1102
|
-
--origam-list-item---min-height: 32px;
|
|
1103
1108
|
--origam-list-item---padding-inline-start: 32px;
|
|
1104
1109
|
}
|
|
1105
1110
|
</style>
|
|
@@ -50,8 +50,11 @@
|
|
|
50
50
|
</div>
|
|
51
51
|
</div>
|
|
52
52
|
|
|
53
|
-
<div
|
|
54
|
-
|
|
53
|
+
<div
|
|
54
|
+
v-if="label || $slots.label"
|
|
55
|
+
class="origam-selection-control__label"
|
|
56
|
+
>
|
|
57
|
+
<slot name="label" v-bind="{text: label, color, props: { id, onClick: handleClickLabel, ...labelProps}}">
|
|
55
58
|
<origam-label
|
|
56
59
|
ref="origamLabelRef"
|
|
57
60
|
:for="id"
|
|
@@ -192,7 +195,7 @@ group?.onForceUpdate(() => {
|
|
|
192
195
|
});
|
|
193
196
|
const origamLabelRef = ref();
|
|
194
197
|
const labelProps = computed(() => {
|
|
195
|
-
return origamLabelRef.value?.filterProps(props, ["text", "color", "bgColor", "class", "style", "id", "for"]);
|
|
198
|
+
return origamLabelRef.value?.filterProps(props, ["text", "color", "bgColor", "border", "elevation", "class", "style", "id", "for"]);
|
|
196
199
|
});
|
|
197
200
|
const handleFocus = (e) => {
|
|
198
201
|
if (!isInteractive.value) return;
|