@formicoidea/labre-core 1.0.0 → 2.0.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/architecture/code.c4 +48 -44
- package/architecture/likec4.config.json +3 -3
- package/dist/_pkgs/affine-block-root/configs/toolbar.d.ts +1 -1
- package/dist/_pkgs/affine-block-root/configs/toolbar.js +4 -2
- package/dist/_pkgs/affine-block-surface/extensions/reading-toolbar.js +12 -12
- package/dist/_pkgs/affine-components/context-menu/menu-all.d.ts +1 -0
- package/dist/_pkgs/affine-components/context-menu/menu-renderer.d.ts +3 -1
- package/dist/_pkgs/affine-components/context-menu/menu-renderer.js +9 -1
- package/dist/_pkgs/affine-components/context-menu/menu.d.ts +7 -0
- package/dist/_pkgs/affine-components/context-menu/menu.js +5 -0
- package/dist/_pkgs/affine-components/context-menu/sub-menu.d.ts +19 -1
- package/dist/_pkgs/affine-components/context-menu/sub-menu.js +46 -7
- package/dist/_pkgs/affine-components/highlight-dropdown-menu/highlight-duotone-icon.js +8 -8
- package/dist/_pkgs/affine-components/highlight-dropdown-menu/text-duotone-icon.js +11 -11
- package/dist/_pkgs/affine-database-block/configs/slash-menu.d.ts +24 -0
- package/dist/_pkgs/affine-database-block/configs/slash-menu.js +52 -37
- package/dist/_pkgs/affine-database-block/creation-menu.d.ts +6 -0
- package/dist/_pkgs/affine-database-block/data-source.d.ts +6 -0
- package/dist/_pkgs/affine-database-block/data-source.js +16 -0
- package/dist/_pkgs/affine-database-block/database-block-styles.js +4 -3
- package/dist/_pkgs/affine-database-block/database-block.d.ts +23 -0
- package/dist/_pkgs/affine-database-block/database-block.js +129 -19
- package/dist/_pkgs/affine-database-block/database-dnd-preview-block.js +5 -1
- package/dist/_pkgs/affine-database-block/detail-panel/block-renderer.js +5 -2
- package/dist/_pkgs/affine-database-block/detail-panel/note-renderer.js +3 -2
- package/dist/_pkgs/affine-database-block/external-data-source.d.ts +17 -0
- package/dist/_pkgs/affine-database-block/external-data-source.js +54 -4
- package/dist/_pkgs/affine-database-block/index.d.ts +3 -0
- package/dist/_pkgs/affine-database-block/index.js +5 -0
- package/dist/_pkgs/affine-database-block/linked-view.d.ts +59 -0
- package/dist/_pkgs/affine-database-block/linked-view.js +131 -1
- package/dist/_pkgs/affine-database-block/properties/created-time/define.js +3 -1
- package/dist/_pkgs/affine-database-block/properties/link/cell-renderer.js +3 -2
- package/dist/_pkgs/affine-database-block/properties/link/define.js +3 -1
- package/dist/_pkgs/affine-database-block/properties/rich-text/define.js +3 -1
- package/dist/_pkgs/affine-database-block/properties/text/hosted.js +1 -0
- package/dist/_pkgs/affine-database-block/properties/title/define.js +3 -1
- package/dist/_pkgs/affine-database-block/properties/title/hosted.js +1 -0
- package/dist/_pkgs/affine-database-block/service/new-row-menu.d.ts +1 -1
- package/dist/_pkgs/affine-database-block/service/new-row-menu.js +1 -1
- package/dist/_pkgs/affine-database-block/translations.d.ts +29 -0
- package/dist/_pkgs/affine-database-block/translations.js +104 -0
- package/dist/_pkgs/affine-database-block/turn-into-source.d.ts +38 -0
- package/dist/_pkgs/affine-database-block/turn-into-source.js +187 -0
- package/dist/_pkgs/affine-database-block/view-deletion.d.ts +15 -0
- package/dist/_pkgs/affine-database-block/view-deletion.js +113 -0
- package/dist/_pkgs/affine-database-block/views/index.d.ts +7 -9
- package/dist/_pkgs/affine-database-block/views/index.js +7 -10
- package/dist/_pkgs/affine-database-engine/core/common/properties.js +7 -7
- package/dist/_pkgs/affine-database-engine/core/common/property-menu.d.ts +18 -2
- package/dist/_pkgs/affine-database-engine/core/common/property-menu.js +78 -27
- package/dist/_pkgs/affine-database-engine/core/data-source/base.d.ts +11 -0
- package/dist/_pkgs/affine-database-engine/core/data-source/base.js +3 -0
- package/dist/_pkgs/affine-database-engine/core/detail/detail.js +8 -5
- package/dist/_pkgs/affine-database-engine/core/detail/field.js +14 -7
- package/dist/_pkgs/affine-database-engine/core/filter/add-filter.js +4 -2
- package/dist/_pkgs/affine-database-engine/core/filter/filter-fn/boolean.js +7 -4
- package/dist/_pkgs/affine-database-engine/core/filter/filter-fn/create.d.ts +9 -1
- package/dist/_pkgs/affine-database-engine/core/filter/filter-fn/create.js +2 -0
- package/dist/_pkgs/affine-database-engine/core/filter/filter-fn/date.js +7 -4
- package/dist/_pkgs/affine-database-engine/core/filter/filter-fn/multi-tag.js +17 -8
- package/dist/_pkgs/affine-database-engine/core/filter/filter-fn/number.js +6 -6
- package/dist/_pkgs/affine-database-engine/core/filter/filter-fn/string.js +19 -12
- package/dist/_pkgs/affine-database-engine/core/filter/filter-fn/tag.js +9 -4
- package/dist/_pkgs/affine-database-engine/core/filter/filter-fn/unknown.js +7 -4
- package/dist/_pkgs/affine-database-engine/core/filter/literal/define.js +6 -4
- package/dist/_pkgs/affine-database-engine/core/filter/literal/matcher.d.ts +2 -1
- package/dist/_pkgs/affine-database-engine/core/filter/literal/matcher.js +3 -2
- package/dist/_pkgs/affine-database-engine/core/filter/literal/types.d.ts +4 -1
- package/dist/_pkgs/affine-database-engine/core/filter/literal/types.js +1 -1
- package/dist/_pkgs/affine-database-engine/core/group-by/define.js +11 -9
- package/dist/_pkgs/affine-database-engine/core/group-by/group-title.js +16 -6
- package/dist/_pkgs/affine-database-engine/core/group-by/locate-row.d.ts +16 -0
- package/dist/_pkgs/affine-database-engine/core/group-by/locate-row.js +32 -0
- package/dist/_pkgs/affine-database-engine/core/group-by/renderer/date-group.js +10 -3
- package/dist/_pkgs/affine-database-engine/core/group-by/setting.d.ts +2 -0
- package/dist/_pkgs/affine-database-engine/core/group-by/setting.js +40 -28
- package/dist/_pkgs/affine-database-engine/core/group-by/trait.d.ts +3 -0
- package/dist/_pkgs/affine-database-engine/core/group-by/trait.js +8 -0
- package/dist/_pkgs/affine-database-engine/core/group-by/types.d.ts +3 -1
- package/dist/_pkgs/affine-database-engine/core/group-by/types.js +1 -1
- package/dist/_pkgs/affine-database-engine/core/property/types.d.ts +7 -0
- package/dist/_pkgs/affine-database-engine/core/property/types.js +1 -1
- package/dist/_pkgs/affine-database-engine/core/sort/add-sort.js +3 -1
- package/dist/_pkgs/affine-database-engine/core/statistics/any.js +43 -21
- package/dist/_pkgs/affine-database-engine/core/statistics/checkbox.js +29 -14
- package/dist/_pkgs/affine-database-engine/core/statistics/number.js +54 -31
- package/dist/_pkgs/affine-database-engine/core/statistics/types.d.ts +8 -0
- package/dist/_pkgs/affine-database-engine/core/statistics/types.js +2 -1
- package/dist/_pkgs/affine-database-engine/core/utils/wording.d.ts +20 -1
- package/dist/_pkgs/affine-database-engine/core/utils/wording.js +24 -0
- package/dist/_pkgs/affine-database-engine/core/view-manager/property.d.ts +7 -0
- package/dist/_pkgs/affine-database-engine/core/view-manager/property.js +29 -5
- package/dist/_pkgs/affine-database-engine/core/view-manager/single-view.d.ts +14 -0
- package/dist/_pkgs/affine-database-engine/core/view-manager/single-view.js +11 -0
- package/dist/_pkgs/affine-database-engine/property-presets/checkbox/define.js +3 -1
- package/dist/_pkgs/affine-database-engine/property-presets/date/define.js +3 -1
- package/dist/_pkgs/affine-database-engine/property-presets/multi-select/define.js +3 -1
- package/dist/_pkgs/affine-database-engine/property-presets/number/define.js +3 -1
- package/dist/_pkgs/affine-database-engine/property-presets/number/utils/formats.d.ts +3 -0
- package/dist/_pkgs/affine-database-engine/property-presets/number/utils/formats.js +56 -9
- package/dist/_pkgs/affine-database-engine/property-presets/progress/define.js +3 -1
- package/dist/_pkgs/affine-database-engine/property-presets/select/define.js +3 -1
- package/dist/_pkgs/affine-database-engine/property-presets/text/define.js +3 -1
- package/dist/_pkgs/affine-database-engine/translations.d.ts +133 -5
- package/dist/_pkgs/affine-database-engine/translations.js +625 -9
- package/dist/_pkgs/affine-database-engine/view-presets/convert.js +0 -28
- package/dist/_pkgs/affine-database-engine/view-presets/effect.js +0 -2
- package/dist/_pkgs/affine-database-engine/view-presets/flat/flat-converts.js +2 -4
- package/dist/_pkgs/affine-database-engine/view-presets/flat/flat-view-ui.d.ts +57 -0
- package/dist/_pkgs/affine-database-engine/view-presets/flat/flat-view-ui.js +113 -4
- package/dist/_pkgs/affine-database-engine/view-presets/gallery/gallery-view.js +2 -1
- package/dist/_pkgs/affine-database-engine/view-presets/index.d.ts +0 -2
- package/dist/_pkgs/affine-database-engine/view-presets/index.js +0 -3
- package/dist/_pkgs/affine-database-engine/view-presets/kanban/kanban-view-manager.js +2 -0
- package/dist/_pkgs/affine-database-engine/view-presets/kanban/mobile/group.js +7 -5
- package/dist/_pkgs/affine-database-engine/view-presets/kanban/mobile/kanban-view-ui-logic.d.ts +5 -0
- package/dist/_pkgs/affine-database-engine/view-presets/kanban/mobile/kanban-view-ui-logic.js +25 -3
- package/dist/_pkgs/affine-database-engine/view-presets/kanban/mobile/menu.js +12 -6
- package/dist/_pkgs/affine-database-engine/view-presets/kanban/pc/controller/selection.d.ts +8 -0
- package/dist/_pkgs/affine-database-engine/view-presets/kanban/pc/controller/selection.js +35 -12
- package/dist/_pkgs/affine-database-engine/view-presets/kanban/pc/group.js +7 -5
- package/dist/_pkgs/affine-database-engine/view-presets/kanban/pc/header.js +5 -1
- package/dist/_pkgs/affine-database-engine/view-presets/kanban/pc/kanban-view-ui-logic.d.ts +5 -0
- package/dist/_pkgs/affine-database-engine/view-presets/kanban/pc/kanban-view-ui-logic.js +8 -4
- package/dist/_pkgs/affine-database-engine/view-presets/kanban/pc/menu.js +12 -6
- package/dist/_pkgs/affine-database-engine/view-presets/list/list-view.js +2 -1
- package/dist/_pkgs/affine-database-engine/view-presets/table/mobile/column-header.js +6 -4
- package/dist/_pkgs/affine-database-engine/view-presets/table/mobile/group.js +6 -5
- package/dist/_pkgs/affine-database-engine/view-presets/table/mobile/header.js +2 -2
- package/dist/_pkgs/affine-database-engine/view-presets/table/mobile/table-view-ui-logic.d.ts +4 -3
- package/dist/_pkgs/affine-database-engine/view-presets/table/mobile/table-view-ui-logic.js +29 -5
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc/controller/clipboard.js +6 -2
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc/controller/selection.js +2 -0
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc/group.js +6 -5
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc/header/column-header.js +11 -7
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc/header/database-header-column.js +16 -12
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc/header/number-format-bar.js +4 -2
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc/menu.js +9 -6
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc/table-view-ui-logic.d.ts +8 -1
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc/table-view-ui-logic.js +29 -7
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc-virtual/controller/clipboard.js +6 -2
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc-virtual/controller/selection.js +2 -0
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc-virtual/group/bottom/group-footer.js +5 -2
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc-virtual/group/bottom/stats/column-stats-column.d.ts +1 -1
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc-virtual/group/bottom/stats/column-stats-column.js +14 -6
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc-virtual/group/top/group-header.js +5 -2
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc-virtual/group/top/group-title.js +5 -3
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc-virtual/group/top/header/column-header.js +17 -10
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc-virtual/group/top/header/number-format-bar.js +4 -2
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc-virtual/group/top/header/single-column-header.js +20 -14
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc-virtual/row/menu.js +9 -6
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc-virtual/table-view-ui-logic.d.ts +6 -1
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc-virtual/table-view-ui-logic.js +30 -3
- package/dist/_pkgs/affine-database-engine/view-presets/table/stats/column-stats-column.d.ts +1 -1
- package/dist/_pkgs/affine-database-engine/view-presets/table/stats/column-stats-column.js +14 -6
- package/dist/_pkgs/affine-database-engine/view-presets/table/table-view-manager.js +2 -0
- package/dist/_pkgs/affine-database-engine/widget-presets/quick-setting-bar/filter/condition-view.d.ts +2 -0
- package/dist/_pkgs/affine-database-engine/widget-presets/quick-setting-bar/filter/condition-view.js +13 -6
- package/dist/_pkgs/affine-database-engine/widget-presets/quick-setting-bar/filter/group-panel-view.js +20 -13
- package/dist/_pkgs/affine-database-engine/widget-presets/quick-setting-bar/filter/root-panel-view.js +10 -5
- package/dist/_pkgs/affine-database-engine/widget-presets/quick-setting-bar/sort/root-panel.js +8 -5
- package/dist/_pkgs/affine-database-engine/widget-presets/tools/presets/search/search.js +2 -2
- package/dist/_pkgs/affine-database-engine/widget-presets/tools/presets/table-add-row/add-row.d.ts +6 -0
- package/dist/_pkgs/affine-database-engine/widget-presets/tools/presets/table-add-row/add-row.js +49 -4
- package/dist/_pkgs/affine-database-engine/widget-presets/tools/presets/view-options/view-settings.d.ts +3 -3
- package/dist/_pkgs/affine-database-engine/widget-presets/tools/presets/view-options/view-settings.js +3 -3
- package/dist/_pkgs/affine-database-engine/widget-presets/views-bar/views-view.js +5 -0
- package/dist/_pkgs/affine-database-view-block/configs/slash-menu.js +6 -3
- package/dist/_pkgs/affine-database-view-block/data-view-block.js +5 -4
- package/dist/_pkgs/affine-fragment-doc-title/doc-title.d.ts +3 -2
- package/dist/_pkgs/affine-fragment-doc-title/doc-title.js +3 -2
- package/dist/_pkgs/affine-shared/services/data-source-picker-service.d.ts +130 -1
- package/dist/_pkgs/affine-widget-edgeless-zoom-toolbar/index.js +26 -26
- package/dist/_pkgs/affine-widget-keyboard-toolbar/config.js +10 -21
- package/dist/_pkgs/affine-widget-keyboard-toolbar/icons.js +98 -98
- package/dist/_pkgs/affine-widget-page-dragging-area/index.js +10 -10
- package/dist/_pkgs/affine-widget-viewport-overlay/index.js +13 -13
- package/package.json +1 -1
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/calendar-view-manager.d.ts +0 -70
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/calendar-view-manager.js +0 -449
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/define.d.ts +0 -10
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/define.js +0 -29
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/effect.d.ts +0 -1
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/effect.js +0 -4
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/index.d.ts +0 -6
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/index.js +0 -6
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/layout.d.ts +0 -37
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/layout.js +0 -138
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/pc/actions.d.ts +0 -7
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/pc/actions.js +0 -64
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/pc/dnd.d.ts +0 -32
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/pc/dnd.js +0 -159
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/pc/effect.d.ts +0 -1
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/pc/effect.js +0 -7
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/pc/hit-test.d.ts +0 -1
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/pc/hit-test.js +0 -28
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/pc/styles.d.ts +0 -1
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/pc/styles.js +0 -707
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/pc/view.d.ts +0 -89
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/pc/view.js +0 -849
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/renderer.d.ts +0 -2
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/renderer.js +0 -8
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/source.d.ts +0 -8
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/source.js +0 -3
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/types.d.ts +0 -79
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/types.js +0 -1
package/architecture/code.c4
CHANGED
|
@@ -1404,7 +1404,7 @@ model {
|
|
|
1404
1404
|
link https://github.com/formicoidea/blocksuite-labre/tree/blocksuite-labre-main/packages/affine/database/block
|
|
1405
1405
|
metadata {
|
|
1406
1406
|
path 'packages/affine/database/block'
|
|
1407
|
-
files '
|
|
1407
|
+
files '65'
|
|
1408
1408
|
}
|
|
1409
1409
|
adapters = folder 'adapters/' {
|
|
1410
1410
|
link https://github.com/formicoidea/blocksuite-labre/tree/blocksuite-labre-main/packages/affine/database/block/src/adapters
|
|
@@ -1459,7 +1459,7 @@ model {
|
|
|
1459
1459
|
link https://github.com/formicoidea/blocksuite-labre/tree/blocksuite-labre-main/packages/affine/database/block/src
|
|
1460
1460
|
metadata {
|
|
1461
1461
|
path 'packages/affine/database/block/src'
|
|
1462
|
-
files '
|
|
1462
|
+
files '20'
|
|
1463
1463
|
}
|
|
1464
1464
|
}
|
|
1465
1465
|
utils = folder 'utils/' {
|
|
@@ -1537,13 +1537,13 @@ model {
|
|
|
1537
1537
|
link https://github.com/formicoidea/blocksuite-labre/tree/blocksuite-labre-main/packages/affine/database/engine
|
|
1538
1538
|
metadata {
|
|
1539
1539
|
path 'packages/affine/database/engine'
|
|
1540
|
-
files '
|
|
1540
|
+
files '338'
|
|
1541
1541
|
}
|
|
1542
1542
|
core = folder 'core/' {
|
|
1543
1543
|
link https://github.com/formicoidea/blocksuite-labre/tree/blocksuite-labre-main/packages/affine/database/engine/src/core
|
|
1544
1544
|
metadata {
|
|
1545
1545
|
path 'packages/affine/database/engine/src/core'
|
|
1546
|
-
files '
|
|
1546
|
+
files '167'
|
|
1547
1547
|
}
|
|
1548
1548
|
}
|
|
1549
1549
|
property-presets = folder 'property-presets/' {
|
|
@@ -1564,7 +1564,7 @@ model {
|
|
|
1564
1564
|
link https://github.com/formicoidea/blocksuite-labre/tree/blocksuite-labre-main/packages/affine/database/engine/src/view-presets
|
|
1565
1565
|
metadata {
|
|
1566
1566
|
path 'packages/affine/database/engine/src/view-presets'
|
|
1567
|
-
files '
|
|
1567
|
+
files '114'
|
|
1568
1568
|
}
|
|
1569
1569
|
}
|
|
1570
1570
|
widget-presets = folder 'widget-presets/' {
|
|
@@ -3722,19 +3722,19 @@ model {
|
|
|
3722
3722
|
features.components -[uses]-> framework.store '8 imports, 7 type-only'
|
|
3723
3723
|
features.components -[uses]-> framework.sync '1 import, 1 type-only'
|
|
3724
3724
|
features.components -[uses]-> model_.model_ '16 imports, 5 type-only'
|
|
3725
|
-
features.database.block -[uses]-> features.components '
|
|
3725
|
+
features.database.block -[uses]-> features.components '10 imports, 1 type-only'
|
|
3726
3726
|
features.database.block -[uses]-> features.database.engine '42 imports, 10 type-only'
|
|
3727
3727
|
features.database.block -[uses]-> features.ext-loader '2 imports'
|
|
3728
3728
|
features.database.block -[uses]-> features.inlines.preset '3 imports'
|
|
3729
3729
|
features.database.block -[uses]-> features.inlines.reference '1 import'
|
|
3730
3730
|
features.database.block -[uses]-> features.rich-text '2 imports, 2 type-only'
|
|
3731
|
-
features.database.block -[uses]-> features.shared '
|
|
3731
|
+
features.database.block -[uses]-> features.shared '45 imports, 8 type-only'
|
|
3732
3732
|
features.database.block -[uses]-> features.widgets.drag-handle '1 import'
|
|
3733
3733
|
features.database.block -[uses]-> features.widgets.slash-menu '2 imports, 1 type-only'
|
|
3734
3734
|
features.database.block -[uses]-> framework.global_ '16 imports'
|
|
3735
|
-
features.database.block -[uses]-> framework.std '
|
|
3736
|
-
features.database.block -[uses]-> framework.store '
|
|
3737
|
-
features.database.block -[uses]-> model_.model_ '
|
|
3735
|
+
features.database.block -[uses]-> framework.std '19 imports, 9 type-only'
|
|
3736
|
+
features.database.block -[uses]-> framework.store '24 imports, 16 type-only'
|
|
3737
|
+
features.database.block -[uses]-> model_.model_ '21 imports, 13 type-only'
|
|
3738
3738
|
features.database.editor -[uses]-> features.components '6 imports'
|
|
3739
3739
|
features.database.editor -[uses]-> features.database.block '9 imports, 2 type-only'
|
|
3740
3740
|
features.database.editor -[uses]-> features.database.engine '8 imports, 2 type-only'
|
|
@@ -3744,14 +3744,14 @@ model {
|
|
|
3744
3744
|
features.database.editor -[uses]-> framework.global_ '3 imports'
|
|
3745
3745
|
features.database.editor -[uses]-> framework.std '8 imports, 5 type-only'
|
|
3746
3746
|
features.database.editor -[uses]-> framework.store '1 import'
|
|
3747
|
-
features.database.engine -[uses]-> features.components '
|
|
3748
|
-
features.database.engine -[uses]-> features.shared '
|
|
3749
|
-
features.database.engine -[uses]-> framework.global_ '
|
|
3750
|
-
features.database.engine -[uses]-> framework.std '
|
|
3751
|
-
features.database.engine -[uses]-> framework.store '
|
|
3747
|
+
features.database.engine -[uses]-> features.components '75 imports, 4 type-only'
|
|
3748
|
+
features.database.engine -[uses]-> features.shared '98 imports, 44 type-only'
|
|
3749
|
+
features.database.engine -[uses]-> framework.global_ '96 imports, 5 type-only'
|
|
3750
|
+
features.database.engine -[uses]-> framework.std '81 imports, 9 type-only'
|
|
3751
|
+
features.database.engine -[uses]-> framework.store '12 imports, 4 type-only'
|
|
3752
3752
|
features.database.engine -[uses]-> model_.model_ '7 imports, 4 type-only'
|
|
3753
3753
|
features.database.view-block -[uses]-> features.components '5 imports'
|
|
3754
|
-
features.database.view-block -[uses]-> features.database.block '
|
|
3754
|
+
features.database.view-block -[uses]-> features.database.block '5 imports'
|
|
3755
3755
|
features.database.view-block -[uses]-> features.database.engine '11 imports, 4 type-only'
|
|
3756
3756
|
features.database.view-block -[uses]-> features.ext-loader '2 imports'
|
|
3757
3757
|
features.database.view-block -[uses]-> features.shared '6 imports'
|
|
@@ -5697,7 +5697,8 @@ model {
|
|
|
5697
5697
|
features.database.block.components -[imports]-> framework.global_.lit '2 imports'
|
|
5698
5698
|
features.database.block.components -[imports]-> framework.std.src '3 imports'
|
|
5699
5699
|
features.database.block.components -[imports]-> framework.store.src '1 import, 1 type-only'
|
|
5700
|
-
features.database.block.configs -[imports]-> features.database.block.src '
|
|
5700
|
+
features.database.block.configs -[imports]-> features.database.block.src '4 imports'
|
|
5701
|
+
features.database.block.configs -[imports]-> features.database.engine.src '1 import'
|
|
5701
5702
|
features.database.block.configs -[imports]-> features.database.engine.view-presets '1 import'
|
|
5702
5703
|
features.database.block.configs -[imports]-> features.shared.commands '1 import'
|
|
5703
5704
|
features.database.block.configs -[imports]-> features.shared.services '1 import'
|
|
@@ -5706,12 +5707,13 @@ model {
|
|
|
5706
5707
|
features.database.block.configs -[imports]-> framework.std.src '1 import, 1 type-only'
|
|
5707
5708
|
features.database.block.context -[imports]-> framework.global_.di '1 import'
|
|
5708
5709
|
features.database.block.context -[imports]-> framework.std.src '1 import, 1 type-only'
|
|
5710
|
+
features.database.block.detail-panel -[imports]-> features.database.block.src '1 import'
|
|
5709
5711
|
features.database.block.detail-panel -[imports]-> features.database.block.utils '1 import'
|
|
5710
5712
|
features.database.block.detail-panel -[imports]-> features.database.engine.src '2 imports, 2 type-only'
|
|
5711
5713
|
features.database.block.detail-panel -[imports]-> features.database.engine.view-presets '1 import, 1 type-only'
|
|
5712
5714
|
features.database.block.detail-panel -[imports]-> features.inlines.preset.src '1 import'
|
|
5713
5715
|
features.database.block.detail-panel -[imports]-> features.shared.consts '1 import'
|
|
5714
|
-
features.database.block.detail-panel -[imports]-> features.shared.services '
|
|
5716
|
+
features.database.block.detail-panel -[imports]-> features.shared.services '2 imports'
|
|
5715
5717
|
features.database.block.detail-panel -[imports]-> features.shared.types '1 import, 1 type-only'
|
|
5716
5718
|
features.database.block.detail-panel -[imports]-> features.shared.utils '1 import'
|
|
5717
5719
|
features.database.block.detail-panel -[imports]-> framework.global_.lit '2 imports'
|
|
@@ -5719,7 +5721,7 @@ model {
|
|
|
5719
5721
|
features.database.block.detail-panel -[imports]-> framework.store.src '1 import, 1 type-only'
|
|
5720
5722
|
features.database.block.detail-panel -[imports]-> model_.model_.src '1 import'
|
|
5721
5723
|
features.database.block.properties -[imports]-> features.database.block.context '5 imports'
|
|
5722
|
-
features.database.block.properties -[imports]-> features.database.block.src '
|
|
5724
|
+
features.database.block.properties -[imports]-> features.database.block.src '6 imports, 2 type-only'
|
|
5723
5725
|
features.database.block.properties -[imports]-> features.database.block.utils '3 imports'
|
|
5724
5726
|
features.database.block.properties -[imports]-> features.database.engine.property-presets '6 imports'
|
|
5725
5727
|
features.database.block.properties -[imports]-> features.database.engine.src '14 imports, 2 type-only'
|
|
@@ -5744,8 +5746,9 @@ model {
|
|
|
5744
5746
|
features.database.block.src -[imports]-> features.components.caption '1 import'
|
|
5745
5747
|
features.database.block.src -[imports]-> features.components.context-menu '2 imports, 1 type-only'
|
|
5746
5748
|
features.database.block.src -[imports]-> features.components.drop-indicator '1 import'
|
|
5749
|
+
features.database.block.src -[imports]-> features.components.icons_ '1 import'
|
|
5747
5750
|
features.database.block.src -[imports]-> features.components.peek '1 import'
|
|
5748
|
-
features.database.block.src -[imports]-> features.components.toast '
|
|
5751
|
+
features.database.block.src -[imports]-> features.components.toast '2 imports'
|
|
5749
5752
|
features.database.block.src -[imports]-> features.database.block.adapters '1 import'
|
|
5750
5753
|
features.database.block.src -[imports]-> features.database.block.components '4 imports'
|
|
5751
5754
|
features.database.block.src -[imports]-> features.database.block.configs '1 import'
|
|
@@ -5757,12 +5760,12 @@ model {
|
|
|
5757
5760
|
features.database.block.src -[imports]-> features.database.block.views_ '1 import'
|
|
5758
5761
|
features.database.block.src -[imports]-> features.database.engine.property-presets '1 import'
|
|
5759
5762
|
features.database.block.src -[imports]-> features.database.engine.src '7 imports, 2 type-only'
|
|
5760
|
-
features.database.block.src -[imports]-> features.database.engine.view-presets '
|
|
5763
|
+
features.database.block.src -[imports]-> features.database.engine.view-presets '1 import'
|
|
5761
5764
|
features.database.block.src -[imports]-> features.database.engine.widget-presets '1 import'
|
|
5762
5765
|
features.database.block.src -[imports]-> features.ext-loader.src '2 imports'
|
|
5763
5766
|
features.database.block.src -[imports]-> features.shared.commands '1 import'
|
|
5764
5767
|
features.database.block.src -[imports]-> features.shared.consts '1 import'
|
|
5765
|
-
features.database.block.src -[imports]-> features.shared.services '
|
|
5768
|
+
features.database.block.src -[imports]-> features.shared.services '7 imports, 2 type-only'
|
|
5766
5769
|
features.database.block.src -[imports]-> features.shared.theme '1 import'
|
|
5767
5770
|
features.database.block.src -[imports]-> features.shared.utils '4 imports, 1 type-only'
|
|
5768
5771
|
features.database.block.src -[imports]-> features.widgets.drag-handle.src '1 import'
|
|
@@ -5771,9 +5774,9 @@ model {
|
|
|
5771
5774
|
features.database.block.src -[imports]-> framework.global_.disposable '1 import'
|
|
5772
5775
|
features.database.block.src -[imports]-> framework.global_.gfx '1 import'
|
|
5773
5776
|
features.database.block.src -[imports]-> framework.std.inline '1 import'
|
|
5774
|
-
features.database.block.src -[imports]-> framework.std.src '
|
|
5775
|
-
features.database.block.src -[imports]-> framework.store.src '
|
|
5776
|
-
features.database.block.src -[imports]-> model_.model_.src '
|
|
5777
|
+
features.database.block.src -[imports]-> framework.std.src '9 imports, 5 type-only'
|
|
5778
|
+
features.database.block.src -[imports]-> framework.store.src '9 imports, 6 type-only'
|
|
5779
|
+
features.database.block.src -[imports]-> model_.model_.src '11 imports, 9 type-only'
|
|
5777
5780
|
features.database.block.utils -[imports]-> features.database.block.service '1 import, 1 type-only'
|
|
5778
5781
|
features.database.block.utils -[imports]-> features.shared.types '1 import, 1 type-only'
|
|
5779
5782
|
features.database.block.utils -[imports]-> features.shared.utils '1 import'
|
|
@@ -5830,10 +5833,10 @@ model {
|
|
|
5830
5833
|
features.database.engine.core -[imports]-> features.components.color-picker '2 imports'
|
|
5831
5834
|
features.database.engine.core -[imports]-> features.components.context-menu '18 imports, 4 type-only'
|
|
5832
5835
|
features.database.engine.core -[imports]-> features.components.icons_ '1 import'
|
|
5833
|
-
features.database.engine.core -[imports]-> features.components.src '
|
|
5834
|
-
features.database.engine.core -[imports]-> features.database.engine.src '
|
|
5836
|
+
features.database.engine.core -[imports]-> features.components.src '2 imports'
|
|
5837
|
+
features.database.engine.core -[imports]-> features.database.engine.src '23 imports'
|
|
5835
5838
|
features.database.engine.core -[imports]-> features.database.engine.view-presets '5 imports, 3 type-only'
|
|
5836
|
-
features.database.engine.core -[imports]-> features.shared.services '
|
|
5839
|
+
features.database.engine.core -[imports]-> features.shared.services '18 imports, 10 type-only'
|
|
5837
5840
|
features.database.engine.core -[imports]-> features.shared.theme '5 imports'
|
|
5838
5841
|
features.database.engine.core -[imports]-> features.shared.types '12 imports, 12 type-only'
|
|
5839
5842
|
features.database.engine.core -[imports]-> features.shared.utils '10 imports, 8 type-only'
|
|
@@ -5842,14 +5845,15 @@ model {
|
|
|
5842
5845
|
features.database.engine.core -[imports]-> framework.global_.env '3 imports'
|
|
5843
5846
|
features.database.engine.core -[imports]-> framework.global_.exceptions '3 imports'
|
|
5844
5847
|
features.database.engine.core -[imports]-> framework.global_.lit '19 imports'
|
|
5845
|
-
features.database.engine.core -[imports]-> framework.std.src '27 imports,
|
|
5848
|
+
features.database.engine.core -[imports]-> framework.std.src '27 imports, 6 type-only'
|
|
5846
5849
|
features.database.engine.core -[imports]-> framework.store.src '6 imports, 2 type-only'
|
|
5847
5850
|
features.database.engine.core -[imports]-> model_.model_.src '6 imports, 3 type-only'
|
|
5848
5851
|
features.database.engine.property-presets -[imports]-> features.components.context-menu '3 imports'
|
|
5849
5852
|
features.database.engine.property-presets -[imports]-> features.components.date-picker '1 import'
|
|
5850
5853
|
features.database.engine.property-presets -[imports]-> features.components.portal '1 import'
|
|
5851
5854
|
features.database.engine.property-presets -[imports]-> features.database.engine.core '50 imports, 2 type-only'
|
|
5852
|
-
features.database.engine.property-presets -[imports]-> features.
|
|
5855
|
+
features.database.engine.property-presets -[imports]-> features.database.engine.src '8 imports'
|
|
5856
|
+
features.database.engine.property-presets -[imports]-> features.shared.services '2 imports, 1 type-only'
|
|
5853
5857
|
features.database.engine.property-presets -[imports]-> features.shared.theme '1 import'
|
|
5854
5858
|
features.database.engine.property-presets -[imports]-> framework.global_.env '2 imports'
|
|
5855
5859
|
features.database.engine.property-presets -[imports]-> framework.global_.gfx '1 import'
|
|
@@ -5859,29 +5863,28 @@ model {
|
|
|
5859
5863
|
features.database.engine.src -[imports]-> features.database.engine.view-presets '1 import'
|
|
5860
5864
|
features.database.engine.src -[imports]-> features.database.engine.widget-presets '1 import'
|
|
5861
5865
|
features.database.engine.src -[imports]-> features.shared.services '1 import, 1 type-only'
|
|
5862
|
-
features.database.engine.view-presets -[imports]-> features.components.context-menu '
|
|
5863
|
-
features.database.engine.view-presets -[imports]-> features.components.src '
|
|
5864
|
-
features.database.engine.view-presets -[imports]-> features.database.engine.core '
|
|
5866
|
+
features.database.engine.view-presets -[imports]-> features.components.context-menu '30 imports'
|
|
5867
|
+
features.database.engine.view-presets -[imports]-> features.components.src '5 imports'
|
|
5868
|
+
features.database.engine.view-presets -[imports]-> features.database.engine.core '228 imports, 60 type-only'
|
|
5865
5869
|
features.database.engine.view-presets -[imports]-> features.database.engine.property-presets '7 imports'
|
|
5866
|
-
features.database.engine.view-presets -[imports]-> features.database.engine.src '
|
|
5870
|
+
features.database.engine.view-presets -[imports]-> features.database.engine.src '31 imports'
|
|
5867
5871
|
features.database.engine.view-presets -[imports]-> features.database.engine.widget-presets '2 imports'
|
|
5868
|
-
features.database.engine.view-presets -[imports]-> features.shared.services '
|
|
5872
|
+
features.database.engine.view-presets -[imports]-> features.shared.services '10 imports'
|
|
5869
5873
|
features.database.engine.view-presets -[imports]-> features.shared.theme '10 imports'
|
|
5870
|
-
features.database.engine.view-presets -[imports]-> features.shared.types '
|
|
5871
|
-
features.database.engine.view-presets -[imports]-> features.shared.utils '
|
|
5872
|
-
features.database.engine.view-presets -[imports]-> framework.global_.di '1 import'
|
|
5874
|
+
features.database.engine.view-presets -[imports]-> features.shared.types '1 import, 1 type-only'
|
|
5875
|
+
features.database.engine.view-presets -[imports]-> features.shared.utils '15 imports, 10 type-only'
|
|
5873
5876
|
features.database.engine.view-presets -[imports]-> framework.global_.disposable '3 imports'
|
|
5874
5877
|
features.database.engine.view-presets -[imports]-> framework.global_.env '1 import'
|
|
5875
5878
|
features.database.engine.view-presets -[imports]-> framework.global_.exceptions '2 imports'
|
|
5876
5879
|
features.database.engine.view-presets -[imports]-> framework.global_.gfx '1 import'
|
|
5877
5880
|
features.database.engine.view-presets -[imports]-> framework.global_.lit '38 imports'
|
|
5878
|
-
features.database.engine.view-presets -[imports]-> framework.std.src '
|
|
5879
|
-
features.database.engine.view-presets -[imports]-> framework.store.src '
|
|
5881
|
+
features.database.engine.view-presets -[imports]-> framework.std.src '42 imports, 3 type-only'
|
|
5882
|
+
features.database.engine.view-presets -[imports]-> framework.store.src '4 imports, 2 type-only'
|
|
5880
5883
|
features.database.engine.widget-presets -[imports]-> features.components.context-menu '12 imports'
|
|
5881
|
-
features.database.engine.widget-presets -[imports]-> features.database.engine.core '
|
|
5882
|
-
features.database.engine.widget-presets -[imports]-> features.database.engine.src '
|
|
5884
|
+
features.database.engine.widget-presets -[imports]-> features.database.engine.core '95 imports, 24 type-only'
|
|
5885
|
+
features.database.engine.widget-presets -[imports]-> features.database.engine.src '13 imports'
|
|
5883
5886
|
features.database.engine.widget-presets -[imports]-> features.database.engine.view-presets '2 imports, 2 type-only'
|
|
5884
|
-
features.database.engine.widget-presets -[imports]-> features.shared.services '
|
|
5887
|
+
features.database.engine.widget-presets -[imports]-> features.shared.services '8 imports, 1 type-only'
|
|
5885
5888
|
features.database.engine.widget-presets -[imports]-> features.shared.theme '5 imports'
|
|
5886
5889
|
features.database.engine.widget-presets -[imports]-> framework.global_.di '1 import'
|
|
5887
5890
|
features.database.engine.widget-presets -[imports]-> framework.global_.env '3 imports'
|
|
@@ -5895,6 +5898,7 @@ model {
|
|
|
5895
5898
|
features.database.view-block.columns -[imports]-> features.database.block.src '1 import'
|
|
5896
5899
|
features.database.view-block.columns -[imports]-> features.database.engine.property-presets '1 import'
|
|
5897
5900
|
features.database.view-block.columns -[imports]-> features.database.engine.src '1 import, 1 type-only'
|
|
5901
|
+
features.database.view-block.configs -[imports]-> features.database.block.src '1 import'
|
|
5898
5902
|
features.database.view-block.configs -[imports]-> features.database.engine.src '1 import'
|
|
5899
5903
|
features.database.view-block.configs -[imports]-> features.database.view-block.src '1 import, 1 type-only'
|
|
5900
5904
|
features.database.view-block.configs -[imports]-> features.shared.services '1 import'
|
|
@@ -5905,7 +5909,7 @@ model {
|
|
|
5905
5909
|
features.database.view-block.src -[imports]-> features.components.icons_ '1 import'
|
|
5906
5910
|
features.database.view-block.src -[imports]-> features.components.peek '1 import'
|
|
5907
5911
|
features.database.view-block.src -[imports]-> features.components.toast '1 import'
|
|
5908
|
-
features.database.view-block.src -[imports]-> features.database.block.src '
|
|
5912
|
+
features.database.view-block.src -[imports]-> features.database.block.src '3 imports'
|
|
5909
5913
|
features.database.view-block.src -[imports]-> features.database.engine.property-presets '1 import'
|
|
5910
5914
|
features.database.view-block.src -[imports]-> features.database.engine.src '3 imports, 1 type-only'
|
|
5911
5915
|
features.database.view-block.src -[imports]-> features.database.engine.widget-presets '1 import'
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "blocksuite"
|
|
3
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "blocksuite"
|
|
3
|
+
}
|
|
@@ -26,7 +26,7 @@ export declare const builtinToolbarConfig: {
|
|
|
26
26
|
readonly tooltip: "Create Table";
|
|
27
27
|
readonly tooltipWording: import("../../affine-shared/services/index.js").ChromeWording;
|
|
28
28
|
readonly icon: import("lit-html").TemplateResult<1>;
|
|
29
|
-
readonly when: ({ chain }: import("../../affine-shared/services/index.js").ToolbarContext) => boolean;
|
|
29
|
+
readonly when: ({ chain, std }: import("../../affine-shared/services/index.js").ToolbarContext) => boolean;
|
|
30
30
|
readonly run: ({ host }: import("../../affine-shared/services/index.js").ToolbarContext) => void;
|
|
31
31
|
}, {
|
|
32
32
|
readonly id: "f.convert-to-linked-doc";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { convertToDatabase, DATABASE_CONVERT_WHITE_LIST, } from '../../affine-database-block/index.js';
|
|
1
|
+
import { canConvertToDatabase, convertToDatabase, DATABASE_CONVERT_WHITE_LIST, } from '../../affine-database-block/index.js';
|
|
2
2
|
import { convertSelectedBlocksToLinkedDoc, getTitleFromSelectedModels, notifyDocCreated, promptDocTitle, } from '../../affine-block-embed/index.js';
|
|
3
3
|
import { updateBlockType } from '../../affine-block-note/index.js';
|
|
4
4
|
import { toast } from '../../affine-components/toast/index.js';
|
|
@@ -129,7 +129,9 @@ const turnIntoDatabase = {
|
|
|
129
129
|
tooltip: 'Create Table',
|
|
130
130
|
tooltipWording: ROOT_TOOLBAR_CREATE_TABLE,
|
|
131
131
|
icon: DatabaseTableViewIcon(),
|
|
132
|
-
when({ chain }) {
|
|
132
|
+
when({ chain, std }) {
|
|
133
|
+
if (!canConvertToDatabase(std))
|
|
134
|
+
return false;
|
|
133
135
|
const middleware = (count = 0) => {
|
|
134
136
|
return (ctx, next) => {
|
|
135
137
|
const { selectedBlocks } = ctx;
|
|
@@ -58,18 +58,18 @@ const READ_LABEL_FALLBACK = 'Read this component';
|
|
|
58
58
|
* Drawn inline like its neighbours: this package does not depend on
|
|
59
59
|
* `@blocksuite/icons` and one glyph is not worth a new dependency.
|
|
60
60
|
*/
|
|
61
|
-
const ReadIcon = html `<svg
|
|
62
|
-
width="20"
|
|
63
|
-
height="20"
|
|
64
|
-
viewBox="0 0 24 24"
|
|
65
|
-
fill="none"
|
|
66
|
-
stroke="currentColor"
|
|
67
|
-
stroke-width="2"
|
|
68
|
-
stroke-linecap="round"
|
|
69
|
-
stroke-linejoin="round"
|
|
70
|
-
>
|
|
71
|
-
<path d="M2 12s3.5-6 10-6 10 6 10 6-3.5 6-10 6-10-6-10-6z" />
|
|
72
|
-
<circle cx="12" cy="12" r="3" />
|
|
61
|
+
const ReadIcon = html `<svg
|
|
62
|
+
width="20"
|
|
63
|
+
height="20"
|
|
64
|
+
viewBox="0 0 24 24"
|
|
65
|
+
fill="none"
|
|
66
|
+
stroke="currentColor"
|
|
67
|
+
stroke-width="2"
|
|
68
|
+
stroke-linecap="round"
|
|
69
|
+
stroke-linejoin="round"
|
|
70
|
+
>
|
|
71
|
+
<path d="M2 12s3.5-6 10-6 10 6 10 6-3.5 6-10 6-10-6-10-6z" />
|
|
72
|
+
<circle cx="12" cy="12" r="3" />
|
|
73
73
|
</svg>`;
|
|
74
74
|
/** The command this module drives. Spelled once. */
|
|
75
75
|
const ELEMENT_READ_ID = 'element.read';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { BlockStdScope } from '../../std/index.js';
|
|
2
2
|
import { ShadowlessElement } from '../../std/index.js';
|
|
3
|
-
import { type Middleware, type ReferenceElement } from '@floating-ui/dom';
|
|
3
|
+
import { type Middleware, type Placement, type ReferenceElement } from '@floating-ui/dom';
|
|
4
4
|
import type { MenuFocusable } from './focusable.js';
|
|
5
5
|
import { Menu, type MenuConfig, type MenuOptions } from './menu.js';
|
|
6
6
|
import type { MenuComponentInterface } from './types.js';
|
|
@@ -61,6 +61,8 @@ export declare const createPopup: (target: PopupTarget, content: HTMLElement, op
|
|
|
61
61
|
onClose?: () => void;
|
|
62
62
|
middleware?: Array<Middleware | null | undefined | false>;
|
|
63
63
|
container?: HTMLElement;
|
|
64
|
+
/** Told where the popup was placed, at each placement. */
|
|
65
|
+
onPlaced?: (placement: Placement) => void;
|
|
64
66
|
}) => () => void;
|
|
65
67
|
export type MenuHandler = {
|
|
66
68
|
close: () => void;
|
|
@@ -527,7 +527,8 @@ export const createPopup = (target, content, options) => {
|
|
|
527
527
|
computePosition(target.targetRect, content, {
|
|
528
528
|
middleware: options?.middleware ?? [shift({ crossAxis: true })],
|
|
529
529
|
})
|
|
530
|
-
.then(({ x, y }) => {
|
|
530
|
+
.then(({ x, y, placement }) => {
|
|
531
|
+
options?.onPlaced?.(placement);
|
|
531
532
|
Object.assign(content.style, {
|
|
532
533
|
left: `${x}px`,
|
|
533
534
|
top: `${y}px`,
|
|
@@ -620,6 +621,13 @@ export const popMenu = (target, props) => {
|
|
|
620
621
|
onClose: () => {
|
|
621
622
|
menu.close();
|
|
622
623
|
},
|
|
624
|
+
// A menu placed beside its anchor opens its sub-menus on that side too.
|
|
625
|
+
onPlaced: placement => {
|
|
626
|
+
if (placement.startsWith('left'))
|
|
627
|
+
menu.side = 'left';
|
|
628
|
+
else if (placement.startsWith('right'))
|
|
629
|
+
menu.side = 'right';
|
|
630
|
+
},
|
|
623
631
|
middleware: props.middleware ?? [
|
|
624
632
|
autoPlacement({
|
|
625
633
|
allowedPlacements: [
|
|
@@ -19,9 +19,16 @@ export type MenuOptions = {
|
|
|
19
19
|
};
|
|
20
20
|
type MenuOpenListener = (menu: Menu) => (() => void) | void;
|
|
21
21
|
export declare function onMenuOpen(listener: MenuOpenListener): () => void;
|
|
22
|
+
/** The side of its parent a sub-menu opened on. */
|
|
23
|
+
export type SubMenuSide = 'left' | 'right';
|
|
22
24
|
export declare class Menu {
|
|
23
25
|
options: MenuOptions;
|
|
24
26
|
private _cleanupFns;
|
|
27
|
+
/**
|
|
28
|
+
* Set once a sub-menu is placed; its own sub-menus open on the same side
|
|
29
|
+
* (`nestedSubMenuPosition`). Undefined for a root menu.
|
|
30
|
+
*/
|
|
31
|
+
side: SubMenuSide | undefined;
|
|
25
32
|
private readonly _currentFocused$;
|
|
26
33
|
private readonly _subMenu$;
|
|
27
34
|
closed: boolean;
|
|
@@ -18,6 +18,11 @@ export class Menu {
|
|
|
18
18
|
constructor(options) {
|
|
19
19
|
this.options = options;
|
|
20
20
|
this._cleanupFns = [];
|
|
21
|
+
/**
|
|
22
|
+
* Set once a sub-menu is placed; its own sub-menus open on the same side
|
|
23
|
+
* (`nestedSubMenuPosition`). Undefined for a root menu.
|
|
24
|
+
*/
|
|
25
|
+
this.side = undefined;
|
|
21
26
|
this._currentFocused$ = signal();
|
|
22
27
|
this._subMenu$ = signal();
|
|
23
28
|
this.closed = false;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { type TemplateResult } from 'lit';
|
|
2
2
|
import { MenuFocusable } from './focusable.js';
|
|
3
|
-
import { Menu, type MenuOptions } from './menu.js';
|
|
3
|
+
import { Menu, type MenuOptions, type SubMenuSide } from './menu.js';
|
|
4
4
|
export type MenuSubMenuData = {
|
|
5
5
|
content: () => TemplateResult;
|
|
6
6
|
options: MenuOptions;
|
|
7
7
|
select?: () => void;
|
|
8
8
|
class?: string;
|
|
9
|
+
/** Names the entry itself; `options.testId` names the menu it opens. */
|
|
10
|
+
testId?: string;
|
|
9
11
|
};
|
|
10
12
|
export declare const subMenuOffset: {
|
|
11
13
|
name: string;
|
|
@@ -22,6 +24,21 @@ export declare const subMenuMiddleware: {
|
|
|
22
24
|
options?: any;
|
|
23
25
|
fn: (state: import("@floating-ui/dom").MiddlewareState) => import("@floating-ui/core").MiddlewareReturn | Promise<import("@floating-ui/core").MiddlewareReturn>;
|
|
24
26
|
}[];
|
|
27
|
+
/**
|
|
28
|
+
* Where a nested sub-menu opens: on the side its parent opened on, right for
|
|
29
|
+
* a menu's first sub-menu, the other side only when it does not fit there.
|
|
30
|
+
* `autoPlacement` took the side with the most room, so a third level drawn
|
|
31
|
+
* from a menu sitting right of the page's middle went left, back over the
|
|
32
|
+
* first menu, instead of beside the second (#571).
|
|
33
|
+
*/
|
|
34
|
+
export declare function nestedSubMenuPosition(parentSide: SubMenuSide | undefined): {
|
|
35
|
+
placement: "left-start" | "right-start";
|
|
36
|
+
middleware: {
|
|
37
|
+
name: string;
|
|
38
|
+
options?: any;
|
|
39
|
+
fn: (state: import("@floating-ui/dom").MiddlewareState) => import("@floating-ui/core").MiddlewareReturn | Promise<import("@floating-ui/core").MiddlewareReturn>;
|
|
40
|
+
}[];
|
|
41
|
+
};
|
|
25
42
|
export declare class MenuSubMenu extends MenuFocusable {
|
|
26
43
|
createTime: number;
|
|
27
44
|
connectedCallback(): void;
|
|
@@ -49,6 +66,7 @@ export declare const subMenuItems: {
|
|
|
49
66
|
postfix?: TemplateResult;
|
|
50
67
|
prefix?: TemplateResult;
|
|
51
68
|
class?: string;
|
|
69
|
+
testId?: string;
|
|
52
70
|
options: MenuOptions;
|
|
53
71
|
disableArrow?: boolean;
|
|
54
72
|
hide?: () => boolean;
|
|
@@ -34,10 +34,11 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
34
34
|
};
|
|
35
35
|
import { IS_MOBILE } from '../../global/env/index.js';
|
|
36
36
|
import { ArrowRightSmallIcon } from '@blocksuite/icons/lit';
|
|
37
|
-
import { autoPlacement, autoUpdate, computePosition, offset, } from '@floating-ui/dom';
|
|
37
|
+
import { autoPlacement, autoUpdate, computePosition, flip, offset, shift, } from '@floating-ui/dom';
|
|
38
38
|
import { html, nothing } from 'lit';
|
|
39
39
|
import { property } from 'lit/decorators.js';
|
|
40
40
|
import { classMap } from 'lit/directives/class-map.js';
|
|
41
|
+
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
41
42
|
import { MenuFocusable } from './focusable.js';
|
|
42
43
|
import { Menu } from './menu.js';
|
|
43
44
|
import { popMenu, popupTargetFromElement } from './menu-renderer.js';
|
|
@@ -49,6 +50,27 @@ export const subMenuPlacements = autoPlacement({
|
|
|
49
50
|
allowedPlacements: ['right-start', 'left-start', 'right-end', 'left-end'],
|
|
50
51
|
});
|
|
51
52
|
export const subMenuMiddleware = [subMenuOffset, subMenuPlacements];
|
|
53
|
+
/**
|
|
54
|
+
* Where a nested sub-menu opens: on the side its parent opened on, right for
|
|
55
|
+
* a menu's first sub-menu, the other side only when it does not fit there.
|
|
56
|
+
* `autoPlacement` took the side with the most room, so a third level drawn
|
|
57
|
+
* from a menu sitting right of the page's middle went left, back over the
|
|
58
|
+
* first menu, instead of beside the second (#571).
|
|
59
|
+
*/
|
|
60
|
+
export function nestedSubMenuPosition(parentSide) {
|
|
61
|
+
const side = parentSide ?? 'right';
|
|
62
|
+
const other = side === 'right' ? 'left' : 'right';
|
|
63
|
+
return {
|
|
64
|
+
placement: `${side}-start`,
|
|
65
|
+
middleware: [
|
|
66
|
+
subMenuOffset,
|
|
67
|
+
flip({
|
|
68
|
+
fallbackPlacements: [`${other}-start`, `${side}-end`, `${other}-end`],
|
|
69
|
+
}),
|
|
70
|
+
shift({ padding: 8 }),
|
|
71
|
+
],
|
|
72
|
+
};
|
|
73
|
+
}
|
|
52
74
|
let MenuSubMenu = (() => {
|
|
53
75
|
let _classSuper = MenuFocusable;
|
|
54
76
|
let _data_decorators;
|
|
@@ -89,7 +111,13 @@ let MenuSubMenu = (() => {
|
|
|
89
111
|
const focus = this.menu.currentFocused$.value;
|
|
90
112
|
const menu = new Menu({
|
|
91
113
|
...this.data.options,
|
|
114
|
+
// An entry picked at any depth completes the whole chain: this menu's
|
|
115
|
+
// own completion runs too, so a pick two levels down closes the root
|
|
116
|
+
// as a pick one level down always did (#571: "Link an existing source"
|
|
117
|
+
// → database → source left the creation popover open, and the next
|
|
118
|
+
// click only closed it).
|
|
92
119
|
onComplete: () => {
|
|
120
|
+
this.menu.options.onComplete?.();
|
|
93
121
|
this.menu.close();
|
|
94
122
|
},
|
|
95
123
|
onClose: () => {
|
|
@@ -100,11 +128,11 @@ let MenuSubMenu = (() => {
|
|
|
100
128
|
},
|
|
101
129
|
});
|
|
102
130
|
this.menu.menuElement.parentElement?.append(menu.menuElement);
|
|
131
|
+
const position = nestedSubMenuPosition(this.menu.side);
|
|
103
132
|
const unsub = autoUpdate(this, menu.menuElement, () => {
|
|
104
|
-
computePosition(this, menu.menuElement,
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
.then(({ x, y }) => {
|
|
133
|
+
computePosition(this, menu.menuElement, position)
|
|
134
|
+
.then(({ x, y, placement }) => {
|
|
135
|
+
menu.side = placement.startsWith('left') ? 'left' : 'right';
|
|
108
136
|
menu.menuElement.style.left = `${x}px`;
|
|
109
137
|
menu.menuElement.style.top = `${y}px`;
|
|
110
138
|
})
|
|
@@ -121,7 +149,12 @@ let MenuSubMenu = (() => {
|
|
|
121
149
|
'affine-menu-button': true,
|
|
122
150
|
focused: this.isFocused$.value,
|
|
123
151
|
});
|
|
124
|
-
return html ` <div
|
|
152
|
+
return html ` <div
|
|
153
|
+
class="${classString}"
|
|
154
|
+
data-testid=${ifDefined(this.data.testId)}
|
|
155
|
+
>
|
|
156
|
+
${this.data.content()}
|
|
157
|
+
</div>`;
|
|
125
158
|
}
|
|
126
159
|
#data_accessor_storage;
|
|
127
160
|
get data() { return this.#data_accessor_storage; }
|
|
@@ -182,7 +215,12 @@ let MobileSubMenu = (() => {
|
|
|
182
215
|
'mobile-menu-button': true,
|
|
183
216
|
focused: this.isFocused$.value,
|
|
184
217
|
});
|
|
185
|
-
return html ` <div
|
|
218
|
+
return html ` <div
|
|
219
|
+
class="${classString}"
|
|
220
|
+
data-testid=${ifDefined(this.data.testId)}
|
|
221
|
+
>
|
|
222
|
+
${this.data.content()}
|
|
223
|
+
</div>`;
|
|
186
224
|
}
|
|
187
225
|
#data_accessor_storage = __runInitializers(this, _data_initializers, void 0);
|
|
188
226
|
get data() { return this.#data_accessor_storage; }
|
|
@@ -219,6 +257,7 @@ export const subMenuItems = {
|
|
|
219
257
|
${config.postfix}
|
|
220
258
|
${config.disableArrow ? nothing : ArrowRightSmallIcon()} `,
|
|
221
259
|
class: config.class,
|
|
260
|
+
testId: config.testId,
|
|
222
261
|
options: config.options,
|
|
223
262
|
};
|
|
224
263
|
return renderSubMenu(data, menu);
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { HighLightDuotoneIcon } from '@blocksuite/icons/lit';
|
|
2
2
|
import { css, LitElement } from 'lit';
|
|
3
3
|
export class HighlightDuotoneIcon extends LitElement {
|
|
4
|
-
static { this.styles = css `
|
|
5
|
-
svg {
|
|
6
|
-
display: flex;
|
|
7
|
-
font-size: 20px;
|
|
8
|
-
}
|
|
9
|
-
svg > path:nth-child(1) {
|
|
10
|
-
fill: var(--color, unset);
|
|
11
|
-
}
|
|
4
|
+
static { this.styles = css `
|
|
5
|
+
svg {
|
|
6
|
+
display: flex;
|
|
7
|
+
font-size: 20px;
|
|
8
|
+
}
|
|
9
|
+
svg > path:nth-child(1) {
|
|
10
|
+
fill: var(--color, unset);
|
|
11
|
+
}
|
|
12
12
|
`; }
|
|
13
13
|
render() {
|
|
14
14
|
return HighLightDuotoneIcon();
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { TextBackgroundDuotoneIcon } from '@blocksuite/icons/lit';
|
|
2
2
|
import { css, LitElement } from 'lit';
|
|
3
3
|
export class TextDuotoneIcon extends LitElement {
|
|
4
|
-
static { this.styles = css `
|
|
5
|
-
svg {
|
|
6
|
-
display: flex;
|
|
7
|
-
font-size: 20px;
|
|
8
|
-
}
|
|
9
|
-
svg > path:nth-child(1) {
|
|
10
|
-
fill: var(--background, unset);
|
|
11
|
-
}
|
|
12
|
-
svg > path:nth-child(3) {
|
|
13
|
-
fill: var(--color, unset);
|
|
14
|
-
}
|
|
4
|
+
static { this.styles = css `
|
|
5
|
+
svg {
|
|
6
|
+
display: flex;
|
|
7
|
+
font-size: 20px;
|
|
8
|
+
}
|
|
9
|
+
svg > path:nth-child(1) {
|
|
10
|
+
fill: var(--background, unset);
|
|
11
|
+
}
|
|
12
|
+
svg > path:nth-child(3) {
|
|
13
|
+
fill: var(--color, unset);
|
|
14
|
+
}
|
|
15
15
|
`; }
|
|
16
16
|
render() {
|
|
17
17
|
return TextBackgroundDuotoneIcon();
|
|
@@ -1,4 +1,28 @@
|
|
|
1
1
|
import type { SlashMenuConfig } from '../../affine-widget-slash-menu/index.js';
|
|
2
|
+
import type { BlockStdScope } from '../../std/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* With a data-source picker the host owns database creation (ADR 0035 §5):
|
|
5
|
+
* its `createDatabase` is the only way in, and without it no entry creates
|
|
6
|
+
* one. Without a picker, a native inline database, as in 0.48.
|
|
7
|
+
*/
|
|
8
|
+
export declare function canCreateDatabase(std: BlockStdScope): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Three ways in, by what is registered (ADR 0035 §5, amendment of
|
|
11
|
+
* 2026-10-28):
|
|
12
|
+
*
|
|
13
|
+
* - a picker and the bundle's creation menu: the database lands at once,
|
|
14
|
+
* native and with no row, and the menu opens over it to connect it to a
|
|
15
|
+
* source (`connectDatabaseToSource`). Dismissed, the native database stays
|
|
16
|
+
* and renders: nothing is lost by closing the popover;
|
|
17
|
+
* - a picker alone (a core-only host): the host's `createDatabase` first,
|
|
18
|
+
* then a view of its first source, as in 0.61;
|
|
19
|
+
* - no picker: a native inline database with 3 rows, as in 0.48.
|
|
20
|
+
*
|
|
21
|
+
* The one creation gesture: the slash entries and the mobile keyboard
|
|
22
|
+
* toolbar's "Table view" / "Kanban view" both run it (ADR 0035 amendment of
|
|
23
|
+
* 2026-10-29), so neither inserts native rows a host's picker would not see.
|
|
24
|
+
*/
|
|
25
|
+
export declare function createDatabaseByGesture(std: BlockStdScope, viewType: string): void;
|
|
2
26
|
/**
|
|
3
27
|
* The slash entries that CREATE a database, registered by the gated
|
|
4
28
|
* `DatabaseViewExtension` only. No Calendar entry after 0.48 (ADR 0035 §6):
|