@onereach/ui-components 20.3.1 → 20.5.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.
@@ -1,6 +1,10 @@
1
1
  import { PropType } from 'vue';
2
- import { Id } from '@onereach/ui-components-common/types';
3
- import { DataGridColumn, DataGridFeatures, DataGridModelValue, DataGridVariant } from './types';
2
+ import { DataModel, Id } from '@onereach/ui-components-common/types';
3
+ import { DataGridColumn, DataGridFeatures, DataGridItem, DataGridModelValue, DataGridVariant } from './types';
4
+ type T = DataModel<{
5
+ id: Id;
6
+ [key: string]: any;
7
+ }>;
4
8
  declare const _default: import("vue").DefineComponent<{
5
9
  modelValue: {
6
10
  type: PropType<DataGridModelValue>;
@@ -33,6 +37,10 @@ declare const _default: import("vue").DefineComponent<{
33
37
  type: PropType<any>;
34
38
  default: undefined;
35
39
  };
40
+ interactiveRows: {
41
+ type: BooleanConstructor;
42
+ default: boolean;
43
+ };
36
44
  }, {
37
45
  root: import("vue").Ref<HTMLElement | undefined>;
38
46
  rootStyles: import("vue").ComputedRef<string[]>;
@@ -43,6 +51,11 @@ declare const _default: import("vue").DefineComponent<{
43
51
  selectingIndicator: import("vue").WritableComputedRef<boolean>;
44
52
  showSelectingCouter: import("vue").ComputedRef<boolean | undefined>;
45
53
  selectingDisabled: import("vue").ComputedRef<boolean | undefined>;
54
+ handleMouseEnterRow: (item: DataGridItem<T>) => void;
55
+ handleMouseLeaveRow: (item: DataGridItem<T>) => void;
56
+ handleMouseEnterCell: (item: DataGridItem<T>, columnName: string, value: any) => void;
57
+ handleMouseLeaveCell: (item: DataGridItem<T>, columnName: string, value: any) => void;
58
+ handleRowClick: (item: DataGridItem<T>) => void;
46
59
  selectingModel: import("vue").WritableComputedRef<Id[]>;
47
60
  filteringModel: import("vue").WritableComputedRef<undefined>;
48
61
  searchingModel: import("vue").WritableComputedRef<import("@onereach/ui-components-common/types").ModelValue<string>>;
@@ -55,7 +68,7 @@ declare const _default: import("vue").DefineComponent<{
55
68
  removeScrollOffset: (header: HTMLElement) => void;
56
69
  updateSearchingModel: (value: string) => void;
57
70
  scrollTo: (event: FocusEvent) => void;
58
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "update:item" | "close-notification")[], "update:modelValue" | "update:item" | "close-notification", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
71
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "update:item" | "close-notification" | "hover:row" | "blur:row" | "hover:cell" | "blur:cell" | "click:row")[], "update:modelValue" | "update:item" | "close-notification" | "hover:row" | "blur:row" | "hover:cell" | "blur:cell" | "click:row", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
59
72
  modelValue: {
60
73
  type: PropType<DataGridModelValue>;
61
74
  default: undefined;
@@ -87,10 +100,19 @@ declare const _default: import("vue").DefineComponent<{
87
100
  type: PropType<any>;
88
101
  default: undefined;
89
102
  };
103
+ interactiveRows: {
104
+ type: BooleanConstructor;
105
+ default: boolean;
106
+ };
90
107
  }>> & {
91
108
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
92
109
  "onUpdate:item"?: ((...args: any[]) => any) | undefined;
93
110
  "onClose-notification"?: ((...args: any[]) => any) | undefined;
111
+ "onHover:row"?: ((...args: any[]) => any) | undefined;
112
+ "onBlur:row"?: ((...args: any[]) => any) | undefined;
113
+ "onHover:cell"?: ((...args: any[]) => any) | undefined;
114
+ "onBlur:cell"?: ((...args: any[]) => any) | undefined;
115
+ "onClick:row"?: ((...args: any[]) => any) | undefined;
94
116
  }, {
95
117
  modelValue: DataGridModelValue;
96
118
  items: {
@@ -101,5 +123,6 @@ declare const _default: import("vue").DefineComponent<{
101
123
  features: DataGridFeatures;
102
124
  loading: boolean;
103
125
  notification: any;
126
+ interactiveRows: boolean;
104
127
  }, {}>;
105
128
  export default _default;
@@ -1,19 +1,19 @@
1
1
  import { defineComponent, ref, computed, openBlock, createElementBlock, normalizeClass, renderSlot, createCommentVNode, resolveComponent, normalizeStyle, Fragment, createBlock, watch, createElementVNode, createVNode, mergeProps, withCtx, createSlots, normalizeProps, guardReactiveProps, renderList, createTextVNode, toDisplayString } from 'vue';
2
- import { OrCheckboxV3 as script$g } from '../or-checkbox-v3/index.js';
3
- import { OrDatePickerV3 as script$h } from '../or-date-picker-v3/index.js';
4
- import { s as script$i } from '../OrDateTimePickerV3-3c2fd488.js';
5
- import { OrInputV3 as script$j } from '../or-input-v3/index.js';
6
- import { OrRatingV3 as script$k } from '../or-rating-v3/index.js';
7
- import { OrSelectV3 as script$l } from '../or-select-v3/index.js';
8
- import { OrSwitchV3 as script$m } from '../or-switch-v3/index.js';
9
- import { OrTagInputV3 as script$n } from '../or-tag-input-v3/index.js';
10
- import { OrTimePickerV3 as script$o } from '../or-time-picker-v3/index.js';
2
+ import { OrCheckboxV3 as script$h } from '../or-checkbox-v3/index.js';
3
+ import { OrDatePickerV3 as script$i } from '../or-date-picker-v3/index.js';
4
+ import { s as script$j } from '../OrDateTimePickerV3-3c2fd488.js';
5
+ import { OrInputV3 as script$k } from '../or-input-v3/index.js';
6
+ import { OrRatingV3 as script$l } from '../or-rating-v3/index.js';
7
+ import { OrSelectV3 as script$m } from '../or-select-v3/index.js';
8
+ import { OrSwitchV3 as script$n } from '../or-switch-v3/index.js';
9
+ import { OrTagInputV3 as script$o } from '../or-tag-input-v3/index.js';
10
+ import { OrTimePickerV3 as script$p } from '../or-time-picker-v3/index.js';
11
11
  import { useElementSize } from '@vueuse/core';
12
- import { OrIconV3 as script$p } from '../or-icon-v3/index.js';
13
- import { OrNotificationV3 as script$q } from '../or-notification-v3/index.js';
14
- import { OrPaginationV3 as script$r } from '../or-pagination-v3/index.js';
15
- import { OrSearchV3 as script$s } from '../or-search-v3/index.js';
16
- import { OrSkeletonTextV3 as script$t } from '../or-skeleton-v3/index.js';
12
+ import { OrIconV3 as script$q } from '../or-icon-v3/index.js';
13
+ import { OrNotificationV3 as script$r } from '../or-notification-v3/index.js';
14
+ import { OrPaginationV3 as script$s } from '../or-pagination-v3/index.js';
15
+ import { OrSearchV3 as script$t } from '../or-search-v3/index.js';
16
+ import { OrSkeletonTextV3 as script$u } from '../or-skeleton-v3/index.js';
17
17
  import '../OrAutocompleteV3-fd7065f1.js';
18
18
  import '@onereach/styles/screens.json';
19
19
  import '@onereach/styles/tailwind.config.json';
@@ -59,7 +59,7 @@ const DataGridFooterStatus = [
59
59
  // Typography
60
60
  'typography-body-2-semibold'];
61
61
 
62
- var script$f = defineComponent({
62
+ var script$g = defineComponent({
63
63
  name: 'OrDataGridFooter',
64
64
  expose: ['root'],
65
65
  setup() {
@@ -75,22 +75,22 @@ var script$f = defineComponent({
75
75
  }
76
76
  });
77
77
 
78
- const _hoisted_1$4 = {
78
+ const _hoisted_1$5 = {
79
79
  key: 1,
80
80
  class: /*#__PURE__*/normalizeClass(['grow'])
81
81
  };
82
- function render$f(_ctx, _cache, $props, $setup, $data, $options) {
82
+ function render$g(_ctx, _cache, $props, $setup, $data, $options) {
83
83
  return openBlock(), createElementBlock("div", {
84
84
  ref: 'root',
85
85
  class: normalizeClass(_ctx.rootStyles)
86
86
  }, [_ctx.$slots['status'] ? (openBlock(), createElementBlock("div", {
87
87
  key: 0,
88
88
  class: normalizeClass(_ctx.statusStyles)
89
- }, [renderSlot(_ctx.$slots, 'status')], 2 /* CLASS */)) : createCommentVNode("v-if", true), renderSlot(_ctx.$slots, 'actions'), _ctx.$slots['paging'] ? (openBlock(), createElementBlock("div", _hoisted_1$4)) : createCommentVNode("v-if", true), renderSlot(_ctx.$slots, 'paging')], 2 /* CLASS */);
89
+ }, [renderSlot(_ctx.$slots, 'status')], 2 /* CLASS */)) : createCommentVNode("v-if", true), renderSlot(_ctx.$slots, 'actions'), _ctx.$slots['paging'] ? (openBlock(), createElementBlock("div", _hoisted_1$5)) : createCommentVNode("v-if", true), renderSlot(_ctx.$slots, 'paging')], 2 /* CLASS */);
90
90
  }
91
91
 
92
- script$f.render = render$f;
93
- script$f.__file = "src/components/or-data-grid-v3/partials/or-data-grid-footer/OrDataGridFooter.vue";
92
+ script$g.render = render$g;
93
+ script$g.__file = "src/components/or-data-grid-v3/partials/or-data-grid-footer/OrDataGridFooter.vue";
94
94
 
95
95
  const DataGridHeader = [
96
96
  // Layout
@@ -103,7 +103,7 @@ const DataGridHeaderTitle = [
103
103
  // Typography
104
104
  'typography-headline-2'];
105
105
 
106
- var script$e = defineComponent({
106
+ var script$f = defineComponent({
107
107
  name: 'OrDataGridHeader',
108
108
  expose: ['root'],
109
109
  setup() {
@@ -119,22 +119,22 @@ var script$e = defineComponent({
119
119
  }
120
120
  });
121
121
 
122
- const _hoisted_1$3 = {
122
+ const _hoisted_1$4 = {
123
123
  key: 1,
124
124
  class: /*#__PURE__*/normalizeClass(['grow'])
125
125
  };
126
- function render$e(_ctx, _cache, $props, $setup, $data, $options) {
126
+ function render$f(_ctx, _cache, $props, $setup, $data, $options) {
127
127
  return openBlock(), createElementBlock("div", {
128
128
  ref: 'root',
129
129
  class: normalizeClass(_ctx.rootStyles)
130
130
  }, [_ctx.$slots['title'] ? (openBlock(), createElementBlock("div", {
131
131
  key: 0,
132
132
  class: normalizeClass(_ctx.titleStyles)
133
- }, [renderSlot(_ctx.$slots, 'title')], 2 /* CLASS */)) : createCommentVNode("v-if", true), _ctx.$slots['searching'] ? (openBlock(), createElementBlock("div", _hoisted_1$3)) : createCommentVNode("v-if", true), renderSlot(_ctx.$slots, 'searching')], 2 /* CLASS */);
133
+ }, [renderSlot(_ctx.$slots, 'title')], 2 /* CLASS */)) : createCommentVNode("v-if", true), _ctx.$slots['searching'] ? (openBlock(), createElementBlock("div", _hoisted_1$4)) : createCommentVNode("v-if", true), renderSlot(_ctx.$slots, 'searching')], 2 /* CLASS */);
134
134
  }
135
135
 
136
- script$e.render = render$e;
137
- script$e.__file = "src/components/or-data-grid-v3/partials/or-data-grid-header/OrDataGridHeader.vue";
136
+ script$f.render = render$f;
137
+ script$f.__file = "src/components/or-data-grid-v3/partials/or-data-grid-header/OrDataGridHeader.vue";
138
138
 
139
139
  const DataGridTableContentCell = [
140
140
  // Layout
@@ -150,18 +150,18 @@ const DataGridTableContentCell = [
150
150
  // Theme (.sticky-end)
151
151
  '[&.sticky-end]:border-s-disabled', 'dark:[&.sticky-end]:border-s-disabled-dark'];
152
152
 
153
- var script$d = defineComponent({
153
+ var script$e = defineComponent({
154
154
  name: 'OrDataGridTableContentCell',
155
155
  components: {
156
- OrCheckbox: script$g,
157
- OrDatePicker: script$h,
158
- OrDateTimePicker: script$i,
159
- OrInput: script$j,
160
- OrRating: script$k,
161
- OrSelect: script$l,
162
- OrSwitch: script$m,
163
- OrTagInput: script$n,
164
- OrTimePicker: script$o
156
+ OrCheckbox: script$h,
157
+ OrDatePicker: script$i,
158
+ OrDateTimePicker: script$j,
159
+ OrInput: script$k,
160
+ OrRating: script$l,
161
+ OrSelect: script$m,
162
+ OrSwitch: script$n,
163
+ OrTagInput: script$o,
164
+ OrTimePicker: script$p
165
165
  },
166
166
  model: {
167
167
  prop: 'modelValue',
@@ -243,11 +243,11 @@ var script$d = defineComponent({
243
243
  }
244
244
  });
245
245
 
246
- const _hoisted_1$2 = {
246
+ const _hoisted_1$3 = {
247
247
  key: 2,
248
248
  class: /*#__PURE__*/normalizeClass(['truncate'])
249
249
  };
250
- function render$d(_ctx, _cache, $props, $setup, $data, $options) {
250
+ function render$e(_ctx, _cache, $props, $setup, $data, $options) {
251
251
  const _component_OrInput = resolveComponent("OrInput");
252
252
  const _component_OrRating = resolveComponent("OrRating");
253
253
  const _component_OrSelect = resolveComponent("OrSelect");
@@ -319,11 +319,11 @@ function render$d(_ctx, _cache, $props, $setup, $data, $options) {
319
319
  modelValue: _ctx.model,
320
320
  "onUpdate:modelValue": _cache[9] || (_cache[9] = $event => _ctx.model = $event),
321
321
  variant: 'embedded'
322
- }, null, 8 /* PROPS */, ["modelValue"])) : createCommentVNode("v-if", true)], 64 /* STABLE_FRAGMENT */)) : (openBlock(), createElementBlock("div", _hoisted_1$2, [renderSlot(_ctx.$slots, "default")]))], 6 /* CLASS, STYLE */);
322
+ }, null, 8 /* PROPS */, ["modelValue"])) : createCommentVNode("v-if", true)], 64 /* STABLE_FRAGMENT */)) : (openBlock(), createElementBlock("div", _hoisted_1$3, [renderSlot(_ctx.$slots, "default")]))], 6 /* CLASS, STYLE */);
323
323
  }
