@threadlabs/looma 0.37.4 → 0.37.6
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/shared/active-item-reveal.js +74 -0
- package/components/shared/menu-navigation.js +3 -1
- package/components/ui-button/ui-button.html +13 -0
- package/components/ui-combobox/ui-combobox.js +3 -1
- package/components/ui-context-menu/ui-context-menu.js +4 -1
- package/components/ui-editor-link-form/ui-editor-link-form.js +3 -1
- package/components/ui-editor-mention-menu/ui-editor-mention-menu.js +12 -5
- package/components/ui-editor-slash-menu/ui-editor-slash-menu.js +12 -5
- package/components/ui-listbox/ui-listbox.js +3 -1
- package/components/ui-menu/ui-menu.js +5 -1
- package/components/ui-pagination/ui-pagination.html +74 -0
- package/components/ui-pagination/ui-pagination.js +19 -0
- package/components/ui-search-shell/ui-search-shell.js +7 -4
- package/components/ui-skeleton/ui-skeleton.html +91 -0
- package/dist/index.js +20 -19
- package/docs/catalog.json +491 -1
- package/docs/examples/ui-pagination/examples/01-numbered.behavior.js +11 -0
- package/package.json +1 -1
- package/styles/ui-button.css +12 -0
- package/styles/ui-pagination.css +1 -0
- package/styles/ui-skeleton.css +91 -0
- package/vanilla/UiButton.d.ts +1 -0
- package/vanilla/UiButton.js +31 -31
- package/vanilla/UiPagination.d.ts +35 -0
- package/vanilla/UiPagination.js +202 -0
- package/vanilla/UiSkeleton.d.ts +26 -0
- package/vanilla/UiSkeleton.js +42 -0
- package/vanilla/index.js +2 -0
- package/vue/UiButton.d.ts +6 -0
- package/vue/UiButton.vue +34 -0
- package/vue/UiPagination.d.ts +115 -0
- package/vue/UiPagination.js +2 -0
- package/vue/UiPagination.vue +598 -0
- package/vue/UiSkeleton.d.ts +37 -0
- package/vue/UiSkeleton.js +2 -0
- package/vue/UiSkeleton.vue +235 -0
- package/vue/chunks/UiActionBar.js +1 -1
- package/vue/chunks/UiAffordanceScope.js +1 -1
- package/vue/chunks/UiAvatar.js +1 -1
- package/vue/chunks/UiAvatarGroup.js +1 -1
- package/vue/chunks/UiBadge.js +1 -1
- package/vue/chunks/UiBreadcrumbItem.js +1 -1
- package/vue/chunks/UiBreadcrumbs.js +1 -1
- package/vue/chunks/UiButton.js +30 -2
- package/vue/chunks/UiCallout.js +1 -1
- package/vue/chunks/UiCard.js +1 -1
- package/vue/chunks/UiCheckbox.js +1 -1
- package/vue/chunks/UiCluster.js +1 -1
- package/vue/chunks/UiColorPicker.js +1 -1
- package/vue/chunks/UiCombobox.js +1 -1
- package/vue/chunks/UiContainer.js +1 -1
- package/vue/chunks/UiContextMenu.js +1 -1
- package/vue/chunks/UiCover.js +1 -1
- package/vue/chunks/UiCurveEditor.js +1 -1
- package/vue/chunks/UiCycleButton.js +1 -1
- package/vue/chunks/UiDescriptionItem.js +1 -1
- package/vue/chunks/UiDescriptionList.js +1 -1
- package/vue/chunks/UiDialog.js +1 -1
- package/vue/chunks/UiDisclosure.js +1 -1
- package/vue/chunks/UiEditable.js +1 -1
- package/vue/chunks/UiEditorBlockActions.js +1 -1
- package/vue/chunks/UiEditorChipEditor.js +1 -1
- package/vue/chunks/UiEditorCodeLanguage.js +1 -1
- package/vue/chunks/UiEditorFootnoteEditor.js +1 -1
- package/vue/chunks/UiEditorImageToolbar.js +1 -1
- package/vue/chunks/UiEditorInsertTableGrid.js +1 -1
- package/vue/chunks/UiEditorLinkCard.js +1 -1
- package/vue/chunks/UiEditorLinkForm.js +1 -1
- package/vue/chunks/UiEditorMentionMenu.js +1 -1
- package/vue/chunks/UiEditorMentionMenuItem.js +1 -1
- package/vue/chunks/UiEditorSlashMenu.js +1 -1
- package/vue/chunks/UiEditorSlashMenuGroup.js +1 -1
- package/vue/chunks/UiEditorSlashMenuItem.js +1 -1
- package/vue/chunks/UiEditorSurface.js +1 -1
- package/vue/chunks/UiEditorTableContextMenu.js +1 -1
- package/vue/chunks/UiEditorTableOverlay.js +1 -1
- package/vue/chunks/UiEditorTableToolbar.js +1 -1
- package/vue/chunks/UiEditorToolbar.js +1 -1
- package/vue/chunks/UiFloatingActionButton.js +1 -1
- package/vue/chunks/UiFormField.js +1 -1
- package/vue/chunks/UiGrid.js +1 -1
- package/vue/chunks/UiIcon.js +1 -1
- package/vue/chunks/UiIconButton.js +1 -1
- package/vue/chunks/UiImage.js +1 -1
- package/vue/chunks/UiInput.js +1 -1
- package/vue/chunks/UiInputGroup.js +1 -1
- package/vue/chunks/UiLightEditor.js +1 -1
- package/vue/chunks/UiList.js +1 -1
- package/vue/chunks/UiListItem.js +1 -1
- package/vue/chunks/UiListbox.js +1 -1
- package/vue/chunks/UiMenu.js +1 -1
- package/vue/chunks/UiMenuGroup.js +1 -1
- package/vue/chunks/UiMenuItem.js +1 -1
- package/vue/chunks/UiMeter.js +1 -1
- package/vue/chunks/UiNavItem.js +1 -1
- package/vue/chunks/UiNumberInput.js +1 -1
- package/vue/chunks/UiPageHeader.js +1 -1
- package/vue/chunks/UiPagination.js +551 -0
- package/vue/chunks/UiPopover.js +1 -1
- package/vue/chunks/UiRadio.js +1 -1
- package/vue/chunks/UiRadioGroup.js +1 -1
- package/vue/chunks/UiReel.js +1 -1
- package/vue/chunks/UiScrollArea.js +1 -1
- package/vue/chunks/UiSearchResultRow.js +1 -1
- package/vue/chunks/UiSearchShell.js +1 -1
- package/vue/chunks/UiSection.js +1 -1
- package/vue/chunks/UiSelect.js +1 -1
- package/vue/chunks/UiSeparator.js +1 -1
- package/vue/chunks/UiSidebar.js +1 -1
- package/vue/chunks/UiSkeleton.js +151 -0
- package/vue/chunks/UiSlider.js +1 -1
- package/vue/chunks/UiSpinner.js +1 -1
- package/vue/chunks/UiStack.js +1 -1
- package/vue/chunks/UiStatusMessage.js +1 -1
- package/vue/chunks/UiSwatch.js +1 -1
- package/vue/chunks/UiSwitch.js +1 -1
- package/vue/chunks/UiSwitcher.js +1 -1
- package/vue/chunks/UiTable.js +1 -1
- package/vue/chunks/UiTabs.js +1 -1
- package/vue/chunks/UiText.js +1 -1
- package/vue/chunks/UiTextarea.js +1 -1
- package/vue/chunks/UiToast.js +1 -1
- package/vue/chunks/UiToastRegion.js +1 -1
- package/vue/chunks/UiTooltip.js +1 -1
- package/vue/chunks/UiTopBar.js +1 -1
- package/vue/chunks/UiTree.js +1 -1
- package/vue/chunks/UiTreeItem.js +1 -1
- package/vue/chunks/_plugin-vue_export-helper.js +27 -2
- package/vue/components.css +93 -0
- package/vue/editor/index.js +139 -35
- package/vue/index.d.ts +2 -0
- package/vue/index.js +3 -1
package/vue/editor/index.js
CHANGED
|
@@ -3505,6 +3505,7 @@ var A$3 = [
|
|
|
3505
3505
|
"data-ui-button-prop-rel",
|
|
3506
3506
|
"data-ui-button-prop-shape",
|
|
3507
3507
|
"data-ui-button-prop-size",
|
|
3508
|
+
"data-ui-button-prop-square",
|
|
3508
3509
|
"data-ui-button-prop-stretch",
|
|
3509
3510
|
"data-ui-button-prop-target",
|
|
3510
3511
|
"data-ui-button-prop-tone",
|
|
@@ -3538,6 +3539,7 @@ var A$3 = [
|
|
|
3538
3539
|
"data-ui-button-prop-rel",
|
|
3539
3540
|
"data-ui-button-prop-shape",
|
|
3540
3541
|
"data-ui-button-prop-size",
|
|
3542
|
+
"data-ui-button-prop-square",
|
|
3541
3543
|
"data-ui-button-prop-stretch",
|
|
3542
3544
|
"data-ui-button-prop-target",
|
|
3543
3545
|
"data-ui-button-prop-tone",
|
|
@@ -3569,6 +3571,7 @@ var A$3 = [
|
|
|
3569
3571
|
"data-ui-button-prop-rel",
|
|
3570
3572
|
"data-ui-button-prop-shape",
|
|
3571
3573
|
"data-ui-button-prop-size",
|
|
3574
|
+
"data-ui-button-prop-square",
|
|
3572
3575
|
"data-ui-button-prop-stretch",
|
|
3573
3576
|
"data-ui-button-prop-target",
|
|
3574
3577
|
"data-ui-button-prop-tone",
|
|
@@ -3602,6 +3605,7 @@ var A$3 = [
|
|
|
3602
3605
|
"data-ui-button-prop-rel",
|
|
3603
3606
|
"data-ui-button-prop-shape",
|
|
3604
3607
|
"data-ui-button-prop-size",
|
|
3608
|
+
"data-ui-button-prop-square",
|
|
3605
3609
|
"data-ui-button-prop-stretch",
|
|
3606
3610
|
"data-ui-button-prop-target",
|
|
3607
3611
|
"data-ui-button-prop-tone",
|
|
@@ -3719,6 +3723,14 @@ var D$18 = {
|
|
|
3719
3723
|
j: 0,
|
|
3720
3724
|
m: ["p", formatOf(keywordFormat)]
|
|
3721
3725
|
},
|
|
3726
|
+
"square": {
|
|
3727
|
+
"required": false,
|
|
3728
|
+
"default": false,
|
|
3729
|
+
c: checkBoolean,
|
|
3730
|
+
t: "boolean",
|
|
3731
|
+
j: 0,
|
|
3732
|
+
m: "b"
|
|
3733
|
+
},
|
|
3722
3734
|
"stretch": {
|
|
3723
3735
|
"required": false,
|
|
3724
3736
|
"default": false,
|
|
@@ -3802,6 +3814,7 @@ function createUiButton(options = {}, html) {
|
|
|
3802
3814
|
null,
|
|
3803
3815
|
null,
|
|
3804
3816
|
null,
|
|
3817
|
+
null,
|
|
3805
3818
|
null
|
|
3806
3819
|
];
|
|
3807
3820
|
let B = acceptProps(void 0, D$18, S$18.n, v, componentProps, [], html);
|
|
@@ -3821,11 +3834,12 @@ function createUiButton(options = {}, html) {
|
|
|
3821
3834
|
if (j === 9) return awaitInput(B, "rel", true);
|
|
3822
3835
|
if (j === 10) return awaitInput(B, "shape", true);
|
|
3823
3836
|
if (j === 11) return awaitInput(B, "size", true);
|
|
3824
|
-
if (j === 12) return awaitInput(B, "
|
|
3825
|
-
if (j === 13) return awaitInput(B, "
|
|
3826
|
-
if (j === 14) return awaitInput(B, "
|
|
3827
|
-
if (j === 15) return awaitInput(B, "
|
|
3828
|
-
if (j === 16) return awaitInput(B, "
|
|
3837
|
+
if (j === 12) return awaitInput(B, "square", true);
|
|
3838
|
+
if (j === 13) return awaitInput(B, "stretch", true);
|
|
3839
|
+
if (j === 14) return awaitInput(B, "target", true);
|
|
3840
|
+
if (j === 15) return awaitInput(B, "tone", true);
|
|
3841
|
+
if (j === 16) return awaitInput(B, "type", true);
|
|
3842
|
+
if (j === 17) return awaitInput(B, "variant", true);
|
|
3829
3843
|
return v[j] === void 0 ? UNRESOLVED_INPUT : READY_INPUT;
|
|
3830
3844
|
};
|
|
3831
3845
|
const X = {
|
|
@@ -3837,7 +3851,7 @@ function createUiButton(options = {}, html) {
|
|
|
3837
3851
|
};
|
|
3838
3852
|
const ke = [];
|
|
3839
3853
|
const K = [() => readIndex({
|
|
3840
|
-
"none": inputRead(v[
|
|
3854
|
+
"none": inputRead(v[17], inputStatus(17)),
|
|
3841
3855
|
"primary": "solid",
|
|
3842
3856
|
"standard": "solid",
|
|
3843
3857
|
"quiet": "ghost",
|
|
@@ -3851,8 +3865,8 @@ function createUiButton(options = {}, html) {
|
|
|
3851
3865
|
], [
|
|
3852
3866
|
readIndex({
|
|
3853
3867
|
"true": "danger",
|
|
3854
|
-
"false": inputRead(v[
|
|
3855
|
-
}, textCall("concat", [inputRead(v[
|
|
3868
|
+
"false": inputRead(v[15], inputStatus(15))
|
|
3869
|
+
}, textCall("concat", [inputRead(v[17], inputStatus(17)) === "danger"])),
|
|
3856
3870
|
"accent",
|
|
3857
3871
|
"neutral",
|
|
3858
3872
|
"neutral",
|
|
@@ -4048,12 +4062,12 @@ function createUiButton(options = {}, html) {
|
|
|
4048
4062
|
return r;
|
|
4049
4063
|
};
|
|
4050
4064
|
const p0 = (r, c, d) => {
|
|
4051
|
-
if (c &
|
|
4065
|
+
if (c & 1073873152) {
|
|
4052
4066
|
const x0 = g(0);
|
|
4053
4067
|
const s0 = toAttribute(x0, "data-appearance");
|
|
4054
4068
|
if (s0 !== r.v0) writeAttribute(r.n, "data-appearance", r.v0 = s0);
|
|
4055
4069
|
}
|
|
4056
|
-
if (c &
|
|
4070
|
+
if (c & 1073905920) {
|
|
4057
4071
|
const x1 = g(1);
|
|
4058
4072
|
if (x1 !== NONCONFORMING) {
|
|
4059
4073
|
const s1 = toAttribute(x1, "data-tone");
|
|
@@ -4070,8 +4084,8 @@ function createUiButton(options = {}, html) {
|
|
|
4070
4084
|
if (s2 !== r.v2) writeUrlAttribute(r.n, "href", r.v2 = s2);
|
|
4071
4085
|
}
|
|
4072
4086
|
}
|
|
4073
|
-
if (c &
|
|
4074
|
-
const x3 = v[
|
|
4087
|
+
if (c & 16384) {
|
|
4088
|
+
const x3 = v[14];
|
|
4075
4089
|
const s3 = toAttribute(x3, "target");
|
|
4076
4090
|
if (s3 !== r.v3) writeAttribute(r.n, "target", r.v3 = s3);
|
|
4077
4091
|
}
|
|
@@ -4105,19 +4119,21 @@ function createUiButton(options = {}, html) {
|
|
|
4105
4119
|
if (s7 !== r.v7) writeAttribute(r.n, "tabindex", r.v7 = s7);
|
|
4106
4120
|
}
|
|
4107
4121
|
}
|
|
4108
|
-
if (c &
|
|
4122
|
+
if (c & 15556) {
|
|
4109
4123
|
const s8 = hostState([
|
|
4110
4124
|
"align",
|
|
4111
4125
|
"stretch",
|
|
4112
4126
|
"size",
|
|
4113
4127
|
"shape",
|
|
4128
|
+
"square",
|
|
4114
4129
|
"loading",
|
|
4115
4130
|
"pending"
|
|
4116
4131
|
], [
|
|
4117
4132
|
v[2],
|
|
4118
|
-
v[
|
|
4133
|
+
v[13],
|
|
4119
4134
|
v[11],
|
|
4120
4135
|
v[10],
|
|
4136
|
+
v[12],
|
|
4121
4137
|
v[6],
|
|
4122
4138
|
v[7]
|
|
4123
4139
|
]);
|
|
@@ -4204,20 +4220,20 @@ function createUiButton(options = {}, html) {
|
|
|
4204
4220
|
return r;
|
|
4205
4221
|
};
|
|
4206
4222
|
const p6 = (r, c, d) => {
|
|
4207
|
-
if (c &
|
|
4223
|
+
if (c & 1073873152) {
|
|
4208
4224
|
const x0 = g(0);
|
|
4209
4225
|
const s0 = toAttribute(x0, "data-appearance");
|
|
4210
4226
|
if (s0 !== r.v0) writeAttribute(r.n, "data-appearance", r.v0 = s0);
|
|
4211
4227
|
}
|
|
4212
|
-
if (c &
|
|
4228
|
+
if (c & 1073905920) {
|
|
4213
4229
|
const x1 = g(1);
|
|
4214
4230
|
if (x1 !== NONCONFORMING) {
|
|
4215
4231
|
const s1 = toAttribute(x1, "data-tone");
|
|
4216
4232
|
if (s1 !== r.v1) writeAttribute(r.n, "data-tone", r.v1 = s1);
|
|
4217
4233
|
}
|
|
4218
4234
|
}
|
|
4219
|
-
if (c &
|
|
4220
|
-
const x2 = v[
|
|
4235
|
+
if (c & 1073807360) {
|
|
4236
|
+
const x2 = v[16];
|
|
4221
4237
|
const s2 = toAttribute(x2, "type");
|
|
4222
4238
|
if (s2 !== r.v2) writeAttribute(r.n, "type", r.v2 = s2);
|
|
4223
4239
|
}
|
|
@@ -4241,19 +4257,21 @@ function createUiButton(options = {}, html) {
|
|
|
4241
4257
|
const s5 = toAttribute(x5, "aria-busy");
|
|
4242
4258
|
if (s5 !== r.v5) writeAttribute(r.n, "aria-busy", r.v5 = s5);
|
|
4243
4259
|
}
|
|
4244
|
-
if (c &
|
|
4260
|
+
if (c & 15556) {
|
|
4245
4261
|
const s6 = hostState([
|
|
4246
4262
|
"align",
|
|
4247
4263
|
"stretch",
|
|
4248
4264
|
"size",
|
|
4249
4265
|
"shape",
|
|
4266
|
+
"square",
|
|
4250
4267
|
"loading",
|
|
4251
4268
|
"pending"
|
|
4252
4269
|
], [
|
|
4253
4270
|
v[2],
|
|
4254
|
-
v[
|
|
4271
|
+
v[13],
|
|
4255
4272
|
v[11],
|
|
4256
4273
|
v[10],
|
|
4274
|
+
v[12],
|
|
4257
4275
|
v[6],
|
|
4258
4276
|
v[7]
|
|
4259
4277
|
]);
|
|
@@ -4335,12 +4353,12 @@ function createUiButton(options = {}, html) {
|
|
|
4335
4353
|
return r;
|
|
4336
4354
|
};
|
|
4337
4355
|
const p12 = (r, c, d) => {
|
|
4338
|
-
if (c &
|
|
4356
|
+
if (c & 1073873152) {
|
|
4339
4357
|
const x0 = g(0);
|
|
4340
4358
|
const s0 = toAttribute(x0, "data-appearance");
|
|
4341
4359
|
if (s0 !== r.v0) writeAttribute(r.n, "data-appearance", r.v0 = s0);
|
|
4342
4360
|
}
|
|
4343
|
-
if (c &
|
|
4361
|
+
if (c & 1073905920) {
|
|
4344
4362
|
const x1 = g(1);
|
|
4345
4363
|
if (x1 !== NONCONFORMING) {
|
|
4346
4364
|
const s1 = toAttribute(x1, "data-tone");
|
|
@@ -4357,8 +4375,8 @@ function createUiButton(options = {}, html) {
|
|
|
4357
4375
|
if (s2 !== r.v2) writeUrlAttribute(r.n, "href", r.v2 = s2);
|
|
4358
4376
|
}
|
|
4359
4377
|
}
|
|
4360
|
-
if (c &
|
|
4361
|
-
const x3 = v[
|
|
4378
|
+
if (c & 16384) {
|
|
4379
|
+
const x3 = v[14];
|
|
4362
4380
|
const s3 = toAttribute(x3, "target");
|
|
4363
4381
|
if (s3 !== r.v3) writeAttribute(r.n, "target", r.v3 = s3);
|
|
4364
4382
|
}
|
|
@@ -4392,19 +4410,21 @@ function createUiButton(options = {}, html) {
|
|
|
4392
4410
|
if (s7 !== r.v7) writeAttribute(r.n, "tabindex", r.v7 = s7);
|
|
4393
4411
|
}
|
|
4394
4412
|
}
|
|
4395
|
-
if (c &
|
|
4413
|
+
if (c & 15556) {
|
|
4396
4414
|
const s8 = hostState([
|
|
4397
4415
|
"align",
|
|
4398
4416
|
"stretch",
|
|
4399
4417
|
"size",
|
|
4400
4418
|
"shape",
|
|
4419
|
+
"square",
|
|
4401
4420
|
"loading",
|
|
4402
4421
|
"pending"
|
|
4403
4422
|
], [
|
|
4404
4423
|
v[2],
|
|
4405
|
-
v[
|
|
4424
|
+
v[13],
|
|
4406
4425
|
v[11],
|
|
4407
4426
|
v[10],
|
|
4427
|
+
v[12],
|
|
4408
4428
|
v[6],
|
|
4409
4429
|
v[7]
|
|
4410
4430
|
]);
|
|
@@ -4474,20 +4494,20 @@ function createUiButton(options = {}, html) {
|
|
|
4474
4494
|
return r;
|
|
4475
4495
|
};
|
|
4476
4496
|
const p16 = (r, c, d) => {
|
|
4477
|
-
if (c &
|
|
4497
|
+
if (c & 1073873152) {
|
|
4478
4498
|
const x0 = g(0);
|
|
4479
4499
|
const s0 = toAttribute(x0, "data-appearance");
|
|
4480
4500
|
if (s0 !== r.v0) writeAttribute(r.n, "data-appearance", r.v0 = s0);
|
|
4481
4501
|
}
|
|
4482
|
-
if (c &
|
|
4502
|
+
if (c & 1073905920) {
|
|
4483
4503
|
const x1 = g(1);
|
|
4484
4504
|
if (x1 !== NONCONFORMING) {
|
|
4485
4505
|
const s1 = toAttribute(x1, "data-tone");
|
|
4486
4506
|
if (s1 !== r.v1) writeAttribute(r.n, "data-tone", r.v1 = s1);
|
|
4487
4507
|
}
|
|
4488
4508
|
}
|
|
4489
|
-
if (c &
|
|
4490
|
-
const x2 = v[
|
|
4509
|
+
if (c & 1073807360) {
|
|
4510
|
+
const x2 = v[16];
|
|
4491
4511
|
const s2 = toAttribute(x2, "type");
|
|
4492
4512
|
if (s2 !== r.v2) writeAttribute(r.n, "type", r.v2 = s2);
|
|
4493
4513
|
}
|
|
@@ -4511,19 +4531,21 @@ function createUiButton(options = {}, html) {
|
|
|
4511
4531
|
const s5 = toAttribute(x5, "aria-busy");
|
|
4512
4532
|
if (s5 !== r.v5) writeAttribute(r.n, "aria-busy", r.v5 = s5);
|
|
4513
4533
|
}
|
|
4514
|
-
if (c &
|
|
4534
|
+
if (c & 15556) {
|
|
4515
4535
|
const s6 = hostState([
|
|
4516
4536
|
"align",
|
|
4517
4537
|
"stretch",
|
|
4518
4538
|
"size",
|
|
4519
4539
|
"shape",
|
|
4540
|
+
"square",
|
|
4520
4541
|
"loading",
|
|
4521
4542
|
"pending"
|
|
4522
4543
|
], [
|
|
4523
4544
|
v[2],
|
|
4524
|
-
v[
|
|
4545
|
+
v[13],
|
|
4525
4546
|
v[11],
|
|
4526
4547
|
v[10],
|
|
4548
|
+
v[12],
|
|
4527
4549
|
v[6],
|
|
4528
4550
|
v[7]
|
|
4529
4551
|
]);
|
|
@@ -4581,7 +4603,7 @@ function createUiButton(options = {}, html) {
|
|
|
4581
4603
|
R = M[a](element, d);
|
|
4582
4604
|
return;
|
|
4583
4605
|
}
|
|
4584
|
-
if (c &
|
|
4606
|
+
if (c & 1073873160) {
|
|
4585
4607
|
const t = g(0) === "card" && v[3] === "a" ? 0 : g(0) === "card" ? 1 : v[3] === "a" ? 2 : 3;
|
|
4586
4608
|
if (t !== a) {
|
|
4587
4609
|
dispose(R);
|
|
@@ -4614,6 +4636,7 @@ defineComponent$1("ui-button", createUiButton, [
|
|
|
4614
4636
|
"rel",
|
|
4615
4637
|
"shape",
|
|
4616
4638
|
"size",
|
|
4639
|
+
"square",
|
|
4617
4640
|
"stretch",
|
|
4618
4641
|
"target",
|
|
4619
4642
|
"tone",
|
|
@@ -8147,6 +8170,84 @@ defineComponent$1("ui-list", createUiList, [
|
|
|
8147
8170
|
"markers"
|
|
8148
8171
|
]);
|
|
8149
8172
|
//#endregion
|
|
8173
|
+
//#region components/shared/active-item-reveal.js
|
|
8174
|
+
var pending = /* @__PURE__ */ new WeakMap();
|
|
8175
|
+
function cancelActiveItemReveal(root) {
|
|
8176
|
+
const current = pending.get(root);
|
|
8177
|
+
if (!current) return;
|
|
8178
|
+
root.ownerDocument.defaultView.cancelAnimationFrame(current.frame);
|
|
8179
|
+
pending.delete(root);
|
|
8180
|
+
}
|
|
8181
|
+
function scrollport(root, item, view) {
|
|
8182
|
+
for (let parent = item.parentElement; parent && root.contains(parent); parent = parent.parentElement) {
|
|
8183
|
+
if (parent.scrollHeight > parent.clientHeight && /^(auto|scroll|hidden)$/.test(view.getComputedStyle(parent).overflowY)) return parent;
|
|
8184
|
+
if (parent === root) break;
|
|
8185
|
+
}
|
|
8186
|
+
return null;
|
|
8187
|
+
}
|
|
8188
|
+
function destination(port, item, view) {
|
|
8189
|
+
const bounds = port.getBoundingClientRect();
|
|
8190
|
+
const scale = port.offsetHeight ? bounds.height / port.offsetHeight : 1;
|
|
8191
|
+
if (!scale) return port.scrollTop;
|
|
8192
|
+
const style = view.getComputedStyle(port);
|
|
8193
|
+
const fade = style.maskImage !== "none" ? parseFloat(style.getPropertyValue("--_ui-scroll-fade-size")) || 0 : 0;
|
|
8194
|
+
const top = bounds.top + (port.clientTop + Math.max(parseFloat(style.scrollPaddingTop) || 0, fade)) * scale;
|
|
8195
|
+
const bottom = bounds.top + (port.clientTop + port.clientHeight - Math.max(parseFloat(style.scrollPaddingBottom) || 0, fade)) * scale;
|
|
8196
|
+
const row = item.getBoundingClientRect();
|
|
8197
|
+
const delta = row.top < top ? row.top - top : row.bottom > bottom ? Math.min(row.bottom - bottom, row.top - top) : 0;
|
|
8198
|
+
return Math.max(0, Math.min(port.scrollHeight - port.clientHeight, port.scrollTop + delta / scale));
|
|
8199
|
+
}
|
|
8200
|
+
/** Resolve after rendering so HTML and framework adapters reveal the same active row. */
|
|
8201
|
+
function revealActiveItem(root, resolve) {
|
|
8202
|
+
const view = root.ownerDocument.defaultView;
|
|
8203
|
+
const item = typeof resolve === "function" ? resolve() : resolve;
|
|
8204
|
+
if (item && pending.get(root)?.item === item) return;
|
|
8205
|
+
cancelActiveItemReveal(root);
|
|
8206
|
+
const current = {
|
|
8207
|
+
item,
|
|
8208
|
+
frame: 0
|
|
8209
|
+
};
|
|
8210
|
+
pending.set(root, current);
|
|
8211
|
+
current.frame = view.requestAnimationFrame(() => {
|
|
8212
|
+
current.item = typeof resolve === "function" ? resolve() : resolve;
|
|
8213
|
+
if (!root.isConnected || !current.item?.getClientRects().length || !root.contains(current.item)) {
|
|
8214
|
+
pending.delete(root);
|
|
8215
|
+
return;
|
|
8216
|
+
}
|
|
8217
|
+
const port = scrollport(root, current.item, view);
|
|
8218
|
+
if (!port) {
|
|
8219
|
+
pending.delete(root);
|
|
8220
|
+
return;
|
|
8221
|
+
}
|
|
8222
|
+
const from = port.scrollTop;
|
|
8223
|
+
const to = destination(port, current.item, view);
|
|
8224
|
+
const token = view.getComputedStyle(root).getPropertyValue("--ui-motion-fast").trim();
|
|
8225
|
+
const duration = view.matchMedia("(prefers-reduced-motion: reduce)").matches ? 0 : (parseFloat(token) || 0) * (token.endsWith("ms") ? 1 : 1e3);
|
|
8226
|
+
if (Math.abs(to - from) < 1 || duration <= 0) {
|
|
8227
|
+
port.scrollTop = to;
|
|
8228
|
+
pending.delete(root);
|
|
8229
|
+
return;
|
|
8230
|
+
}
|
|
8231
|
+
const started = view.performance.now();
|
|
8232
|
+
const animate = (now) => {
|
|
8233
|
+
if (!root.isConnected || !current.item.getClientRects().length) {
|
|
8234
|
+
pending.delete(root);
|
|
8235
|
+
return;
|
|
8236
|
+
}
|
|
8237
|
+
const progress = Math.min(1, (now - started) / duration);
|
|
8238
|
+
port.scrollTop = from + (to - from) * (1 - (1 - progress) ** 3);
|
|
8239
|
+
if (progress < 1) current.frame = view.requestAnimationFrame(animate);
|
|
8240
|
+
else pending.delete(root);
|
|
8241
|
+
};
|
|
8242
|
+
current.frame = view.requestAnimationFrame(animate);
|
|
8243
|
+
});
|
|
8244
|
+
}
|
|
8245
|
+
function focusAndRevealItem(root, item) {
|
|
8246
|
+
if (!item) return;
|
|
8247
|
+
item.focus({ preventScroll: true });
|
|
8248
|
+
revealActiveItem(root, item);
|
|
8249
|
+
}
|
|
8250
|
+
//#endregion
|
|
8150
8251
|
//#region components/shared/menu-navigation.js
|
|
8151
8252
|
var itemSelector = "[role=\"menuitem\"], [role=\"menuitemcheckbox\"], [role=\"menuitemradio\"]";
|
|
8152
8253
|
var searches = /* @__PURE__ */ new WeakMap();
|
|
@@ -8200,7 +8301,7 @@ function navigateMenu(event, menu) {
|
|
|
8200
8301
|
}
|
|
8201
8302
|
}
|
|
8202
8303
|
event.preventDefault();
|
|
8203
|
-
if (next >= 0) items[next]
|
|
8304
|
+
if (next >= 0) focusAndRevealItem(menu, items[next]);
|
|
8204
8305
|
return true;
|
|
8205
8306
|
}
|
|
8206
8307
|
//#endregion
|
|
@@ -8236,11 +8337,12 @@ function connect$7(host) {
|
|
|
8236
8337
|
reason: "action",
|
|
8237
8338
|
trigger
|
|
8238
8339
|
});
|
|
8239
|
-
requestAnimationFrame(() => items()[0]
|
|
8340
|
+
requestAnimationFrame(() => focusAndRevealItem(element, items()[0]));
|
|
8240
8341
|
}
|
|
8241
8342
|
};
|
|
8242
8343
|
const close = (reason, trigger) => {
|
|
8243
8344
|
if (!host.state.internalOpen) return;
|
|
8345
|
+
cancelActiveItemReveal(element);
|
|
8244
8346
|
host.state.internalOpen = false;
|
|
8245
8347
|
host.dispatch("close", {
|
|
8246
8348
|
open: false,
|
|
@@ -8336,6 +8438,7 @@ function connect$7(host) {
|
|
|
8336
8438
|
reason: "action",
|
|
8337
8439
|
trigger
|
|
8338
8440
|
});
|
|
8441
|
+
cancelActiveItemReveal(element);
|
|
8339
8442
|
host.state.internalOpen = false;
|
|
8340
8443
|
};
|
|
8341
8444
|
const onClick = (event) => select(menuItemFrom(event.target), triggerFor(event));
|
|
@@ -8365,6 +8468,7 @@ function connect$7(host) {
|
|
|
8365
8468
|
const stop = host.effect(apply);
|
|
8366
8469
|
apply();
|
|
8367
8470
|
return () => {
|
|
8471
|
+
cancelActiveItemReveal(element);
|
|
8368
8472
|
stop();
|
|
8369
8473
|
ids.stop();
|
|
8370
8474
|
element.removeEventListener("click", onClick);
|
package/vue/index.d.ts
CHANGED
|
@@ -59,6 +59,7 @@ export { default as Meter } from "./UiMeter.js";
|
|
|
59
59
|
export { default as NavItem } from "./UiNavItem.js";
|
|
60
60
|
export { default as NumberInput } from "./UiNumberInput.js";
|
|
61
61
|
export { default as PageHeader } from "./UiPageHeader.js";
|
|
62
|
+
export { default as Pagination } from "./UiPagination.js";
|
|
62
63
|
export { default as Popover } from "./UiPopover.js";
|
|
63
64
|
export { default as Radio } from "./UiRadio.js";
|
|
64
65
|
export { default as RadioGroup } from "./UiRadioGroup.js";
|
|
@@ -70,6 +71,7 @@ export { default as Section } from "./UiSection.js";
|
|
|
70
71
|
export { default as Select } from "./UiSelect.js";
|
|
71
72
|
export { default as Separator } from "./UiSeparator.js";
|
|
72
73
|
export { default as Sidebar } from "./UiSidebar.js";
|
|
74
|
+
export { default as Skeleton } from "./UiSkeleton.js";
|
|
73
75
|
export { default as Slider } from "./UiSlider.js";
|
|
74
76
|
export { default as Spinner } from "./UiSpinner.js";
|
|
75
77
|
export { default as Stack } from "./UiStack.js";
|
package/vue/index.js
CHANGED
|
@@ -69,6 +69,7 @@ import { t as UiMenuGroup_default } from "./chunks/UiMenuGroup.js";
|
|
|
69
69
|
import { t as UiMeter_default } from "./chunks/UiMeter.js";
|
|
70
70
|
import { t as UiNavItem_default } from "./chunks/UiNavItem.js";
|
|
71
71
|
import { t as UiPageHeader_default } from "./chunks/UiPageHeader.js";
|
|
72
|
+
import { t as UiPagination_default } from "./chunks/UiPagination.js";
|
|
72
73
|
import { t as UiRadio_default } from "./chunks/UiRadio.js";
|
|
73
74
|
import { t as UiReel_default } from "./chunks/UiReel.js";
|
|
74
75
|
import { t as UiSearchShell_default } from "./chunks/UiSearchShell.js";
|
|
@@ -76,6 +77,7 @@ import { t as UiSection_default } from "./chunks/UiSection.js";
|
|
|
76
77
|
import { t as UiSelect_default } from "./chunks/UiSelect.js";
|
|
77
78
|
import { t as UiSeparator_default } from "./chunks/UiSeparator.js";
|
|
78
79
|
import { t as UiSidebar_default } from "./chunks/UiSidebar.js";
|
|
80
|
+
import { t as UiSkeleton_default } from "./chunks/UiSkeleton.js";
|
|
79
81
|
import { t as UiSlider_default } from "./chunks/UiSlider.js";
|
|
80
82
|
import { t as UiStatusMessage_default } from "./chunks/UiStatusMessage.js";
|
|
81
83
|
import { t as UiSwitch_default } from "./chunks/UiSwitch.js";
|
|
@@ -88,4 +90,4 @@ import { t as UiTopBar_default } from "./chunks/UiTopBar.js";
|
|
|
88
90
|
import { t as UiTree_default } from "./chunks/UiTree.js";
|
|
89
91
|
import { t as UiTreeItem_default } from "./chunks/UiTreeItem.js";
|
|
90
92
|
import { trackInputModality } from "@threadlabs/looma/components/shared/input-modality.js";
|
|
91
|
-
export { UiActionBar_default as ActionBar, UiAffordanceScope_default as AffordanceScope, UiAvatar_default as Avatar, UiAvatarGroup_default as AvatarGroup, UiBadge_default as Badge, UiBreadcrumbItem_default as BreadcrumbItem, UiBreadcrumbs_default as Breadcrumbs, UiButton_default as Button, UiCallout_default as Callout, UiCard_default as Card, UiCheckbox_default as Checkbox, UiCluster_default as Cluster, UiColorPicker_default as ColorPicker, UiCombobox_default as Combobox, UiContainer_default as Container, UiContextMenu_default as ContextMenu, UiCover_default as Cover, UiCurveEditor_default as CurveEditor, UiCycleButton_default as CycleButton, UiDescriptionItem_default as DescriptionItem, UiDescriptionList_default as DescriptionList, UiDialog_default as Dialog, UiDisclosure_default as Disclosure, UiEditable_default as Editable, UiEditorBlockActions_default as EditorBlockActions, UiEditorChipEditor_default as EditorChipEditor, UiEditorCodeLanguage_default as EditorCodeLanguage, UiEditorFootnoteEditor_default as EditorFootnoteEditor, UiEditorImageToolbar_default as EditorImageToolbar, UiEditorInsertTableGrid_default as EditorInsertTableGrid, UiEditorLinkCard_default as EditorLinkCard, UiEditorLinkForm_default as EditorLinkForm, UiEditorMentionMenu_default as EditorMentionMenu, UiEditorMentionMenuItem_default as EditorMentionMenuItem, UiEditorSlashMenu_default as EditorSlashMenu, UiEditorSlashMenuGroup_default as EditorSlashMenuGroup, UiEditorSlashMenuItem_default as EditorSlashMenuItem, UiEditorSurface_default as EditorSurface, UiEditorTableContextMenu_default as EditorTableContextMenu, UiEditorTableOverlay_default as EditorTableOverlay, UiEditorTableToolbar_default as EditorTableToolbar, UiEditorToolbar_default as EditorToolbar, UiFloatingActionButton_default as FloatingActionButton, UiFormField_default as FormField, UiGrid_default as Grid, UiIcon_default as Icon, UiIconButton_default as IconButton, UiImage_default as Image, UiInput_default as Input, UiInputGroup_default as InputGroup, UiLightEditor_default as LightEditor, UiList_default as List, UiListItem_default as ListItem, UiListbox_default as Listbox, UiMenu_default as Menu, UiMenuGroup_default as MenuGroup, UiMenuItem_default as MenuItem, UiMeter_default as Meter, UiNavItem_default as NavItem, UiNumberInput_default as NumberInput, UiPageHeader_default as PageHeader, UiPopover_default as Popover, UiRadio_default as Radio, UiRadioGroup_default as RadioGroup, UiReel_default as Reel, UiScrollArea_default as ScrollArea, UiSearchResultRow_default as SearchResultRow, UiSearchShell_default as SearchShell, UiSection_default as Section, UiSelect_default as Select, UiSeparator_default as Separator, UiSidebar_default as Sidebar, UiSlider_default as Slider, UiSpinner_default as Spinner, UiStack_default as Stack, UiStatusMessage_default as StatusMessage, UiSwatch_default as Swatch, UiSwitch_default as Switch, UiSwitcher_default as Switcher, UiTable_default as Table, UiTabs_default as Tabs, UiText_default as Text, UiTextarea_default as Textarea, UiToast_default as Toast, UiToastRegion_default as ToastRegion, UiTooltip_default as Tooltip, UiTopBar_default as TopBar, UiTree_default as Tree, UiTreeItem_default as TreeItem, trackInputModality };
|
|
93
|
+
export { UiActionBar_default as ActionBar, UiAffordanceScope_default as AffordanceScope, UiAvatar_default as Avatar, UiAvatarGroup_default as AvatarGroup, UiBadge_default as Badge, UiBreadcrumbItem_default as BreadcrumbItem, UiBreadcrumbs_default as Breadcrumbs, UiButton_default as Button, UiCallout_default as Callout, UiCard_default as Card, UiCheckbox_default as Checkbox, UiCluster_default as Cluster, UiColorPicker_default as ColorPicker, UiCombobox_default as Combobox, UiContainer_default as Container, UiContextMenu_default as ContextMenu, UiCover_default as Cover, UiCurveEditor_default as CurveEditor, UiCycleButton_default as CycleButton, UiDescriptionItem_default as DescriptionItem, UiDescriptionList_default as DescriptionList, UiDialog_default as Dialog, UiDisclosure_default as Disclosure, UiEditable_default as Editable, UiEditorBlockActions_default as EditorBlockActions, UiEditorChipEditor_default as EditorChipEditor, UiEditorCodeLanguage_default as EditorCodeLanguage, UiEditorFootnoteEditor_default as EditorFootnoteEditor, UiEditorImageToolbar_default as EditorImageToolbar, UiEditorInsertTableGrid_default as EditorInsertTableGrid, UiEditorLinkCard_default as EditorLinkCard, UiEditorLinkForm_default as EditorLinkForm, UiEditorMentionMenu_default as EditorMentionMenu, UiEditorMentionMenuItem_default as EditorMentionMenuItem, UiEditorSlashMenu_default as EditorSlashMenu, UiEditorSlashMenuGroup_default as EditorSlashMenuGroup, UiEditorSlashMenuItem_default as EditorSlashMenuItem, UiEditorSurface_default as EditorSurface, UiEditorTableContextMenu_default as EditorTableContextMenu, UiEditorTableOverlay_default as EditorTableOverlay, UiEditorTableToolbar_default as EditorTableToolbar, UiEditorToolbar_default as EditorToolbar, UiFloatingActionButton_default as FloatingActionButton, UiFormField_default as FormField, UiGrid_default as Grid, UiIcon_default as Icon, UiIconButton_default as IconButton, UiImage_default as Image, UiInput_default as Input, UiInputGroup_default as InputGroup, UiLightEditor_default as LightEditor, UiList_default as List, UiListItem_default as ListItem, UiListbox_default as Listbox, UiMenu_default as Menu, UiMenuGroup_default as MenuGroup, UiMenuItem_default as MenuItem, UiMeter_default as Meter, UiNavItem_default as NavItem, UiNumberInput_default as NumberInput, UiPageHeader_default as PageHeader, UiPagination_default as Pagination, UiPopover_default as Popover, UiRadio_default as Radio, UiRadioGroup_default as RadioGroup, UiReel_default as Reel, UiScrollArea_default as ScrollArea, UiSearchResultRow_default as SearchResultRow, UiSearchShell_default as SearchShell, UiSection_default as Section, UiSelect_default as Select, UiSeparator_default as Separator, UiSidebar_default as Sidebar, UiSkeleton_default as Skeleton, UiSlider_default as Slider, UiSpinner_default as Spinner, UiStack_default as Stack, UiStatusMessage_default as StatusMessage, UiSwatch_default as Swatch, UiSwitch_default as Switch, UiSwitcher_default as Switcher, UiTable_default as Table, UiTabs_default as Tabs, UiText_default as Text, UiTextarea_default as Textarea, UiToast_default as Toast, UiToastRegion_default as ToastRegion, UiTooltip_default as Tooltip, UiTopBar_default as TopBar, UiTree_default as Tree, UiTreeItem_default as TreeItem, trackInputModality };
|