@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.
Files changed (188) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +10 -2
  3. package/dist/chart/chart-settings.js +6 -0
  4. package/dist/chart/chart-settings.js.map +1 -0
  5. package/dist/chart/chart-settings.vue_vue_type_script_setup_true_lang.js +122 -0
  6. package/dist/chart/chart-settings.vue_vue_type_script_setup_true_lang.js.map +1 -0
  7. package/dist/chart/chart.js +6 -0
  8. package/dist/chart/chart.js.map +1 -0
  9. package/dist/chart/chart.vue_vue_type_script_setup_true_lang.js +99 -0
  10. package/dist/chart/chart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  11. package/dist/chart/index.js +33 -0
  12. package/dist/chart/index.js.map +1 -0
  13. package/dist/collaboration/index.js +281 -0
  14. package/dist/collaboration/index.js.map +1 -0
  15. package/dist/collaboration/order.js +88 -0
  16. package/dist/collaboration/order.js.map +1 -0
  17. package/dist/core/document.js +128 -0
  18. package/dist/core/document.js.map +1 -0
  19. package/dist/core/history.js +66 -0
  20. package/dist/core/history.js.map +1 -0
  21. package/dist/core/transaction.js +218 -0
  22. package/dist/core/transaction.js.map +1 -0
  23. package/dist/dashboard/dashboard.js +6 -0
  24. package/dist/dashboard/dashboard.js.map +1 -0
  25. package/dist/dashboard/dashboard.vue_vue_type_script_setup_true_lang.js +1072 -0
  26. package/dist/dashboard/dashboard.vue_vue_type_script_setup_true_lang.js.map +1 -0
  27. package/dist/dashboard/export.js +77 -0
  28. package/dist/dashboard/export.js.map +1 -0
  29. package/dist/dashboard/filter-bar.js +6 -0
  30. package/dist/dashboard/filter-bar.js.map +1 -0
  31. package/dist/dashboard/filter-bar.vue_vue_type_script_setup_true_lang.js +150 -0
  32. package/dist/dashboard/filter-bar.vue_vue_type_script_setup_true_lang.js.map +1 -0
  33. package/dist/dashboard/frame-context.js +5 -0
  34. package/dist/dashboard/frame-context.js.map +1 -0
  35. package/dist/dashboard/observers.js +48 -0
  36. package/dist/dashboard/observers.js.map +1 -0
  37. package/dist/dashboard/palette.js +6 -0
  38. package/dist/dashboard/palette.js.map +1 -0
  39. package/dist/dashboard/palette.vue_vue_type_script_setup_true_lang.js +54 -0
  40. package/dist/dashboard/palette.vue_vue_type_script_setup_true_lang.js.map +1 -0
  41. package/dist/dashboard/widget-body.js +6 -0
  42. package/dist/dashboard/widget-body.js.map +1 -0
  43. package/dist/dashboard/widget-body.vue_vue_type_script_setup_true_lang.js +96 -0
  44. package/dist/dashboard/widget-body.vue_vue_type_script_setup_true_lang.js.map +1 -0
  45. package/dist/dashboard/widget-frame.js +6 -0
  46. package/dist/dashboard/widget-frame.js.map +1 -0
  47. package/dist/dashboard/widget-frame.vue_vue_type_script_setup_true_lang.js +300 -0
  48. package/dist/dashboard/widget-frame.vue_vue_type_script_setup_true_lang.js.map +1 -0
  49. package/dist/dashboard/widget-settings.js +6 -0
  50. package/dist/dashboard/widget-settings.js.map +1 -0
  51. package/dist/dashboard/widget-settings.vue_vue_type_script_setup_true_lang.js +36 -0
  52. package/dist/dashboard/widget-settings.vue_vue_type_script_setup_true_lang.js.map +1 -0
  53. package/dist/data/context.js +5 -0
  54. package/dist/data/context.js.map +1 -0
  55. package/dist/data/filters.js +31 -0
  56. package/dist/data/filters.js.map +1 -0
  57. package/dist/data/store.js +214 -0
  58. package/dist/data/store.js.map +1 -0
  59. package/dist/grid/grid-handle.js +6 -0
  60. package/dist/grid/grid-handle.js.map +1 -0
  61. package/dist/grid/grid-handle.vue_vue_type_script_setup_true_lang.js +21 -0
  62. package/dist/grid/grid-handle.vue_vue_type_script_setup_true_lang.js.map +1 -0
  63. package/dist/grid/grid-item.js +80 -0
  64. package/dist/grid/grid-item.js.map +1 -0
  65. package/dist/grid/grid-layout.js +6 -0
  66. package/dist/grid/grid-layout.js.map +1 -0
  67. package/dist/grid/grid-layout.vue_vue_type_script_setup_true_lang.js +767 -0
  68. package/dist/grid/grid-layout.vue_vue_type_script_setup_true_lang.js.map +1 -0
  69. package/dist/grid/tiers.js +31 -0
  70. package/dist/grid/tiers.js.map +1 -0
  71. package/dist/index.js +23 -0
  72. package/dist/index.js.map +1 -0
  73. package/dist/layout/engine.js +284 -0
  74. package/dist/layout/engine.js.map +1 -0
  75. package/dist/layout/index.js +1 -0
  76. package/dist/locale.js +245 -0
  77. package/dist/locale.js.map +1 -0
  78. package/dist/pivot/index.js +47 -0
  79. package/dist/pivot/index.js.map +1 -0
  80. package/dist/pivot/pivot-settings.js +6 -0
  81. package/dist/pivot/pivot-settings.js.map +1 -0
  82. package/dist/pivot/pivot-settings.vue_vue_type_script_setup_true_lang.js +64 -0
  83. package/dist/pivot/pivot-settings.vue_vue_type_script_setup_true_lang.js.map +1 -0
  84. package/dist/pivot/pivot.js +6 -0
  85. package/dist/pivot/pivot.js.map +1 -0
  86. package/dist/pivot/pivot.vue_vue_type_script_setup_true_lang.js +76 -0
  87. package/dist/pivot/pivot.vue_vue_type_script_setup_true_lang.js.map +1 -0
  88. package/dist/style.css +1 -0
  89. package/dist/style.d.ts +1 -0
  90. package/dist/style.js +12 -0
  91. package/dist/types/chart/chart-settings.vue.d.ts +11 -0
  92. package/dist/types/chart/chart.vue.d.ts +3 -0
  93. package/dist/types/chart/index.d.ts +9 -0
  94. package/dist/types/chart/types.d.ts +23 -0
  95. package/dist/types/collaboration/index.d.ts +53 -0
  96. package/dist/types/collaboration/order.d.ts +20 -0
  97. package/dist/types/core/collaboration.d.ts +51 -0
  98. package/dist/types/core/document.d.ts +35 -0
  99. package/dist/types/core/history.d.ts +15 -0
  100. package/dist/types/core/transaction.d.ts +86 -0
  101. package/dist/types/core/types.d.ts +27 -0
  102. package/dist/types/dashboard/dashboard.vue.d.ts +33 -0
  103. package/dist/types/dashboard/export.d.ts +11 -0
  104. package/dist/types/dashboard/filter-bar.vue.d.ts +19 -0
  105. package/dist/types/dashboard/frame-context.d.ts +54 -0
  106. package/dist/types/dashboard/observers.d.ts +15 -0
  107. package/dist/types/dashboard/palette.vue.d.ts +20 -0
  108. package/dist/types/dashboard/types.d.ts +190 -0
  109. package/dist/types/dashboard/widget-body.vue.d.ts +19 -0
  110. package/dist/types/dashboard/widget-frame.vue.d.ts +6 -0
  111. package/dist/types/dashboard/widget-settings.vue.d.ts +16 -0
  112. package/dist/types/data/context.d.ts +18 -0
  113. package/dist/types/data/filters.d.ts +9 -0
  114. package/dist/types/data/store.d.ts +48 -0
  115. package/dist/types/data/types.d.ts +67 -0
  116. package/dist/types/grid/grid-handle.vue.d.ts +18 -0
  117. package/dist/types/grid/grid-item.d.ts +78 -0
  118. package/dist/types/grid/grid-layout.vue.d.ts +46 -0
  119. package/dist/types/grid/tiers.d.ts +12 -0
  120. package/dist/types/grid/types.d.ts +113 -0
  121. package/dist/types/index.d.ts +295 -0
  122. package/dist/types/layout/engine.d.ts +50 -0
  123. package/dist/types/layout/index.d.ts +2 -0
  124. package/dist/types/layout/types.d.ts +39 -0
  125. package/dist/types/locale.d.ts +117 -0
  126. package/dist/types/pivot/index.d.ts +14 -0
  127. package/dist/types/pivot/pivot-settings.vue.d.ts +16 -0
  128. package/dist/types/pivot/pivot.vue.d.ts +7 -0
  129. package/dist/types/pivot/types.d.ts +11 -0
  130. package/dist/types/widget/context.d.ts +91 -0
  131. package/dist/types/widget/define.d.ts +50 -0
  132. package/dist/types/widgets/field-select.vue.d.ts +18 -0
  133. package/dist/types/widgets/index.d.ts +15 -0
  134. package/dist/types/widgets/settings-field.vue.d.ts +17 -0
  135. package/dist/types/widgets/shared.d.ts +20 -0
  136. package/dist/types/widgets/source-field.vue.d.ts +15 -0
  137. package/dist/types/widgets/stat-settings.vue.d.ts +11 -0
  138. package/dist/types/widgets/stat.vue.d.ts +3 -0
  139. package/dist/types/widgets/table-settings.vue.d.ts +11 -0
  140. package/dist/types/widgets/table.vue.d.ts +3 -0
  141. package/dist/types/widgets/text-settings.vue.d.ts +11 -0
  142. package/dist/types/widgets/text.vue.d.ts +3 -0
  143. package/dist/types/widgets/types.d.ts +38 -0
  144. package/dist/widget/context.js +88 -0
  145. package/dist/widget/context.js.map +1 -0
  146. package/dist/widget/define.js +32 -0
  147. package/dist/widget/define.js.map +1 -0
  148. package/dist/widgets/field-select.js +6 -0
  149. package/dist/widgets/field-select.js.map +1 -0
  150. package/dist/widgets/field-select.vue_vue_type_script_setup_true_lang.js +54 -0
  151. package/dist/widgets/field-select.vue_vue_type_script_setup_true_lang.js.map +1 -0
  152. package/dist/widgets/index.js +74 -0
  153. package/dist/widgets/index.js.map +1 -0
  154. package/dist/widgets/settings-field.js +6 -0
  155. package/dist/widgets/settings-field.js.map +1 -0
  156. package/dist/widgets/settings-field.vue_vue_type_script_setup_true_lang.js +28 -0
  157. package/dist/widgets/settings-field.vue_vue_type_script_setup_true_lang.js.map +1 -0
  158. package/dist/widgets/shared.js +68 -0
  159. package/dist/widgets/shared.js.map +1 -0
  160. package/dist/widgets/source-field.js +6 -0
  161. package/dist/widgets/source-field.js.map +1 -0
  162. package/dist/widgets/source-field.vue_vue_type_script_setup_true_lang.js +47 -0
  163. package/dist/widgets/source-field.vue_vue_type_script_setup_true_lang.js.map +1 -0
  164. package/dist/widgets/stat-settings.js +6 -0
  165. package/dist/widgets/stat-settings.js.map +1 -0
  166. package/dist/widgets/stat-settings.vue_vue_type_script_setup_true_lang.js +107 -0
  167. package/dist/widgets/stat-settings.vue_vue_type_script_setup_true_lang.js.map +1 -0
  168. package/dist/widgets/stat.js +6 -0
  169. package/dist/widgets/stat.js.map +1 -0
  170. package/dist/widgets/stat.vue_vue_type_script_setup_true_lang.js +72 -0
  171. package/dist/widgets/stat.vue_vue_type_script_setup_true_lang.js.map +1 -0
  172. package/dist/widgets/table-settings.js +6 -0
  173. package/dist/widgets/table-settings.js.map +1 -0
  174. package/dist/widgets/table-settings.vue_vue_type_script_setup_true_lang.js +90 -0
  175. package/dist/widgets/table-settings.vue_vue_type_script_setup_true_lang.js.map +1 -0
  176. package/dist/widgets/table.js +6 -0
  177. package/dist/widgets/table.js.map +1 -0
  178. package/dist/widgets/table.vue_vue_type_script_setup_true_lang.js +91 -0
  179. package/dist/widgets/table.vue_vue_type_script_setup_true_lang.js.map +1 -0
  180. package/dist/widgets/text-settings.js +6 -0
  181. package/dist/widgets/text-settings.js.map +1 -0
  182. package/dist/widgets/text-settings.vue_vue_type_script_setup_true_lang.js +63 -0
  183. package/dist/widgets/text-settings.vue_vue_type_script_setup_true_lang.js.map +1 -0
  184. package/dist/widgets/text.js +6 -0
  185. package/dist/widgets/text.js.map +1 -0
  186. package/dist/widgets/text.vue_vue_type_script_setup_true_lang.js +16 -0
  187. package/dist/widgets/text.vue_vue_type_script_setup_true_lang.js.map +1 -0
  188. 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-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
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
+ }