@threadlabs/looma 0.26.17 → 0.26.19
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/components/ui-editor-table-overlay/ui-editor-table-overlay.html +2 -0
- package/components/ui-editor-table-overlay/ui-editor-table-overlay.js +1 -1
- package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.js +26 -3
- package/components/ui-menu/ui-menu.html +6 -0
- package/components/ui-menu-item/ui-menu-item.html +26 -0
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/styles/ui-menu-item.css +25 -0
- package/styles/ui-menu.css +5 -0
- package/vanilla/UiEditorTableOverlay.js +1 -1
- package/vanilla/UiMenu.d.ts +1 -0
- package/vanilla/UiMenu.js +4 -4
- package/vanilla/UiMenuItem.d.ts +1 -0
- package/vanilla/UiMenuItem.js +77 -49
- package/vue/UiEditorTableOverlay.vue +30 -24
- package/vue/UiMenu.d.ts +9 -0
- package/vue/UiMenu.vue +25 -1
- package/vue/UiMenuItem.d.ts +13 -0
- package/vue/UiMenuItem.vue +48 -2
- package/vue/chunks/UiEditorTableOverlay.js +135 -123
- package/vue/chunks/UiMenu.js +24 -1
- package/vue/chunks/UiMenuItem.js +55 -12
- package/vue/components.css +126 -87
- package/vue/editor/index.js +3 -2
package/vue/UiMenuItem.vue
CHANGED
|
@@ -45,6 +45,14 @@ const propValidityContract = {
|
|
|
45
45
|
'A destination makes an action item a real link, with native navigation and link context actions.',
|
|
46
46
|
default: '',
|
|
47
47
|
},
|
|
48
|
+
tone: {
|
|
49
|
+
type: { kind: 'terminal', name: 'keyword' },
|
|
50
|
+
required: false,
|
|
51
|
+
target: { attribute: 'tone' },
|
|
52
|
+
description: 'Danger identifies a destructive action without changing its behavior.',
|
|
53
|
+
values: ['neutral', 'danger'],
|
|
54
|
+
default: 'neutral',
|
|
55
|
+
},
|
|
48
56
|
type: {
|
|
49
57
|
type: { kind: 'terminal', name: 'keyword' },
|
|
50
58
|
required: false,
|
|
@@ -68,6 +76,7 @@ const props = defineProps({
|
|
|
68
76
|
checked: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
69
77
|
disabled: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
70
78
|
href: { type: null as unknown as PropType<string | null>, default: '' },
|
|
79
|
+
tone: { type: null as unknown as PropType<'neutral' | 'danger' | null>, default: 'neutral' },
|
|
71
80
|
type: {
|
|
72
81
|
type: null as unknown as PropType<'action' | 'checkbox' | 'radio' | null>,
|
|
73
82
|
default: 'action',
|
|
@@ -78,6 +87,7 @@ const acceptedProps: Record<string, unknown> = {
|
|
|
78
87
|
checked: false,
|
|
79
88
|
disabled: false,
|
|
80
89
|
href: '',
|
|
90
|
+
tone: 'neutral',
|
|
81
91
|
type: 'action',
|
|
82
92
|
value: '',
|
|
83
93
|
}
|
|
@@ -103,6 +113,13 @@ const checkedProps = computed(() => ({
|
|
|
103
113
|
'href',
|
|
104
114
|
acceptedProps,
|
|
105
115
|
) as string,
|
|
116
|
+
tone: checkedProp<'neutral' | 'danger'>(
|
|
117
|
+
props['tone'],
|
|
118
|
+
{ kind: 'terminal', name: 'keyword' },
|
|
119
|
+
false,
|
|
120
|
+
'tone',
|
|
121
|
+
acceptedProps,
|
|
122
|
+
) as 'neutral' | 'danger',
|
|
106
123
|
type: checkedProp<'action' | 'checkbox' | 'radio'>(
|
|
107
124
|
props['type'],
|
|
108
125
|
{ kind: 'terminal', name: 'keyword' },
|
|
@@ -250,6 +267,8 @@ if (
|
|
|
250
267
|
/** The values the styles' :host-state() rules test. */
|
|
251
268
|
const hostState = computed(() =>
|
|
252
269
|
[
|
|
270
|
+
checkedProps.value.tone && 'tone',
|
|
271
|
+
checkedProps.value.tone != null && `tone=${encodeURIComponent(checkedProps.value.tone)}`,
|
|
253
272
|
checkedProps.value.type && 'type',
|
|
254
273
|
checkedProps.value.type != null && `type=${encodeURIComponent(checkedProps.value.type)}`,
|
|
255
274
|
].filter(Boolean).join(' ')
|
|
@@ -296,7 +315,7 @@ useComponentHost(() => import('../components/ui-menu-item/ui-menu-item.js'), {
|
|
|
296
315
|
? (incoming[name] ?? incoming[kebab] ?? null)
|
|
297
316
|
: null
|
|
298
317
|
},
|
|
299
|
-
propNames: ['checked', 'disabled', 'href', 'type', 'value'],
|
|
318
|
+
propNames: ['checked', 'disabled', 'href', 'tone', 'type', 'value'],
|
|
300
319
|
propValidity: (name: string) =>
|
|
301
320
|
propValidityState({ contract: propValidityContract, values: { ...props } }, name),
|
|
302
321
|
state: { internalChecked },
|
|
@@ -347,11 +366,13 @@ function concat<T extends unknown[]>(...values: T): ConcatResult<T> {
|
|
|
347
366
|
:data-checked="reflectedProp('checked', 'checked', checkedProps.checked, undefined, false)"
|
|
348
367
|
:data-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
|
|
349
368
|
:data-href="reflectedProp('href', 'href', checkedProps.href, undefined, false)"
|
|
369
|
+
:data-tone="reflectedProp('tone', 'tone', checkedProps.tone, undefined, false)"
|
|
350
370
|
:data-type="reflectedProp('type', 'type', checkedProps.type, undefined, false)"
|
|
351
371
|
:data-value="reflectedProp('value', 'value', checkedProps.value, undefined, true)"
|
|
352
372
|
:data-ui-menu-item-state="hostState || undefined"
|
|
353
373
|
ref="@html-next/root"
|
|
354
|
-
><span class="
|
|
374
|
+
><span class="icon" aria-hidden="true"><slot name="icon" /></span>
|
|
375
|
+
<span class="label"><slot /></span>
|
|
355
376
|
<span class="shortcut" aria-hidden="true"><slot name="shortcut" /></span></a>
|
|
356
377
|
<div
|
|
357
378
|
v-else
|
|
@@ -370,6 +391,7 @@ function concat<T extends unknown[]>(...values: T): ConcatResult<T> {
|
|
|
370
391
|
:data-checked="reflectedProp('checked', 'checked', checkedProps.checked, undefined, false)"
|
|
371
392
|
:data-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
|
|
372
393
|
:data-href="reflectedProp('href', 'href', checkedProps.href, undefined, false)"
|
|
394
|
+
:data-tone="reflectedProp('tone', 'tone', checkedProps.tone, undefined, false)"
|
|
373
395
|
:data-type="reflectedProp('type', 'type', checkedProps.type, undefined, false)"
|
|
374
396
|
:data-value="reflectedProp('value', 'value', checkedProps.value, undefined, true)"
|
|
375
397
|
:data-ui-menu-item-state="hostState || undefined"
|
|
@@ -379,6 +401,7 @@ function concat<T extends unknown[]>(...values: T): ConcatResult<T> {
|
|
|
379
401
|
v-if="(checkedProps.type === 'checkbox' || checkedProps.type === 'radio') && internalChecked"
|
|
380
402
|
name="check"
|
|
381
403
|
/></span>
|
|
404
|
+
<span class="icon" aria-hidden="true"><slot name="icon" /></span>
|
|
382
405
|
<span class="label"><slot /></span>
|
|
383
406
|
<span class="shortcut" aria-hidden="true"><slot name="shortcut" /></span>
|
|
384
407
|
</div>
|
|
@@ -444,6 +467,29 @@ function concat<T extends unknown[]>(...values: T): ConcatResult<T> {
|
|
|
444
467
|
color var(--ui-motion-fast) var(--ui-motion-ease);
|
|
445
468
|
}
|
|
446
469
|
|
|
470
|
+
/* A named icon has a fixed column; an icon-enabled menu reserves it on every row. */
|
|
471
|
+
.icon {
|
|
472
|
+
display: var(--_ui-default-menu-icon-display, none);
|
|
473
|
+
align-items: center;
|
|
474
|
+
justify-content: center;
|
|
475
|
+
flex: none;
|
|
476
|
+
inline-size: var(--ui-icon-size-sm);
|
|
477
|
+
block-size: var(--ui-icon-size-sm);
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
.icon:not(:empty) {
|
|
481
|
+
display: inline-flex;
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
.icon :slotted(svg) {
|
|
485
|
+
inline-size: 100%;
|
|
486
|
+
block-size: 100%;
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
[data-component~="ui-menu-item"][data-ui-menu-item-state~="tone=danger"] {
|
|
490
|
+
color: var(--ui-danger);
|
|
491
|
+
}
|
|
492
|
+
|
|
447
493
|
.label {
|
|
448
494
|
display: flex;
|
|
449
495
|
align-items: center;
|
|
@@ -697,144 +697,156 @@ var UiEditorTableOverlay_default = /*#__PURE__*/ _plugin_vue_export_helper_defau
|
|
|
697
697
|
}
|
|
698
698
|
},
|
|
699
699
|
hovered: {
|
|
700
|
-
kind: "
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
name: "top",
|
|
712
|
-
type: {
|
|
713
|
-
kind: "terminal",
|
|
714
|
-
name: "number"
|
|
700
|
+
kind: "union",
|
|
701
|
+
members: [{
|
|
702
|
+
kind: "object",
|
|
703
|
+
fields: [
|
|
704
|
+
{
|
|
705
|
+
name: "left",
|
|
706
|
+
type: {
|
|
707
|
+
kind: "terminal",
|
|
708
|
+
name: "number"
|
|
709
|
+
},
|
|
710
|
+
optional: false
|
|
715
711
|
},
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
712
|
+
{
|
|
713
|
+
name: "top",
|
|
714
|
+
type: {
|
|
715
|
+
kind: "terminal",
|
|
716
|
+
name: "number"
|
|
717
|
+
},
|
|
718
|
+
optional: false
|
|
723
719
|
},
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
720
|
+
{
|
|
721
|
+
name: "width",
|
|
722
|
+
type: {
|
|
723
|
+
kind: "terminal",
|
|
724
|
+
name: "number"
|
|
725
|
+
},
|
|
726
|
+
optional: false
|
|
731
727
|
},
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
728
|
+
{
|
|
729
|
+
name: "height",
|
|
730
|
+
type: {
|
|
731
|
+
kind: "terminal",
|
|
732
|
+
name: "number"
|
|
733
|
+
},
|
|
734
|
+
optional: false
|
|
739
735
|
},
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
736
|
+
{
|
|
737
|
+
name: "rowIndex",
|
|
738
|
+
type: {
|
|
739
|
+
kind: "terminal",
|
|
740
|
+
name: "integer"
|
|
741
|
+
},
|
|
742
|
+
optional: false
|
|
747
743
|
},
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
744
|
+
{
|
|
745
|
+
name: "columnIndex",
|
|
746
|
+
type: {
|
|
747
|
+
kind: "terminal",
|
|
748
|
+
name: "integer"
|
|
749
|
+
},
|
|
750
|
+
optional: false
|
|
755
751
|
},
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
752
|
+
{
|
|
753
|
+
name: "rowOffset",
|
|
754
|
+
type: {
|
|
755
|
+
kind: "terminal",
|
|
756
|
+
name: "string"
|
|
757
|
+
},
|
|
758
|
+
optional: false
|
|
763
759
|
},
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
760
|
+
{
|
|
761
|
+
name: "columnOffset",
|
|
762
|
+
type: {
|
|
763
|
+
kind: "terminal",
|
|
764
|
+
name: "string"
|
|
765
|
+
},
|
|
766
|
+
optional: false
|
|
767
|
+
}
|
|
768
|
+
],
|
|
769
|
+
open: false
|
|
770
|
+
}, {
|
|
771
|
+
kind: "terminal",
|
|
772
|
+
name: "null"
|
|
773
|
+
}]
|
|
768
774
|
},
|
|
769
775
|
active: {
|
|
770
|
-
kind: "
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
name: "top",
|
|
782
|
-
type: {
|
|
783
|
-
kind: "terminal",
|
|
784
|
-
name: "number"
|
|
776
|
+
kind: "union",
|
|
777
|
+
members: [{
|
|
778
|
+
kind: "object",
|
|
779
|
+
fields: [
|
|
780
|
+
{
|
|
781
|
+
name: "left",
|
|
782
|
+
type: {
|
|
783
|
+
kind: "terminal",
|
|
784
|
+
name: "number"
|
|
785
|
+
},
|
|
786
|
+
optional: false
|
|
785
787
|
},
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
788
|
+
{
|
|
789
|
+
name: "top",
|
|
790
|
+
type: {
|
|
791
|
+
kind: "terminal",
|
|
792
|
+
name: "number"
|
|
793
|
+
},
|
|
794
|
+
optional: false
|
|
793
795
|
},
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
796
|
+
{
|
|
797
|
+
name: "width",
|
|
798
|
+
type: {
|
|
799
|
+
kind: "terminal",
|
|
800
|
+
name: "number"
|
|
801
|
+
},
|
|
802
|
+
optional: false
|
|
801
803
|
},
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
804
|
+
{
|
|
805
|
+
name: "height",
|
|
806
|
+
type: {
|
|
807
|
+
kind: "terminal",
|
|
808
|
+
name: "number"
|
|
809
|
+
},
|
|
810
|
+
optional: false
|
|
809
811
|
},
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
812
|
+
{
|
|
813
|
+
name: "rowIndex",
|
|
814
|
+
type: {
|
|
815
|
+
kind: "terminal",
|
|
816
|
+
name: "integer"
|
|
817
|
+
},
|
|
818
|
+
optional: false
|
|
817
819
|
},
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
820
|
+
{
|
|
821
|
+
name: "columnIndex",
|
|
822
|
+
type: {
|
|
823
|
+
kind: "terminal",
|
|
824
|
+
name: "integer"
|
|
825
|
+
},
|
|
826
|
+
optional: false
|
|
825
827
|
},
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
828
|
+
{
|
|
829
|
+
name: "menuLeft",
|
|
830
|
+
type: {
|
|
831
|
+
kind: "terminal",
|
|
832
|
+
name: "string"
|
|
833
|
+
},
|
|
834
|
+
optional: false
|
|
833
835
|
},
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
836
|
+
{
|
|
837
|
+
name: "menuTop",
|
|
838
|
+
type: {
|
|
839
|
+
kind: "terminal",
|
|
840
|
+
name: "string"
|
|
841
|
+
},
|
|
842
|
+
optional: false
|
|
843
|
+
}
|
|
844
|
+
],
|
|
845
|
+
open: false
|
|
846
|
+
}, {
|
|
847
|
+
kind: "terminal",
|
|
848
|
+
name: "null"
|
|
849
|
+
}]
|
|
838
850
|
},
|
|
839
851
|
activeKey: {
|
|
840
852
|
kind: "terminal",
|
|
@@ -1005,6 +1017,6 @@ var UiEditorTableOverlay_default = /*#__PURE__*/ _plugin_vue_export_helper_defau
|
|
|
1005
1017
|
}]]);
|
|
1006
1018
|
};
|
|
1007
1019
|
}
|
|
1008
|
-
}), [["__scopeId", "data-v-
|
|
1020
|
+
}), [["__scopeId", "data-v-0e632fe0"]]);
|
|
1009
1021
|
//#endregion
|
|
1010
1022
|
export { UiEditorTableOverlay_default as t };
|
package/vue/chunks/UiMenu.js
CHANGED
|
@@ -6,6 +6,7 @@ import { computed, createElementBlock, createElementVNode, defineComponent, getC
|
|
|
6
6
|
var _hoisted_1 = [
|
|
7
7
|
"data-density",
|
|
8
8
|
"data-for",
|
|
9
|
+
"data-icons",
|
|
9
10
|
"data-inline",
|
|
10
11
|
"data-open",
|
|
11
12
|
"data-placement",
|
|
@@ -27,6 +28,10 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
27
28
|
type: null,
|
|
28
29
|
default: ""
|
|
29
30
|
},
|
|
31
|
+
icons: {
|
|
32
|
+
type: null,
|
|
33
|
+
default: false
|
|
34
|
+
},
|
|
30
35
|
inline: {
|
|
31
36
|
type: null,
|
|
32
37
|
default: false
|
|
@@ -73,6 +78,16 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
73
78
|
description: "ID of the control that toggles and anchors the menu.",
|
|
74
79
|
default: ""
|
|
75
80
|
},
|
|
81
|
+
icons: {
|
|
82
|
+
type: {
|
|
83
|
+
kind: "terminal",
|
|
84
|
+
name: "boolean"
|
|
85
|
+
},
|
|
86
|
+
required: false,
|
|
87
|
+
target: { attribute: "icons" },
|
|
88
|
+
description: "Reserves a fixed icon column in every item, including items without an icon. Supply item icons through their icon slot.",
|
|
89
|
+
default: false
|
|
90
|
+
},
|
|
76
91
|
inline: {
|
|
77
92
|
type: {
|
|
78
93
|
kind: "terminal",
|
|
@@ -119,6 +134,7 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
119
134
|
const acceptedProps = {
|
|
120
135
|
density: "comfortable",
|
|
121
136
|
for: "",
|
|
137
|
+
icons: false,
|
|
122
138
|
inline: false,
|
|
123
139
|
open: false,
|
|
124
140
|
placement: "bottom-start",
|
|
@@ -133,6 +149,10 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
133
149
|
kind: "terminal",
|
|
134
150
|
name: "string"
|
|
135
151
|
}, false, "for", acceptedProps),
|
|
152
|
+
icons: checkedProp(props["icons"], {
|
|
153
|
+
kind: "terminal",
|
|
154
|
+
name: "boolean"
|
|
155
|
+
}, false, "icons", acceptedProps),
|
|
136
156
|
inline: checkedProp(props["inline"], {
|
|
137
157
|
kind: "terminal",
|
|
138
158
|
name: "boolean"
|
|
@@ -185,6 +205,7 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
185
205
|
checkedProps.value.density != null && `density=${encodeURIComponent(checkedProps.value.density)}`,
|
|
186
206
|
checkedProps.value.size && "size",
|
|
187
207
|
checkedProps.value.size != null && `size=${encodeURIComponent(checkedProps.value.size)}`,
|
|
208
|
+
checkedProps.value.icons && "icons",
|
|
188
209
|
internalOpen.value && "internalOpen",
|
|
189
210
|
checkedProps.value.inline && "inline"
|
|
190
211
|
].filter(Boolean).join(" "));
|
|
@@ -231,6 +252,7 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
231
252
|
propNames: [
|
|
232
253
|
"density",
|
|
233
254
|
"for",
|
|
255
|
+
"icons",
|
|
234
256
|
"inline",
|
|
235
257
|
"open",
|
|
236
258
|
"placement",
|
|
@@ -250,6 +272,7 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
250
272
|
}, nativeAttrs(_ctx.$attrs), {
|
|
251
273
|
"data-density": reflectedProp("density", "density", checkedProps.value.density, void 0, false),
|
|
252
274
|
"data-for": reflectedProp("for", "for", checkedProps.value.for, void 0, false),
|
|
275
|
+
"data-icons": reflectedProp("icons", "icons", checkedProps.value.icons, void 0, false),
|
|
253
276
|
"data-inline": reflectedProp("inline", "inline", checkedProps.value.inline, void 0, false),
|
|
254
277
|
"data-open": reflectedProp("open", "open", checkedProps.value.open, void 0, false),
|
|
255
278
|
"data-placement": reflectedProp("placement", "placement", checkedProps.value.placement, void 0, false),
|
|
@@ -263,6 +286,6 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
263
286
|
}]]);
|
|
264
287
|
};
|
|
265
288
|
}
|
|
266
|
-
}), [["__scopeId", "data-v-
|
|
289
|
+
}), [["__scopeId", "data-v-b6bd5ab3"]]);
|
|
267
290
|
//#endregion
|
|
268
291
|
export { UiMenu_default as t };
|
package/vue/chunks/UiMenuItem.js
CHANGED
|
@@ -10,32 +10,42 @@ var _hoisted_1 = [
|
|
|
10
10
|
"data-checked",
|
|
11
11
|
"data-disabled",
|
|
12
12
|
"data-href",
|
|
13
|
+
"data-tone",
|
|
13
14
|
"data-type",
|
|
14
15
|
"data-value",
|
|
15
16
|
"data-ui-menu-item-state"
|
|
16
17
|
];
|
|
17
|
-
var _hoisted_2 = {
|
|
18
|
-
|
|
18
|
+
var _hoisted_2 = {
|
|
19
|
+
class: "icon",
|
|
20
|
+
"aria-hidden": "true"
|
|
21
|
+
};
|
|
22
|
+
var _hoisted_3 = { class: "label" };
|
|
23
|
+
var _hoisted_4 = {
|
|
19
24
|
class: "shortcut",
|
|
20
25
|
"aria-hidden": "true"
|
|
21
26
|
};
|
|
22
|
-
var
|
|
27
|
+
var _hoisted_5 = [
|
|
23
28
|
"role",
|
|
24
29
|
"aria-checked",
|
|
25
30
|
"aria-disabled",
|
|
26
31
|
"data-checked",
|
|
27
32
|
"data-disabled",
|
|
28
33
|
"data-href",
|
|
34
|
+
"data-tone",
|
|
29
35
|
"data-type",
|
|
30
36
|
"data-value",
|
|
31
37
|
"data-ui-menu-item-state"
|
|
32
38
|
];
|
|
33
|
-
var
|
|
39
|
+
var _hoisted_6 = {
|
|
34
40
|
class: "indicator",
|
|
35
41
|
"aria-hidden": "true"
|
|
36
42
|
};
|
|
37
|
-
var _hoisted_6 = { class: "label" };
|
|
38
43
|
var _hoisted_7 = {
|
|
44
|
+
class: "icon",
|
|
45
|
+
"aria-hidden": "true"
|
|
46
|
+
};
|
|
47
|
+
var _hoisted_8 = { class: "label" };
|
|
48
|
+
var _hoisted_9 = {
|
|
39
49
|
class: "shortcut",
|
|
40
50
|
"aria-hidden": "true"
|
|
41
51
|
};
|
|
@@ -65,6 +75,10 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
65
75
|
type: null,
|
|
66
76
|
default: ""
|
|
67
77
|
},
|
|
78
|
+
tone: {
|
|
79
|
+
type: null,
|
|
80
|
+
default: "neutral"
|
|
81
|
+
},
|
|
68
82
|
type: {
|
|
69
83
|
type: null,
|
|
70
84
|
default: "action"
|
|
@@ -112,6 +126,17 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
112
126
|
description: "A destination makes an action item a real link, with native navigation and link context actions.",
|
|
113
127
|
default: ""
|
|
114
128
|
},
|
|
129
|
+
tone: {
|
|
130
|
+
type: {
|
|
131
|
+
kind: "terminal",
|
|
132
|
+
name: "keyword"
|
|
133
|
+
},
|
|
134
|
+
required: false,
|
|
135
|
+
target: { attribute: "tone" },
|
|
136
|
+
description: "Danger identifies a destructive action without changing its behavior.",
|
|
137
|
+
values: ["neutral", "danger"],
|
|
138
|
+
default: "neutral"
|
|
139
|
+
},
|
|
115
140
|
type: {
|
|
116
141
|
type: {
|
|
117
142
|
kind: "terminal",
|
|
@@ -143,6 +168,7 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
143
168
|
checked: false,
|
|
144
169
|
disabled: false,
|
|
145
170
|
href: "",
|
|
171
|
+
tone: "neutral",
|
|
146
172
|
type: "action",
|
|
147
173
|
value: ""
|
|
148
174
|
};
|
|
@@ -159,6 +185,10 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
159
185
|
kind: "terminal",
|
|
160
186
|
name: "string"
|
|
161
187
|
}, false, "href", acceptedProps),
|
|
188
|
+
tone: checkedProp(props["tone"], {
|
|
189
|
+
kind: "terminal",
|
|
190
|
+
name: "keyword"
|
|
191
|
+
}, false, "tone", acceptedProps),
|
|
162
192
|
type: checkedProp(props["type"], {
|
|
163
193
|
kind: "terminal",
|
|
164
194
|
name: "keyword"
|
|
@@ -227,7 +257,12 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
227
257
|
})
|
|
228
258
|
});
|
|
229
259
|
/** The values the styles' :host-state() rules test. */
|
|
230
|
-
const hostState = computed(() => [
|
|
260
|
+
const hostState = computed(() => [
|
|
261
|
+
checkedProps.value.tone && "tone",
|
|
262
|
+
checkedProps.value.tone != null && `tone=${encodeURIComponent(checkedProps.value.tone)}`,
|
|
263
|
+
checkedProps.value.type && "type",
|
|
264
|
+
checkedProps.value.type != null && `type=${encodeURIComponent(checkedProps.value.type)}`
|
|
265
|
+
].filter(Boolean).join(" "));
|
|
231
266
|
const isChangeDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["checked"] === "boolean" && typeof detail["value"] === "string" && (detail["type"] === "checkbox" || detail["type"] === "radio") && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
|
|
232
267
|
"checked",
|
|
233
268
|
"value",
|
|
@@ -263,6 +298,7 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
263
298
|
"checked",
|
|
264
299
|
"disabled",
|
|
265
300
|
"href",
|
|
301
|
+
"tone",
|
|
266
302
|
"type",
|
|
267
303
|
"value"
|
|
268
304
|
],
|
|
@@ -298,11 +334,16 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
298
334
|
"data-checked": reflectedProp("checked", "checked", checkedProps.value.checked, void 0, false),
|
|
299
335
|
"data-disabled": reflectedProp("disabled", "disabled", checkedProps.value.disabled, void 0, false),
|
|
300
336
|
"data-href": reflectedProp("href", "href", checkedProps.value.href, void 0, false),
|
|
337
|
+
"data-tone": reflectedProp("tone", "tone", checkedProps.value.tone, void 0, false),
|
|
301
338
|
"data-type": reflectedProp("type", "type", checkedProps.value.type, void 0, false),
|
|
302
339
|
"data-value": reflectedProp("value", "value", checkedProps.value.value, void 0, true),
|
|
303
340
|
"data-ui-menu-item-state": hostState.value || void 0,
|
|
304
341
|
ref: "@html-next/root"
|
|
305
|
-
}), [
|
|
342
|
+
}), [
|
|
343
|
+
createElementVNode("span", _hoisted_2, [renderSlot(_ctx.$slots, "icon")]),
|
|
344
|
+
createElementVNode("span", _hoisted_3, [renderSlot(_ctx.$slots, "default")]),
|
|
345
|
+
createElementVNode("span", _hoisted_4, [renderSlot(_ctx.$slots, "shortcut")])
|
|
346
|
+
], 16, _hoisted_1)), [[unref(vPropValidity), {
|
|
306
347
|
contract: propValidityContract,
|
|
307
348
|
values: { ...props }
|
|
308
349
|
}]]) : withDirectives((openBlock(), createElementBlock("div", mergeProps({
|
|
@@ -320,23 +361,25 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
320
361
|
"data-checked": reflectedProp("checked", "checked", checkedProps.value.checked, void 0, false),
|
|
321
362
|
"data-disabled": reflectedProp("disabled", "disabled", checkedProps.value.disabled, void 0, false),
|
|
322
363
|
"data-href": reflectedProp("href", "href", checkedProps.value.href, void 0, false),
|
|
364
|
+
"data-tone": reflectedProp("tone", "tone", checkedProps.value.tone, void 0, false),
|
|
323
365
|
"data-type": reflectedProp("type", "type", checkedProps.value.type, void 0, false),
|
|
324
366
|
"data-value": reflectedProp("value", "value", checkedProps.value.value, void 0, true),
|
|
325
367
|
"data-ui-menu-item-state": hostState.value || void 0,
|
|
326
368
|
ref: "@html-next/root"
|
|
327
369
|
}), [
|
|
328
|
-
createElementVNode("span",
|
|
370
|
+
createElementVNode("span", _hoisted_6, [(checkedProps.value.type === "checkbox" || checkedProps.value.type === "radio") && internalChecked.value ? (openBlock(), createBlock(UiIcon_default, {
|
|
329
371
|
key: 0,
|
|
330
372
|
name: "check"
|
|
331
373
|
})) : createCommentVNode("v-if", true)]),
|
|
332
|
-
createElementVNode("span",
|
|
333
|
-
createElementVNode("span",
|
|
334
|
-
|
|
374
|
+
createElementVNode("span", _hoisted_7, [renderSlot(_ctx.$slots, "icon")]),
|
|
375
|
+
createElementVNode("span", _hoisted_8, [renderSlot(_ctx.$slots, "default")]),
|
|
376
|
+
createElementVNode("span", _hoisted_9, [renderSlot(_ctx.$slots, "shortcut")])
|
|
377
|
+
], 16, _hoisted_5)), [[unref(vPropValidity), {
|
|
335
378
|
contract: propValidityContract,
|
|
336
379
|
values: { ...props }
|
|
337
380
|
}]]);
|
|
338
381
|
};
|
|
339
382
|
}
|
|
340
|
-
}), [["__scopeId", "data-v-
|
|
383
|
+
}), [["__scopeId", "data-v-32e2a3e1"]]);
|
|
341
384
|
//#endregion
|
|
342
385
|
export { UiMenuItem_default as t };
|