@oneflowui/ui 0.8.5 → 0.8.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +99 -22
- package/README.md +99 -22
- package/dist/components/common/ThemeScopeScene.vue.d.ts +31 -0
- package/dist/components/common/ThemeScopeScene.vue.js +7 -0
- package/dist/components/common/ThemeScopeScene.vue2.js +56 -0
- package/dist/components/common/index.d.ts +1 -0
- package/dist/composables/index.d.ts +2 -2
- package/dist/composables/useDatabaseViewMiddleware.d.ts +23 -0
- package/dist/composables/useDatabaseViewMiddleware.js +98 -71
- package/dist/composables.js +34 -31
- package/dist/index.d.ts +3 -3
- package/dist/index.js +211 -206
- package/dist/style.css +1 -1
- package/package.json +1 -1
package/README.en.md
CHANGED
|
@@ -154,7 +154,7 @@ When a single page needs two visual contexts at once, prefer the `ThemeScope` co
|
|
|
154
154
|
|
|
155
155
|
```vue
|
|
156
156
|
<script setup lang="ts">
|
|
157
|
-
import { ThemeScope } from '@oneflowui/ui'
|
|
157
|
+
import { DataTable, ThemeScope } from '@oneflowui/ui'
|
|
158
158
|
</script>
|
|
159
159
|
|
|
160
160
|
<template>
|
|
@@ -174,33 +174,37 @@ Supported values currently match the global theme list:
|
|
|
174
174
|
|
|
175
175
|
Direct `data-of-theme-scope` usage is still compatible for older code, but new consumers should use `ThemeScope`.
|
|
176
176
|
|
|
177
|
-
### Component
|
|
177
|
+
### ThemeScope Scene Component
|
|
178
178
|
|
|
179
|
-
|
|
179
|
+
If you want to reuse "local theme + title + description + meta/footer slots" together, use `ThemeScopeScene`. It is a lightweight scene shell component that fits enterprise back offices, ops consoles, and task centers.
|
|
180
180
|
|
|
181
181
|
```vue
|
|
182
182
|
<script setup lang="ts">
|
|
183
|
-
import { DataTable,
|
|
183
|
+
import { DataTable, ThemeScopeScene } from '@oneflowui/ui'
|
|
184
184
|
</script>
|
|
185
185
|
|
|
186
186
|
<template>
|
|
187
|
-
<
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
<
|
|
196
|
-
</
|
|
187
|
+
<ThemeScopeScene
|
|
188
|
+
theme="ops-console"
|
|
189
|
+
tag="section"
|
|
190
|
+
eyebrow="Enterprise Scene"
|
|
191
|
+
title="Task Overview"
|
|
192
|
+
description="This region automatically receives ops-console tokens."
|
|
193
|
+
>
|
|
194
|
+
<template #meta>
|
|
195
|
+
<span class="scene-chip">ThemeScopeScene</span>
|
|
196
|
+
</template>
|
|
197
197
|
|
|
198
198
|
<DataTable :rows="rows" :columns="columns" />
|
|
199
|
-
|
|
199
|
+
|
|
200
|
+
<template #footer>
|
|
201
|
+
<small>footer / notes / actions</small>
|
|
202
|
+
</template>
|
|
203
|
+
</ThemeScopeScene>
|
|
200
204
|
</template>
|
|
201
205
|
```
|
|
202
206
|
|
|
203
|
-
|
|
207
|
+
`ThemeScopeScene` still reuses `ThemeScope` under the hood, so this is non-breaking. It just packages the common business shell into a reusable component.
|
|
204
208
|
|
|
205
209
|
### Virtual List State Cache
|
|
206
210
|
|
|
@@ -224,14 +228,14 @@ const { visibleItems, totalHeight, offsetY } = useVirtualList({
|
|
|
224
228
|
|
|
225
229
|
If you need to review the current traceable release materials, start with these docs:
|
|
226
230
|
|
|
227
|
-
- Current evidence index: [`docs/plans/2026-03-22-release-0.8.
|
|
228
|
-
- Release proof: [`docs/plans/2026-03-22-release-0.8.
|
|
229
|
-
- Verification result: [`docs/plans/2026-03-22-release-0.8.
|
|
231
|
+
- Current evidence index: [`docs/plans/2026-03-22-release-0.8.6-evidence-index.md`](docs/plans/2026-03-22-release-0.8.6-evidence-index.md)
|
|
232
|
+
- Release proof: [`docs/plans/2026-03-22-release-0.8.6-proof.md`](docs/plans/2026-03-22-release-0.8.6-proof.md)
|
|
233
|
+
- Verification result: [`docs/plans/2026-03-22-release-0.8.6-verification.md`](docs/plans/2026-03-22-release-0.8.6-verification.md)
|
|
230
234
|
- Pre-release smoke: [`docs/plans/2026-03-22-oneui-theme-scope-middleware-composer-pre-release-verification.md`](docs/plans/2026-03-22-oneui-theme-scope-middleware-composer-pre-release-verification.md)
|
|
231
235
|
- Package entrypoints verification: [`docs/plans/2026-03-22-oneui-package-entrypoints-verification.md`](docs/plans/2026-03-22-oneui-package-entrypoints-verification.md)
|
|
232
|
-
- Changelog: [`docs/CHANGELOG-v0.8.
|
|
236
|
+
- Changelog: [`docs/CHANGELOG-v0.8.6.md`](docs/CHANGELOG-v0.8.6.md)
|
|
233
237
|
|
|
234
|
-
The current public npm version
|
|
238
|
+
The current public npm version should be checked against the latest release proof, and publish, pack, dry-run, and dual-host smoke checks all have separate evidence.
|
|
235
239
|
|
|
236
240
|
---
|
|
237
241
|
|
|
@@ -316,6 +320,8 @@ You can compose reusable `DatabaseView` middleware presets for toast, analytics,
|
|
|
316
320
|
import {
|
|
317
321
|
composeDatabaseViewMiddlewares,
|
|
318
322
|
createDatabaseViewAnalyticsMiddleware,
|
|
323
|
+
createDatabaseViewPresetBundle,
|
|
324
|
+
createDatabaseViewPresetMiddleware,
|
|
319
325
|
createDatabaseViewOptimisticMiddleware,
|
|
320
326
|
createDatabaseViewToastMiddleware,
|
|
321
327
|
useDatabaseView,
|
|
@@ -344,9 +350,80 @@ const view = useDatabaseView({
|
|
|
344
350
|
})
|
|
345
351
|
```
|
|
346
352
|
|
|
353
|
+
If you prefer a single factory that returns a ready-to-use middleware, use the official preset bundle helper:
|
|
354
|
+
|
|
355
|
+
```ts
|
|
356
|
+
const presetBundle = createDatabaseViewPresetBundle({
|
|
357
|
+
toast: {
|
|
358
|
+
onSuccess: (message) => toast.success(message),
|
|
359
|
+
onError: (message) => toast.error(message),
|
|
360
|
+
},
|
|
361
|
+
analytics: {
|
|
362
|
+
onEvent: (event) => console.log('[db-view]', event.phase, event.action),
|
|
363
|
+
},
|
|
364
|
+
optimistic: {
|
|
365
|
+
apply: ({ payload }) => updateLocalRecord(payload),
|
|
366
|
+
revert: ({ payload }) => revertLocalRecord(payload),
|
|
367
|
+
},
|
|
368
|
+
})
|
|
369
|
+
|
|
370
|
+
const view = useDatabaseView({
|
|
371
|
+
tableId: 'tbl-1',
|
|
372
|
+
actions: {
|
|
373
|
+
middleware: presetBundle.middleware,
|
|
374
|
+
onCellEdit: saveCellEdit,
|
|
375
|
+
},
|
|
376
|
+
})
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
`createDatabaseViewPresetMiddleware` is the one-liner version when you only need the final middleware object:
|
|
380
|
+
|
|
381
|
+
```ts
|
|
382
|
+
const middleware = createDatabaseViewPresetMiddleware({
|
|
383
|
+
toast: {
|
|
384
|
+
onSuccess: (message) => toast.success(message),
|
|
385
|
+
onError: (message) => toast.error(message),
|
|
386
|
+
},
|
|
387
|
+
analytics: {
|
|
388
|
+
onEvent: (event) => console.log('[db-view]', event.phase, event.action),
|
|
389
|
+
},
|
|
390
|
+
optimistic: {
|
|
391
|
+
apply: ({ payload }) => updateLocalRecord(payload),
|
|
392
|
+
revert: ({ payload }) => revertLocalRecord(payload),
|
|
393
|
+
},
|
|
394
|
+
})
|
|
395
|
+
```
|
|
396
|
+
|
|
397
|
+
### ThemeScope Scene Template
|
|
398
|
+
|
|
399
|
+
If you want to evolve `ThemeScope` from a local wrapper into a business scene template, use it as the page shell that organizes the region structure. This fits enterprise dashboards, ops consoles, and task boards: the outer shell fixes the visual context while the inner area hosts cards, tables, metrics, and side notes.
|
|
400
|
+
|
|
401
|
+
```vue
|
|
402
|
+
<script setup lang="ts">
|
|
403
|
+
import { ThemeScope } from '@oneflowui/ui'
|
|
404
|
+
</script>
|
|
405
|
+
|
|
406
|
+
<template>
|
|
407
|
+
<ThemeScope theme="ops-console" tag="section" class="enterprise-scene">
|
|
408
|
+
<header class="enterprise-scene__header">
|
|
409
|
+
<h3>Enterprise Scene</h3>
|
|
410
|
+
<p>Theme, layout, and business content are reused together as one template.</p>
|
|
411
|
+
</header>
|
|
412
|
+
|
|
413
|
+
<div class="enterprise-scene__body">
|
|
414
|
+
<div class="enterprise-scene__summary">...</div>
|
|
415
|
+
<DataTable :rows="rows" :columns="columns" />
|
|
416
|
+
</div>
|
|
417
|
+
</ThemeScope>
|
|
418
|
+
</template>
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
The repository's `src/dev/examples/database/DatabaseEnterpriseDemo.vue` is the dev/examples-level reference for this kind of scene template. It shows the "ThemeScopeScene + DatabaseView + middleware" composition pattern that you can copy into your own project and turn into a real enterprise page.
|
|
422
|
+
|
|
347
423
|
### Dev Examples / Enterprise Demo
|
|
348
424
|
|
|
349
|
-
`DatabaseEnterpriseDemo` is a dev/examples-level consumption pattern used to show a more complete enterprise-style page composition. It is documentation and development sample material, not an npm-exported component, and it does not change the public export surface of `@oneflowui/ui`.
|
|
425
|
+
`src/dev/examples/database/DatabaseEnterpriseDemo.vue` is a dev/examples-level consumption pattern used to show a more complete enterprise-style page composition. It is documentation and development sample material, not an npm-exported component, and it does not change the public export surface of `@oneflowui/ui`.
|
|
426
|
+
The repository also ships `src/dev/examples/database/DatabasePresetDemo.vue` as a shorter official preset-bundle example, focused on direct `createDatabaseViewPresetBundle` / `actions.middleware` consumption.
|
|
350
427
|
|
|
351
428
|
If your business app needs something similar, copy the composition idea from the example and wire it to your own data source and action contract instead of depending on a separate production export.
|
|
352
429
|
|
package/README.md
CHANGED
|
@@ -145,7 +145,7 @@ import '@oneflowui/ui/theme'
|
|
|
145
145
|
|
|
146
146
|
```vue
|
|
147
147
|
<script setup lang="ts">
|
|
148
|
-
import { ThemeScope } from '@oneflowui/ui'
|
|
148
|
+
import { DataTable, ThemeScope } from '@oneflowui/ui'
|
|
149
149
|
</script>
|
|
150
150
|
|
|
151
151
|
<template>
|
|
@@ -165,33 +165,37 @@ import { ThemeScope } from '@oneflowui/ui'
|
|
|
165
165
|
|
|
166
166
|
老代码里直接手写的 `data-of-theme-scope` 仍然兼容,但新代码优先使用组件入口。
|
|
167
167
|
|
|
168
|
-
###
|
|
168
|
+
### ThemeScope 场景组件
|
|
169
169
|
|
|
170
|
-
|
|
170
|
+
如果你想把“局部主题 + 标题 + 说明 + meta/footer 插槽”一起复用,直接用 `ThemeScopeScene`。它是一个轻量的场景壳层组件,适合企业后台、运营控制台、任务中心这类页面。
|
|
171
171
|
|
|
172
172
|
```vue
|
|
173
173
|
<script setup lang="ts">
|
|
174
|
-
import { DataTable,
|
|
174
|
+
import { DataTable, ThemeScopeScene } from '@oneflowui/ui'
|
|
175
175
|
</script>
|
|
176
176
|
|
|
177
177
|
<template>
|
|
178
|
-
<
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
<
|
|
187
|
-
</
|
|
178
|
+
<ThemeScopeScene
|
|
179
|
+
theme="ops-console"
|
|
180
|
+
tag="section"
|
|
181
|
+
eyebrow="Enterprise Scene"
|
|
182
|
+
title="任务总览"
|
|
183
|
+
description="这个区域会自动获得 ops-console token。"
|
|
184
|
+
>
|
|
185
|
+
<template #meta>
|
|
186
|
+
<span class="scene-chip">ThemeScopeScene</span>
|
|
187
|
+
</template>
|
|
188
188
|
|
|
189
189
|
<DataTable :rows="rows" :columns="columns" />
|
|
190
|
-
|
|
190
|
+
|
|
191
|
+
<template #footer>
|
|
192
|
+
<small>footer / notes / actions</small>
|
|
193
|
+
</template>
|
|
194
|
+
</ThemeScopeScene>
|
|
191
195
|
</template>
|
|
192
196
|
```
|
|
193
197
|
|
|
194
|
-
|
|
198
|
+
`ThemeScopeScene` 内部继续复用 `ThemeScope` 的 token 作用域,所以它仍然是 non-breaking 的增强,只是把常见业务壳层收成了一个可复用组件。
|
|
195
199
|
|
|
196
200
|
### 虚拟列表状态缓存
|
|
197
201
|
|
|
@@ -215,14 +219,14 @@ const { visibleItems, totalHeight, offsetY } = useVirtualList({
|
|
|
215
219
|
|
|
216
220
|
如果你需要核对当前可追溯的发布材料,优先看这几份文档:
|
|
217
221
|
|
|
218
|
-
- 当前版本证据索引:[`docs/plans/2026-03-22-release-0.8.
|
|
219
|
-
- 发布 proof:[`docs/plans/2026-03-22-release-0.8.
|
|
220
|
-
- 验收结果:[`docs/plans/2026-03-22-release-0.8.
|
|
222
|
+
- 当前版本证据索引:[`docs/plans/2026-03-22-release-0.8.6-evidence-index.md`](docs/plans/2026-03-22-release-0.8.6-evidence-index.md)
|
|
223
|
+
- 发布 proof:[`docs/plans/2026-03-22-release-0.8.6-proof.md`](docs/plans/2026-03-22-release-0.8.6-proof.md)
|
|
224
|
+
- 验收结果:[`docs/plans/2026-03-22-release-0.8.6-verification.md`](docs/plans/2026-03-22-release-0.8.6-verification.md)
|
|
221
225
|
- 预发布验证:[`docs/plans/2026-03-22-oneui-theme-scope-middleware-composer-pre-release-verification.md`](docs/plans/2026-03-22-oneui-theme-scope-middleware-composer-pre-release-verification.md)
|
|
222
226
|
- 子路径入口治理:[`docs/plans/2026-03-22-oneui-package-entrypoints-verification.md`](docs/plans/2026-03-22-oneui-package-entrypoints-verification.md)
|
|
223
|
-
- 版本日志:[`docs/CHANGELOG-v0.8.
|
|
227
|
+
- 版本日志:[`docs/CHANGELOG-v0.8.6.md`](docs/CHANGELOG-v0.8.6.md)
|
|
224
228
|
|
|
225
|
-
当前 npm
|
|
229
|
+
当前 npm 公开版本以最新 release proof 为准,对应的发布、pack、dry-run 和双宿主 smoke 都有独立留痕。
|
|
226
230
|
|
|
227
231
|
---
|
|
228
232
|
|
|
@@ -287,6 +291,8 @@ type DatabaseViewActions = {
|
|
|
287
291
|
import {
|
|
288
292
|
composeDatabaseViewMiddlewares,
|
|
289
293
|
createDatabaseViewAnalyticsMiddleware,
|
|
294
|
+
createDatabaseViewPresetBundle,
|
|
295
|
+
createDatabaseViewPresetMiddleware,
|
|
290
296
|
createDatabaseViewOptimisticMiddleware,
|
|
291
297
|
createDatabaseViewToastMiddleware,
|
|
292
298
|
useDatabaseView,
|
|
@@ -315,9 +321,80 @@ const view = useDatabaseView({
|
|
|
315
321
|
})
|
|
316
322
|
```
|
|
317
323
|
|
|
324
|
+
如果你更想要一个“一键拿到可直接消费的 middleware”的入口,可以优先用官方 preset 工厂:
|
|
325
|
+
|
|
326
|
+
```ts
|
|
327
|
+
const presetBundle = createDatabaseViewPresetBundle({
|
|
328
|
+
toast: {
|
|
329
|
+
onSuccess: (message) => toast.success(message),
|
|
330
|
+
onError: (message) => toast.error(message),
|
|
331
|
+
},
|
|
332
|
+
analytics: {
|
|
333
|
+
onEvent: (event) => console.log('[db-view]', event.phase, event.action),
|
|
334
|
+
},
|
|
335
|
+
optimistic: {
|
|
336
|
+
apply: ({ payload }) => updateLocalRecord(payload),
|
|
337
|
+
revert: ({ payload }) => revertLocalRecord(payload),
|
|
338
|
+
},
|
|
339
|
+
})
|
|
340
|
+
|
|
341
|
+
const view = useDatabaseView({
|
|
342
|
+
tableId: 'tbl-1',
|
|
343
|
+
actions: {
|
|
344
|
+
middleware: presetBundle.middleware,
|
|
345
|
+
onCellEdit: saveCellEdit,
|
|
346
|
+
},
|
|
347
|
+
})
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
`createDatabaseViewPresetBundle` 会把常用 preset 先组装好,再暴露给业务方按需复用;`createDatabaseViewPresetMiddleware` 则适合直接塞进 `actions.middleware`,用于最小接入,例如:
|
|
351
|
+
|
|
352
|
+
```ts
|
|
353
|
+
const middleware = createDatabaseViewPresetMiddleware({
|
|
354
|
+
toast: {
|
|
355
|
+
onSuccess: (message) => toast.success(message),
|
|
356
|
+
onError: (message) => toast.error(message),
|
|
357
|
+
},
|
|
358
|
+
analytics: {
|
|
359
|
+
onEvent: (event) => console.log('[db-view]', event.phase, event.action),
|
|
360
|
+
},
|
|
361
|
+
optimistic: {
|
|
362
|
+
apply: ({ payload }) => updateLocalRecord(payload),
|
|
363
|
+
revert: ({ payload }) => revertLocalRecord(payload),
|
|
364
|
+
},
|
|
365
|
+
})
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
### ThemeScope 场景模板
|
|
369
|
+
|
|
370
|
+
如果你想把 `ThemeScope` 从“局部 wrapper”升级成“业务场景模板”,可以直接把它当成页面壳层来组织区域结构。这个模板适合企业后台、运营控制台、任务看板这类页面:外层固定视觉语境,内层再放业务卡片、数据表、统计块和侧边说明。
|
|
371
|
+
|
|
372
|
+
```vue
|
|
373
|
+
<script setup lang="ts">
|
|
374
|
+
import { ThemeScope } from '@oneflowui/ui'
|
|
375
|
+
</script>
|
|
376
|
+
|
|
377
|
+
<template>
|
|
378
|
+
<ThemeScope theme="ops-console" tag="section" class="enterprise-scene">
|
|
379
|
+
<header class="enterprise-scene__header">
|
|
380
|
+
<h3>Enterprise Scene</h3>
|
|
381
|
+
<p>主题、布局和业务内容一起作为模板复用。</p>
|
|
382
|
+
</header>
|
|
383
|
+
|
|
384
|
+
<div class="enterprise-scene__body">
|
|
385
|
+
<div class="enterprise-scene__summary">...</div>
|
|
386
|
+
<DataTable :rows="rows" :columns="columns" />
|
|
387
|
+
</div>
|
|
388
|
+
</ThemeScope>
|
|
389
|
+
</template>
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
仓库里的 `src/dev/examples/database/DatabaseEnterpriseDemo.vue` 就是这一类场景组件的 dev/examples 级参考实现。它展示的是“ThemeScopeScene + DatabaseView + middleware”的组合方式,便于复制到自家项目里改造成真正的企业页。
|
|
393
|
+
|
|
318
394
|
### Dev Examples / Enterprise Demo
|
|
319
395
|
|
|
320
|
-
`DatabaseEnterpriseDemo` 是 dev/examples 级的消费范式,用来展示更完整的企业版页面组合方式。它属于开发示例和文档参考,不是 npm 包对外导出的组件,不会改变 `@oneflowui/ui` 的公开导出面。
|
|
396
|
+
`src/dev/examples/database/DatabaseEnterpriseDemo.vue` 是 dev/examples 级的消费范式,用来展示更完整的企业版页面组合方式。它属于开发示例和文档参考,不是 npm 包对外导出的组件,不会改变 `@oneflowui/ui` 的公开导出面。
|
|
397
|
+
仓库同时提供 `src/dev/examples/database/DatabasePresetDemo.vue` 作为更短的 preset bundle 官方示例,重点展示 `createDatabaseViewPresetBundle` / `actions.middleware` 的直接消费方式。
|
|
321
398
|
|
|
322
399
|
如果你在业务工程里需要类似的页面,建议直接复制示例里的组合思路,再按自己的数据源和动作契约接入,而不是依赖一个额外的生产级导出入口。
|
|
323
400
|
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
type ThemeScopeTheme = "neutral" | "ops-console";
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
theme: ThemeScopeTheme;
|
|
4
|
+
title: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
eyebrow?: string;
|
|
7
|
+
tag?: string;
|
|
8
|
+
};
|
|
9
|
+
declare function __VLS_template(): {
|
|
10
|
+
attrs: Partial<{}>;
|
|
11
|
+
slots: {
|
|
12
|
+
meta?(_: {}): any;
|
|
13
|
+
default?(_: {}): any;
|
|
14
|
+
footer?(_: {}): any;
|
|
15
|
+
};
|
|
16
|
+
refs: {};
|
|
17
|
+
rootEl: any;
|
|
18
|
+
};
|
|
19
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
20
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
21
|
+
description: string;
|
|
22
|
+
tag: string;
|
|
23
|
+
eyebrow: string;
|
|
24
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
25
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
26
|
+
export default _default;
|
|
27
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
28
|
+
new (): {
|
|
29
|
+
$slots: S;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { defineComponent as i, openBlock as o, createBlock as d, withCtx as m, createElementVNode as s, createElementBlock as c, toDisplayString as r, createCommentVNode as n, renderSlot as a } from "vue";
|
|
2
|
+
import l from "./ThemeScope.vue.js";
|
|
3
|
+
const h = { class: "of-theme-scope-scene__header" }, p = { class: "of-theme-scope-scene__heading" }, f = {
|
|
4
|
+
key: 0,
|
|
5
|
+
class: "of-theme-scope-scene__eyebrow"
|
|
6
|
+
}, u = { class: "of-theme-scope-scene__title" }, y = {
|
|
7
|
+
key: 1,
|
|
8
|
+
class: "of-theme-scope-scene__description"
|
|
9
|
+
}, k = {
|
|
10
|
+
key: 0,
|
|
11
|
+
class: "of-theme-scope-scene__meta"
|
|
12
|
+
}, g = { class: "of-theme-scope-scene__body" }, v = {
|
|
13
|
+
key: 0,
|
|
14
|
+
class: "of-theme-scope-scene__footer"
|
|
15
|
+
}, w = /* @__PURE__ */ i({
|
|
16
|
+
name: "ThemeScopeScene",
|
|
17
|
+
__name: "ThemeScopeScene",
|
|
18
|
+
props: {
|
|
19
|
+
theme: {},
|
|
20
|
+
title: {},
|
|
21
|
+
description: { default: "" },
|
|
22
|
+
eyebrow: { default: "" },
|
|
23
|
+
tag: { default: "section" }
|
|
24
|
+
},
|
|
25
|
+
setup(_) {
|
|
26
|
+
const e = _;
|
|
27
|
+
return (t, S) => (o(), d(l, {
|
|
28
|
+
theme: e.theme,
|
|
29
|
+
tag: e.tag,
|
|
30
|
+
class: "of-theme-scope-scene"
|
|
31
|
+
}, {
|
|
32
|
+
default: m(() => [
|
|
33
|
+
s("header", h, [
|
|
34
|
+
s("div", p, [
|
|
35
|
+
e.eyebrow ? (o(), c("p", f, r(e.eyebrow), 1)) : n("", !0),
|
|
36
|
+
s("h3", u, r(e.title), 1),
|
|
37
|
+
e.description ? (o(), c("p", y, r(e.description), 1)) : n("", !0)
|
|
38
|
+
]),
|
|
39
|
+
t.$slots.meta ? (o(), c("div", k, [
|
|
40
|
+
a(t.$slots, "meta", {}, void 0, !0)
|
|
41
|
+
])) : n("", !0)
|
|
42
|
+
]),
|
|
43
|
+
s("div", g, [
|
|
44
|
+
a(t.$slots, "default", {}, void 0, !0)
|
|
45
|
+
]),
|
|
46
|
+
t.$slots.footer ? (o(), c("footer", v, [
|
|
47
|
+
a(t.$slots, "footer", {}, void 0, !0)
|
|
48
|
+
])) : n("", !0)
|
|
49
|
+
]),
|
|
50
|
+
_: 3
|
|
51
|
+
}, 8, ["theme", "tag"]));
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
export {
|
|
55
|
+
w as default
|
|
56
|
+
};
|
|
@@ -45,9 +45,9 @@ export type { SupabaseQueryBuilder, SupabaseFilterBuilder, UseSupabaseProviderOp
|
|
|
45
45
|
export { useViewPersistence, createLocalStorageBackend, createSupabaseBackend, } from './useViewPersistence';
|
|
46
46
|
export type { ViewStorageBackend, SupabaseViewBackendOptions, UseViewPersistenceOptions, } from './useViewPersistence';
|
|
47
47
|
export { useDatabaseView } from './useDatabaseView';
|
|
48
|
-
export { composeDatabaseViewMiddlewares, createDatabaseViewAnalyticsMiddleware, createDatabaseViewToastMiddleware, createDatabaseViewOptimisticMiddleware, } from './useDatabaseViewMiddleware';
|
|
48
|
+
export { composeDatabaseViewMiddlewares, createDatabaseViewAnalyticsMiddleware, createDatabaseViewPresetInputs, createDatabaseViewPresetBundle, createDatabaseViewPresetMiddleware, createDatabaseViewToastMiddleware, createDatabaseViewOptimisticMiddleware, } from './useDatabaseViewMiddleware';
|
|
49
49
|
export type { DatabaseViewActionContext, DatabaseViewActionErrorContext, DatabaseViewActionMiddleware, DatabaseViewActionMiddlewareList, DatabaseViewMode, DatabaseViewFetchParams, DatabaseViewFetchResult, DatabaseViewProvider, DatabaseSchemaEvent, DatabaseViewActions, DatabaseViewDetailOptions, DatabaseViewNavigationOptions, UseDatabaseViewOptions, UseDatabaseViewResult, } from './useDatabaseView';
|
|
50
|
-
export type { DatabaseViewAnalyticsEvent, DatabaseViewAnalyticsMiddlewareOptions, DatabaseViewMiddlewareInput, DatabaseViewOptimisticMiddlewareOptions, DatabaseViewToastMiddlewareOptions, } from './useDatabaseViewMiddleware';
|
|
50
|
+
export type { DatabaseViewAnalyticsEvent, DatabaseViewAnalyticsMiddlewareOptions, DatabaseViewPresetMiddlewareOptions, DatabaseViewPresetBundle, DatabaseViewPresetBundleOptions, DatabaseViewMiddlewareInput, DatabaseViewOptimisticMiddlewareOptions, DatabaseViewToastMiddlewareOptions, } from './useDatabaseViewMiddleware';
|
|
51
51
|
export { useDatabaseViewport, useDatabaseWorkspaceState } from './useDatabaseWorkspace';
|
|
52
52
|
export { useSearch } from './useSearch';
|
|
53
53
|
export type { UseSearchOptions, SearchHighlight } from './useSearch';
|
|
@@ -26,8 +26,31 @@ export interface DatabaseViewOptimisticMiddlewareOptions<T extends DataRecord =
|
|
|
26
26
|
revert: (context: DatabaseViewActionErrorContext<T>) => void | Promise<void>;
|
|
27
27
|
shouldApply?: (context: DatabaseViewActionContext<T>) => boolean;
|
|
28
28
|
}
|
|
29
|
+
export interface DatabaseViewPresetMiddlewareOptions<T extends DataRecord = DataRecord> {
|
|
30
|
+
toast?: DatabaseViewToastMiddlewareOptions<T> | false;
|
|
31
|
+
analytics?: DatabaseViewAnalyticsMiddlewareOptions<T> | false;
|
|
32
|
+
optimistic?: DatabaseViewOptimisticMiddlewareOptions<T> | false;
|
|
33
|
+
extra?: readonly DatabaseViewMiddlewareInput<T>[];
|
|
34
|
+
}
|
|
35
|
+
export interface DatabaseViewPresetBundleOptions<T extends DataRecord = DataRecord> {
|
|
36
|
+
middlewares?: DatabaseViewMiddlewareInput<T>[];
|
|
37
|
+
toast?: DatabaseViewToastMiddlewareOptions<T>;
|
|
38
|
+
analytics?: DatabaseViewAnalyticsMiddlewareOptions<T>;
|
|
39
|
+
optimistic?: DatabaseViewOptimisticMiddlewareOptions<T>;
|
|
40
|
+
}
|
|
41
|
+
export interface DatabaseViewPresetBundle<T extends DataRecord = DataRecord> {
|
|
42
|
+
middleware: DatabaseViewActionMiddleware<T>;
|
|
43
|
+
presets: {
|
|
44
|
+
toast?: DatabaseViewActionMiddleware<T>;
|
|
45
|
+
analytics?: DatabaseViewActionMiddleware<T>;
|
|
46
|
+
optimistic?: DatabaseViewActionMiddleware<T>;
|
|
47
|
+
};
|
|
48
|
+
}
|
|
29
49
|
export type DatabaseViewMiddlewareInput<T extends DataRecord = DataRecord> = DatabaseViewActionMiddleware<T> | readonly DatabaseViewMiddlewareInput<T>[] | null | undefined;
|
|
30
50
|
export declare function createDatabaseViewToastMiddleware<T extends DataRecord = DataRecord>(options?: DatabaseViewToastMiddlewareOptions<T>): DatabaseViewActionMiddleware<T>;
|
|
31
51
|
export declare function createDatabaseViewAnalyticsMiddleware<T extends DataRecord = DataRecord>(options: DatabaseViewAnalyticsMiddlewareOptions<T>): DatabaseViewActionMiddleware<T>;
|
|
32
52
|
export declare function createDatabaseViewOptimisticMiddleware<T extends DataRecord = DataRecord>(options: DatabaseViewOptimisticMiddlewareOptions<T>): DatabaseViewActionMiddleware<T>;
|
|
53
|
+
export declare function createDatabaseViewPresetBundle<T extends DataRecord = DataRecord>(options?: DatabaseViewPresetBundleOptions<T>): DatabaseViewPresetBundle<T>;
|
|
33
54
|
export declare function composeDatabaseViewMiddlewares<T extends DataRecord = DataRecord>(...inputs: DatabaseViewMiddlewareInput<T>[]): DatabaseViewActionMiddleware<T>;
|
|
55
|
+
export declare function createDatabaseViewPresetInputs<T extends DataRecord = DataRecord>(options: DatabaseViewPresetMiddlewareOptions<T>): DatabaseViewMiddlewareInput<T>[];
|
|
56
|
+
export declare function createDatabaseViewPresetMiddleware<T extends DataRecord = DataRecord>(options?: DatabaseViewPresetBundleOptions<T>): DatabaseViewActionMiddleware<T>;
|