@coreui/vue-pro 4.1.0 → 4.1.1

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.md CHANGED
@@ -43,7 +43,7 @@
43
43
 
44
44
  Several quick start options are available:
45
45
 
46
- - [Download the latest release](https://github.com/coreui/coreui-vue-pro/archive/v4.1.0.zip)
46
+ - [Download the latest release](https://github.com/coreui/coreui-vue-pro/archive/v4.1.1.zip)
47
47
  - Clone the repo: `git clone https://github.com/coreui/coreui-vue-pro.git`
48
48
  - Install with [npm](https://www.npmjs.com/): `npm install @coreui/vue-pro`
49
49
  - Install with [yarn](https://yarnpkg.com/): `yarn add @coreui/vue-pro`
@@ -39,7 +39,6 @@ declare const CSmartTable: import("vue").DefineComponent<{
39
39
  */
40
40
  columnFilter: {
41
41
  type: PropType<boolean | ColumnFilter>;
42
- default: undefined;
43
42
  required: false;
44
43
  };
45
44
  /**
@@ -116,7 +115,6 @@ declare const CSmartTable: import("vue").DefineComponent<{
116
115
  */
117
116
  itemsPerPage: {
118
117
  type: NumberConstructor;
119
- default: number;
120
118
  required: false;
121
119
  };
122
120
  /**
@@ -188,7 +186,8 @@ declare const CSmartTable: import("vue").DefineComponent<{
188
186
  */
189
187
  selectable: BooleanConstructor;
190
188
  /**
191
- * State of the sorter. Name key is column name, direction can be 'asc' or 'desc'. Set .sync modifier to track changes.
189
+ * State of the sorter. Name key is column name, direction can be 'asc' or 'desc'. Set .sync modifier to track changes. eg.:
190
+ * { column: 'status', state: 'asc' }
192
191
  *
193
192
  * @type SorterValue
194
193
  */
@@ -320,7 +319,6 @@ declare const CSmartTable: import("vue").DefineComponent<{
320
319
  clickableRows: boolean;
321
320
  columns: string[] | Column[];
322
321
  selectable: boolean;
323
- itemsPerPage: number;
324
322
  itemsPerPageLabel: string;
325
323
  itemsPerPageOptions: number[];
326
324
  noItemsLabel: string;
@@ -328,8 +326,9 @@ declare const CSmartTable: import("vue").DefineComponent<{
328
326
  tableFilterPlaceholder: string;
329
327
  } & {
330
328
  columnFilter?: boolean | ColumnFilter | undefined;
331
- columnSorter?: boolean | Sorter | undefined;
332
329
  columnFilterValue?: ColumnFilterValue | undefined;
330
+ columnSorter?: boolean | Sorter | undefined;
331
+ itemsPerPage?: number | undefined;
333
332
  itemsPerPageSelect?: boolean | ItemsPerPageSelect | undefined;
334
333
  paginationProps?: Record<string, any> | undefined;
335
334
  sorterValue?: SorterValue | undefined;
@@ -359,12 +358,10 @@ declare const CSmartTable: import("vue").DefineComponent<{
359
358
  clickableRows: boolean;
360
359
  columns: string[] | Column[];
361
360
  selectable: boolean;
362
- columnFilter: boolean | ColumnFilter;
361
+ columnFilterValue: ColumnFilterValue;
363
362
  columnSorter: boolean | Sorter;
364
- itemsPerPage: number;
365
363
  itemsPerPageLabel: string;
366
364
  itemsPerPageOptions: number[];
367
- columnFilterValue: ColumnFilterValue;
368
365
  itemsPerPageSelect: boolean | ItemsPerPageSelect;
369
366
  noItemsLabel: string;
370
367
  paginationProps: Record<string, any>;
@@ -1,5 +1,5 @@
1
1
  import { PropType } from 'vue';
2
- import { Column, ColumnFilter, Sorter, SorterValue } from './CSmartTableInterface';
2
+ import { Column, ColumnFilter, ColumnFilterValue, Sorter, SorterValue } from './CSmartTableInterface';
3
3
  declare const CSmartTableHead: import("vue").DefineComponent<{
4
4
  clearSorterAndFilter: {
5
5
  type: StringConstructor;
@@ -8,9 +8,12 @@ declare const CSmartTableHead: import("vue").DefineComponent<{
8
8
  };
9
9
  columnFilter: {
10
10
  type: PropType<boolean | ColumnFilter>;
11
- default: undefined;
12
11
  require: boolean;
13
12
  };
13
+ columnFilterValue: {
14
+ type: PropType<ColumnFilterValue>;
15
+ required: false;
16
+ };
14
17
  columnSorter: {
15
18
  type: PropType<boolean | Sorter>;
16
19
  default: undefined;
@@ -38,6 +41,7 @@ declare const CSmartTableHead: import("vue").DefineComponent<{
38
41
  }>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("filterInput" | "filterChange" | "selectAllChecked" | "sortClick")[], "filterInput" | "filterChange" | "selectAllChecked" | "sortClick", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
39
42
  clearSorterAndFilter?: unknown;
40
43
  columnFilter?: unknown;
44
+ columnFilterValue?: unknown;
41
45
  columnSorter?: unknown;
42
46
  component?: unknown;
43
47
  columns?: unknown;
@@ -52,6 +56,7 @@ declare const CSmartTableHead: import("vue").DefineComponent<{
52
56
  } & {
53
57
  selectAll?: string | boolean | undefined;
54
58
  columnFilter?: boolean | ColumnFilter | undefined;
59
+ columnFilterValue?: ColumnFilterValue | undefined;
55
60
  columnSorter?: boolean | Sorter | undefined;
56
61
  sorterState?: SorterValue | undefined;
57
62
  }> & {
@@ -64,7 +69,6 @@ declare const CSmartTableHead: import("vue").DefineComponent<{
64
69
  columns: string[] | Column[];
65
70
  selectable: boolean;
66
71
  clearSorterAndFilter: string;
67
- columnFilter: boolean | ColumnFilter;
68
72
  columnSorter: boolean | Sorter;
69
73
  sorterState: SorterValue;
70
74
  }>;
package/dist/index.es.js CHANGED
@@ -5776,7 +5776,7 @@ const CModal = defineComponent({
5776
5776
  emit('show');
5777
5777
  };
5778
5778
  const handleAfterEnter = () => {
5779
- window.addEventListener('click', handleClickOutside);
5779
+ window.addEventListener('mousedown', handleMouseDown);
5780
5780
  window.addEventListener('keyup', handleKeyUp);
5781
5781
  };
5782
5782
  const handleLeave = (el, done) => {
@@ -5787,7 +5787,7 @@ const CModal = defineComponent({
5787
5787
  el.classList.remove('show');
5788
5788
  };
5789
5789
  const handleAfterLeave = (el) => {
5790
- window.removeEventListener('click', handleClickOutside);
5790
+ window.removeEventListener('mousedown', handleMouseDown);
5791
5791
  window.removeEventListener('keyup', handleKeyUp);
5792
5792
  el.style.display = 'none';
5793
5793
  };
@@ -5809,7 +5809,10 @@ const CModal = defineComponent({
5809
5809
  }
5810
5810
  }
5811
5811
  };
5812
- const handleClickOutside = (event) => {
5812
+ const handleMouseDown = (event) => {
5813
+ window.addEventListener('mouseup', () => handleMouseUp(event), { once: true });
5814
+ };
5815
+ const handleMouseUp = (event) => {
5813
5816
  if (modalContentRef.value && !modalContentRef.value.contains(event.target)) {
5814
5817
  if (props.backdrop !== 'static') {
5815
5818
  handleDismiss();
@@ -7018,19 +7021,20 @@ const COffcanvas = defineComponent({
7018
7021
  }, 1);
7019
7022
  };
7020
7023
  const handleAfterEnter = () => {
7021
- window.addEventListener('click', handleClickOutside);
7024
+ window.addEventListener('mousedown', handleMouseDown);
7025
+ // window.addEventListener('click', handleClickOutside)
7022
7026
  window.addEventListener('keyup', handleKeyUp);
7023
7027
  };
7024
7028
  const handleLeave = (el, done) => {
7025
7029
  el.addEventListener('transitionend', () => {
7026
7030
  done();
7027
7031
  });
7032
+ window.removeEventListener('mousedown', handleMouseDown);
7033
+ window.removeEventListener('keyup', handleKeyUp);
7028
7034
  el.classList.remove('show');
7029
7035
  };
7030
7036
  const handleAfterLeave = (el) => {
7031
7037
  el.style.visibility = 'hidden';
7032
- window.removeEventListener('click', handleClickOutside);
7033
- window.removeEventListener('keyup', handleKeyUp);
7034
7038
  };
7035
7039
  const handleDismiss = () => {
7036
7040
  visible.value = false;
@@ -7043,13 +7047,17 @@ const COffcanvas = defineComponent({
7043
7047
  }
7044
7048
  }
7045
7049
  };
7046
- const handleClickOutside = (event) => {
7050
+ const handleMouseDown = (event) => {
7051
+ window.addEventListener('mouseup', () => handleMouseUp(event), { once: true });
7052
+ };
7053
+ const handleMouseUp = (event) => {
7047
7054
  if (offcanvasRef.value && !offcanvasRef.value.contains(event.target)) {
7048
7055
  props.backdrop && handleDismiss();
7049
7056
  }
7050
7057
  };
7051
7058
  return () => [
7052
7059
  h$1(Transition, {
7060
+ css: false,
7053
7061
  onEnter: (el, done) => handleEnter(el, done),
7054
7062
  onAfterEnter: () => handleAfterEnter(),
7055
7063
  onLeave: (el, done) => handleLeave(el, done),
@@ -8611,9 +8619,12 @@ const CSmartTableHead = defineComponent({
8611
8619
  },
8612
8620
  columnFilter: {
8613
8621
  type: [Boolean, Object],
8614
- default: undefined,
8615
8622
  require: false,
8616
8623
  },
8624
+ columnFilterValue: {
8625
+ type: Object,
8626
+ required: false,
8627
+ },
8617
8628
  columnSorter: {
8618
8629
  type: [Boolean, Object],
8619
8630
  default: undefined,
@@ -8752,9 +8763,9 @@ const CSmartTableHead = defineComponent({
8752
8763
  onInput: (event) => handleFilterInput(key(column), event.target.value),
8753
8764
  onChange: (event) => handleFilterChange(key(column), event.target.value),
8754
8765
  'aria-label': `column name: '${label(column)}' filter input`,
8755
- ...(props.columnFilter &&
8756
- props.columnFilter[key(column)] && {
8757
- value: props.columnFilter[key(column)],
8766
+ ...(props.columnFilterValue &&
8767
+ props.columnFilterValue[key(column)] && {
8768
+ value: props.columnFilterValue[key(column)],
8758
8769
  }),
8759
8770
  }),
8760
8771
  })),
@@ -9068,7 +9079,6 @@ const CSmartTable = defineComponent({
9068
9079
  */
9069
9080
  columnFilter: {
9070
9081
  type: [Boolean, Object],
9071
- default: undefined,
9072
9082
  required: false,
9073
9083
  },
9074
9084
  /**
@@ -9145,7 +9155,6 @@ const CSmartTable = defineComponent({
9145
9155
  */
9146
9156
  itemsPerPage: {
9147
9157
  type: Number,
9148
- default: 10,
9149
9158
  required: false,
9150
9159
  },
9151
9160
  /**
@@ -9217,7 +9226,8 @@ const CSmartTable = defineComponent({
9217
9226
  */
9218
9227
  selectable: Boolean,
9219
9228
  /**
9220
- * State of the sorter. Name key is column name, direction can be 'asc' or 'desc'. Set .sync modifier to track changes.
9229
+ * State of the sorter. Name key is column name, direction can be 'asc' or 'desc'. Set .sync modifier to track changes. eg.:
9230
+ * { column: 'status', state: 'asc' }
9221
9231
  *
9222
9232
  * @type SorterValue
9223
9233
  */
@@ -9391,7 +9401,7 @@ const CSmartTable = defineComponent({
9391
9401
  selectedAll.value = 'indeterminate';
9392
9402
  }
9393
9403
  });
9394
- const itemsPerPage = ref(props.itemsPerPage);
9404
+ const itemsPerPage = ref(props.itemsPerPage || items.value.length);
9395
9405
  const activePage = ref(props.activePage);
9396
9406
  const sorterState = reactive(props.sorterValue || {});
9397
9407
  const columnFilterState = ref(props.columnFilterValue ? props.columnFilterValue : {});
@@ -9584,6 +9594,8 @@ const CSmartTable = defineComponent({
9584
9594
  class: 'col-auto p-0',
9585
9595
  }, props.tableFilter &&
9586
9596
  h$1(CSmartTableFilter, {
9597
+ filterLabel: props.tableFilterLabel,
9598
+ filterPlaceholder: props.tableFilterPlaceholder,
9587
9599
  onFilterInput: (value) => tableFilterChange(value, 'input'),
9588
9600
  onFilterChange: (value) => tableFilterChange(value, 'change'),
9589
9601
  value: tableFilterState.value,
@@ -9613,7 +9625,8 @@ const CSmartTable = defineComponent({
9613
9625
  h$1(CSmartTableHead, {
9614
9626
  component: 'head',
9615
9627
  ...props.tableHeadProps,
9616
- columnFilter: columnFilterState.value,
9628
+ columnFilter: props.columnFilter,
9629
+ columnFilterValue: columnFilterState.value,
9617
9630
  columns: props.columns,
9618
9631
  columnSorter: props.columnSorter,
9619
9632
  selectable: props.selectable,