324
324
 
325
- script$d.render = render$d;
326
- script$d.__file = "src/components/or-data-grid-v3/partials/or-data-grid-table-content-cell/OrDataGridTableContentCell.vue";
325
+ script$e.render = render$e;
326
+ script$e.__file = "src/components/or-data-grid-v3/partials/or-data-grid-table-content-cell/OrDataGridTableContentCell.vue";
327
327
 
328
328
  var DataGridVariant;
329
329
  (function (DataGridVariant) {
@@ -359,7 +359,7 @@ const DataGridTableContentRowVariants = {
359
359
  'h-[calc(theme(spacing.xl)+theme(spacing.xs))]']
360
360
  };
361
361
 
362
- var script$c = defineComponent({
362
+ var script$d = defineComponent({
363
363
  name: 'OrDataGridTableContentRow',
364
364
  props: {
365
365
  variant: {
@@ -369,13 +369,17 @@ var script$c = defineComponent({
369
369
  selected: {
370
370
  type: Boolean,
371
371
  default: false
372
+ },
373
+ interactive: {
374
+ type: Boolean,
375
+ default: false
372
376
  }
373
377
  },
374
378
  expose: ['root'],
375
379
  setup(props) {
376
380
  // Refs & Styles
377
381
  const root = ref();
378
- const rootStyles = computed(() => ['or-data-grid-table-content-row-v3', ...DataGridTableContentRow, ...DataGridTableContentRowVariants[props.variant]]);
382
+ const rootStyles = computed(() => ['or-data-grid-table-content-row-v3', ...DataGridTableContentRow, ...DataGridTableContentRowVariants[props.variant], ...(props.interactive ? ['cursor-pointer'] : [])]);
379
383
  return {
380
384
  root,
381
385
  rootStyles
@@ -383,23 +387,23 @@ var script$c = defineComponent({
383
387
  }
384
388
  });
385
389
 
386
- const _hoisted_1$1 = ["selected"];
387
- function render$c(_ctx, _cache, $props, $setup, $data, $options) {
390
+ const _hoisted_1$2 = ["selected"];
391
+ function render$d(_ctx, _cache, $props, $setup, $data, $options) {
388
392
  return openBlock(), createElementBlock("div", {
389
393
  ref: 'root',
390
394
  class: normalizeClass(_ctx.rootStyles),
391
395
  selected: _ctx.selected
392
- }, [renderSlot(_ctx.$slots, "default")], 10 /* CLASS, PROPS */, _hoisted_1$1);
396
+ }, [renderSlot(_ctx.$slots, "default")], 10 /* CLASS, PROPS */, _hoisted_1$2);
393
397
  }
394
398
 
395
- script$c.render = render$c;
396
- script$c.__file = "src/components/or-data-grid-v3/partials/or-data-grid-table-content-row/OrDataGridTableContentRow.vue";
399
+ script$d.render = render$d;
400
+ script$d.__file = "src/components/or-data-grid-v3/partials/or-data-grid-table-content-row/OrDataGridTableContentRow.vue";
397
401
 
398
402
  const DataGridTableContent = [
399
403
  // Layout
400
404
  'contents'];
401
405
 
402
- var script$b = defineComponent({
406
+ var script$c = defineComponent({
403
407
  name: 'OrDataGridTableContent',
404
408
  expose: ['root'],
405
409
  setup() {
@@ -413,15 +417,15 @@ var script$b = defineComponent({
413
417
  }
414
418
  });
415
419
 
416
- function render$b(_ctx, _cache, $props, $setup, $data, $options) {
420
+ function render$c(_ctx, _cache, $props, $setup, $data, $options) {
417
421
  return openBlock(), createElementBlock("div", {
418
422
  ref: 'root',
419
423
  class: normalizeClass(_ctx.rootStyles)
420
424
  }, [renderSlot(_ctx.$slots, "default")], 2 /* CLASS */);
421
425
  }
422
426
 
423
- script$b.render = render$b;
424
- script$b.__file = "src/components/or-data-grid-v3/partials/or-data-grid-table-content/OrDataGridTableContent.vue";
427
+ script$c.render = render$c;
428
+ script$c.__file = "src/components/or-data-grid-v3/partials/or-data-grid-table-content/OrDataGridTableContent.vue";
425
429
 
426
430
  const DataGridTableFooterCell = [
427
431
  // Layout
@@ -431,7 +435,7 @@ const DataGridTableFooterCell = [
431
435
  // Theme
432
436
  'theme-border-transparent border-1', 'dark:theme-border-transparent-dark'];
433
437
 
434
- var script$a = defineComponent({
438
+ var script$b = defineComponent({
435
439
  name: 'OrDataGridTableFooterCell',
436
440
  expose: ['root'],
437
441
  setup() {
@@ -445,15 +449,15 @@ var script$a = defineComponent({
445
449
  }
446
450
  });
447
451
 
448
- function render$a(_ctx, _cache, $props, $setup, $data, $options) {
452
+ function render$b(_ctx, _cache, $props, $setup, $data, $options) {
449
453
  return openBlock(), createElementBlock("div", {
450
454
  ref: 'root',
451
455
  class: normalizeClass(_ctx.rootStyles)
452
456
  }, [renderSlot(_ctx.$slots, "default")], 2 /* CLASS */);
453
457
  }
454
458
 
455
- script$a.render = render$a;
456
- script$a.__file = "src/components/or-data-grid-v3/partials/or-data-grid-table-footer-cell/OrDataGridTableFooterCell.vue";
459
+ script$b.render = render$b;
460
+ script$b.__file = "src/components/or-data-grid-v3/partials/or-data-grid-table-footer-cell/OrDataGridTableFooterCell.vue";
457
461
 
458
462
  const DataGridTableFooterRow = [
459
463
  // Layout
@@ -476,7 +480,7 @@ const DataGridTableFooterRowVariants = {
476
480
  'h-[calc(theme(spacing.xl)+theme(spacing.xs))]']
477
481
  };
478
482
 
479
- var script$9 = defineComponent({
483
+ var script$a = defineComponent({
480
484
  name: 'OrDataGridTableFooterRow',
481
485
  props: {
482
486
  variant: {
@@ -496,21 +500,21 @@ var script$9 = defineComponent({
496
500
  }
497
501
  });
498
502
 
499
- function render$9(_ctx, _cache, $props, $setup, $data, $options) {
503
+ function render$a(_ctx, _cache, $props, $setup, $data, $options) {
500
504
  return openBlock(), createElementBlock("div", {
501
505
  ref: 'root',
502
506
  class: normalizeClass(_ctx.rootStyles)
503
507
  }, [renderSlot(_ctx.$slots, "default")], 2 /* CLASS */);
504
508
  }
505
509
 
506
- script$9.render = render$9;
507
- script$9.__file = "src/components/or-data-grid-v3/partials/or-data-grid-table-footer-row/OrDataGridTableFooterRow.vue";
510
+ script$a.render = render$a;
511
+ script$a.__file = "src/components/or-data-grid-v3/partials/or-data-grid-table-footer-row/OrDataGridTableFooterRow.vue";
508
512
 
509
513
  const DataGridTableFooter = [
510
514
  // Layout
511
515
  'contents'];
512
516
 
513
- var script$8 = defineComponent({
517
+ var script$9 = defineComponent({
514
518
  name: 'OrDataGridTableFooter',
515
519
  expose: ['root'],
516
520
  setup() {
@@ -524,15 +528,15 @@ var script$8 = defineComponent({
524
528
  }
525
529
  });
526
530
 
527
- function render$8(_ctx, _cache, $props, $setup, $data, $options) {
531
+ function render$9(_ctx, _cache, $props, $setup, $data, $options) {
528
532
  return openBlock(), createElementBlock("div", {
529
533
  ref: 'root',
530
534
  class: normalizeClass(_ctx.rootStyles)
531
535
  }, [renderSlot(_ctx.$slots, "default")], 2 /* CLASS */);
532
536
  }
533
537
 
534
- script$8.render = render$8;
535
- script$8.__file = "src/components/or-data-grid-v3/partials/or-data-grid-table-footer/OrDataGridTableFooter.vue";
538
+ script$9.render = render$9;
539
+ script$9.__file = "src/components/or-data-grid-v3/partials/or-data-grid-table-footer/OrDataGridTableFooter.vue";
536
540
 
537
541
  const DataGridTableHeaderCell = [
538
542
  // Layout
@@ -546,10 +550,10 @@ const DataGridTableHeaderCell = [
546
550
  // Theme (.sticky-end)
547
551
  '[&.sticky-end]:border-s-disabled', 'dark:[&.sticky-end]:border-s-disabled-dark'];
548
552
 
549
- var script$7 = defineComponent({
553
+ var script$8 = defineComponent({
550
554
  name: 'OrDataGridTableHeaderCell',
551
555
  components: {
552
- OrIcon: script$p
556
+ OrIcon: script$q
553
557
  },
554
558
  model: {
555
559
  prop: 'modelValue',
@@ -665,24 +669,24 @@ var script$7 = defineComponent({
665
669
  }
666
670
  });
667
671
 
668
- const _hoisted_1 = {
672
+ const _hoisted_1$1 = {
669
673
  class: /*#__PURE__*/normalizeClass(['truncate'])
670
674
  };
671
- function render$7(_ctx, _cache, $props, $setup, $data, $options) {
675
+ function render$8(_ctx, _cache, $props, $setup, $data, $options) {
672
676
  const _component_OrIcon = resolveComponent("OrIcon");
673
677
  return openBlock(), createElementBlock("div", {
674
678
  ref: 'root',
675
679
  class: normalizeClass(_ctx.rootStyles),
676
680
  style: normalizeStyle(_ctx.rootInlineStyles),
677
681
  onClick: _cache[0] || (_cache[0] = $event => _ctx.toggleSorting())
678
- }, [createElementVNode("div", _hoisted_1, [renderSlot(_ctx.$slots, "default")]), _ctx.model ? (openBlock(), createBlock(_component_OrIcon, {
682
+ }, [createElementVNode("div", _hoisted_1$1, [renderSlot(_ctx.$slots, "default")]), _ctx.model ? (openBlock(), createBlock(_component_OrIcon, {
679
683
  key: 0,
680
684
  icon: _ctx.model.direction === 'asc' ? 'arrow_upward' : 'arrow_downward'
681
685
  }, null, 8 /* PROPS */, ["icon"])) : createCommentVNode("v-if", true)], 6 /* CLASS, STYLE */);
682
686
  }
683
687
 
684
- script$7.render = render$7;
685
- script$7.__file = "src/components/or-data-grid-v3/partials/or-data-grid-table-header-cell/OrDataGridTableHeaderCell.vue";
688
+ script$8.render = render$8;
689
+ script$8.__file = "src/components/or-data-grid-v3/partials/or-data-grid-table-header-cell/OrDataGridTableHeaderCell.vue";
686
690
 
687
691
  const DataGridTableHeaderRow = [
688
692
  // Position
@@ -705,7 +709,7 @@ const DataGridTableHeaderRowVariants = {
705
709
  'h-[calc(theme(spacing.xl)+theme(spacing.xs))]']
706
710
  };
707
711
 
708
- var script$6 = defineComponent({
712
+ var script$7 = defineComponent({
709
713
  name: 'OrDataGridTableHeaderRow',
710
714
  props: {
711
715
  variant: {
@@ -725,21 +729,21 @@ var script$6 = defineComponent({
725
729
  }
726
730
  });
727
731
 
728
- function render$6(_ctx, _cache, $props, $setup, $data, $options) {
732
+ function render$7(_ctx, _cache, $props, $setup, $data, $options) {
729
733
  return openBlock(), createElementBlock("div", {
730
734
  ref: 'root',
731
735
  class: normalizeClass(_ctx.rootStyles)
732
736
  }, [renderSlot(_ctx.$slots, "default")], 2 /* CLASS */);
733
737
  }
734
738
 
735
- script$6.render = render$6;
736
- script$6.__file = "src/components/or-data-grid-v3/partials/or-data-grid-table-header-row/OrDataGridTableHeaderRow.vue";
739
+ script$7.render = render$7;
740
+ script$7.__file = "src/components/or-data-grid-v3/partials/or-data-grid-table-header-row/OrDataGridTableHeaderRow.vue";
737
741
 
738
742
  const DataGridTableHeader = [
739
743
  // Layout
740
744
  'contents'];
741
745
 
742
- var script$5 = defineComponent({
746
+ var script$6 = defineComponent({
743
747
  name: 'OrDataGridTableHeader',
744
748
  expose: ['root'],
745
749
  setup() {
@@ -753,15 +757,15 @@ var script$5 = defineComponent({
753
757
  }
754
758
  });
755
759
 
756
- function render$5(_ctx, _cache, $props, $setup, $data, $options) {
760
+ function render$6(_ctx, _cache, $props, $setup, $data, $options) {
757
761
  return openBlock(), createElementBlock("div", {
758
762
  ref: 'root',
759
763
  class: normalizeClass(_ctx.rootStyles)
760
764
  }, [renderSlot(_ctx.$slots, "default")], 2 /* CLASS */);
761
765
  }
762
766
 
763
- script$5.render = render$5;
764
- script$5.__file = "src/components/or-data-grid-v3/partials/or-data-grid-table-header/OrDataGridTableHeader.vue";
767
+ script$6.render = render$6;
768
+ script$6.__file = "src/components/or-data-grid-v3/partials/or-data-grid-table-header/OrDataGridTableHeader.vue";
765
769
 
766
770
  const DataGridTablePlaceholder = [
767
771
  // Layout
@@ -784,7 +788,7 @@ const DataGridTablePlaceholderVariants = {
784
788
  'min-h-[calc(theme(spacing.xl)+theme(spacing.xs))]']
785
789
  };
786
790
 
787
- var script$4 = defineComponent({
791
+ var script$5 = defineComponent({
788
792
  name: 'OrDataGridTablePlaceholder',
789
793
  props: {
790
794
  variant: {
@@ -804,15 +808,15 @@ var script$4 = defineComponent({
804
808
  }
805
809
  });
806
810
 
807
- function render$4(_ctx, _cache, $props, $setup, $data, $options) {
811
+ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
808
812
  return openBlock(), createElementBlock("div", {
809
813
  ref: 'root',
810
814
  class: normalizeClass(_ctx.rootStyles)
811
815
  }, [renderSlot(_ctx.$slots, "default")], 2 /* CLASS */);
812
816
  }
813
817
 
814
- script$4.render = render$4;
815
- script$4.__file = "src/components/or-data-grid-v3/partials/or-data-grid-table-placeholder/OrDataGridTablePlaceholder.vue";
818
+ script$5.render = render$5;
819
+ script$5.__file = "src/components/or-data-grid-v3/partials/or-data-grid-table-placeholder/OrDataGridTablePlaceholder.vue";
816
820
 
817
821
  const DataGridTable = [
818
822
  // Layout
@@ -822,7 +826,7 @@ const DataGridTable = [
822
826
  // Interactivity
823
827
  'interactivity-default'];
824
828
 
825
- var script$3 = defineComponent({
829
+ var script$4 = defineComponent({
826
830
  name: 'OrDataGridTable',
827
831
  props: {
828
832
  columns: {
@@ -861,7 +865,7 @@ var script$3 = defineComponent({
861
865
  }
862
866
  });
863
867
 
864
- function render$3(_ctx, _cache, $props, $setup, $data, $options) {
868
+ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
865
869
  return openBlock(), createElementBlock("div", {
866
870
  ref: 'root',
867
871
  class: normalizeClass(_ctx.rootStyles),
@@ -869,8 +873,8 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
869
873
  }, [renderSlot(_ctx.$slots, "default")], 6 /* CLASS, STYLE */);
870
874
  }
871
875
 
872
- script$3.render = render$3;
873
- script$3.__file = "src/components/or-data-grid-v3/partials/or-data-grid-table/OrDataGridTable.vue";
876
+ script$4.render = render$4;
877
+ script$4.__file = "src/components/or-data-grid-v3/partials/or-data-grid-table/OrDataGridTable.vue";
874
878
 
875
879
  const DataGridToolbar = [
876
880
  // Layout
@@ -880,7 +884,7 @@ const DataGridToolbar = [
880
884
  // Spacing
881
885
  'gap-xl'];
882
886
 
883
- var script$2 = defineComponent({
887
+ var script$3 = defineComponent({
884
888
  name: 'OrDataGridToolbar',
885
889
  expose: ['root'],
886
890
  setup() {
@@ -894,15 +898,15 @@ var script$2 = defineComponent({
894
898
  }
895
899
  });
896
900
 
897
- function render$2(_ctx, _cache, $props, $setup, $data, $options) {
901
+ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
898
902
  return openBlock(), createElementBlock("div", {
899
903
  ref: 'root',
900
904
  class: normalizeClass(_ctx.rootStyles)
901
905
  }, [renderSlot(_ctx.$slots, "default")], 2 /* CLASS */);
902
906
  }
903
907
 
904
- script$2.render = render$2;
905
- script$2.__file = "src/components/or-data-grid-v3/partials/or-data-grid-toolbar/OrDataGridToolbar.vue";
908
+ script$3.render = render$3;
909
+ script$3.__file = "src/components/or-data-grid-v3/partials/or-data-grid-toolbar/OrDataGridToolbar.vue";
906
910
 
907
911
  const DataGridNotification = [
908
912
  // Position
@@ -921,9 +925,9 @@ const DataGridNotificationPositionVariants = {
921
925
  'top-[calc(theme(spacing.xl)+theme(spacing.xs))]']
922
926
  };
923
927
 
924
- var script$1 = defineComponent({
928
+ var script$2 = defineComponent({
925
929
  components: {
926
- OrNotification: script$q
930
+ OrNotification: script$r
927
931
  },
928
932
  props: {
929
933
  notification: {
@@ -944,7 +948,7 @@ var script$1 = defineComponent({
944
948
  }
945
949
  });
946
950
 
947
- function render$1(_ctx, _cache, $props, $setup, $data, $options) {
951
+ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
948
952
  const _component_OrNotification = resolveComponent("OrNotification");
949
953
  return openBlock(), createElementBlock("div", {
950
954
  class: normalizeClass(_ctx.rootStyles)
@@ -959,8 +963,59 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
959
963
  }, 16 /* FULL_PROPS */)], 2 /* CLASS */);
960
964
  }
961
965
 
966
+ script$2.render = render$2;
967
+ script$2.__file = "src/components/or-data-grid-v3/partials/or-data-grid-notification/OrDataGridNotification.vue";
968
+
969
+ const DataGridTableExtraRow = [
970
+ // Layout
971
+ 'grid px-sm+',
972
+ // Typography
973
+ 'typography-body-2-regular',
974
+ // Theme
975
+ 'theme-border-disabled', 'dark:theme-border-disabled-dark',
976
+ // Theme (children)
977
+ 'children:theme-foreground-default', 'dark:children:theme-foreground-default-dark', 'children:theme-background-default', 'dark:children:theme-background-default-dark'];
978
+ const DataGridTableExtraRowVariants = {
979
+ [DataGridVariant.Standard]: [
980
+ // Box
981
+ 'h-[calc(theme(spacing.2xl)+theme(spacing.xs))]'],
982
+ [DataGridVariant.Comfortable]: [
983
+ // Box
984
+ 'h-[calc(theme(spacing.3xl)+theme(spacing.xs))]'],
985
+ [DataGridVariant.Compact]: [
986
+ // Box
987
+ 'h-[calc(theme(spacing.xl)+theme(spacing.xs))]']
988
+ };
989
+
990
+ var script$1 = defineComponent({
991
+ name: 'OrDataGridTableExtraRow',
992
+ props: {
993
+ variant: {
994
+ type: String,
995
+ required: true
996
+ }
997
+ },
998
+ expose: ['root'],
999
+ setup(props) {
1000
+ // Refs & Styles
1001
+ const root = ref();
1002
+ const rootStyles = computed(() => ['or-data-grid-table-footer-row-v3', ...DataGridTableExtraRow, ...DataGridTableExtraRowVariants[props.variant]]);
1003
+ return {
1004
+ root,
1005
+ rootStyles
1006
+ };
1007
+ }
1008
+ });
1009
+
1010
+ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
1011
+ return openBlock(), createElementBlock("div", {
1012
+ ref: 'root',
1013
+ class: normalizeClass(_ctx.rootStyles)
1014
+ }, [renderSlot(_ctx.$slots, "default")], 2 /* CLASS */);
1015
+ }
1016
+
962
1017
  script$1.render = render$1;
963
- script$1.__file = "src/components/or-data-grid-v3/partials/or-data-grid-notification/OrDataGridNotification.vue";
1018
+ script$1.__file = "src/components/or-data-grid-v3/partials/or-data-grid-table-extra-row/OrDataGridTableExtraRow.vue";
964
1019
 
965
1020
  const DataGrid = [
966
1021
  // Layout
@@ -969,25 +1024,26 @@ const DataGrid = [
969
1024
  var script = defineComponent({
970
1025
  name: 'OrDataGrid',
971
1026
  components: {
972
- OrCheckbox: script$g,
973
- OrDataGridFooter: script$f,
974
- OrDataGridHeader: script$e,
975
- OrDataGridTable: script$3,
976
- OrDataGridTableContent: script$b,
977
- OrDataGridTableContentCell: script$d,
978
- OrDataGridTableContentRow: script$c,
979
- OrDataGridTableFooter: script$8,
980
- OrDataGridTableFooterCell: script$a,
981
- OrDataGridTableFooterRow: script$9,
982
- OrDataGridTableHeader: script$5,
983
- OrDataGridTableHeaderCell: script$7,
984
- OrDataGridTableHeaderRow: script$6,
985
- OrDataGridTablePlaceholder: script$4,
986
- OrDataGridToolbar: script$2,
987
- OrDataGridNotification: script$1,
988
- OrPagination: script$r,
989
- OrSearch: script$s,
990
- OrSkeletonText: script$t
1027
+ OrCheckbox: script$h,
1028
+ OrDataGridFooter: script$g,
1029
+ OrDataGridHeader: script$f,
1030
+ OrDataGridTable: script$4,
1031
+ OrDataGridTableContent: script$c,
1032
+ OrDataGridTableContentCell: script$e,
1033
+ OrDataGridTableContentRow: script$d,
1034
+ OrDataGridTableFooter: script$9,
1035
+ OrDataGridTableFooterCell: script$b,
1036
+ OrDataGridTableFooterRow: script$a,
1037
+ OrDataGridTableExtraRow: script$1,
1038
+ OrDataGridTableHeader: script$6,
1039
+ OrDataGridTableHeaderCell: script$8,
1040
+ OrDataGridTableHeaderRow: script$7,
1041
+ OrDataGridTablePlaceholder: script$5,
1042
+ OrDataGridToolbar: script$3,
1043
+ OrDataGridNotification: script$2,
1044
+ OrPagination: script$s,
1045
+ OrSearch: script$t,
1046
+ OrSkeletonText: script$u
991
1047
  },
992
1048
  model: {
993
1049
  prop: 'modelValue',
@@ -1021,9 +1077,13 @@ var script = defineComponent({
1021
1077
  notification: {
1022
1078
  type: Object,
1023
1079
  default: undefined
1080
+ },
1081
+ interactiveRows: {
1082
+ type: Boolean,
1083
+ default: false
1024
1084
  }
1025
1085
  },
1026
- emits: ['update:modelValue', 'update:item', 'close-notification'],
1086
+ emits: ['update:modelValue', 'update:item', 'close-notification', 'hover:row', 'blur:row', 'hover:cell', 'blur:cell', 'click:row'],
1027
1087
  expose: ['root'],
1028
1088
  setup(props, context) {
1029
1089
  // Refs & Styles
@@ -1161,6 +1221,38 @@ var script = defineComponent({
1161
1221
  break;
1162
1222
  }
1163
1223
  }
1224
+ function handleMouseEnterRow(item) {
1225
+ if (!props.interactiveRows) return;
1226
+ context.emit('hover:row', item);
1227
+ }
1228
+ function handleMouseLeaveRow(item) {
1229
+ if (!props.interactiveRows) return;
1230
+ context.emit('blur:row', item);
1231
+ }
1232
+ function handleMouseEnterCell(item, columnName, value) {
1233
+ if (!props.interactiveRows) return;
1234
+ context.emit('hover:cell', {
1235
+ item,
1236
+ columnName,
1237
+ value
1238
+ });
1239
+ }
1240
+ function handleMouseLeaveCell(item, columnName, value) {
1241
+ if (!props.interactiveRows) return;
1242
+ context.emit('blur:cell', {
1243
+ item,
1244
+ columnName,
1245
+ value
1246
+ });
1247
+ }
1248
+ function handleRowClick(item) {
1249
+ if (!props.interactiveRows) return;
1250
+ context.emit('click:row', item);
1251
+ }
1252
+ // function handleCellClick(item: DataGridItem<T>, columnName: string, value: any): void {
1253
+ // if (!props.interactiveRows) return;
1254
+ // context.emit('click:cell', { item, columnName, value });
1255
+ // }
1164
1256
  function removeScrollOffset(header) {
1165
1257
  scrollOffsetStart.value.delete(header);
1166
1258
  scrollOffsetStart.value = new Map(scrollOffsetStart.value);
@@ -1180,6 +1272,11 @@ var script = defineComponent({
1180
1272
  selectingIndicator,
1181
1273
  showSelectingCouter,
1182
1274
  selectingDisabled,
1275
+ handleMouseEnterRow,
1276
+ handleMouseLeaveRow,
1277
+ handleMouseEnterCell,
1278
+ handleMouseLeaveCell,
1279
+ handleRowClick,
1183
1280
  selectingModel,
1184
1281
  filteringModel,
1185
1282
  searchingModel,
@@ -1193,6 +1290,12 @@ var script = defineComponent({
1193
1290
  }
1194
1291
  });
1195
1292
 
1293
+ const _hoisted_1 = {
1294
+ class: "col-span-full self-center"
1295
+ };
1296
+ const _hoisted_2 = {
1297
+ class: "col-span-full self-center"
1298
+ };
1196
1299
  function render(_ctx, _cache, $props, $setup, $data, $options) {
1197
1300
  const _component_OrSearch = resolveComponent("OrSearch");
1198
1301
  const _component_OrDataGridHeader = resolveComponent("OrDataGridHeader");
@@ -1202,6 +1305,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1202
1305
  const _component_OrDataGridTableHeaderRow = resolveComponent("OrDataGridTableHeaderRow");
1203
1306
  const _component_OrDataGridTableHeader = resolveComponent("OrDataGridTableHeader");
1204
1307
  const _component_OrDataGridNotification = resolveComponent("OrDataGridNotification");
1308
+ const _component_OrDataGridTableExtraRow = resolveComponent("OrDataGridTableExtraRow");
1205
1309
  const _component_OrSkeletonText = resolveComponent("OrSkeletonText");
1206
1310
  const _component_OrDataGridTableContentCell = resolveComponent("OrDataGridTableContentCell");
1207
1311
  const _component_OrDataGridTableContentRow = resolveComponent("OrDataGridTableContentRow");
@@ -1298,12 +1402,20 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1298
1402
  fn: withCtx(() => [renderSlot(_ctx.$slots, 'notification')]),
1299
1403
  key: "0"
1300
1404
  } : undefined]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["notification", "variant"])) : createCommentVNode("v-if", true), createVNode(_component_OrDataGridTableContent, null, {
1301
- default: withCtx(() => [_ctx.loading ? (openBlock(), createElementBlock(Fragment, {
1302
- key: 0
1405
+ default: withCtx(() => [_ctx.$slots['before-rows'] ? (openBlock(), createBlock(_component_OrDataGridTableExtraRow, {
1406
+ key: 0,
1407
+ class: normalizeClass(['col-span-full border-b-1']),
1408
+ variant: _ctx.variant
1409
+ }, {
1410
+ default: withCtx(() => [createElementVNode("div", _hoisted_1, [renderSlot(_ctx.$slots, 'before-rows')])]),
1411
+ _: 3 /* FORWARDED */
1412
+ }, 8 /* PROPS */, ["variant"])) : createCommentVNode("v-if", true), _ctx.loading ? (openBlock(), createElementBlock(Fragment, {
1413
+ key: 1
1303
1414
  }, renderList(10, n => {
1304
1415
  return createVNode(_component_OrDataGridTableContentRow, {
1305
1416
  key: n,
1306
- variant: _ctx.variant
1417
+ variant: _ctx.variant,
1418
+ interactive: _ctx.interactiveRows
1307
1419
  }, {
1308
1420
  default: withCtx(() => [_ctx.features.selecting ? (openBlock(), createBlock(_component_OrDataGridTableContentCell, {
1309
1421
  key: 0,
@@ -1326,14 +1438,18 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1326
1438
  }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["column", "features"]);
1327
1439
  }), 128 /* KEYED_FRAGMENT */))]),
1328
1440
  _: 2 /* DYNAMIC */
1329
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["variant"]);
1441
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["variant", "interactive"]);
1330
1442
  }), 64 /* STABLE_FRAGMENT */)) : _ctx.items.length > 0 ? (openBlock(true), createElementBlock(Fragment, {
1331
- key: 1
1443
+ key: 2
1332
1444
  }, renderList(_ctx.items, item => {
1333
1445
  return openBlock(), createBlock(_component_OrDataGridTableContentRow, {
1334
1446
  key: item.id,
1335
1447
  variant: _ctx.variant,
1336
- selected: _ctx.selectingModel.includes(item.id)
1448
+ selected: _ctx.selectingModel.includes(item.id),
1449
+ interactive: _ctx.interactiveRows,
1450
+ onMouseenter: () => _ctx.handleMouseEnterRow(item),
1451
+ onMouseleave: () => _ctx.handleMouseLeaveRow(item),
1452
+ onClick: () => _ctx.handleRowClick(item)
1337
1453
  }, {
1338
1454
  default: withCtx(() => [_ctx.features.selecting ? (openBlock(), createBlock(_component_OrDataGridTableContentCell, {
1339
1455
  key: 0,
@@ -1341,7 +1457,9 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1341
1457
  stickiness: 'start'
1342
1458
  },
1343
1459
  "force-state": 'none',
1344
- class: "!py-xs !px-xs md:!py-none md:!px-sm+"
1460
+ class: "!py-xs !px-xs md:!py-none md:!px-sm+",
1461
+ onMouseenter: () => _ctx.handleMouseEnterCell(item, 'selecting', _ctx.selectingModel.includes(item.id)),
1462
+ onMouseleave: () => _ctx.handleMouseLeaveCell(item, 'selecting', _ctx.selectingModel.includes(item.id))
1345
1463
  }, {
1346
1464
  default: withCtx(() => [createVNode(_component_OrCheckbox, {
1347
1465
  modelValue: _ctx.selectingModel,
@@ -1350,7 +1468,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1350
1468
  disabled: _ctx.selectingDisabled
1351
1469
  }, null, 8 /* PROPS */, ["modelValue", "value", "disabled"])]),
1352
1470
  _: 2 /* DYNAMIC */
1353
- }, 1024 /* DYNAMIC_SLOTS */)) : createCommentVNode("v-if", true), (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.columns, column => {
1471
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["onMouseenter", "onMouseleave"])) : createCommentVNode("v-if", true), (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.columns, column => {
1354
1472
  return openBlock(), createBlock(_component_OrDataGridTableContentCell, {
1355
1473
  key: column.name,
1356
1474
  "model-value": item[column.name],
@@ -1360,19 +1478,21 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1360
1478
  item[column.name] = value;
1361
1479
  _ctx.$emit('update:item', item);
1362
1480
  },
1363
- onFocusin: _cache[5] || (_cache[5] = $event => _ctx.scrollTo($event))
1481
+ onFocusin: _cache[5] || (_cache[5] = $event => _ctx.scrollTo($event)),
1482
+ onMouseenter: () => _ctx.handleMouseEnterCell(item, column.name, item[column.name]),
1483
+ onMouseleave: () => _ctx.handleMouseLeaveCell(item, column.name, item[column.name])
1364
1484
  }, {
1365
1485
  default: withCtx(() => [renderSlot(_ctx.$slots, column.name, {
1366
1486
  column: column,
1367
1487
  item: item
1368
1488
  }, () => [createTextVNode(toDisplayString(item[column.name]), 1 /* TEXT */)])]),
1369
1489
  _: 2 /* DYNAMIC */
1370
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["model-value", "column", "features", "onInput"]);
1490
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["model-value", "column", "features", "onInput", "onMouseenter", "onMouseleave"]);
1371
1491
  }), 128 /* KEYED_FRAGMENT */))]),
1372
1492
  _: 2 /* DYNAMIC */
1373
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["variant", "selected"]);
1493
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["variant", "selected", "interactive", "onMouseenter", "onMouseleave", "onClick"]);
1374
1494
  }), 128 /* KEYED_FRAGMENT */)) : _ctx.$slots['noSearchResults'] && (_ctx.features.filtering && _ctx.filteringModel || _ctx.features.searching && _ctx.searchingModel) ? (openBlock(), createBlock(_component_OrDataGridTablePlaceholder, {
1375
- key: 2,
1495
+ key: 3,
1376
1496
  class: normalizeClass(['col-span-full']),
1377
1497
  variant: _ctx.variant
1378
1498
  }, {
@@ -1382,12 +1502,19 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1382
1502
  })]),
1383
1503
  _: 3 /* FORWARDED */
1384
1504
  }, 8 /* PROPS */, ["variant"])) : _ctx.$slots['empty'] ? (openBlock(), createBlock(_component_OrDataGridTablePlaceholder, {
1385
- key: 3,
1505
+ key: 4,
1386
1506
  class: normalizeClass(['col-span-full']),
1387
1507
  variant: _ctx.variant
1388
1508
  }, {
1389
1509
  default: withCtx(() => [renderSlot(_ctx.$slots, 'empty')]),
1390
1510
  _: 3 /* FORWARDED */
1511
+ }, 8 /* PROPS */, ["variant"])) : createCommentVNode("v-if", true), _ctx.$slots['after-rows'] ? (openBlock(), createBlock(_component_OrDataGridTableExtraRow, {
1512
+ key: 5,
1513
+ class: normalizeClass(['col-span-full']),
1514
+ variant: _ctx.variant
1515
+ }, {
1516
+ default: withCtx(() => [createElementVNode("div", _hoisted_2, [renderSlot(_ctx.$slots, 'after-rows')])]),
1517
+ _: 3 /* FORWARDED */
1391
1518
  }, 8 /* PROPS */, ["variant"])) : createCommentVNode("v-if", true)]),
1392
1519
  _: 3 /* FORWARDED */
1393
1520
  })]),
@@ -13,3 +13,4 @@ export { default as OrDataGridTablePlaceholder } from './or-data-grid-table-plac
13
13
  export { default as OrDataGridTable } from './or-data-grid-table/OrDataGridTable.vue';
14
14
  export { default as OrDataGridToolbar } from './or-data-grid-toolbar/OrDataGridToolbar.vue';
15
15
  export { default as OrDataGridNotification } from './or-data-grid-notification/OrDataGridNotification.vue';
16
+ export { default as OrDataGridTableExtraRow } from './or-data-grid-table-extra-row/OrDataGridTableExtraRow.vue';
@@ -9,6 +9,10 @@ declare const _default: import("vue").DefineComponent<{
9
9
  type: BooleanConstructor;
10
10
  default: boolean;
11
11
  };
12
+ interactive: {
13
+ type: BooleanConstructor;
14
+ default: boolean;
15
+ };
12
16
  }, {
13
17
  root: import("vue").Ref<HTMLElement | undefined>;
14
18
  rootStyles: import("vue").ComputedRef<string[]>;
@@ -21,7 +25,12 @@ declare const _default: import("vue").DefineComponent<{
21
25
  type: BooleanConstructor;
22
26
  default: boolean;
23
27
  };
28
+ interactive: {
29
+ type: BooleanConstructor;
30
+ default: boolean;
31
+ };
24
32
  }>>, {
25
33
  selected: boolean;
34
+ interactive: boolean;
26
35
  }, {}>;
27
36
  export default _default;
@@ -0,0 +1,17 @@
1
+ import { PropType } from 'vue';
2
+ import { DataGridVariant } from '../../types';
3
+ declare const _default: import("vue").DefineComponent<{
4
+ variant: {
5
+ type: PropType<DataGridVariant>;
6
+ required: true;
7
+ };
8
+ }, {
9
+ root: import("vue").Ref<HTMLElement | undefined>;
10
+ rootStyles: import("vue").ComputedRef<string[]>;
11
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
12
+ variant: {
13
+ type: PropType<DataGridVariant>;
14
+ required: true;
15
+ };
16
+ }>>, {}, {}>;
17
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import { DataGridVariant } from '../../types';
2
+ export declare const DataGridTableExtraRow: string[];
3
+ export declare const DataGridTableExtraRowVariants: Record<DataGridVariant, string[]>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onereach/ui-components",
3
- "version": "20.3.1",
3
+ "version": "20.5.0",
4
4
  "description": "Vue components library for v3",
5
5
  "sideEffects": false,
6
6
  "exports": {
@@ -44,8 +44,8 @@
44
44
  "@codemirror/view": "^6",
45
45
  "@floating-ui/dom": "1.5.3",
46
46
  "@lezer/highlight": "*",
47
- "@onereach/styles": "^20.3.1",
48
- "@onereach/ui-components-common": "^20.3.1",
47
+ "@onereach/styles": "^20.5.0",
48
+ "@onereach/ui-components-common": "^20.5.0",
49
49
  "@splidejs/splide": "4.0.6",
50
50
  "@tiptap/core": "2.0.3",
51
51
  "@tiptap/extension-blockquote": "2.0.3",
@@ -105,5 +105,5 @@
105
105
  "access": "public"
106
106
  },
107
107
  "npmUnpacked": "4.15.2",
108
- "gitHead": "ede500b09e1eaac359f8dc812db0f1cf7a4deeb1"
108
+ "gitHead": "133b4d56fdf3542c0eca19ffff605f0a0fc41986"
109
109
  }