@formicoidea/labre-core 0.47.1 → 0.49.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/_pkgs/affine-block-data-view/configs/slash-menu.js +3 -1
- package/dist/_pkgs/affine-block-data-view/view.d.ts +17 -1
- package/dist/_pkgs/affine-block-data-view/view.js +21 -2
- package/dist/_pkgs/affine-block-database/commands.d.ts +2 -2
- package/dist/_pkgs/affine-block-database/commands.js +3 -3
- package/dist/_pkgs/affine-block-database/components/values-banner.d.ts +28 -0
- package/dist/_pkgs/affine-block-database/components/values-banner.js +199 -0
- package/dist/_pkgs/affine-block-database/configs/slash-menu.d.ts +6 -1
- package/dist/_pkgs/affine-block-database/configs/slash-menu.js +57 -70
- package/dist/_pkgs/affine-block-database/data-source.d.ts +9 -5
- package/dist/_pkgs/affine-block-database/data-source.js +11 -7
- package/dist/_pkgs/affine-block-database/database-block-styles.d.ts +2 -0
- package/dist/_pkgs/affine-block-database/database-block-styles.js +15 -0
- package/dist/_pkgs/affine-block-database/database-block.d.ts +23 -0
- package/dist/_pkgs/affine-block-database/database-block.js +141 -19
- package/dist/_pkgs/affine-block-database/effects.js +2 -0
- package/dist/_pkgs/affine-block-database/external-data-source.d.ts +69 -2
- package/dist/_pkgs/affine-block-database/external-data-source.js +88 -16
- package/dist/_pkgs/affine-block-database/index.d.ts +2 -0
- package/dist/_pkgs/affine-block-database/index.js +2 -0
- package/dist/_pkgs/affine-block-database/linked-view.d.ts +38 -0
- package/dist/_pkgs/affine-block-database/linked-view.js +109 -0
- package/dist/_pkgs/affine-block-database/properties/index.d.ts +2 -0
- package/dist/_pkgs/affine-block-database/properties/index.js +2 -0
- package/dist/_pkgs/affine-block-database/properties/text/hosted.d.ts +15 -0
- package/dist/_pkgs/affine-block-database/properties/text/hosted.js +24 -0
- package/dist/_pkgs/affine-block-database/properties/title/hosted.d.ts +16 -0
- package/dist/_pkgs/affine-block-database/properties/title/hosted.js +42 -0
- package/dist/_pkgs/affine-block-database/service/index.d.ts +3 -0
- package/dist/_pkgs/affine-block-database/service/index.js +3 -0
- package/dist/_pkgs/affine-block-database/service/new-row-menu.d.ts +49 -0
- package/dist/_pkgs/affine-block-database/service/new-row-menu.js +21 -0
- package/dist/_pkgs/affine-block-database/service/open-row.d.ts +77 -0
- package/dist/_pkgs/affine-block-database/service/open-row.js +62 -0
- package/dist/_pkgs/affine-block-database/service/properties-panel.d.ts +23 -0
- package/dist/_pkgs/affine-block-database/service/properties-panel.js +33 -0
- package/dist/_pkgs/affine-block-database/translations.d.ts +10 -0
- package/dist/_pkgs/affine-block-database/translations.js +35 -0
- package/dist/_pkgs/affine-block-database/view-creation.d.ts +10 -0
- package/dist/_pkgs/affine-block-database/view-creation.js +14 -0
- package/dist/_pkgs/affine-block-database/view.d.ts +31 -1
- package/dist/_pkgs/affine-block-database/view.js +48 -4
- package/dist/_pkgs/affine-block-database/views/index.d.ts +30 -3
- package/dist/_pkgs/affine-block-database/views/index.js +44 -3
- package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/configs/new-doc.d.ts +25 -0
- package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/configs/new-doc.js +71 -0
- package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/configs/slash-menu.js +3 -11
- package/dist/_pkgs/affine-components/date-picker/date-picker.d.ts +20 -0
- package/dist/_pkgs/affine-components/date-picker/date-picker.js +60 -26
- package/dist/_pkgs/affine-components/date-picker/style.js +1 -0
- package/dist/_pkgs/affine-components/translations.d.ts +4 -0
- package/dist/_pkgs/affine-components/translations.js +26 -0
- package/dist/_pkgs/affine-fragment-doc-title/doc-title.d.ts +18 -0
- package/dist/_pkgs/affine-fragment-doc-title/doc-title.js +41 -2
- package/dist/_pkgs/affine-fragment-doc-title/index.d.ts +1 -1
- package/dist/_pkgs/affine-fragment-doc-title/index.js +1 -1
- package/dist/_pkgs/affine-fragment-doc-title/title-band/band-cell.d.ts +30 -0
- package/dist/_pkgs/affine-fragment-doc-title/title-band/band-cell.js +137 -0
- package/dist/_pkgs/affine-fragment-doc-title/title-band/format.d.ts +7 -19
- package/dist/_pkgs/affine-fragment-doc-title/title-band/format.js +0 -38
- package/dist/_pkgs/affine-fragment-doc-title/title-band/show-here.d.ts +19 -0
- package/dist/_pkgs/affine-fragment-doc-title/title-band/show-here.js +61 -0
- package/dist/_pkgs/affine-fragment-doc-title/title-band/title-band.d.ts +33 -18
- package/dist/_pkgs/affine-fragment-doc-title/title-band/title-band.js +263 -205
- package/dist/_pkgs/affine-fragment-doc-title/translations.d.ts +7 -4
- package/dist/_pkgs/affine-fragment-doc-title/translations.js +12 -9
- package/dist/_pkgs/affine-model/blocks/database/types.d.ts +16 -0
- package/dist/_pkgs/affine-model/blocks/database/types.js +5 -1
- package/dist/_pkgs/affine-shared/services/data-source-picker-service.d.ts +139 -0
- package/dist/_pkgs/affine-shared/services/data-source-picker-service.js +22 -0
- package/dist/_pkgs/affine-shared/services/index.d.ts +1 -0
- package/dist/_pkgs/affine-shared/services/index.js +1 -0
- package/dist/_pkgs/affine-shared/services/linked-doc-creation-service.d.ts +15 -6
- package/dist/_pkgs/affine-shared/services/telemetry-service/database.d.ts +59 -0
- package/dist/_pkgs/affine-shared/services/title-band-service.d.ts +34 -7
- package/dist/_pkgs/affine-shared/utils/model/doc.d.ts +10 -2
- package/dist/_pkgs/affine-shared/utils/model/doc.js +17 -7
- package/dist/_pkgs/data-view/core/component/cell-status/cell-status-css.d.ts +2 -0
- package/dist/_pkgs/data-view/core/component/cell-status/cell-status-css.js +16 -0
- package/dist/_pkgs/data-view/core/component/cell-status/cell-status.d.ts +10 -0
- package/dist/_pkgs/data-view/core/component/cell-status/cell-status.js +23 -0
- package/dist/_pkgs/data-view/core/component/index.d.ts +1 -0
- package/dist/_pkgs/data-view/core/component/index.js +1 -0
- package/dist/_pkgs/data-view/core/component/overflow/fit.d.ts +26 -0
- package/dist/_pkgs/data-view/core/component/overflow/fit.js +48 -0
- package/dist/_pkgs/data-view/core/component/overflow/overflow.d.ts +26 -3
- package/dist/_pkgs/data-view/core/component/overflow/overflow.js +84 -31
- package/dist/_pkgs/data-view/core/component/tags/colors.d.ts +7 -0
- package/dist/_pkgs/data-view/core/component/tags/colors.js +22 -10
- package/dist/_pkgs/data-view/core/component/tags/multi-tag-select.d.ts +25 -2
- package/dist/_pkgs/data-view/core/component/tags/multi-tag-select.js +81 -32
- package/dist/_pkgs/data-view/core/data-source/base.d.ts +5 -1
- package/dist/_pkgs/data-view/core/data-source/base.js +7 -1
- package/dist/_pkgs/data-view/core/data-source/hydration.d.ts +44 -0
- package/dist/_pkgs/data-view/core/data-source/hydration.js +31 -0
- package/dist/_pkgs/data-view/core/data-source/index.d.ts +1 -0
- package/dist/_pkgs/data-view/core/data-source/index.js +1 -0
- package/dist/_pkgs/data-view/core/data-view.d.ts +22 -2
- package/dist/_pkgs/data-view/core/data-view.js +14 -0
- package/dist/_pkgs/data-view/core/effect.js +4 -0
- package/dist/_pkgs/data-view/core/group-by/collapsed-state.d.ts +3 -0
- package/dist/_pkgs/data-view/core/group-by/collapsed-state.js +59 -0
- package/dist/_pkgs/data-view/core/group-by/group-properties.d.ts +21 -0
- package/dist/_pkgs/data-view/core/group-by/group-properties.js +38 -0
- package/dist/_pkgs/data-view/core/group-by/group-title.js +4 -0
- package/dist/_pkgs/data-view/core/group-by/group-visibility.d.ts +40 -0
- package/dist/_pkgs/data-view/core/group-by/group-visibility.js +291 -0
- package/dist/_pkgs/data-view/core/group-by/setting.d.ts +11 -3
- package/dist/_pkgs/data-view/core/group-by/setting.js +81 -8
- package/dist/_pkgs/data-view/core/group-by/trait.d.ts +22 -0
- package/dist/_pkgs/data-view/core/group-by/trait.js +62 -1
- package/dist/_pkgs/data-view/core/index.d.ts +3 -0
- package/dist/_pkgs/data-view/core/index.js +3 -0
- package/dist/_pkgs/data-view/core/property/base-cell.d.ts +15 -1
- package/dist/_pkgs/data-view/core/property/base-cell.js +28 -3
- package/dist/_pkgs/data-view/core/property/index.d.ts +1 -0
- package/dist/_pkgs/data-view/core/property/index.js +1 -0
- package/dist/_pkgs/data-view/core/property/standalone-cell.d.ts +109 -0
- package/dist/_pkgs/data-view/core/property/standalone-cell.js +324 -0
- package/dist/_pkgs/data-view/core/telemetry.d.ts +16 -0
- package/dist/_pkgs/data-view/core/telemetry.js +22 -0
- package/dist/_pkgs/data-view/core/utils/new-tab-click.d.ts +2 -0
- package/dist/_pkgs/data-view/core/utils/new-tab-click.js +4 -0
- package/dist/_pkgs/data-view/core/utils/wording.d.ts +11 -0
- package/dist/_pkgs/data-view/core/utils/wording.js +9 -0
- package/dist/_pkgs/data-view/core/view/data-view.d.ts +7 -0
- package/dist/_pkgs/data-view/core/view/default-name.d.ts +10 -0
- package/dist/_pkgs/data-view/core/view/default-name.js +14 -0
- package/dist/_pkgs/data-view/core/view/index.d.ts +2 -0
- package/dist/_pkgs/data-view/core/view/index.js +2 -0
- package/dist/_pkgs/data-view/core/view/open-in.d.ts +27 -0
- package/dist/_pkgs/data-view/core/view/open-in.js +39 -0
- package/dist/_pkgs/data-view/core/view-manager/cell.d.ts +5 -0
- package/dist/_pkgs/data-view/core/view-manager/cell.js +11 -0
- package/dist/_pkgs/data-view/core/view-manager/index.d.ts +3 -0
- package/dist/_pkgs/data-view/core/view-manager/index.js +3 -0
- package/dist/_pkgs/data-view/core/view-manager/new-row-menu-opener.d.ts +18 -0
- package/dist/_pkgs/data-view/core/view-manager/new-row-menu-opener.js +2 -0
- package/dist/_pkgs/data-view/core/view-manager/properties-panel-opener.d.ts +8 -0
- package/dist/_pkgs/data-view/core/view-manager/properties-panel-opener.js +9 -0
- package/dist/_pkgs/data-view/core/view-manager/property.d.ts +14 -0
- package/dist/_pkgs/data-view/core/view-manager/single-view.d.ts +28 -1
- package/dist/_pkgs/data-view/core/view-manager/single-view.js +45 -1
- package/dist/_pkgs/data-view/core/view-manager/view-creation.d.ts +49 -0
- package/dist/_pkgs/data-view/core/view-manager/view-creation.js +40 -0
- package/dist/_pkgs/data-view/core/view-manager/view-manager.d.ts +6 -2
- package/dist/_pkgs/data-view/core/view-manager/view-manager.js +2 -2
- package/dist/_pkgs/data-view/property-presets/date/cell-renderer.d.ts +2 -0
- package/dist/_pkgs/data-view/property-presets/date/cell-renderer.js +11 -2
- package/dist/_pkgs/data-view/property-presets/multi-select/cell-renderer.js +3 -1
- package/dist/_pkgs/data-view/property-presets/select/cell-renderer.js +3 -1
- package/dist/_pkgs/data-view/property-presets/text/cell-renderer.js +3 -1
- package/dist/_pkgs/data-view/translations.d.ts +55 -0
- package/dist/_pkgs/data-view/translations.js +181 -0
- package/dist/_pkgs/data-view/view-presets/calendar/define.js +3 -1
- package/dist/_pkgs/data-view/view-presets/convert.js +2 -0
- package/dist/_pkgs/data-view/view-presets/effect.js +4 -0
- package/dist/_pkgs/data-view/view-presets/flat/flat-converts.d.ts +2 -0
- package/dist/_pkgs/data-view/view-presets/flat/flat-converts.js +35 -0
- package/dist/_pkgs/data-view/view-presets/flat/flat-view-manager.d.ts +79 -0
- package/dist/_pkgs/data-view/view-presets/flat/flat-view-manager.js +194 -0
- package/dist/_pkgs/data-view/view-presets/flat/flat-view-ui.d.ts +56 -0
- package/dist/_pkgs/data-view/view-presets/flat/flat-view-ui.js +266 -0
- package/dist/_pkgs/data-view/view-presets/gallery/define.d.ts +14 -0
- package/dist/_pkgs/data-view/view-presets/gallery/define.js +15 -0
- package/dist/_pkgs/data-view/view-presets/gallery/effect.d.ts +1 -0
- package/dist/_pkgs/data-view/view-presets/gallery/effect.js +4 -0
- package/dist/_pkgs/data-view/view-presets/gallery/gallery-view.d.ts +27 -0
- package/dist/_pkgs/data-view/view-presets/gallery/gallery-view.js +179 -0
- package/dist/_pkgs/data-view/view-presets/gallery/index.d.ts +2 -0
- package/dist/_pkgs/data-view/view-presets/gallery/index.js +2 -0
- package/dist/_pkgs/data-view/view-presets/gallery/renderer.d.ts +1 -0
- package/dist/_pkgs/data-view/view-presets/gallery/renderer.js +11 -0
- package/dist/_pkgs/data-view/view-presets/index.d.ts +5 -0
- package/dist/_pkgs/data-view/view-presets/index.js +7 -0
- package/dist/_pkgs/data-view/view-presets/kanban/define.js +3 -1
- package/dist/_pkgs/data-view/view-presets/kanban/kanban-view-manager.js +5 -53
- package/dist/_pkgs/data-view/view-presets/kanban/mobile/card.js +8 -1
- package/dist/_pkgs/data-view/view-presets/kanban/mobile/cell.js +6 -1
- package/dist/_pkgs/data-view/view-presets/kanban/mobile/group.d.ts +4 -2
- package/dist/_pkgs/data-view/view-presets/kanban/mobile/group.js +52 -6
- package/dist/_pkgs/data-view/view-presets/kanban/mobile/kanban-view-ui-logic.js +5 -1
- package/dist/_pkgs/data-view/view-presets/kanban/pc/card.js +2 -0
- package/dist/_pkgs/data-view/view-presets/kanban/pc/cell.js +4 -0
- package/dist/_pkgs/data-view/view-presets/kanban/pc/group.d.ts +4 -2
- package/dist/_pkgs/data-view/view-presets/kanban/pc/group.js +51 -6
- package/dist/_pkgs/data-view/view-presets/kanban/pc/kanban-view-ui-logic.js +5 -1
- package/dist/_pkgs/data-view/view-presets/list/define.d.ts +14 -0
- package/dist/_pkgs/data-view/view-presets/list/define.js +15 -0
- package/dist/_pkgs/data-view/view-presets/list/effect.d.ts +1 -0
- package/dist/_pkgs/data-view/view-presets/list/effect.js +4 -0
- package/dist/_pkgs/data-view/view-presets/list/index.d.ts +2 -0
- package/dist/_pkgs/data-view/view-presets/list/index.js +2 -0
- package/dist/_pkgs/data-view/view-presets/list/list-view.d.ts +24 -0
- package/dist/_pkgs/data-view/view-presets/list/list-view.js +194 -0
- package/dist/_pkgs/data-view/view-presets/list/renderer.d.ts +1 -0
- package/dist/_pkgs/data-view/view-presets/list/renderer.js +11 -0
- package/dist/_pkgs/data-view/view-presets/table/collapsed-state.d.ts +3 -14
- package/dist/_pkgs/data-view/view-presets/table/collapsed-state.js +6 -30
- package/dist/_pkgs/data-view/view-presets/table/consts.d.ts +2 -0
- package/dist/_pkgs/data-view/view-presets/table/consts.js +2 -0
- package/dist/_pkgs/data-view/view-presets/table/define.js +3 -1
- package/dist/_pkgs/data-view/view-presets/table/mobile/cell.js +4 -1
- package/dist/_pkgs/data-view/view-presets/table/mobile/column-header.js +2 -2
- package/dist/_pkgs/data-view/view-presets/table/mobile/group.d.ts +3 -1
- package/dist/_pkgs/data-view/view-presets/table/mobile/group.js +20 -5
- package/dist/_pkgs/data-view/view-presets/table/mobile/row.js +10 -2
- package/dist/_pkgs/data-view/view-presets/table/mobile/table-view-ui-logic.js +4 -1
- package/dist/_pkgs/data-view/view-presets/table/pc/cell.js +4 -1
- package/dist/_pkgs/data-view/view-presets/table/pc/controller/hotkeys.js +1 -1
- package/dist/_pkgs/data-view/view-presets/table/pc/group.d.ts +3 -1
- package/dist/_pkgs/data-view/view-presets/table/pc/group.js +20 -5
- package/dist/_pkgs/data-view/view-presets/table/pc/menu.d.ts +1 -1
- package/dist/_pkgs/data-view/view-presets/table/pc/menu.js +2 -1
- package/dist/_pkgs/data-view/view-presets/table/pc/row/row.js +3 -2
- package/dist/_pkgs/data-view/view-presets/table/pc/table-view-ui-logic.js +4 -1
- package/dist/_pkgs/data-view/view-presets/table/pc-virtual/controller/hotkeys.js +1 -1
- package/dist/_pkgs/data-view/view-presets/table/pc-virtual/group/bottom/stats/column-stats-column.js +5 -1
- package/dist/_pkgs/data-view/view-presets/table/pc-virtual/group/top/group-title.js +22 -19
- package/dist/_pkgs/data-view/view-presets/table/pc-virtual/row/cell.js +4 -1
- package/dist/_pkgs/data-view/view-presets/table/pc-virtual/table-view-ui-logic.js +7 -2
- package/dist/_pkgs/data-view/view-presets/table/stats/column-stats-column.js +5 -1
- package/dist/_pkgs/data-view/view-presets/table/table-view-manager.js +5 -53
- package/dist/_pkgs/data-view/widget-presets/tools/presets/table-add-row/add-row.d.ts +1 -0
- package/dist/_pkgs/data-view/widget-presets/tools/presets/table-add-row/add-row.js +60 -2
- package/dist/_pkgs/data-view/widget-presets/tools/presets/view-options/view-options.d.ts +18 -1
- package/dist/_pkgs/data-view/widget-presets/tools/presets/view-options/view-options.js +121 -124
- package/dist/_pkgs/data-view/widget-presets/tools/presets/view-options/view-settings.d.ts +43 -0
- package/dist/_pkgs/data-view/widget-presets/tools/presets/view-options/view-settings.js +187 -0
- package/dist/_pkgs/data-view/widget-presets/views-bar/views-view.d.ts +36 -3
- package/dist/_pkgs/data-view/widget-presets/views-bar/views-view.js +187 -59
- package/dist/extensions/view.d.ts +2 -2
- package/dist/extensions/view.js +10 -3
- package/dist/flags.d.ts +8 -4
- package/dist/flags.js +8 -4
- package/dist/frameworks.d.ts +27 -0
- package/dist/frameworks.js +28 -0
- package/dist/translations.js +13 -1
- package/package.json +5 -1
|
@@ -1,19 +1,42 @@
|
|
|
1
1
|
import { ShadowlessElement } from '../../../../std/index.js';
|
|
2
2
|
import { type PropertyValues, type TemplateResult } from 'lit';
|
|
3
|
+
/**
|
|
4
|
+
* Marks the element of the trailing slot that only exists while something is
|
|
5
|
+
* hidden (the "N more" button): the rest of the slot is what stays.
|
|
6
|
+
*/
|
|
7
|
+
export declare const OVERFLOW_MORE_ATTR = "data-overflow-more";
|
|
3
8
|
declare const Overflow_base: typeof ShadowlessElement & import("../../../../global/utils/types.js").Constructor<import("../../../../global/lit/with-disposable.js").DisposableClass>;
|
|
9
|
+
/**
|
|
10
|
+
* A row that draws as many items as its width allows and hands the rest to
|
|
11
|
+
* a trailing slot (`renderMore`). Every item stays in the DOM, a hidden one
|
|
12
|
+
* transparent and out of the flow, so its width is measured on each pass;
|
|
13
|
+
* which ones are drawn is `fitOverflow` (`./fit.ts`), `pinned` included.
|
|
14
|
+
* Until the first measure every item is drawn.
|
|
15
|
+
*/
|
|
4
16
|
export declare class Overflow extends Overflow_base {
|
|
5
17
|
static styles: import("lit").CSSResult;
|
|
6
18
|
protected frameId: number | undefined;
|
|
7
|
-
|
|
19
|
+
/** Last measured width of the slot's `OVERFLOW_MORE_ATTR` element. */
|
|
20
|
+
private moreExtraWidth;
|
|
8
21
|
adjustStyle(): void;
|
|
9
22
|
connectedCallback(): void;
|
|
10
23
|
protected doAdjustStyle(): void;
|
|
24
|
+
/** The items `renderMore` holds, in order. */
|
|
25
|
+
get hiddenIndices(): number[];
|
|
11
26
|
render(): TemplateResult<1>;
|
|
27
|
+
protected willUpdate(changed: PropertyValues<this>): void;
|
|
12
28
|
protected updated(_changedProperties: PropertyValues): void;
|
|
13
29
|
accessor items: HTMLDivElement[] & NodeList;
|
|
14
30
|
accessor more: HTMLDivElement;
|
|
15
|
-
|
|
31
|
+
/** The drawn items' indices, ascending; `undefined` (all) until measured. */
|
|
32
|
+
accessor drawn: readonly number[] | undefined;
|
|
33
|
+
/** The item that is always drawn (the current view); `-1` for none. */
|
|
34
|
+
accessor pinned: number;
|
|
16
35
|
accessor renderItem: Array<() => TemplateResult>;
|
|
17
|
-
|
|
36
|
+
/**
|
|
37
|
+
* The trailing slot: `count` items are drawn and `hidden` are the indices
|
|
38
|
+
* it stands for, empty when everything fits.
|
|
39
|
+
*/
|
|
40
|
+
accessor renderMore: (count: number, hidden: readonly number[]) => TemplateResult | undefined;
|
|
18
41
|
}
|
|
19
42
|
export {};
|
|
@@ -38,6 +38,24 @@ import { css, html } from 'lit';
|
|
|
38
38
|
import { property, query, queryAll, state } from 'lit/decorators.js';
|
|
39
39
|
import { classMap } from 'lit/directives/class-map.js';
|
|
40
40
|
import { repeat } from 'lit/directives/repeat.js';
|
|
41
|
+
import { fitOverflow } from './fit.js';
|
|
42
|
+
/**
|
|
43
|
+
* Until the "N more" button has been drawn once, its width is guessed; the
|
|
44
|
+
* next layout pass measures it and settles.
|
|
45
|
+
*/
|
|
46
|
+
const MORE_EXTRA_GUESS = 72;
|
|
47
|
+
/**
|
|
48
|
+
* Marks the element of the trailing slot that only exists while something is
|
|
49
|
+
* hidden (the "N more" button): the rest of the slot is what stays.
|
|
50
|
+
*/
|
|
51
|
+
export const OVERFLOW_MORE_ATTR = 'data-overflow-more';
|
|
52
|
+
/**
|
|
53
|
+
* A row that draws as many items as its width allows and hands the rest to
|
|
54
|
+
* a trailing slot (`renderMore`). Every item stays in the DOM, a hidden one
|
|
55
|
+
* transparent and out of the flow, so its width is measured on each pass;
|
|
56
|
+
* which ones are drawn is `fitOverflow` (`./fit.ts`), `pinned` included.
|
|
57
|
+
* Until the first measure every item is drawn.
|
|
58
|
+
*/
|
|
41
59
|
let Overflow = (() => {
|
|
42
60
|
let _classSuper = SignalWatcher(WithDisposable(ShadowlessElement));
|
|
43
61
|
let _items_decorators;
|
|
@@ -46,9 +64,12 @@ let Overflow = (() => {
|
|
|
46
64
|
let _more_decorators;
|
|
47
65
|
let _more_initializers = [];
|
|
48
66
|
let _more_extraInitializers = [];
|
|
49
|
-
let
|
|
50
|
-
let
|
|
51
|
-
let
|
|
67
|
+
let _drawn_decorators;
|
|
68
|
+
let _drawn_initializers = [];
|
|
69
|
+
let _drawn_extraInitializers = [];
|
|
70
|
+
let _pinned_decorators;
|
|
71
|
+
let _pinned_initializers = [];
|
|
72
|
+
let _pinned_extraInitializers = [];
|
|
52
73
|
let _renderItem_decorators;
|
|
53
74
|
let _renderItem_initializers = [];
|
|
54
75
|
let _renderItem_extraInitializers = [];
|
|
@@ -60,12 +81,14 @@ let Overflow = (() => {
|
|
|
60
81
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
61
82
|
_items_decorators = [queryAll(':scope > .component-overflow-item')];
|
|
62
83
|
_more_decorators = [query(':scope > .component-overflow-more')];
|
|
63
|
-
|
|
84
|
+
_drawn_decorators = [state()];
|
|
85
|
+
_pinned_decorators = [property({ attribute: false })];
|
|
64
86
|
_renderItem_decorators = [property({ attribute: false })];
|
|
65
87
|
_renderMore_decorators = [property({ attribute: false })];
|
|
66
88
|
__esDecorate(this, null, _items_decorators, { kind: "accessor", name: "items", static: false, private: false, access: { has: obj => "items" in obj, get: obj => obj.items, set: (obj, value) => { obj.items = value; } }, metadata: _metadata }, _items_initializers, _items_extraInitializers);
|
|
67
89
|
__esDecorate(this, null, _more_decorators, { kind: "accessor", name: "more", static: false, private: false, access: { has: obj => "more" in obj, get: obj => obj.more, set: (obj, value) => { obj.more = value; } }, metadata: _metadata }, _more_initializers, _more_extraInitializers);
|
|
68
|
-
__esDecorate(this, null,
|
|
90
|
+
__esDecorate(this, null, _drawn_decorators, { kind: "accessor", name: "drawn", static: false, private: false, access: { has: obj => "drawn" in obj, get: obj => obj.drawn, set: (obj, value) => { obj.drawn = value; } }, metadata: _metadata }, _drawn_initializers, _drawn_extraInitializers);
|
|
91
|
+
__esDecorate(this, null, _pinned_decorators, { kind: "accessor", name: "pinned", static: false, private: false, access: { has: obj => "pinned" in obj, get: obj => obj.pinned, set: (obj, value) => { obj.pinned = value; } }, metadata: _metadata }, _pinned_initializers, _pinned_extraInitializers);
|
|
69
92
|
__esDecorate(this, null, _renderItem_decorators, { kind: "accessor", name: "renderItem", static: false, private: false, access: { has: obj => "renderItem" in obj, get: obj => obj.renderItem, set: (obj, value) => { obj.renderItem = value; } }, metadata: _metadata }, _renderItem_initializers, _renderItem_extraInitializers);
|
|
70
93
|
__esDecorate(this, null, _renderMore_decorators, { kind: "accessor", name: "renderMore", static: false, private: false, access: { has: obj => "renderMore" in obj, get: obj => obj.renderMore, set: (obj, value) => { obj.renderMore = value; } }, metadata: _metadata }, _renderMore_initializers, _renderMore_extraInitializers);
|
|
71
94
|
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
@@ -85,6 +108,9 @@ let Overflow = (() => {
|
|
|
85
108
|
pointer-events: none;
|
|
86
109
|
position: absolute;
|
|
87
110
|
}
|
|
111
|
+
.component-overflow-more {
|
|
112
|
+
display: flex;
|
|
113
|
+
}
|
|
88
114
|
`; }
|
|
89
115
|
adjustStyle() {
|
|
90
116
|
if (this.frameId) {
|
|
@@ -105,40 +131,56 @@ let Overflow = (() => {
|
|
|
105
131
|
});
|
|
106
132
|
}
|
|
107
133
|
doAdjustStyle() {
|
|
108
|
-
const
|
|
109
|
-
this.
|
|
110
|
-
const
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
134
|
+
const slotWidth = this.more.getBoundingClientRect().width;
|
|
135
|
+
const moreButton = this.more.querySelector(`[${OVERFLOW_MORE_ATTR}]`);
|
|
136
|
+
const moreWidth = moreButton?.getBoundingClientRect().width;
|
|
137
|
+
if (moreWidth !== undefined)
|
|
138
|
+
this.moreExtraWidth = moreWidth;
|
|
139
|
+
const widths = Array.from(this.items, item => item.getBoundingClientRect().width);
|
|
140
|
+
const drawn = fitOverflow({
|
|
141
|
+
widths,
|
|
142
|
+
container: this.getBoundingClientRect().width,
|
|
143
|
+
trailing: slotWidth - (moreWidth ?? 0),
|
|
144
|
+
moreExtra: this.moreExtraWidth ?? MORE_EXTRA_GUESS,
|
|
145
|
+
pinned: this.pinned,
|
|
146
|
+
});
|
|
147
|
+
// Assigned only on a change: an equal array is a new identity, and a
|
|
148
|
+
// state write would re-render, re-measure and loop.
|
|
149
|
+
if (drawn.join() !== this.drawn?.join()) {
|
|
150
|
+
this.drawn = drawn;
|
|
125
151
|
}
|
|
126
|
-
|
|
152
|
+
}
|
|
153
|
+
/** The items `renderMore` holds, in order. */
|
|
154
|
+
get hiddenIndices() {
|
|
155
|
+
if (!this.drawn)
|
|
156
|
+
return [];
|
|
157
|
+
const drawn = new Set(this.drawn);
|
|
158
|
+
return this.renderItem.flatMap((_, index) => drawn.has(index) ? [] : [index]);
|
|
127
159
|
}
|
|
128
160
|
render() {
|
|
161
|
+
const drawn = this.drawn ? new Set(this.drawn) : undefined;
|
|
162
|
+
const hidden = this.hiddenIndices;
|
|
129
163
|
return html `
|
|
130
164
|
${repeat(this.renderItem, (render, index) => {
|
|
131
165
|
const className = classMap({
|
|
132
166
|
'component-overflow-item': true,
|
|
133
|
-
hidden: index
|
|
167
|
+
hidden: drawn ? !drawn.has(index) : false,
|
|
134
168
|
});
|
|
135
169
|
return html `<div class="${className}">${render()}</div>`;
|
|
136
170
|
})}
|
|
137
171
|
<div class="component-overflow-more">
|
|
138
|
-
${this.renderMore(this.
|
|
172
|
+
${this.renderMore(this.renderItem.length - hidden.length, hidden)}
|
|
139
173
|
</div>
|
|
140
174
|
`;
|
|
141
175
|
}
|
|
176
|
+
willUpdate(changed) {
|
|
177
|
+
super.willUpdate(changed);
|
|
178
|
+
// Another set of items: the drawn indices no longer name the same ones.
|
|
179
|
+
if (changed.has('renderItem') &&
|
|
180
|
+
changed.get('renderItem')?.length !== this.renderItem.length) {
|
|
181
|
+
this.drawn = undefined;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
142
184
|
updated(_changedProperties) {
|
|
143
185
|
super.updated(_changedProperties);
|
|
144
186
|
this.adjustStyle();
|
|
@@ -149,23 +191,34 @@ let Overflow = (() => {
|
|
|
149
191
|
#more_accessor_storage;
|
|
150
192
|
get more() { return this.#more_accessor_storage; }
|
|
151
193
|
set more(value) { this.#more_accessor_storage = value; }
|
|
152
|
-
#
|
|
153
|
-
|
|
154
|
-
|
|
194
|
+
#drawn_accessor_storage;
|
|
195
|
+
/** The drawn items' indices, ascending; `undefined` (all) until measured. */
|
|
196
|
+
get drawn() { return this.#drawn_accessor_storage; }
|
|
197
|
+
set drawn(value) { this.#drawn_accessor_storage = value; }
|
|
198
|
+
#pinned_accessor_storage;
|
|
199
|
+
/** The item that is always drawn (the current view); `-1` for none. */
|
|
200
|
+
get pinned() { return this.#pinned_accessor_storage; }
|
|
201
|
+
set pinned(value) { this.#pinned_accessor_storage = value; }
|
|
155
202
|
#renderItem_accessor_storage;
|
|
156
203
|
get renderItem() { return this.#renderItem_accessor_storage; }
|
|
157
204
|
set renderItem(value) { this.#renderItem_accessor_storage = value; }
|
|
158
205
|
#renderMore_accessor_storage;
|
|
206
|
+
/**
|
|
207
|
+
* The trailing slot: `count` items are drawn and `hidden` are the indices
|
|
208
|
+
* it stands for, empty when everything fits.
|
|
209
|
+
*/
|
|
159
210
|
get renderMore() { return this.#renderMore_accessor_storage; }
|
|
160
211
|
set renderMore(value) { this.#renderMore_accessor_storage = value; }
|
|
161
212
|
constructor() {
|
|
162
213
|
super(...arguments);
|
|
163
214
|
this.frameId = undefined;
|
|
164
|
-
|
|
215
|
+
/** Last measured width of the slot's `OVERFLOW_MORE_ATTR` element. */
|
|
216
|
+
this.moreExtraWidth = undefined;
|
|
165
217
|
this.#items_accessor_storage = __runInitializers(this, _items_initializers, void 0);
|
|
166
218
|
this.#more_accessor_storage = (__runInitializers(this, _items_extraInitializers), __runInitializers(this, _more_initializers, void 0));
|
|
167
|
-
this.#
|
|
168
|
-
this.#
|
|
219
|
+
this.#drawn_accessor_storage = (__runInitializers(this, _more_extraInitializers), __runInitializers(this, _drawn_initializers, undefined));
|
|
220
|
+
this.#pinned_accessor_storage = (__runInitializers(this, _drawn_extraInitializers), __runInitializers(this, _pinned_initializers, -1));
|
|
221
|
+
this.#renderItem_accessor_storage = (__runInitializers(this, _pinned_extraInitializers), __runInitializers(this, _renderItem_initializers, void 0));
|
|
169
222
|
this.#renderMore_accessor_storage = (__runInitializers(this, _renderItem_extraInitializers), __runInitializers(this, _renderMore_initializers, void 0));
|
|
170
223
|
__runInitializers(this, _renderMore_extraInitializers);
|
|
171
224
|
}
|
|
@@ -1,7 +1,14 @@
|
|
|
1
|
+
import { type ChromeWording } from '../../../../affine-shared/services/index.js';
|
|
1
2
|
export type SelectOptionColor = {
|
|
2
3
|
oldColor: string;
|
|
3
4
|
color: string;
|
|
5
|
+
/** The English name, `wording`'s fallback. */
|
|
4
6
|
name: string;
|
|
7
|
+
/**
|
|
8
|
+
* What the option menu shows, resolved where an editor is at hand;
|
|
9
|
+
* absent (a colour list a host built in 0.48), `name` is shown.
|
|
10
|
+
*/
|
|
11
|
+
wording?: ChromeWording;
|
|
5
12
|
};
|
|
6
13
|
export declare const selectOptionColors: SelectOptionColor[];
|
|
7
14
|
export declare const getColorByColor: (color: string) => string;
|
|
@@ -1,54 +1,66 @@
|
|
|
1
|
+
import { PALETTE_NAME_BLUE, PALETTE_NAME_GREEN, PALETTE_NAME_GREY, PALETTE_NAME_MAGENTA, PALETTE_NAME_ORANGE, PALETTE_NAME_PURPLE, PALETTE_NAME_RED, PALETTE_NAME_WHITE, PALETTE_NAME_YELLOW, } from '../../../../affine-shared/services/index.js';
|
|
1
2
|
import { cssVarV2 } from '@toeverything/theme/v2';
|
|
3
|
+
import { TAG_COLOR_TEAL } from '../../../translations.js';
|
|
2
4
|
export const selectOptionColors = [
|
|
3
5
|
{
|
|
4
6
|
oldColor: 'var(--affine-tag-red)',
|
|
5
7
|
color: cssVarV2('chip/label/red'),
|
|
6
|
-
name:
|
|
8
|
+
name: PALETTE_NAME_RED[1],
|
|
9
|
+
wording: PALETTE_NAME_RED,
|
|
7
10
|
},
|
|
8
11
|
{
|
|
9
12
|
oldColor: 'var(--affine-tag-pink)',
|
|
10
13
|
color: cssVarV2('chip/label/magenta'),
|
|
11
|
-
name:
|
|
14
|
+
name: PALETTE_NAME_MAGENTA[1],
|
|
15
|
+
wording: PALETTE_NAME_MAGENTA,
|
|
12
16
|
},
|
|
13
17
|
{
|
|
14
18
|
oldColor: 'var(--affine-tag-orange)',
|
|
15
19
|
color: cssVarV2('chip/label/orange'),
|
|
16
|
-
name:
|
|
20
|
+
name: PALETTE_NAME_ORANGE[1],
|
|
21
|
+
wording: PALETTE_NAME_ORANGE,
|
|
17
22
|
},
|
|
18
23
|
{
|
|
19
24
|
oldColor: 'var(--affine-tag-yellow)',
|
|
20
25
|
color: cssVarV2('chip/label/yellow'),
|
|
21
|
-
name:
|
|
26
|
+
name: PALETTE_NAME_YELLOW[1],
|
|
27
|
+
wording: PALETTE_NAME_YELLOW,
|
|
22
28
|
},
|
|
23
29
|
{
|
|
24
30
|
oldColor: 'var(--affine-tag-green)',
|
|
25
31
|
color: cssVarV2('chip/label/green'),
|
|
26
|
-
name:
|
|
32
|
+
name: PALETTE_NAME_GREEN[1],
|
|
33
|
+
wording: PALETTE_NAME_GREEN,
|
|
27
34
|
},
|
|
28
35
|
{
|
|
29
36
|
oldColor: 'var(--affine-tag-teal)',
|
|
30
37
|
color: cssVarV2('chip/label/teal'),
|
|
31
|
-
name:
|
|
38
|
+
name: TAG_COLOR_TEAL[1],
|
|
39
|
+
wording: TAG_COLOR_TEAL,
|
|
32
40
|
},
|
|
33
41
|
{
|
|
34
42
|
oldColor: 'var(--affine-tag-blue)',
|
|
35
43
|
color: cssVarV2('chip/label/blue'),
|
|
36
|
-
name:
|
|
44
|
+
name: PALETTE_NAME_BLUE[1],
|
|
45
|
+
wording: PALETTE_NAME_BLUE,
|
|
37
46
|
},
|
|
38
47
|
{
|
|
39
48
|
oldColor: 'var(--affine-tag-purple)',
|
|
40
49
|
color: cssVarV2('chip/label/purple'),
|
|
41
|
-
name:
|
|
50
|
+
name: PALETTE_NAME_PURPLE[1],
|
|
51
|
+
wording: PALETTE_NAME_PURPLE,
|
|
42
52
|
},
|
|
43
53
|
{
|
|
44
54
|
oldColor: 'var(--affine-tag-gray)',
|
|
45
55
|
color: cssVarV2('chip/label/grey'),
|
|
46
|
-
name:
|
|
56
|
+
name: PALETTE_NAME_GREY[1],
|
|
57
|
+
wording: PALETTE_NAME_GREY,
|
|
47
58
|
},
|
|
48
59
|
{
|
|
49
60
|
oldColor: 'var(--affine-tag-white)',
|
|
50
61
|
color: cssVarV2('chip/label/white'),
|
|
51
|
-
name:
|
|
62
|
+
name: PALETTE_NAME_WHITE[1],
|
|
63
|
+
wording: PALETTE_NAME_WHITE,
|
|
52
64
|
},
|
|
53
65
|
];
|
|
54
66
|
const oldColorMap = Object.fromEntries(selectOptionColors.map(tag => [tag.oldColor, tag.color]));
|
|
@@ -1,15 +1,35 @@
|
|
|
1
1
|
import { type PopupTarget } from '../../../../affine-components/context-menu/index.js';
|
|
2
|
+
import { type ChromeWording } from '../../../../affine-shared/services/index.js';
|
|
2
3
|
import { ShadowlessElement } from '../../../../std/index.js';
|
|
3
4
|
import { type ReadonlySignal } from '@preact/signals-core';
|
|
4
5
|
import type { SelectTag } from '../../logical/index.js';
|
|
6
|
+
export type TagOptionEdits = 'all' | 'create-rename';
|
|
5
7
|
export type TagManagerOptions = {
|
|
6
8
|
mode?: 'single' | 'multi';
|
|
7
9
|
value: ReadonlySignal<string[]>;
|
|
8
10
|
onChange: (value: string[]) => void;
|
|
9
11
|
options: ReadonlySignal<SelectTag[]>;
|
|
10
|
-
|
|
12
|
+
/**
|
|
13
|
+
* Absent, the options are fixed: the menu picks among them and offers no
|
|
14
|
+
* "Create", no option menu and no reordering (a standalone cell whose host
|
|
15
|
+
* cannot write the property's config, `standalone-cell.ts`).
|
|
16
|
+
*/
|
|
17
|
+
onOptionsChange?: (options: SelectTag[]) => void;
|
|
18
|
+
/**
|
|
19
|
+
* Which edits `onOptionsChange` takes; absent, `'all'` (the table).
|
|
20
|
+
* `'create-rename'`: "Create" and the option menu's name only, no delete,
|
|
21
|
+
* no colour and no reordering: a host that writes an option's definition
|
|
22
|
+
* one edit at a time and offers no more (the title band, ADR 0035
|
|
23
|
+
* amendment of 2026-10-14).
|
|
24
|
+
*/
|
|
25
|
+
optionEdits?: TagOptionEdits;
|
|
11
26
|
onComplete?: () => void;
|
|
12
27
|
initialDraftText?: string;
|
|
28
|
+
/**
|
|
29
|
+
* Resolves the menu's own wordings; the caller holds the editor, the
|
|
30
|
+
* popup renders outside it. Absent, the English fallbacks.
|
|
31
|
+
*/
|
|
32
|
+
wording?: (wording: ChromeWording) => string;
|
|
13
33
|
};
|
|
14
34
|
export declare function consumeTagDraftFromTableCellHost(fromElement: Element): string | undefined;
|
|
15
35
|
declare const MultiTagSelect_base: typeof ShadowlessElement & import("../../../../global/utils/types.js").Constructor<import("../../../../global/lit/with-disposable.js").DisposableClass>;
|
|
@@ -32,11 +52,14 @@ export declare class MultiTagSelect extends MultiTagSelect_base {
|
|
|
32
52
|
accessor mode: 'multi' | 'single';
|
|
33
53
|
accessor onChange: (value: string[]) => void;
|
|
34
54
|
accessor onComplete: () => void;
|
|
35
|
-
accessor onOptionsChange: (options: SelectTag[]) => void;
|
|
55
|
+
accessor onOptionsChange: ((options: SelectTag[]) => void) | undefined;
|
|
56
|
+
accessor optionEdits: TagOptionEdits;
|
|
36
57
|
accessor options: ReadonlySignal<SelectTag[]>;
|
|
37
58
|
private readonly selectedIndex$;
|
|
38
59
|
accessor value: ReadonlySignal<string[]>;
|
|
39
60
|
accessor initialDraftText: string | undefined;
|
|
61
|
+
accessor wording: ((wording: ChromeWording) => string) | undefined;
|
|
62
|
+
private say;
|
|
40
63
|
}
|
|
41
64
|
declare global {
|
|
42
65
|
interface HTMLElementTagNameMap {
|