@ulu/frontend-vue 0.1.3-beta.1 → 0.1.3-beta.10
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/frontend-vue.css +1 -1
- package/dist/frontend-vue.js +2231 -1807
- package/dist/types/components/collapsible/UluModal.vue.d.ts.map +1 -1
- package/dist/types/components/elements/UluList.vue.d.ts.map +1 -1
- package/dist/types/components/elements/UluRule.vue.d.ts +19 -0
- package/dist/types/components/elements/UluRule.vue.d.ts.map +1 -0
- package/dist/types/components/forms/UluFormRadio.vue.d.ts +4 -4
- package/dist/types/components/index.d.ts +12 -0
- package/dist/types/components/systems/facets/UluFacetsFilterSelects.vue.d.ts +21 -2
- package/dist/types/components/systems/facets/UluFacetsFilterSelects.vue.d.ts.map +1 -1
- package/dist/types/components/systems/facets/UluFacetsSearch.vue.d.ts.map +1 -1
- package/dist/types/components/systems/scroll-anchors/UluScrollAnchorsNavAnimated.vue.d.ts.map +1 -1
- package/dist/types/plugins/popovers/defaults.d.ts.map +1 -1
- package/dist/types/plugins/popovers/index.d.ts.map +1 -1
- package/lib/components/collapsible/UluModal.vue +9 -10
- package/lib/components/elements/UluList.vue +3 -4
- package/lib/components/elements/UluRule.vue +49 -0
- package/lib/components/forms/UluFormRadio.vue +2 -2
- package/lib/components/index.js +12 -0
- package/lib/components/systems/facets/UluFacetsFilterSelects.vue +34 -7
- package/lib/components/systems/facets/UluFacetsSearch.vue +3 -3
- package/lib/components/systems/facets/UluFacetsSort.vue +3 -3
- package/lib/components/systems/scroll-anchors/UluScrollAnchorsNavAnimated.vue +3 -0
- package/lib/plugins/popovers/defaults.js +10 -10
- package/lib/plugins/popovers/index.js +9 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UluModal.vue.d.ts","sourceRoot":"","sources":["../../../../lib/components/collapsible/UluModal.vue"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"UluModal.vue.d.ts","sourceRoot":"","sources":["../../../../lib/components/collapsible/UluModal.vue"],"names":[],"mappings":";IA2YM;;OAEG;;IAEH;;;;OAIG;;;;;IAKH;;OAEG;;;;;IAKH;;;OAGG;;;;;IAKH;;OAEG;;IAEH;;OAEG;;;;;IAKH;;OAEG;;IAEH;;OAEG;;;;;IAKH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;;OAGG;;IAEH;;;OAGG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;;OAGG;;;;;IAKH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;IAlGH;;OAEG;;IAEH;;;;OAIG;;;;;IAKH;;OAEG;;;;;IAKH;;;OAGG;;;;;IAKH;;OAEG;;IAEH;;OAEG;;;;;IAKH;;OAEG;;IAEH;;OAEG;;;;;IAKH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;;OAGG;;IAEH;;;OAGG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;;OAGG;;;;;IAKH;;OAEG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UluList.vue.d.ts","sourceRoot":"","sources":["../../../../lib/components/elements/UluList.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UluList.vue.d.ts","sourceRoot":"","sources":["../../../../lib/components/elements/UluList.vue"],"names":[],"mappings":"wBAyOqB,eAAe,CAAC,OAAO,eAAe,EAAE,WAAW,CAAC;;qBAEpD,CAAC,EAAE,CAAC;;;AARzB;YAGmB,OAAO,CAAC,OAAO,KAAK,CAAC;;;;;;;;;;;2OAErC;;;;;;;AAjJD;;;;;;;;;;;EA8CG"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
declare const _default: import("vue").DefineComponent<{}, {
|
|
2
|
+
$props: Partial<typeof props>;
|
|
3
|
+
large: boolean;
|
|
4
|
+
semantic: boolean;
|
|
5
|
+
short: boolean;
|
|
6
|
+
light: boolean;
|
|
7
|
+
margin?: string | undefined;
|
|
8
|
+
modifiers?: string | unknown[] | undefined;
|
|
9
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
10
|
+
export default _default;
|
|
11
|
+
declare const props: {
|
|
12
|
+
readonly large: boolean;
|
|
13
|
+
readonly semantic: boolean;
|
|
14
|
+
readonly short: boolean;
|
|
15
|
+
readonly light: boolean;
|
|
16
|
+
readonly margin?: string | undefined;
|
|
17
|
+
readonly modifiers?: string | unknown[] | undefined;
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=UluRule.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UluRule.vue.d.ts","sourceRoot":"","sources":["../../../../lib/components/elements/UluRule.vue"],"names":[],"mappings":";YAgJmB,OAAO,CAAC,OAAO,KAAK,CAAC;;;;;;;;;AA3FtC;;;;;;;EAyBG"}
|
|
@@ -7,10 +7,10 @@ declare const __VLS_component: import("vue").DefineComponent<{}, {
|
|
|
7
7
|
$emit: typeof __VLS_emit;
|
|
8
8
|
$props: Partial<typeof __VLS_props>;
|
|
9
9
|
required: boolean;
|
|
10
|
-
value?: string | undefined;
|
|
10
|
+
value?: string | number | undefined;
|
|
11
11
|
name?: string | undefined;
|
|
12
12
|
label?: string | undefined;
|
|
13
|
-
modelValue?: string | undefined;
|
|
13
|
+
modelValue?: string | number | undefined;
|
|
14
14
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
15
15
|
type __VLS_Slots = {
|
|
16
16
|
default?: ((props: {}) => any) | undefined;
|
|
@@ -18,9 +18,9 @@ type __VLS_Slots = {
|
|
|
18
18
|
declare const __VLS_emit: (event: "update:modelValue", ...args: any[]) => void;
|
|
19
19
|
declare const __VLS_props: {
|
|
20
20
|
readonly required: boolean;
|
|
21
|
-
readonly value?: string | undefined;
|
|
21
|
+
readonly value?: string | number | undefined;
|
|
22
22
|
readonly name?: string | undefined;
|
|
23
23
|
readonly label?: string | undefined;
|
|
24
|
-
readonly modelValue?: string | undefined;
|
|
24
|
+
readonly modelValue?: string | number | undefined;
|
|
25
25
|
};
|
|
26
26
|
//# sourceMappingURL=UluFormRadio.vue.d.ts.map
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { default as UluAccordion } from "./collapsible/UluAccordion.vue";
|
|
2
|
+
export { default as UluAccordionGroup } from "./collapsible/UluAccordionGroup.vue";
|
|
2
3
|
export { default as UluCollapsible } from "./collapsible/UluCollapsible.vue";
|
|
3
4
|
export { default as UluDropdown } from "./collapsible/UluDropdown.vue";
|
|
4
5
|
export { default as UluModal } from "./collapsible/UluModal.vue";
|
|
@@ -20,6 +21,7 @@ export { default as UluExternalLink } from "./elements/UluExternalLink.vue";
|
|
|
20
21
|
export { default as UluIcon } from "./elements/UluIcon.vue";
|
|
21
22
|
export { default as UluList } from "./elements/UluList.vue";
|
|
22
23
|
export { default as UluMain } from "./elements/UluMain.vue";
|
|
24
|
+
export { default as UluRule } from "./elements/UluRule.vue";
|
|
23
25
|
export { default as UluSpokeSpinner } from "./elements/UluSpokeSpinner.vue";
|
|
24
26
|
export { default as UluTag } from "./elements/UluTag.vue";
|
|
25
27
|
export { default as UluSelectableMenu } from "./forms/UluSelectableMenu.vue";
|
|
@@ -29,9 +31,19 @@ export { default as UluFormMessage } from "./forms/UluFormMessage.vue";
|
|
|
29
31
|
export { default as UluFormSelect } from "./forms/UluFormSelect.vue";
|
|
30
32
|
export { default as UluFormText } from "./forms/UluFormText.vue";
|
|
31
33
|
export { default as UluSearchForm } from "./forms/UluSearchForm.vue";
|
|
34
|
+
export { default as UluForm } from "./forms/UluForm.vue";
|
|
35
|
+
export { default as UluFormActions } from "./forms/UluFormActions.vue";
|
|
36
|
+
export { default as UluFormCheckbox } from "./forms/UluFormCheckbox.vue";
|
|
37
|
+
export { default as UluFormFieldset } from "./forms/UluFormFieldset.vue";
|
|
38
|
+
export { default as UluFormItem } from "./forms/UluFormItem.vue";
|
|
39
|
+
export { default as UluFormItemsInline } from "./forms/UluFormItemsInline.vue";
|
|
40
|
+
export { default as UluFormRadio } from "./forms/UluFormRadio.vue";
|
|
41
|
+
export { default as UluFormRequiredChar } from "./forms/UluFormRequiredChar.vue";
|
|
42
|
+
export { default as UluFormTextarea } from "./forms/UluFormTextarea.vue";
|
|
32
43
|
export { default as UluAdaptiveLayout } from "./layout/UluAdaptiveLayout.vue";
|
|
33
44
|
export { default as UluDataGrid } from "./layout/UluDataGrid.vue";
|
|
34
45
|
export { default as UluTitleRail } from "./layout/UluTitleRail.vue";
|
|
46
|
+
export { default as UluWhenBreakpoint } from "./layout/UluWhenBreakpoint.vue";
|
|
35
47
|
export { default as UluBreadcrumb } from "./navigation/UluBreadcrumb.vue";
|
|
36
48
|
export { default as UluMenu } from "./navigation/UluMenu.vue";
|
|
37
49
|
export { default as UluMenuStack } from "./navigation/UluMenuStack.vue";
|
|
@@ -1,11 +1,30 @@
|
|
|
1
|
-
declare const _default:
|
|
1
|
+
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
|
|
2
|
+
export default _default;
|
|
3
|
+
type __VLS_WithSlots<T, S> = T & (new () => {
|
|
4
|
+
$slots: S;
|
|
5
|
+
});
|
|
6
|
+
declare const __VLS_component: import("vue").DefineComponent<{}, {
|
|
2
7
|
$emit: typeof emit;
|
|
3
8
|
$props: Partial<typeof props>;
|
|
9
|
+
classes: Record<string, any>;
|
|
4
10
|
facets: unknown[];
|
|
5
11
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
6
|
-
|
|
12
|
+
type __VLS_Slots = {
|
|
13
|
+
label?: ((props: {}) => any) | undefined;
|
|
14
|
+
} & {
|
|
15
|
+
optionAll?: ((props: {
|
|
16
|
+
group: unknown;
|
|
17
|
+
}) => any) | undefined;
|
|
18
|
+
} & {
|
|
19
|
+
option?: ((props: {
|
|
20
|
+
group: unknown;
|
|
21
|
+
option: any;
|
|
22
|
+
index: number;
|
|
23
|
+
}) => any) | undefined;
|
|
24
|
+
};
|
|
7
25
|
declare const emit: (event: "facet-change", ...args: any[]) => void;
|
|
8
26
|
declare const props: {
|
|
27
|
+
readonly classes: Record<string, any>;
|
|
9
28
|
readonly facets: unknown[];
|
|
10
29
|
};
|
|
11
30
|
//# sourceMappingURL=UluFacetsFilterSelects.vue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UluFacetsFilterSelects.vue.d.ts","sourceRoot":"","sources":["../../../../../lib/components/systems/facets/UluFacetsFilterSelects.vue"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"UluFacetsFilterSelects.vue.d.ts","sourceRoot":"","sources":["../../../../../lib/components/systems/facets/UluFacetsFilterSelects.vue"],"names":[],"mappings":"wBAqPqB,eAAe,CAAC,OAAO,eAAe,EAAE,WAAW,CAAC;;qBAEpD,CAAC,EAAE,CAAC;;;AATzB;WAIkB,OAAO,IAAI;YADV,OAAO,CAAC,OAAO,KAAK,CAAC;;;2OAGrC;;;;;;;;;;;;;;AA5HH,oEAA2C;AApB3C;;;EAeG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UluFacetsSearch.vue.d.ts","sourceRoot":"","sources":["../../../../../lib/components/systems/facets/UluFacetsSearch.vue"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"UluFacetsSearch.vue.d.ts","sourceRoot":"","sources":["../../../../../lib/components/systems/facets/UluFacetsSearch.vue"],"names":[],"mappings":";WAmIkB,OAAO,IAAI;YADV,OAAO,CAAC,OAAO,KAAK,CAAC;;;;;;AArEtC,yEAAgD;AAZhD;;;;EAUG"}
|
package/dist/types/components/systems/scroll-anchors/UluScrollAnchorsNavAnimated.vue.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UluScrollAnchorsNavAnimated.vue.d.ts","sourceRoot":"","sources":["../../../../../lib/components/systems/scroll-anchors/UluScrollAnchorsNavAnimated.vue"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"UluScrollAnchorsNavAnimated.vue.d.ts","sourceRoot":"","sources":["../../../../../lib/components/systems/scroll-anchors/UluScrollAnchorsNavAnimated.vue"],"names":[],"mappings":";IAwIM;;OAEG;;;;;;;;;;;;;;;;;IAFH;;OAEG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../../lib/plugins/popovers/defaults.js"],"names":[],"mappings":";gBAGY,MAAM;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../../lib/plugins/popovers/defaults.js"],"names":[],"mappings":";gBAGY,MAAM;;;;;;;;;iBA8CN,MAAM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/plugins/popovers/index.js"],"names":[],"mappings":"AAiDA;;;;GAIG;AACH,qCAHW,MAAM,gBACN,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/plugins/popovers/index.js"],"names":[],"mappings":"AAiDA;;;;GAIG;AACH,qCAHW,MAAM,gBACN,MAAM,QAgJhB;AA9LD;;GAEG;AACH,kCAAmC,mBAAmB,CAAC;AAEvD;;GAEG;AACH,gCAAiC,iBAAiB,CAAC;AAEnD;;GAEG;AACH,yBAA0B,oBAAoB,CAAC;;;AAcxC,gDAJI,GAAC,mBACD,MAAM,GACJ,MAAM,GAAC,IAAI,CAgBvB;2BA3C0B,iBAAiB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
<template>
|
|
3
3
|
<Teleport
|
|
4
|
-
:to="teleport === false ? null : teleport"
|
|
4
|
+
:to="teleport === false ? null : teleport"
|
|
5
5
|
:disabled="teleport === false"
|
|
6
6
|
>
|
|
7
7
|
<dialog
|
|
@@ -216,14 +216,14 @@
|
|
|
216
216
|
// Define the internal modifiers object as a computed property (so it can react to changes)
|
|
217
217
|
const internalModifiers = computed(() => ({
|
|
218
218
|
[props.position]: props.position,
|
|
219
|
-
"resize": props.allowResize,
|
|
220
|
-
"no-resize": !props.allowResize,
|
|
221
|
-
"no-header": !hasHeader.value,
|
|
222
|
-
"body-fills": props.bodyFills,
|
|
223
|
-
"no-backdrop": props.noBackdrop,
|
|
224
|
-
"no-min-height": props.noMinHeight,
|
|
225
|
-
"non-modal": props.nonModal,
|
|
226
|
-
"resizer-active": resizerEnabled.value,
|
|
219
|
+
"resize" : props.allowResize,
|
|
220
|
+
"no-resize" : !props.allowResize,
|
|
221
|
+
"no-header" : !hasHeader.value,
|
|
222
|
+
"body-fills" : props.bodyFills,
|
|
223
|
+
"no-backdrop" : props.noBackdrop,
|
|
224
|
+
"no-min-height" : props.noMinHeight,
|
|
225
|
+
"non-modal" : props.nonModal,
|
|
226
|
+
"resizer-active" : resizerEnabled.value,
|
|
227
227
|
}));
|
|
228
228
|
|
|
229
229
|
const { resolvedModifiers } = useModifiers({
|
|
@@ -363,7 +363,6 @@
|
|
|
363
363
|
}
|
|
364
364
|
},
|
|
365
365
|
mounted() {
|
|
366
|
-
++modalCount;
|
|
367
366
|
if (this.preventScroll) {
|
|
368
367
|
this.setupPreventScroll();
|
|
369
368
|
}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
:style="{
|
|
14
14
|
listStyleType: listStyleType
|
|
15
15
|
}"
|
|
16
|
-
:reversed="reversed"
|
|
16
|
+
:reversed="isOrdered ? reversed : null"
|
|
17
17
|
:start="start"
|
|
18
18
|
>
|
|
19
19
|
<li
|
|
@@ -79,7 +79,6 @@
|
|
|
79
79
|
listStyleType: String,
|
|
80
80
|
});
|
|
81
81
|
|
|
82
|
-
const
|
|
83
|
-
|
|
84
|
-
});
|
|
82
|
+
const isOrdered = computed(() => props.ordered || props.forceOrdered);
|
|
83
|
+
const listElement = computed(() => isOrdered.value ? "ol" : "ul");
|
|
85
84
|
</script>
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<hr v-if="semantic" class="rule" :class="resolvedModifiers">
|
|
3
|
+
<div v-else class="rule" :class="resolvedModifiers"></div>
|
|
4
|
+
</template>
|
|
5
|
+
|
|
6
|
+
<script setup>
|
|
7
|
+
import { computed } from "vue";
|
|
8
|
+
import { useModifiers } from "../../composables/useModifiers.js";
|
|
9
|
+
|
|
10
|
+
const props = defineProps({
|
|
11
|
+
/**
|
|
12
|
+
* Whether to use the actual <hr> vs superficial <div></div> for rule element
|
|
13
|
+
*/
|
|
14
|
+
semantic: Boolean,
|
|
15
|
+
/**
|
|
16
|
+
* Use short modifier
|
|
17
|
+
*/
|
|
18
|
+
short: Boolean,
|
|
19
|
+
/**
|
|
20
|
+
* Optional margin (keyword from your rule margins config in frontend)
|
|
21
|
+
*/
|
|
22
|
+
margin: String,
|
|
23
|
+
/**
|
|
24
|
+
* Add light modifier (if set, usually exists, this is for convenience, use modifiers prop if you have custom naming)
|
|
25
|
+
*/
|
|
26
|
+
light: Boolean,
|
|
27
|
+
/**
|
|
28
|
+
* Add large modifier (if set, usually exists, this is for convenience, use modifiers prop if you have custom naming)
|
|
29
|
+
*/
|
|
30
|
+
large: Boolean,
|
|
31
|
+
/**
|
|
32
|
+
* Modifiers (to add any modifier classes based on base class [ie. 'tertiary'])
|
|
33
|
+
*/
|
|
34
|
+
modifiers: [String, Array]
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
const internalModifiers = computed(() => ({
|
|
38
|
+
"short" : props.short,
|
|
39
|
+
"light" : props.light,
|
|
40
|
+
"large" : props.large,
|
|
41
|
+
[`margin-${ props.margin }`] : props.margin
|
|
42
|
+
}));
|
|
43
|
+
|
|
44
|
+
const { resolvedModifiers } = useModifiers({
|
|
45
|
+
props,
|
|
46
|
+
baseClass: "rule",
|
|
47
|
+
internal: internalModifiers
|
|
48
|
+
});
|
|
49
|
+
</script>
|
|
@@ -27,11 +27,11 @@ defineProps({
|
|
|
27
27
|
/**
|
|
28
28
|
* The value of the selected radio button in the group (for v-model).
|
|
29
29
|
*/
|
|
30
|
-
modelValue: String,
|
|
30
|
+
modelValue: [String, Number],
|
|
31
31
|
/**
|
|
32
32
|
* The value of this radio button.
|
|
33
33
|
*/
|
|
34
|
-
value: String,
|
|
34
|
+
value: [String, Number],
|
|
35
35
|
/**
|
|
36
36
|
* The name of the radio button group.
|
|
37
37
|
*/
|
package/lib/components/index.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* - Used in main plugin and bundle exports
|
|
5
5
|
*/
|
|
6
6
|
export { default as UluAccordion } from './collapsible/UluAccordion.vue';
|
|
7
|
+
export { default as UluAccordionGroup } from './collapsible/UluAccordionGroup.vue';
|
|
7
8
|
export { default as UluCollapsible } from './collapsible/UluCollapsible.vue';
|
|
8
9
|
export { default as UluDropdown } from './collapsible/UluDropdown.vue';
|
|
9
10
|
export { default as UluModal } from './collapsible/UluModal.vue';
|
|
@@ -25,6 +26,7 @@ export { default as UluExternalLink } from './elements/UluExternalLink.vue';
|
|
|
25
26
|
export { default as UluIcon } from './elements/UluIcon.vue';
|
|
26
27
|
export { default as UluList } from './elements/UluList.vue';
|
|
27
28
|
export { default as UluMain } from './elements/UluMain.vue';
|
|
29
|
+
export { default as UluRule } from './elements/UluRule.vue';
|
|
28
30
|
export { default as UluSpokeSpinner } from './elements/UluSpokeSpinner.vue';
|
|
29
31
|
export { default as UluTag } from './elements/UluTag.vue';
|
|
30
32
|
export { default as UluSelectableMenu } from './forms/UluSelectableMenu.vue';
|
|
@@ -34,9 +36,19 @@ export { default as UluFormMessage } from './forms/UluFormMessage.vue';
|
|
|
34
36
|
export { default as UluFormSelect } from './forms/UluFormSelect.vue';
|
|
35
37
|
export { default as UluFormText } from './forms/UluFormText.vue';
|
|
36
38
|
export { default as UluSearchForm } from './forms/UluSearchForm.vue';
|
|
39
|
+
export { default as UluForm } from './forms/UluForm.vue';
|
|
40
|
+
export { default as UluFormActions } from './forms/UluFormActions.vue';
|
|
41
|
+
export { default as UluFormCheckbox } from './forms/UluFormCheckbox.vue';
|
|
42
|
+
export { default as UluFormFieldset } from './forms/UluFormFieldset.vue';
|
|
43
|
+
export { default as UluFormItem } from './forms/UluFormItem.vue';
|
|
44
|
+
export { default as UluFormItemsInline } from './forms/UluFormItemsInline.vue';
|
|
45
|
+
export { default as UluFormRadio } from './forms/UluFormRadio.vue';
|
|
46
|
+
export { default as UluFormRequiredChar } from './forms/UluFormRequiredChar.vue';
|
|
47
|
+
export { default as UluFormTextarea } from './forms/UluFormTextarea.vue';
|
|
37
48
|
export { default as UluAdaptiveLayout } from './layout/UluAdaptiveLayout.vue';
|
|
38
49
|
export { default as UluDataGrid } from './layout/UluDataGrid.vue';
|
|
39
50
|
export { default as UluTitleRail } from './layout/UluTitleRail.vue';
|
|
51
|
+
export { default as UluWhenBreakpoint } from './layout/UluWhenBreakpoint.vue';
|
|
40
52
|
export { default as UluBreadcrumb } from './navigation/UluBreadcrumb.vue';
|
|
41
53
|
export { default as UluMenu } from './navigation/UluMenu.vue';
|
|
42
54
|
export { default as UluMenuStack } from './navigation/UluMenuStack.vue';
|
|
@@ -1,26 +1,40 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="facets-dropdown-filters">
|
|
2
|
+
<div class="facets-dropdown-filters" :class="classes.container">
|
|
3
3
|
<div
|
|
4
4
|
class="facets-dropdown-filters__group"
|
|
5
|
+
:class="classes.group"
|
|
5
6
|
v-for="group in facets"
|
|
6
7
|
:key="group.uid"
|
|
7
8
|
>
|
|
8
|
-
<label
|
|
9
|
-
{
|
|
9
|
+
<label
|
|
10
|
+
:for="`facet-dropdown-${ group.uid }`"
|
|
11
|
+
class="facets-dropdown-filters__label"
|
|
12
|
+
:class="classes.label"
|
|
13
|
+
>
|
|
14
|
+
<slot name="label">
|
|
15
|
+
{{ group.name }}
|
|
16
|
+
</slot>
|
|
10
17
|
</label>
|
|
11
18
|
<select
|
|
12
19
|
:id="`facet-dropdown-${group.uid}`"
|
|
13
20
|
class="facets-dropdown-filters__select"
|
|
21
|
+
:class="classes.select"
|
|
14
22
|
@change="onFilterChange(group, $event)"
|
|
15
23
|
>
|
|
16
|
-
<option value="">
|
|
24
|
+
<option value="">
|
|
25
|
+
<slot name="optionAll" :group="group">
|
|
26
|
+
All {{ group.name }}s
|
|
27
|
+
</slot>
|
|
28
|
+
</option>
|
|
17
29
|
<option
|
|
18
|
-
v-for="option in group.children"
|
|
30
|
+
v-for="(option, index) in group.children"
|
|
19
31
|
:key="option.uid"
|
|
20
32
|
:value="option.uid"
|
|
21
33
|
:selected="option.selected"
|
|
22
34
|
>
|
|
23
|
-
|
|
35
|
+
<slot name="option" :group="group" :option="option" :index="index">
|
|
36
|
+
{{ option.label }}
|
|
37
|
+
</slot>
|
|
24
38
|
</option>
|
|
25
39
|
</select>
|
|
26
40
|
</div>
|
|
@@ -29,12 +43,25 @@
|
|
|
29
43
|
|
|
30
44
|
<script setup>
|
|
31
45
|
const props = defineProps({
|
|
46
|
+
/**
|
|
47
|
+
* Facets Array
|
|
48
|
+
*/
|
|
32
49
|
facets: {
|
|
33
50
|
type: Array,
|
|
34
51
|
default: () => []
|
|
35
|
-
}
|
|
52
|
+
},
|
|
53
|
+
/**
|
|
54
|
+
* Optional classes bindings for all elements { container, group, label, select }
|
|
55
|
+
*/
|
|
56
|
+
classes: {
|
|
57
|
+
type: Object,
|
|
58
|
+
default: () => ({})
|
|
59
|
+
},
|
|
36
60
|
});
|
|
37
61
|
|
|
62
|
+
console.log(props);
|
|
63
|
+
|
|
64
|
+
|
|
38
65
|
const emit = defineEmits(['facet-change']);
|
|
39
66
|
|
|
40
67
|
function onFilterChange(group, event) {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="facets-search">
|
|
3
|
-
<label :class="classes.
|
|
2
|
+
<div class="facets-search" :class="classes.container">
|
|
3
|
+
<label :class="classes.label" :for="id">
|
|
4
4
|
<strong>Search</strong>
|
|
5
5
|
</label>
|
|
6
6
|
<input
|
|
7
7
|
:id="id"
|
|
8
|
-
:class="classes.
|
|
8
|
+
:class="classes.input"
|
|
9
9
|
v-model="localValue"
|
|
10
10
|
type="text"
|
|
11
11
|
:placeholder="placeholder"
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="facets-sort" :class="classes.
|
|
2
|
+
<div class="facets-sort" :class="classes.container">
|
|
3
3
|
<label
|
|
4
4
|
:for="sortId"
|
|
5
|
-
:class="classes.
|
|
5
|
+
:class="classes.label"
|
|
6
6
|
>
|
|
7
7
|
<slot>Sort:</slot>
|
|
8
8
|
</label>
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
:value="modelValue"
|
|
11
11
|
@change="emit('update:modelValue', $event.target.value)"
|
|
12
12
|
:id="sortId"
|
|
13
|
-
:class="classes.
|
|
13
|
+
:class="classes.select"
|
|
14
14
|
>
|
|
15
15
|
<option v-for="(item, key) in sortTypes" :value="key" :key="key">
|
|
16
16
|
{{ item.text }}
|
|
@@ -105,6 +105,9 @@ Changes:
|
|
|
105
105
|
// User can override these styles
|
|
106
106
|
// - Think this is better than props/etc
|
|
107
107
|
// - Refactored from props to just plain css to be overridden
|
|
108
|
+
.scroll-anchors__nav {
|
|
109
|
+
position: relative;
|
|
110
|
+
}
|
|
108
111
|
.scroll-anchors__rail {
|
|
109
112
|
border-left: 3px solid rgb(220, 220, 220);
|
|
110
113
|
padding-left: 1rem;
|
|
@@ -9,16 +9,7 @@ export default {
|
|
|
9
9
|
* @type {String}
|
|
10
10
|
*/
|
|
11
11
|
directiveName: "ulu-tooltip",
|
|
12
|
-
|
|
13
|
-
* The element that the tooltip should be rendered within
|
|
14
|
-
* - Default bottom of the body (on top of everything)
|
|
15
|
-
* - Doesn't need to be inline for accessibility since tooltips are just an enhancement
|
|
16
|
-
* content displayed within them should be hidden for assistive devices,
|
|
17
|
-
* they are not visible to assistive devices
|
|
18
|
-
* @type {String}
|
|
19
|
-
*/
|
|
20
|
-
tooltipTeleportTo: "body",
|
|
21
|
-
},
|
|
12
|
+
},
|
|
22
13
|
/**
|
|
23
14
|
* Default Popover Options
|
|
24
15
|
*/
|
|
@@ -59,6 +50,15 @@ export default {
|
|
|
59
50
|
* @type {Object}
|
|
60
51
|
*/
|
|
61
52
|
tooltip: {
|
|
53
|
+
/**
|
|
54
|
+
* The element that the tooltip should be rendered within
|
|
55
|
+
* - Default bottom of the body if this is unset
|
|
56
|
+
* - Doesn't need to be inline for accessibility since tooltips are just an enhancement
|
|
57
|
+
* content displayed within them should be hidden for assistive devices,
|
|
58
|
+
* they are not visible to assistive devices
|
|
59
|
+
* @type {String}
|
|
60
|
+
*/
|
|
61
|
+
teleportTo: null,
|
|
62
62
|
/**
|
|
63
63
|
* Optional class binding for tooltip element
|
|
64
64
|
* @type {String|Object|Array}
|
|
@@ -70,6 +70,15 @@ export default function install(app, userOptions = {}) {
|
|
|
70
70
|
config: {},
|
|
71
71
|
});
|
|
72
72
|
const showTooltip = (triggerEl, configObj) => {
|
|
73
|
+
// If a teleport target isn't already specified in the config,
|
|
74
|
+
// try to find a parent dialog to teleport to automatically.
|
|
75
|
+
if (triggerEl && !configObj.teleportTo) {
|
|
76
|
+
const dialog = triggerEl.closest("dialog");
|
|
77
|
+
if (dialog) {
|
|
78
|
+
configObj.teleportTo = dialog;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
73
82
|
// If a tooltip is already active for a different element, remove its attribute.
|
|
74
83
|
if (tooltipState.trigger && tooltipState.trigger !== triggerEl) {
|
|
75
84
|
if (tooltipState.trigger?.removeAttribute) {
|