br-dionysus 1.6.7 → 1.6.8

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 (105) hide show
  1. package/dist/br-dionysus.es.js +1291 -1286
  2. package/dist/br-dionysus.umd.js +7 -7
  3. package/dist/index.css +1 -1
  4. package/package.json +1 -1
  5. package/packages/MInline/src/MInline.vue +11 -10
  6. package/web-types.json +1 -1
  7. package/docs/assets/README-BIIm2ID5.css +0 -1
  8. package/docs/assets/README-BVC502ud.js +0 -1
  9. package/docs/assets/README-BaVHXTcr.js +0 -1
  10. package/docs/assets/README-BkoXPzeT.js +0 -1
  11. package/docs/assets/README-BpY9wwJ5.js +0 -1
  12. package/docs/assets/README-BxVIiLkB.css +0 -1
  13. package/docs/assets/README-C8q4oePg.css +0 -1
  14. package/docs/assets/README-C9E9QEak.js +0 -1
  15. package/docs/assets/README-CJnIKztR.css +0 -1
  16. package/docs/assets/README-CPi9K5cm.css +0 -1
  17. package/docs/assets/README-CVikrcuu.js +0 -1
  18. package/docs/assets/README-CwxKEz5n.js +0 -1
  19. package/docs/assets/README-D-sCcuuV.js +0 -1
  20. package/docs/assets/README-D1NyMPDh.css +0 -1
  21. package/docs/assets/README-D8dRnWkj.css +0 -1
  22. package/docs/assets/README-DC5fWcO7.css +0 -1
  23. package/docs/assets/README-DFookNbq.js +0 -1
  24. package/docs/assets/README-DJM0QNOa.css +0 -1
  25. package/docs/assets/README-DJsWJjpr.js +0 -2
  26. package/docs/assets/README-DZH0ZBFE.js +0 -1
  27. package/docs/assets/README-DuLXE9ma.css +0 -1
  28. package/docs/assets/README-DxdjMTiZ.js +0 -1
  29. package/docs/assets/README-DxzXrur_.js +0 -1
  30. package/docs/assets/README-ZSEyYWl3.css +0 -1
  31. package/docs/assets/empty-BHv0FmNK.png +0 -0
  32. package/docs/assets/index-B3d27dSP.js +0 -66
  33. package/docs/assets/index-BeGJML3j.css +0 -1
  34. package/docs/index.html +0 -14
  35. package/docs/packages/Hook/usePackageConfig/README.md +0 -35
  36. package/docs/packages/Hook/usePackageConfig/demo.vue +0 -28
  37. package/docs/packages/Hook/usePackageConfig/usePackageConfig.ts +0 -39
  38. package/docs/packages/Hook/useRemainingSpace/README.md +0 -26
  39. package/docs/packages/Hook/useRemainingSpace/useRemainingSpace.ts +0 -148
  40. package/docs/packages/Hook/useTableConfig/README.md +0 -50
  41. package/docs/packages/Hook/useTableConfig/demo.vue +0 -134
  42. package/docs/packages/Hook/useTableConfig/useTableConfig.ts +0 -173
  43. package/docs/packages/Hook/useZIndex/README.md +0 -6
  44. package/docs/packages/Hook/useZIndex/useGlobalZIndex.ts +0 -34
  45. package/docs/packages/MDialog/docs/README.md +0 -26
  46. package/docs/packages/MDialog/docs/demo.vue +0 -72
  47. package/docs/packages/MDialog/index.ts +0 -10
  48. package/docs/packages/MDialog/src/MDialog.vue +0 -150
  49. package/docs/packages/MInline/docs/README.md +0 -26
  50. package/docs/packages/MInline/docs/demo.vue +0 -138
  51. package/docs/packages/MInline/index.ts +0 -10
  52. package/docs/packages/MInline/src/MInline.vue +0 -284
  53. package/docs/packages/MInputNumber/docs/README.md +0 -35
  54. package/docs/packages/MInputNumber/docs/demo.vue +0 -17
  55. package/docs/packages/MInputNumber/index.ts +0 -10
  56. package/docs/packages/MInputNumber/src/MInputNumber.vue +0 -268
  57. package/docs/packages/MSelect/docs/README.md +0 -20
  58. package/docs/packages/MSelect/docs/demo.vue +0 -36
  59. package/docs/packages/MSelect/index.ts +0 -17
  60. package/docs/packages/MSelect/src/MOption.vue +0 -43
  61. package/docs/packages/MSelect/src/MSelect.vue +0 -57
  62. package/docs/packages/MSelect/src/token.ts +0 -8
  63. package/docs/packages/MSelectTable/docs/README.md +0 -88
  64. package/docs/packages/MSelectTable/docs/demo.vue +0 -196
  65. package/docs/packages/MSelectTable/index.ts +0 -10
  66. package/docs/packages/MSelectTable/src/MSelectTable.vue +0 -493
  67. package/docs/packages/MSelectTableV1/docs/README.md +0 -49
  68. package/docs/packages/MSelectTableV1/docs/demo.vue +0 -77
  69. package/docs/packages/MSelectTableV1/index.ts +0 -10
  70. package/docs/packages/MSelectTableV1/src/MSelectTableV1.vue +0 -460
  71. package/docs/packages/MSelectV2/docs/README.md +0 -31
  72. package/docs/packages/MSelectV2/docs/demo.vue +0 -36
  73. package/docs/packages/MSelectV2/index.ts +0 -10
  74. package/docs/packages/MSelectV2/src/MSelectV2.vue +0 -116
  75. package/docs/packages/MTable/docs/README.md +0 -40
  76. package/docs/packages/MTable/docs/demo.vue +0 -93
  77. package/docs/packages/MTable/index.ts +0 -10
  78. package/docs/packages/MTable/src/MTable.vue +0 -228
  79. package/docs/packages/MTable/src/token.ts +0 -9
  80. package/docs/packages/MTableColumn/docs/README.md +0 -22
  81. package/docs/packages/MTableColumn/docs/demo.vue +0 -110
  82. package/docs/packages/MTableColumn/index.ts +0 -10
  83. package/docs/packages/MTableColumn/src/MTableColumn.vue +0 -345
  84. package/docs/packages/MTableColumnSet/docs/README.md +0 -31
  85. package/docs/packages/MTableColumnSet/docs/demo.vue +0 -36
  86. package/docs/packages/MTableColumnSet/index.ts +0 -10
  87. package/docs/packages/MTableColumnSet/src/MTableColumnSet.vue +0 -310
  88. package/docs/packages/README.md +0 -10
  89. package/docs/packages/SkinConfig/docs/README.md +0 -42
  90. package/docs/packages/SkinConfig/docs/demo.vue +0 -680
  91. package/docs/packages/SkinConfig/index.ts +0 -10
  92. package/docs/packages/SkinConfig/src/SkinConfig.vue +0 -478
  93. package/docs/packages/SkinConfig/src/useSkin.ts +0 -230
  94. package/docs/packages/TabPage/docs/README.md +0 -10
  95. package/docs/packages/TabPage/docs/demo.vue +0 -96
  96. package/docs/packages/TabPage/index.ts +0 -10
  97. package/docs/packages/TabPage/src/TabPage.vue +0 -566
  98. package/docs/packages/Tool/moneyFormat/README.md +0 -15
  99. package/docs/packages/Tool/moneyFormat/moneyFormat.ts +0 -69
  100. package/docs/packages/index.ts +0 -61
  101. package/docs/packages/list.json +0 -80
  102. package/docs/packages/typings/class.ts +0 -22
  103. package/docs/packages/typings/enum.ts +0 -9
  104. package/docs/packages/typings/global.d.ts +0 -69
  105. package/docs/packages/typings/interface.ts +0 -6
