@dou-ui/dashboard 0.0.0-stage → 0.1.0-alpha.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/LICENSE +21 -0
- package/README.md +10 -2
- package/dist/chart/chart-settings.js +6 -0
- package/dist/chart/chart-settings.js.map +1 -0
- package/dist/chart/chart-settings.vue_vue_type_script_setup_true_lang.js +122 -0
- package/dist/chart/chart-settings.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/chart/chart.js +6 -0
- package/dist/chart/chart.js.map +1 -0
- package/dist/chart/chart.vue_vue_type_script_setup_true_lang.js +99 -0
- package/dist/chart/chart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/chart/index.js +33 -0
- package/dist/chart/index.js.map +1 -0
- package/dist/collaboration/index.js +281 -0
- package/dist/collaboration/index.js.map +1 -0
- package/dist/collaboration/order.js +88 -0
- package/dist/collaboration/order.js.map +1 -0
- package/dist/core/document.js +128 -0
- package/dist/core/document.js.map +1 -0
- package/dist/core/history.js +66 -0
- package/dist/core/history.js.map +1 -0
- package/dist/core/transaction.js +218 -0
- package/dist/core/transaction.js.map +1 -0
- package/dist/dashboard/dashboard.js +6 -0
- package/dist/dashboard/dashboard.js.map +1 -0
- package/dist/dashboard/dashboard.vue_vue_type_script_setup_true_lang.js +1072 -0
- package/dist/dashboard/dashboard.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/dashboard/export.js +77 -0
- package/dist/dashboard/export.js.map +1 -0
- package/dist/dashboard/filter-bar.js +6 -0
- package/dist/dashboard/filter-bar.js.map +1 -0
- package/dist/dashboard/filter-bar.vue_vue_type_script_setup_true_lang.js +150 -0
- package/dist/dashboard/filter-bar.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/dashboard/frame-context.js +5 -0
- package/dist/dashboard/frame-context.js.map +1 -0
- package/dist/dashboard/observers.js +48 -0
- package/dist/dashboard/observers.js.map +1 -0
- package/dist/dashboard/palette.js +6 -0
- package/dist/dashboard/palette.js.map +1 -0
- package/dist/dashboard/palette.vue_vue_type_script_setup_true_lang.js +54 -0
- package/dist/dashboard/palette.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/dashboard/widget-body.js +6 -0
- package/dist/dashboard/widget-body.js.map +1 -0
- package/dist/dashboard/widget-body.vue_vue_type_script_setup_true_lang.js +96 -0
- package/dist/dashboard/widget-body.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/dashboard/widget-frame.js +6 -0
- package/dist/dashboard/widget-frame.js.map +1 -0
- package/dist/dashboard/widget-frame.vue_vue_type_script_setup_true_lang.js +300 -0
- package/dist/dashboard/widget-frame.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/dashboard/widget-settings.js +6 -0
- package/dist/dashboard/widget-settings.js.map +1 -0
- package/dist/dashboard/widget-settings.vue_vue_type_script_setup_true_lang.js +36 -0
- package/dist/dashboard/widget-settings.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/data/context.js +5 -0
- package/dist/data/context.js.map +1 -0
- package/dist/data/filters.js +31 -0
- package/dist/data/filters.js.map +1 -0
- package/dist/data/store.js +214 -0
- package/dist/data/store.js.map +1 -0
- package/dist/grid/grid-handle.js +6 -0
- package/dist/grid/grid-handle.js.map +1 -0
- package/dist/grid/grid-handle.vue_vue_type_script_setup_true_lang.js +21 -0
- package/dist/grid/grid-handle.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/grid/grid-item.js +80 -0
- package/dist/grid/grid-item.js.map +1 -0
- package/dist/grid/grid-layout.js +6 -0
- package/dist/grid/grid-layout.js.map +1 -0
- package/dist/grid/grid-layout.vue_vue_type_script_setup_true_lang.js +767 -0
- package/dist/grid/grid-layout.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/grid/tiers.js +31 -0
- package/dist/grid/tiers.js.map +1 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/dist/layout/engine.js +284 -0
- package/dist/layout/engine.js.map +1 -0
- package/dist/layout/index.js +1 -0
- package/dist/locale.js +245 -0
- package/dist/locale.js.map +1 -0
- package/dist/pivot/index.js +47 -0
- package/dist/pivot/index.js.map +1 -0
- package/dist/pivot/pivot-settings.js +6 -0
- package/dist/pivot/pivot-settings.js.map +1 -0
- package/dist/pivot/pivot-settings.vue_vue_type_script_setup_true_lang.js +64 -0
- package/dist/pivot/pivot-settings.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/pivot/pivot.js +6 -0
- package/dist/pivot/pivot.js.map +1 -0
- package/dist/pivot/pivot.vue_vue_type_script_setup_true_lang.js +76 -0
- package/dist/pivot/pivot.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/style.css +1 -0
- package/dist/style.d.ts +1 -0
- package/dist/style.js +12 -0
- package/dist/types/chart/chart-settings.vue.d.ts +11 -0
- package/dist/types/chart/chart.vue.d.ts +3 -0
- package/dist/types/chart/index.d.ts +9 -0
- package/dist/types/chart/types.d.ts +23 -0
- package/dist/types/collaboration/index.d.ts +53 -0
- package/dist/types/collaboration/order.d.ts +20 -0
- package/dist/types/core/collaboration.d.ts +51 -0
- package/dist/types/core/document.d.ts +35 -0
- package/dist/types/core/history.d.ts +15 -0
- package/dist/types/core/transaction.d.ts +86 -0
- package/dist/types/core/types.d.ts +27 -0
- package/dist/types/dashboard/dashboard.vue.d.ts +33 -0
- package/dist/types/dashboard/export.d.ts +11 -0
- package/dist/types/dashboard/filter-bar.vue.d.ts +19 -0
- package/dist/types/dashboard/frame-context.d.ts +54 -0
- package/dist/types/dashboard/observers.d.ts +15 -0
- package/dist/types/dashboard/palette.vue.d.ts +20 -0
- package/dist/types/dashboard/types.d.ts +190 -0
- package/dist/types/dashboard/widget-body.vue.d.ts +19 -0
- package/dist/types/dashboard/widget-frame.vue.d.ts +6 -0
- package/dist/types/dashboard/widget-settings.vue.d.ts +16 -0
- package/dist/types/data/context.d.ts +18 -0
- package/dist/types/data/filters.d.ts +9 -0
- package/dist/types/data/store.d.ts +48 -0
- package/dist/types/data/types.d.ts +67 -0
- package/dist/types/grid/grid-handle.vue.d.ts +18 -0
- package/dist/types/grid/grid-item.d.ts +78 -0
- package/dist/types/grid/grid-layout.vue.d.ts +46 -0
- package/dist/types/grid/tiers.d.ts +12 -0
- package/dist/types/grid/types.d.ts +113 -0
- package/dist/types/index.d.ts +295 -0
- package/dist/types/layout/engine.d.ts +50 -0
- package/dist/types/layout/index.d.ts +2 -0
- package/dist/types/layout/types.d.ts +39 -0
- package/dist/types/locale.d.ts +117 -0
- package/dist/types/pivot/index.d.ts +14 -0
- package/dist/types/pivot/pivot-settings.vue.d.ts +16 -0
- package/dist/types/pivot/pivot.vue.d.ts +7 -0
- package/dist/types/pivot/types.d.ts +11 -0
- package/dist/types/widget/context.d.ts +91 -0
- package/dist/types/widget/define.d.ts +50 -0
- package/dist/types/widgets/field-select.vue.d.ts +18 -0
- package/dist/types/widgets/index.d.ts +15 -0
- package/dist/types/widgets/settings-field.vue.d.ts +17 -0
- package/dist/types/widgets/shared.d.ts +20 -0
- package/dist/types/widgets/source-field.vue.d.ts +15 -0
- package/dist/types/widgets/stat-settings.vue.d.ts +11 -0
- package/dist/types/widgets/stat.vue.d.ts +3 -0
- package/dist/types/widgets/table-settings.vue.d.ts +11 -0
- package/dist/types/widgets/table.vue.d.ts +3 -0
- package/dist/types/widgets/text-settings.vue.d.ts +11 -0
- package/dist/types/widgets/text.vue.d.ts +3 -0
- package/dist/types/widgets/types.d.ts +38 -0
- package/dist/widget/context.js +88 -0
- package/dist/widget/context.js.map +1 -0
- package/dist/widget/define.js +32 -0
- package/dist/widget/define.js.map +1 -0
- package/dist/widgets/field-select.js +6 -0
- package/dist/widgets/field-select.js.map +1 -0
- package/dist/widgets/field-select.vue_vue_type_script_setup_true_lang.js +54 -0
- package/dist/widgets/field-select.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/widgets/index.js +74 -0
- package/dist/widgets/index.js.map +1 -0
- package/dist/widgets/settings-field.js +6 -0
- package/dist/widgets/settings-field.js.map +1 -0
- package/dist/widgets/settings-field.vue_vue_type_script_setup_true_lang.js +28 -0
- package/dist/widgets/settings-field.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/widgets/shared.js +68 -0
- package/dist/widgets/shared.js.map +1 -0
- package/dist/widgets/source-field.js +6 -0
- package/dist/widgets/source-field.js.map +1 -0
- package/dist/widgets/source-field.vue_vue_type_script_setup_true_lang.js +47 -0
- package/dist/widgets/source-field.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/widgets/stat-settings.js +6 -0
- package/dist/widgets/stat-settings.js.map +1 -0
- package/dist/widgets/stat-settings.vue_vue_type_script_setup_true_lang.js +107 -0
- package/dist/widgets/stat-settings.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/widgets/stat.js +6 -0
- package/dist/widgets/stat.js.map +1 -0
- package/dist/widgets/stat.vue_vue_type_script_setup_true_lang.js +72 -0
- package/dist/widgets/stat.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/widgets/table-settings.js +6 -0
- package/dist/widgets/table-settings.js.map +1 -0
- package/dist/widgets/table-settings.vue_vue_type_script_setup_true_lang.js +90 -0
- package/dist/widgets/table-settings.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/widgets/table.js +6 -0
- package/dist/widgets/table.js.map +1 -0
- package/dist/widgets/table.vue_vue_type_script_setup_true_lang.js +91 -0
- package/dist/widgets/table.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/widgets/text-settings.js +6 -0
- package/dist/widgets/text-settings.js.map +1 -0
- package/dist/widgets/text-settings.vue_vue_type_script_setup_true_lang.js +63 -0
- package/dist/widgets/text-settings.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/widgets/text.js +6 -0
- package/dist/widgets/text.js.map +1 -0
- package/dist/widgets/text.vue_vue_type_script_setup_true_lang.js +16 -0
- package/dist/widgets/text.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/package.json +98 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","_unref"],"sources":["../../src/widgets/table.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { DouTable } from 'dou-ui'\nimport type { TableColumn } from 'dou-ui'\nimport { computed, onMounted, ref } from 'vue'\nimport { useDashboardWidget } from '../widget/context'\nimport { fieldsOf, rowsToWorkbook, rowsOf } from './shared'\nimport type { TableWidgetColumn, TableWidgetProps } from './types'\n\ndefineOptions({ name: 'DouDashboardTableWidget' })\n\nconst { props, data, size, setWorkbook } = useDashboardWidget<TableWidgetProps>()\nconst rows = computed(() => rowsOf(data.value, props.value.path))\n/** Each row's key: its `rowKey` field, or its place in the list. */\nconst keys = computed(() => {\n const map = new WeakMap<object, string | number>()\n const field = props.value.rowKey\n rows.value.forEach((row, index) => map.set(row, field ? (row[field] as string | number) : index))\n return map\n})\nconst rowKey = (row: Record<string, unknown>) => keys.value.get(row) ?? ''\nconst number = new Intl.NumberFormat()\n/** The table's font, read once it is on the page, to measure texts with. */\nconst root = ref<{ $el: Element }>()\nconst font = ref('')\nonMounted(() => {\n const cell = root.value?.$el.querySelector('td, th')\n if (cell) font.value = getComputedStyle(cell).font\n})\nlet context: CanvasRenderingContext2D | null | undefined\n/** How wide a text is in the table's font, or about how wide before it is known. */\nfunction textWidth(text: string) {\n context ??=\n typeof document === 'undefined' ? null : document.createElement('canvas').getContext('2d')\n if (context && font.value) {\n context.font = font.value\n return context.measureText(text).width\n }\n let width = 0\n for (const char of text) width += char.charCodeAt(0) > 0x2e7f ? 14 : 8.5\n return width\n}\n/** Room for the title and the first rows' texts, with the cell's padding; up to 240px. */\nfunction minWidthOf(title: string, texts: unknown[]) {\n let widest = textWidth(title)\n for (const text of texts) widest = Math.max(widest, textWidth(String(text ?? '')))\n return Math.min(240, Math.ceil(widest) + 28)\n}\nconst columns = computed<TableColumn[]>(() => {\n const first = rows.value[0]\n const list: TableWidgetColumn[] =\n props.value.columns ?? fieldsOf(rows.value).map((key) => ({ key }))\n return list.map(({ key, title }) => {\n const numeric = typeof first?.[key] === 'number'\n // numbers with digit groups, as in the stat widget\n const value = numeric\n ? (row: Record<string, unknown>) =>\n typeof row[key] === 'number' ? number.format(row[key] as number) : row[key]\n : undefined\n const sample = rows.value.slice(0, 20).map((row) => (value ? value(row) : row[key]))\n const least = minWidthOf(title || key, sample)\n return {\n key,\n title: title || key,\n align: numeric ? 'end' : undefined,\n ellipsis: true,\n // shares of the width follow the contents; never narrower than them\n width: least,\n minWidth: least,\n value,\n }\n })\n})\n// the export menu writes the rows as they are, numbers without digit groups\nsetWorkbook(() =>\n rowsToWorkbook(\n '',\n columns.value.map((column) => ({\n key: column.key as string,\n title: String(column.title),\n width: typeof column.width === 'number' ? column.width : undefined,\n })),\n rows.value,\n ),\n)\n</script>\n\n<template>\n <DouTable\n ref=\"root\"\n class=\"dou-dashboard-table\"\n :data=\"rows\"\n :columns=\"columns\"\n :row-key=\"rowKey\"\n size=\"sm\"\n :max-height=\"size.height.value || undefined\"\n :virtual=\"rows.length > 100\"\n />\n</template>\n"],"mappings":";;;;;;;;;EAUA,MAAM,EAAE,OAAO,MAAM,MAAM,gBAAgB,mBAAqC;EAChF,MAAM,OAAO,eAAe,OAAO,KAAK,OAAO,MAAM,MAAM,IAAI,CAAC;;EAEhE,MAAM,OAAO,eAAe;GAC1B,MAAM,sBAAM,IAAI,QAAiC;GACjD,MAAM,QAAQ,MAAM,MAAM;GAC1B,KAAK,MAAM,SAAS,KAAK,UAAU,IAAI,IAAI,KAAK,QAAS,IAAI,SAA6B,KAAK,CAAC;GAChG,OAAO;EACT,CAAC;EACD,MAAM,UAAU,QAAiC,KAAK,MAAM,IAAI,GAAG,KAAK;EACxE,MAAM,SAAS,IAAI,KAAK,aAAa;;EAErC,MAAM,OAAO,IAAsB;EACnC,MAAM,OAAO,IAAI,EAAE;EACnB,gBAAgB;GACd,MAAM,OAAO,KAAK,OAAO,IAAI,cAAc,QAAQ;GACnD,IAAI,MAAM,KAAK,QAAQ,iBAAiB,IAAI,CAAC,CAAC;EAChD,CAAC;EACD,IAAI;;EAEJ,SAAS,UAAU,MAAc;GAC/B,YACE,OAAO,aAAa,cAAc,OAAO,SAAS,cAAc,QAAQ,CAAC,CAAC,WAAW,IAAI;GAC3F,IAAI,WAAW,KAAK,OAAO;IACzB,QAAQ,OAAO,KAAK;IACpB,OAAO,QAAQ,YAAY,IAAI,CAAC,CAAC;GACnC;GACA,IAAI,QAAQ;GACZ,KAAK,MAAM,QAAQ,MAAM,SAAS,KAAK,WAAW,CAAC,IAAI,QAAS,KAAK;GACrE,OAAO;EACT;;EAEA,SAAS,WAAW,OAAe,OAAkB;GACnD,IAAI,SAAS,UAAU,KAAK;GAC5B,KAAK,MAAM,QAAQ,OAAO,SAAS,KAAK,IAAI,QAAQ,UAAU,OAAO,QAAQ,EAAE,CAAC,CAAC;GACjF,OAAO,KAAK,IAAI,KAAK,KAAK,KAAK,MAAM,IAAI,EAAE;EAC7C;EACA,MAAM,UAAU,eAA8B;GAC5C,MAAM,QAAQ,KAAK,MAAM;GAGzB,QADE,MAAM,MAAM,WAAW,SAAS,KAAK,KAAK,CAAC,CAAC,KAAK,SAAS,EAAE,IAAI,EAAE,EAAA,CACxD,KAAK,EAAE,KAAK,YAAY;IAClC,MAAM,UAAU,OAAO,QAAQ,SAAS;IAExC,MAAM,QAAQ,WACT,QACC,OAAO,IAAI,SAAS,WAAW,OAAO,OAAO,IAAI,IAAc,IAAI,IAAI,OACzE,KAAA;IACJ,MAAM,SAAS,KAAK,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,KAAK,QAAS,QAAQ,MAAM,GAAG,IAAI,IAAI,IAAK;IACnF,MAAM,QAAQ,WAAW,SAAS,KAAK,MAAM;IAC7C,OAAO;KACL;KACA,OAAO,SAAS;KAChB,OAAO,UAAU,QAAQ,KAAA;KACzB,UAAU;KAEV,OAAO;KACP,UAAU;KACV;IACF;GACF,CAAC;EACH,CAAC;EAED,kBACE,eACE,IACA,QAAQ,MAAM,KAAK,YAAY;GAC7B,KAAK,OAAO;GACZ,OAAO,OAAO,OAAO,KAAK;GAC1B,OAAO,OAAO,OAAO,UAAU,WAAW,OAAO,QAAQ,KAAA;EAC3D,EAAE,GACF,KAAK,KACP,CACF;;GAIE,OAAAA,UAAA,GAAAC,YASEC,MAAA,QAAA,GAAA;IARI,SAAA;IAAJ,KAAI;IACJ,OAAM;IACL,MAAM,KAAA;IACN,SAAS,QAAA;IACT,WAAS;IACV,MAAK;IACJ,cAAYA,MAAA,IAAA,CAAI,CAAC,OAAO,SAAS,KAAA;IACjC,SAAS,KAAA,MAAK,SAAM"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import text_settings_vue_vue_type_script_setup_true_lang_default from "./text-settings.vue_vue_type_script_setup_true_lang.js";
|
|
2
|
+
// src/widgets/text-settings.vue
|
|
3
|
+
var text_settings_default = text_settings_vue_vue_type_script_setup_true_lang_default;
|
|
4
|
+
export { text_settings_default as default };
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=text-settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-settings.js","names":["_sfc_main"],"sources":["../../src/widgets/text-settings.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { DouSegmentedControl, DouTextarea } from 'dou-ui'\nimport { useDashboardMessages } from '../locale'\nimport SettingsField from './settings-field.vue'\nimport type { TextWidgetProps } from './types'\n\ndefineOptions({ name: 'DouDashboardTextSettings' })\n\nconst model = defineModel<TextWidgetProps>({ required: true })\nconst messages = useDashboardMessages()\nconst set = (patch: Partial<TextWidgetProps>) => (model.value = { ...model.value, ...patch })\n</script>\n\n<template>\n <div class=\"dou-dashboard__settings\">\n <SettingsField :label=\"messages.text\">\n <DouTextarea\n :model-value=\"model.text ?? ''\"\n autosize\n :rows=\"4\"\n :aria-label=\"messages.text\"\n @update:model-value=\"(text) => set({ text })\"\n />\n </SettingsField>\n <SettingsField :label=\"messages.textSize\">\n <DouSegmentedControl\n :model-value=\"model.size ?? 'md'\"\n :options=\"[\n { value: 'sm', label: messages.sizeSmall },\n { value: 'md', label: messages.sizeMedium },\n { value: 'lg', label: messages.sizeLarge },\n ]\"\n :aria-label=\"messages.textSize\"\n @update:model-value=\"(size) => set({ size: size as TextWidgetProps['size'] })\"\n />\n </SettingsField>\n </div>\n</template>\n"],"mappings":""}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { useDashboardMessages } from "../locale.js";
|
|
2
|
+
import settings_field_default from "./settings-field.js";
|
|
3
|
+
import { DouSegmentedControl, DouTextarea } from "dou-ui";
|
|
4
|
+
import { createElementBlock, createVNode, defineComponent, openBlock, unref, useModel, withCtx } from "vue";
|
|
5
|
+
// src/widgets/text-settings.vue?vue&type=script&setup=true&lang.ts
|
|
6
|
+
var _hoisted_1 = { class: "dou-dashboard__settings" };
|
|
7
|
+
var text_settings_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
8
|
+
name: "DouDashboardTextSettings",
|
|
9
|
+
__name: "text-settings",
|
|
10
|
+
props: {
|
|
11
|
+
"modelValue": { required: true },
|
|
12
|
+
"modelModifiers": {}
|
|
13
|
+
},
|
|
14
|
+
emits: ["update:modelValue"],
|
|
15
|
+
setup(__props) {
|
|
16
|
+
const model = useModel(__props, "modelValue");
|
|
17
|
+
const messages = useDashboardMessages();
|
|
18
|
+
const set = (patch) => model.value = {
|
|
19
|
+
...model.value,
|
|
20
|
+
...patch
|
|
21
|
+
};
|
|
22
|
+
return (_ctx, _cache) => {
|
|
23
|
+
return openBlock(), createElementBlock("div", _hoisted_1, [createVNode(settings_field_default, { label: unref(messages).text }, {
|
|
24
|
+
default: withCtx(() => [createVNode(unref(DouTextarea), {
|
|
25
|
+
"model-value": model.value.text ?? "",
|
|
26
|
+
autosize: "",
|
|
27
|
+
rows: 4,
|
|
28
|
+
"aria-label": unref(messages).text,
|
|
29
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = (text) => set({ text }))
|
|
30
|
+
}, null, 8, ["model-value", "aria-label"])]),
|
|
31
|
+
_: 1
|
|
32
|
+
}, 8, ["label"]), createVNode(settings_field_default, { label: unref(messages).textSize }, {
|
|
33
|
+
default: withCtx(() => [createVNode(unref(DouSegmentedControl), {
|
|
34
|
+
"model-value": model.value.size ?? "md",
|
|
35
|
+
options: [
|
|
36
|
+
{
|
|
37
|
+
value: "sm",
|
|
38
|
+
label: unref(messages).sizeSmall
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
value: "md",
|
|
42
|
+
label: unref(messages).sizeMedium
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
value: "lg",
|
|
46
|
+
label: unref(messages).sizeLarge
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
"aria-label": unref(messages).textSize,
|
|
50
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = (size) => set({ size }))
|
|
51
|
+
}, null, 8, [
|
|
52
|
+
"model-value",
|
|
53
|
+
"options",
|
|
54
|
+
"aria-label"
|
|
55
|
+
])]),
|
|
56
|
+
_: 1
|
|
57
|
+
}, 8, ["label"])]);
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
export { text_settings_vue_vue_type_script_setup_true_lang_default as default };
|
|
62
|
+
|
|
63
|
+
//# sourceMappingURL=text-settings.vue_vue_type_script_setup_true_lang.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-settings.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_openBlock","_createElementBlock","_createVNode","SettingsField","_unref","_withCtx"],"sources":["../../src/widgets/text-settings.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { DouSegmentedControl, DouTextarea } from 'dou-ui'\nimport { useDashboardMessages } from '../locale'\nimport SettingsField from './settings-field.vue'\nimport type { TextWidgetProps } from './types'\n\ndefineOptions({ name: 'DouDashboardTextSettings' })\n\nconst model = defineModel<TextWidgetProps>({ required: true })\nconst messages = useDashboardMessages()\nconst set = (patch: Partial<TextWidgetProps>) => (model.value = { ...model.value, ...patch })\n</script>\n\n<template>\n <div class=\"dou-dashboard__settings\">\n <SettingsField :label=\"messages.text\">\n <DouTextarea\n :model-value=\"model.text ?? ''\"\n autosize\n :rows=\"4\"\n :aria-label=\"messages.text\"\n @update:model-value=\"(text) => set({ text })\"\n />\n </SettingsField>\n <SettingsField :label=\"messages.textSize\">\n <DouSegmentedControl\n :model-value=\"model.size ?? 'md'\"\n :options=\"[\n { value: 'sm', label: messages.sizeSmall },\n { value: 'md', label: messages.sizeMedium },\n { value: 'lg', label: messages.sizeLarge },\n ]\"\n :aria-label=\"messages.textSize\"\n @update:model-value=\"(size) => set({ size: size as TextWidgetProps['size'] })\"\n />\n </SettingsField>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;EAQA,MAAM,QAAQA,SAA4B,SAAA,YAAmB;EAC7D,MAAM,WAAW,qBAAqB;EACtC,MAAM,OAAO,UAAqC,MAAM,QAAQ;GAAE,GAAG,MAAM;GAAO,GAAG;EAAM;;GAIzF,OAAAC,UAAA,GAAAC,mBAsBM,OAtBN,YAsBM,CArBJC,YAQgBC,wBAAA,EARA,OAAOC,MAAA,QAAA,CAAQ,CAAC,K;IAC9B,SAAAC,cAME,CANFH,YAMEE,MAAA,WAAA,GAAA;KALC,eAAa,MAAA,MAAM,QAAI;KACxB,UAAA;KACC,MAAM;KACN,cAAYA,MAAA,QAAA,CAAQ,CAAC;KACrB,uBAAkB,OAAA,OAAA,OAAA,MAAG,SAAS,IAAG,EAAG,KAAI,CAAA;;;G,kBAG7CF,YAWgBC,wBAAA,EAXA,OAAOC,MAAA,QAAA,CAAQ,CAAC,S;IAC9B,SAAAC,cASE,CATFH,YASEE,MAAA,mBAAA,GAAA;KARC,eAAa,MAAA,MAAM,QAAI;KACvB,SAAO;MAAoC;OAAA,OAAA;OAAA,OAAAA,MAAA,QAAA,CAAQ,CAAC;MAAS;MAAoC;OAAA,OAAA;OAAA,OAAAA,MAAA,QAAA,CAAQ,CAAC;MAAU;MAAoC;OAAA,OAAA;OAAA,OAAAA,MAAA,QAAA,CAAQ,CAAC;MAAS;;KAK1K,cAAYA,MAAA,QAAA,CAAQ,CAAC;KACrB,uBAAkB,OAAA,OAAA,OAAA,MAAG,SAAS,IAAG,EAAS,KAAI,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import text_vue_vue_type_script_setup_true_lang_default from "./text.vue_vue_type_script_setup_true_lang.js";
|
|
2
|
+
// src/widgets/text.vue
|
|
3
|
+
var text_default = text_vue_vue_type_script_setup_true_lang_default;
|
|
4
|
+
export { text_default as default };
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.js","names":["_sfc_main"],"sources":["../../src/widgets/text.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useDashboardWidget } from '../widget/context'\nimport type { TextWidgetProps } from './types'\n\ndefineOptions({ name: 'DouDashboardTextWidget' })\n\nconst { props } = useDashboardWidget<TextWidgetProps>()\n</script>\n\n<template>\n <div :class=\"['dou-dashboard-text', `is-${props.size ?? 'md'}`]\">{{ props.text }}</div>\n</template>\n"],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { useDashboardWidget } from "../widget/context.js";
|
|
2
|
+
import { createElementBlock, defineComponent, normalizeClass, openBlock, toDisplayString, unref } from "vue";
|
|
3
|
+
// src/widgets/text.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
+
var text_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
5
|
+
name: "DouDashboardTextWidget",
|
|
6
|
+
__name: "text",
|
|
7
|
+
setup(__props) {
|
|
8
|
+
const { props } = useDashboardWidget();
|
|
9
|
+
return (_ctx, _cache) => {
|
|
10
|
+
return openBlock(), createElementBlock("div", { class: normalizeClass(["dou-dashboard-text", `is-${unref(props).size ?? "md"}`]) }, toDisplayString(unref(props).text), 3);
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
export { text_vue_vue_type_script_setup_true_lang_default as default };
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=text.vue_vue_type_script_setup_true_lang.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_normalizeClass","_unref","_toDisplayString"],"sources":["../../src/widgets/text.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useDashboardWidget } from '../widget/context'\nimport type { TextWidgetProps } from './types'\n\ndefineOptions({ name: 'DouDashboardTextWidget' })\n\nconst { props } = useDashboardWidget<TextWidgetProps>()\n</script>\n\n<template>\n <div :class=\"['dou-dashboard-text', `is-${props.size ?? 'md'}`]\">{{ props.text }}</div>\n</template>\n"],"mappings":";;;;;;;EAMA,MAAM,EAAE,UAAU,mBAAoC;;GAIpD,OAAAA,UAAA,GAAAC,mBAAuF,OAAA,EAAjF,OAAKC,eAAA,CAAA,sBAAA,MAA+BC,MAAA,KAAA,CAAK,CAAC,QAAI,MAAA,CAAA,EAAgB,GAAAC,gBAAAD,MAAA,KAAA,CAAK,CAAC,IAAI,GAAA,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,100 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dou-ui/dashboard",
|
|
3
|
-
"version": "0.0.0
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "0.1.0-alpha.0",
|
|
4
|
+
"description": "DouUI 的仪表盘:可拖动、可缩放的网格布局与仪表盘设计器",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"vue",
|
|
7
|
+
"vue3",
|
|
8
|
+
"dashboard",
|
|
9
|
+
"grid-layout",
|
|
10
|
+
"drag-and-drop",
|
|
11
|
+
"resizable",
|
|
12
|
+
"collaboration"
|
|
13
|
+
],
|
|
14
|
+
"license": "MIT",
|
|
15
|
+
"author": "daidr <daidr@daidr.me>",
|
|
16
|
+
"homepage": "https://github.com/daidr/dou-ui#readme",
|
|
17
|
+
"bugs": "https://github.com/daidr/dou-ui/issues",
|
|
18
|
+
"repository": {
|
|
19
|
+
"type": "git",
|
|
20
|
+
"url": "git+https://github.com/daidr/dou-ui.git",
|
|
21
|
+
"directory": "packages/dashboard"
|
|
22
|
+
},
|
|
23
|
+
"type": "module",
|
|
24
|
+
"sideEffects": [
|
|
25
|
+
"*.css",
|
|
26
|
+
"./dist/style.js"
|
|
27
|
+
],
|
|
28
|
+
"main": "./dist/index.js",
|
|
29
|
+
"module": "./dist/index.js",
|
|
30
|
+
"types": "./dist/types/index.d.ts",
|
|
31
|
+
"exports": {
|
|
32
|
+
".": {
|
|
33
|
+
"types": "./dist/types/index.d.ts",
|
|
34
|
+
"import": "./dist/index.js"
|
|
35
|
+
},
|
|
36
|
+
"./layout": {
|
|
37
|
+
"types": "./dist/types/layout/index.d.ts",
|
|
38
|
+
"import": "./dist/layout/index.js"
|
|
39
|
+
},
|
|
40
|
+
"./widgets": {
|
|
41
|
+
"types": "./dist/types/widgets/index.d.ts",
|
|
42
|
+
"import": "./dist/widgets/index.js"
|
|
43
|
+
},
|
|
44
|
+
"./chart": {
|
|
45
|
+
"types": "./dist/types/chart/index.d.ts",
|
|
46
|
+
"import": "./dist/chart/index.js"
|
|
47
|
+
},
|
|
48
|
+
"./pivot": {
|
|
49
|
+
"types": "./dist/types/pivot/index.d.ts",
|
|
50
|
+
"import": "./dist/pivot/index.js"
|
|
51
|
+
},
|
|
52
|
+
"./collaboration": {
|
|
53
|
+
"types": "./dist/types/collaboration/index.d.ts",
|
|
54
|
+
"import": "./dist/collaboration/index.js"
|
|
55
|
+
},
|
|
56
|
+
"./style": {
|
|
57
|
+
"types": "./dist/style.d.ts",
|
|
58
|
+
"import": "./dist/style.js"
|
|
59
|
+
},
|
|
60
|
+
"./style.css": "./dist/style.css",
|
|
61
|
+
"./package.json": "./package.json"
|
|
62
|
+
},
|
|
63
|
+
"files": [
|
|
64
|
+
"dist"
|
|
65
|
+
],
|
|
66
|
+
"scripts": {
|
|
67
|
+
"build": "vite build && vue-tsc -p tsconfig.build.json && bun scripts/build-style.ts"
|
|
68
|
+
},
|
|
69
|
+
"peerDependencies": {
|
|
70
|
+
"@dou-ui/chart": "0.1.0-alpha.0",
|
|
71
|
+
"@dou-ui/pivot": "0.1.0-alpha.0",
|
|
72
|
+
"dou-ui": "0.1.0-alpha.0",
|
|
73
|
+
"vue": "^3.5.0",
|
|
74
|
+
"yjs": "^13.6.0"
|
|
75
|
+
},
|
|
76
|
+
"peerDependenciesMeta": {
|
|
77
|
+
"@dou-ui/chart": {
|
|
78
|
+
"optional": true
|
|
79
|
+
},
|
|
80
|
+
"@dou-ui/pivot": {
|
|
81
|
+
"optional": true
|
|
82
|
+
},
|
|
83
|
+
"yjs": {
|
|
84
|
+
"optional": true
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
"dependencies": {
|
|
88
|
+
"@dou-ui/icons": "0.1.0-alpha.0",
|
|
89
|
+
"@dou-ui/sheet": "0.1.0-alpha.0"
|
|
90
|
+
},
|
|
91
|
+
"devDependencies": {
|
|
92
|
+
"@dou-ui/chart": "0.1.0-alpha.0",
|
|
93
|
+
"@dou-ui/pivot": "0.1.0-alpha.0",
|
|
94
|
+
"y-protocols": "^1.0.7",
|
|
95
|
+
"yjs": "^13.6.33"
|
|
96
|
+
},
|
|
97
|
+
"publishConfig": {
|
|
98
|
+
"access": "public"
|
|
99
|
+
}
|
|
100
|
+
}
|