@@ -1,345 +0,0 @@
1
- <template>
2
- <el-table-column
3
- v-bind="attrs"
4
- :filterMethod="props.filterMethod"
5
- >
6
- <template
7
- #default="scope"
8
- v-if="slots.default"
9
- >
10
- <slot
11
- name="default"
12
- :row="scope.row"
13
- :column="scope.column"
14
- :index="scope.$index"
15
- ></slot>
16
- </template>
17
- <template v-if="props.children && props.children.length">
18
- <m-table-column
19
- v-for="child in props.children"
20
- :key="child.prop"
21
- :prop="child.prop"
22
- :label="child.label"
23
- :minWidth="child.minWidth"
24
- showOverflowTooltip
25
- :children="child.children || []"
26
- ></m-table-column>
27
- </template>
28
- <template #header="scope">
29
- <span>
30
- <slot
31
- name="header"
32
- :row="scope.row"
33
- :column="scope.column"
34
- :index="scope.$index"
35
- ></slot>
36
- <span>
37
- <span v-if="!slots.header">{{ scope.column.label }}</span>
38
- <div
39
- v-if="props.filters.length"
40
- class="u-filter-group"
41
- >
42
- <i
43
- class="u-icon j-icon"
44
- @click="open($event, scope.column.property)"
45
- ></i>
46
-
47
- <Teleport to="body">
48
- <div
49
- class="m-filter-box j-filter-box"
50
- :data-is-open="filterBoxIsOpen"
51
- v-if="filterBoxIsOpen"
52
- >
53
- <div
54
- class="u-filter-mask"
55
- @click="close(scope.column.property)"
56
- ></div>
57
- <div
58
- class="u-list-box"
59
- ref="filterBoxRef"
60
- :style="boxStyle"
61
- >
62
- <div class="u-it-gp">
63
- <el-input
64
- v-model="filterText"
65
- placeholder="请输入内容"
66
- clearable
67
- size="small"
68
- ></el-input>
69
- </div>
70
- <el-checkbox-group
71
- class="u-checkbox-group"
72
- v-model="filteredValue"
73
- >
74
- <el-checkbox
75
- v-for="item in getCheckboxOptions(props.filters)"
76
- :key="item.value"
77
- :label="item.value"
78
- >
79
- <template v-if="slots.default">
80
- <slot
81
- name="default"
82
- :row="{ [scope.column.property]: item.text }"
83
- :column="scope.column"
84
- :index="scope.$index"
85
- ></slot>
86
- </template>
87
- <template v-if="!slots.default">{{ item.text }}</template>
88
- </el-checkbox>
89
- </el-checkbox-group>
90
- <div class="u-btn-gp">
91
- <el-button
92
- link
93
- :disabled="!filteredValue.length"
94
- @click="sift(scope.column.property)"
95
- >
96
- 筛选
97
- </el-button>
98
- <el-button
99
- link
100
- @click="reset(scope.column.property)"
101
- >
102
- 重置
103
- </el-button>
104
- </div>
105
- </div>
106
- </div>
107
- </Teleport>
108
- </div>
109
- <MTableColumnSet
110
- class="u-set"
111
- v-if="showTableConfig"
112
- v-model="tableConfig"
113
- link
114
- ></MTableColumnSet>
115
- </span>
116
- </span>
117
- </template>
118
- </el-table-column>
119
- </template>
120
-
121
- <script setup lang="ts">
122
- import { ref, useSlots, useAttrs, inject, computed } from 'vue'
123
- import checkType from '../../../tool/checkType'
124
- import { tableKey } from './../../MTable/src/token'
125
-
126
- interface FilterValue {
127
- [key: string]: Array<string | number>
128
- }
129
-
130
- interface PropChildren {
131
- [prop: string]: any,
132
- children?: PropChildren[]
133
- }
134
-
135
- const props = withDefaults(defineProps<{
136
- /** 过滤值 */
137
- filtersValue?: FilterValue,
138
- /** 过滤选项 */
139
- filters?: Array<{ text: string | number, value: string | number }>,
140
- /** 过滤方法 */
141
- filterMethod?: Function | null,
142
- children?: Array<PropChildren>,
143
- }>(), {
144
- filtersValue: () => ({}),
145
- filters: () => [],
146
- filterMethod: null,
147
- children: () => []
148
- })
149
-
150
- const slots = useSlots()
151
- const attrs = useAttrs()
152
-
153
- const emit = defineEmits(['update:filtersValue'])
154
-
155
- const tableKeyData = inject(tableKey)
156
- const tableConfig = tableKeyData?.tableConfig
157
- const showTableConfig = computed(() => {
158
- if (!tableKeyData || !tableConfig) return false
159
- if (!tableConfig.value) return false
160
- return tableKeyData.lastColumnProp.value === attrs.prop
161
- })
162
-
163
- const filterText = ref<string>('')
164
-
165
- const getCheckboxOptions = (options: { text: string | number, value: string | number }[]) => {
166
- return options
167
- .map(item => ({
168
- ...item,
169
- value: checkType.isArray(item.value) || checkType.isObject(item.value) ? JSON.stringify(item.value) : item.value
170
- }))
171
- .filter(item => String(item.value).includes(filterText.value))
172
- }
173
-
174
- const filteredValue = ref<Array<string | number>>([])
175
- const sift = (property: string) => {
176
- const data = {
177
- ...props.filtersValue,
178
- [property]: filteredValue.value
179
- }
180
- emit('update:filtersValue', data)
181
- close(property)
182
- }
183
-
184
- const reset = (property: string) => {
185
- filteredValue.value = []
186
- const data = {
187
- ...props.filtersValue,
188
- [property]: []
189
- }
190
- emit('update:filtersValue', data)
191
- close(property)
192
- }
193
-
194
- const filterBoxIsOpen = ref<boolean>(false)
195
-
196
- const filterBoxRef = ref<HTMLElement>()
197
-
198
- const open = (event: MouseEvent, property: string) => {
199
- const dom: HTMLElement = event.target as HTMLElement
200
- const { width, height, bottom, right } = dom.getBoundingClientRect()
201
- const isTopMode = window.innerHeight - bottom < 400 + 20
202
- const isLeftMode = window.innerWidth - right < (filterBoxRef.value?.clientWidth || 0) + 20
203
- filteredValue.value = props.filtersValue[property] || []
204
- if (isTopMode) {
205
- boxStyle.value.top = 'unset'
206
- boxStyle.value.bottom = `${window.innerHeight - event.clientY + height - 5}px`
207
- } else {
208
- boxStyle.value.top = `${event.clientY - event.offsetY + height + 5}px`
209
- boxStyle.value.bottom = 'unset'
210
- }
211
- if (isLeftMode) {
212
- boxStyle.value.left = 'unset'
213
- boxStyle.value.right = `${window.innerWidth - (event.clientX - event.offsetX) - width}px`
214
- } else {
215
- boxStyle.value.left = `${event.clientX - event.offsetX}px`
216
- boxStyle.value.right = 'unset'
217
- }
218
- filterBoxIsOpen.value = true
219
- }
220
-
221
- const close = (property: string) => {
222
- filterBoxIsOpen.value = false
223
- filteredValue.value = props.filtersValue[property] || []
224
- }
225
-
226
- interface BoxStyle {
227
- top: string | number,
228
- left: string | number,
229
- bottom: string | number,
230
- right: string | number
231
- }
232
-
233
- const boxStyle = ref<BoxStyle>({
234
- top: 0,
235
- left: 0,
236
- bottom: 'unset',
237
- right: 'unset'
238
- })
239
- </script>
240
-
241
- <style scoped lang="scss">
242
- .u-icon {
243
- display: inline-block;
244
- position: relative;
245
- width: 14px;
246
- height: 14px;
247
- background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAMdJREFUOE/tkyESwjAQRfMj0Xgkp2AmaQweHCeAS1AuASfAgce0yQynQOLRyHyazpRpoW2YAcnKbP7L7t8sxJeBoM+yLK04Ukp678vzWBhj0iegEK5jgnq+eGTzO4C1dkhyDGAvhBhFKrmSXAC4aK1vjV6dcxPv/QnAoA1C8i6lnCqlzlX+zaw8z2cADh2AeZIkx3qu1W3n3JLktnERWCmldq/gznFZa8NUyvFWjrdV9QcIEfWgz8BgaicgLFj467H9+Gjr+iAPDfV1EeVT6aEAAAAASUVORK5CYII=");
248
- background-size: 100% 100%;
249
- transform: translateY(2px);
250
- cursor: pointer;
251
- }
252
-
253
- .u-filter-group {
254
- display: inline-block;
255
- position: relative;
256
- }
257
-
258
- .u-set {
259
- padding: 2.5px 0;
260
- float: right;
261
- }
262
- </style>
263
-
264
- <style lang="scss">
265
- .m-filter-box {
266
- $zIndex: 2050;
267
-
268
- &[data-is-open="true"] {
269
- opacity: 1;
270
- pointer-events: auto;
271
- }
272
-
273
- &[data-is-open="false"] {
274
- opacity: 0;
275
- pointer-events: none;
276
- }
277
-
278
- .u-filter-mask {
279
- position: fixed;
280
- top: 0;
281
- left: 0;
282
- z-index: $zIndex;
283
- width: 100%;
284
- height: 100%;
285
- }
286
-
287
- .u-it-gp {
288
- padding: 10px;
289
- border-bottom: 1px solid var(--el-border-color-lighter);
290
- }
291
-
292
- .u-list-box {
293
- overflow: hidden;
294
- position: fixed;
295
- top: 0;
296
- left: 0;
297
- z-index: $zIndex;
298
- //width: 134px;
299
- max-width: 50%;
300
- background: var(--el-bg-color-overlay);
301
- border: 1px solid var(--el-border-color-light);
302
- border-radius: var(--el-popper-border-radius, 4px);
303
- box-shadow: var(--el-box-shadow-light);
304
-
305
- .u-checkbox-group {
306
- overflow-y: auto;
307
- display: block;
308
- padding: 10px;
309
- max-height: 280px;
310
- }
311
-
312
- label.el-checkbox {
313
- display: flex;
314
- align-items: center;
315
- margin-right: 5px;
316
- margin-bottom: 12px;
317
- margin-left: 5px;
318
- height: unset;
319
- }
320
-
321
- label.el-checkbox:last-child {
322
- margin-bottom: 0;
323
- }
324
-
325
- .u-btn-gp {
326
- border-top: 1px solid var(--el-border-color-lighter);
327
- padding: 8px;
328
- }
329
-
330
- button.is-disabled {
331
- color: var(--el-disabled-text-color);
332
- cursor: not-allowed;
333
- }
334
-
335
- button {
336
- background: 0 0;
337
- border: none;
338
- color: var(--el-text-color-regular);
339
- cursor: pointer;
340
- font-size: var(--el-font-size-small);
341
- padding: 0 3px;
342
- }
343
- }
344
- }
345
- </style>
@@ -1,31 +0,0 @@
1
- <script setup>
2
- import demo from './demo.vue'
3
- </script>
4
-
5
- 表格头设置组件
6
- =================
7
-
8
- ### 1) 基础用法
9
-
10
- <Preview comp-name="MTableColumnSet" demo-name="demo">
11
- <demo />
12
- </Preview>
13
-
14
-
15
- ### 2) Attributes
16
-
17
- | 参数 | 说明 | 类型 | 可选值 | 默认值 |
18
- |-----------------------| ---------------------------------------------------- | ---------------------------------------- | ------ |-------|
19
- | model-value / v-model | 绑定值 | { [propName: string]: TableConfigItem } | - | {} |
20
- | link | 是否为链接按钮 | boolean | - | false |
21
- | foldMode | 是否开启折叠 开启的话需要父级元素为flex布局/grid布局 | boolean | - | false |
22
-
23
-
24
- ### 3) TableConfigItem
25
- | 参数 | 说明 | 类型 |
26
- | ----------- | ------------------------------------------------- | -------------------------- |
27
- | minWidth | 最小列宽 | number,string |
28
- | show | 是否显示 | boolean |
29
- | sort | 排序 | number |
30
- | label | 列名 | string |
31
- | headerAlign | 表头对齐方式, 若不设置该项,则使用表格的对齐方式 | 'left' ,'center' , 'right' |
@@ -1,36 +0,0 @@
1
- <template>
2
- <div>
3
- <MTableColumnSet v-model="tableConfig"/>
4
- <div>
5
- {{ tableConfig }}
6
- </div>
7
- </div>
8
- </template>
9
-
10
- <script setup lang="ts">
11
- import { ref } from 'vue'
12
-
13
- const tableConfig = ref({
14
- date: {
15
- minWidth: 100,
16
- show: true,
17
- sort: 0,
18
- label: 'date'
19
- },
20
- name: {
21
- minWidth: 100,
22
- show: true,
23
- sort: 1,
24
- label: 'name'
25
- },
26
- address: {
27
- minWidth: 100,
28
- show: true,
29
- sort: 2,
30
- label: 'address'
31
- }
32
- })
33
-
34
- </script>
35
-
36
- <style lang="scss"></style>
@@ -1,10 +0,0 @@
1
- import { App, Plugin } from 'vue'
2
- import MTableColumnSet from './src/MTableColumnSet.vue'
3
-
4
- export const MTableColumnSetPlugin: Plugin = {
5
- install (app: App) {
6
- app.component('MTableColumnSet', MTableColumnSet)
7
- }
8
- }
9
-
10
- export { MTableColumnSet }