@alaarab/ogrid-vue-radix 2.4.2 → 2.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.
Files changed (33) hide show
  1. package/dist/esm/ColumnChooser/ColumnChooser.css +1 -127
  2. package/dist/esm/ColumnChooser/ColumnChooser.vue.js +4 -4
  3. package/dist/esm/ColumnChooser/ColumnChooser.vue2.js +101 -113
  4. package/dist/esm/ColumnHeaderFilter/ColumnHeaderFilter.css +1 -206
  5. package/dist/esm/ColumnHeaderFilter/ColumnHeaderFilter.vue.js +4 -4
  6. package/dist/esm/ColumnHeaderFilter/ColumnHeaderFilter.vue2.js +152 -172
  7. package/dist/esm/ColumnHeaderFilter/MultiSelectFilterPopover.css +1 -206
  8. package/dist/esm/ColumnHeaderFilter/MultiSelectFilterPopover.vue.js +4 -4
  9. package/dist/esm/ColumnHeaderFilter/MultiSelectFilterPopover.vue2.js +61 -75
  10. package/dist/esm/ColumnHeaderFilter/PeopleFilterPopover.css +1 -283
  11. package/dist/esm/ColumnHeaderFilter/PeopleFilterPopover.vue.js +4 -4
  12. package/dist/esm/ColumnHeaderFilter/PeopleFilterPopover.vue2.js +87 -117
  13. package/dist/esm/ColumnHeaderFilter/TextFilterPopover.css +1 -206
  14. package/dist/esm/ColumnHeaderFilter/TextFilterPopover.vue.js +4 -4
  15. package/dist/esm/ColumnHeaderFilter/TextFilterPopover.vue2.js +34 -44
  16. package/dist/esm/ColumnHeaderMenu/ColumnHeaderMenu.css +1 -32
  17. package/dist/esm/ColumnHeaderMenu/ColumnHeaderMenu.vue.js +4 -4
  18. package/dist/esm/ColumnHeaderMenu/ColumnHeaderMenu.vue2.js +54 -71
  19. package/dist/esm/DataGridTable/DataGridTable.css +1 -572
  20. package/dist/esm/DataGridTable/DataGridTable.js +24 -24
  21. package/dist/esm/DataGridTable/EmptyState.js +10 -10
  22. package/dist/esm/DataGridTable/GridContextMenu.css +1 -48
  23. package/dist/esm/DataGridTable/GridContextMenu.vue.js +4 -4
  24. package/dist/esm/DataGridTable/GridContextMenu.vue2.js +49 -67
  25. package/dist/esm/DataGridTable/InlineCellEditor.js +17 -31
  26. package/dist/esm/OGrid/OGrid.js +9 -9
  27. package/dist/esm/PaginationControls/PaginationControls.css +1 -104
  28. package/dist/esm/PaginationControls/PaginationControls.vue.js +4 -4
  29. package/dist/esm/PaginationControls/PaginationControls.vue2.js +106 -126
  30. package/dist/esm/_virtual/_plugin-vue_export-helper.js +6 -7
  31. package/dist/esm/index.js +135 -20
  32. package/dist/types/index.d.ts +11 -1
  33. package/package.json +3 -3
@@ -1,127 +1 @@
1
- .container[data-v-b4568bb4] {
2
- position: relative;
3
- display: inline-flex;
4
- }
5
- .trigger-button[data-v-b4568bb4] {
6
- display: inline-flex;
7
- align-items: center;
8
- gap: 6px;
9
- padding: 6px 12px;
10
- border: 1px solid var(--ogrid-border, rgba(0, 0, 0, 0.12));
11
- border-radius: 6px;
12
- background: var(--ogrid-bg, #fff);
13
- cursor: pointer;
14
- font-size: 13px;
15
- font-weight: 600;
16
- color: var(--ogrid-fg, rgba(0, 0, 0, 0.87));
17
- transition: background 0.15s, border-color 0.15s;
18
- }
19
- .trigger-button[data-v-b4568bb4]:hover {
20
- background: var(--ogrid-hover-bg, rgba(0, 0, 0, 0.04));
21
- border-color: var(--ogrid-fg-muted, rgba(0, 0, 0, 0.5));
22
- }
23
- .trigger-button[aria-expanded=true][data-v-b4568bb4] {
24
- border-color: var(--ogrid-accent, #0078d4);
25
- }
26
- .button-icon[data-v-b4568bb4] {
27
- font-size: 16px;
28
- line-height: 1;
29
- }
30
- .chevron[data-v-b4568bb4] {
31
- font-size: 12px;
32
- color: var(--ogrid-fg-muted, rgba(0, 0, 0, 0.5));
33
- }
34
- .dropdown[data-v-b4568bb4] {
35
- position: absolute;
36
- right: 0;
37
- top: calc(100% + 4px);
38
- min-width: 220px;
39
- background: var(--ogrid-bg, #fff);
40
- border-radius: 6px;
41
- box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
42
- border: 1px solid var(--ogrid-border, rgba(0, 0, 0, 0.12));
43
- display: flex;
44
- flex-direction: column;
45
- padding: 0;
46
- z-index: 50;
47
- }
48
- .header[data-v-b4568bb4] {
49
- padding: 8px 12px;
50
- border-bottom: 1px solid var(--ogrid-border, rgba(0, 0, 0, 0.12));
51
- font-weight: 600;
52
- font-size: 13px;
53
- color: var(--ogrid-fg, rgba(0, 0, 0, 0.87));
54
- background: var(--ogrid-header-bg, rgba(0, 0, 0, 0.04));
55
- }
56
- .options-list[data-v-b4568bb4] {
57
- max-height: 320px;
58
- overflow-y: auto;
59
- padding: 0;
60
- }
61
- .option-item[data-v-b4568bb4] {
62
- padding: 4px 12px;
63
- display: flex;
64
- align-items: center;
65
- min-height: 32px;
66
- gap: 8px;
67
- }
68
- .option-item[data-v-b4568bb4]:hover {
69
- background: var(--ogrid-hover-bg, rgba(0, 0, 0, 0.04));
70
- }
71
- .checkbox-input[data-v-b4568bb4] {
72
- width: 16px;
73
- height: 16px;
74
- border: 1px solid var(--ogrid-border, rgba(0, 0, 0, 0.12));
75
- border-radius: 3px;
76
- background: var(--ogrid-bg, #fff);
77
- cursor: pointer;
78
- flex-shrink: 0;
79
- }
80
- .checkbox-input[data-v-b4568bb4]:checked {
81
- background: var(--ogrid-accent, #0078d4);
82
- border-color: var(--ogrid-accent, #0078d4);
83
- }
84
- .checkbox-input[data-v-b4568bb4]:disabled {
85
- opacity: 0.5;
86
- cursor: not-allowed;
87
- }
88
- .checkbox-label[data-v-b4568bb4] {
89
- cursor: pointer;
90
- font-size: 13px;
91
- color: var(--ogrid-fg, rgba(0, 0, 0, 0.87));
92
- user-select: none;
93
- }
94
- .actions[data-v-b4568bb4] {
95
- display: flex;
96
- justify-content: flex-end;
97
- gap: 8px;
98
- padding: 8px 12px;
99
- border-top: 1px solid var(--ogrid-border, rgba(0, 0, 0, 0.12));
100
- background: var(--ogrid-header-bg, rgba(0, 0, 0, 0.04));
101
- }
102
- .clear-button[data-v-b4568bb4] {
103
- padding: 6px 12px;
104
- border: 1px solid var(--ogrid-border, rgba(0, 0, 0, 0.12));
105
- border-radius: 4px;
106
- background: var(--ogrid-bg, #fff);
107
- color: var(--ogrid-fg-secondary, rgba(0, 0, 0, 0.6));
108
- font-size: 12px;
109
- cursor: pointer;
110
- }
111
- .clear-button[data-v-b4568bb4]:hover {
112
- background: var(--ogrid-hover-bg, rgba(0, 0, 0, 0.04));
113
- color: var(--ogrid-fg, rgba(0, 0, 0, 0.87));
114
- }
115
- .select-all-button[data-v-b4568bb4] {
116
- padding: 6px 16px;
117
- border: none;
118
- border-radius: 4px;
119
- background: var(--ogrid-accent, #0078d4);
120
- color: #fff;
121
- font-size: 12px;
122
- font-weight: 600;
123
- cursor: pointer;
124
- }
125
- .select-all-button[data-v-b4568bb4]:hover {
126
- opacity: 0.85;
127
- }
1
+ .container[data-v-b4568bb4]{position:relative;display:inline-flex}.trigger-button[data-v-b4568bb4]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--ogrid-border, rgba(0, 0, 0, .12));border-radius:6px;background:var(--ogrid-bg, #fff);cursor:pointer;font-size:13px;font-weight:600;color:var(--ogrid-fg, rgba(0, 0, 0, .87));transition:background .15s,border-color .15s}.trigger-button[data-v-b4568bb4]:hover{background:var(--ogrid-hover-bg, rgba(0, 0, 0, .04));border-color:var(--ogrid-fg-muted, rgba(0, 0, 0, .5))}.trigger-button[aria-expanded=true][data-v-b4568bb4]{border-color:var(--ogrid-accent, #0078d4)}.button-icon[data-v-b4568bb4]{font-size:16px;line-height:1}.chevron[data-v-b4568bb4]{font-size:12px;color:var(--ogrid-fg-muted, rgba(0, 0, 0, .5))}.dropdown[data-v-b4568bb4]{position:absolute;right:0;top:calc(100% + 4px);min-width:220px;background:var(--ogrid-bg, #fff);border-radius:6px;box-shadow:0 4px 16px #0000001f;border:1px solid var(--ogrid-border, rgba(0, 0, 0, .12));display:flex;flex-direction:column;padding:0;z-index:50}.header[data-v-b4568bb4]{padding:8px 12px;border-bottom:1px solid var(--ogrid-border, rgba(0, 0, 0, .12));font-weight:600;font-size:13px;color:var(--ogrid-fg, rgba(0, 0, 0, .87));background:var(--ogrid-header-bg, rgba(0, 0, 0, .04))}.options-list[data-v-b4568bb4]{max-height:320px;overflow-y:auto;padding:0}.option-item[data-v-b4568bb4]{padding:4px 12px;display:flex;align-items:center;min-height:32px;gap:8px}.option-item[data-v-b4568bb4]:hover{background:var(--ogrid-hover-bg, rgba(0, 0, 0, .04))}.checkbox-input[data-v-b4568bb4]{width:16px;height:16px;border:1px solid var(--ogrid-border, rgba(0, 0, 0, .12));border-radius:3px;background:var(--ogrid-bg, #fff);cursor:pointer;flex-shrink:0}.checkbox-input[data-v-b4568bb4]:checked{background:var(--ogrid-accent, #0078d4);border-color:var(--ogrid-accent, #0078d4)}.checkbox-input[data-v-b4568bb4]:disabled{opacity:.5;cursor:not-allowed}.checkbox-label[data-v-b4568bb4]{cursor:pointer;font-size:13px;color:var(--ogrid-fg, rgba(0, 0, 0, .87));-webkit-user-select:none;user-select:none}.actions[data-v-b4568bb4]{display:flex;justify-content:flex-end;gap:8px;padding:8px 12px;border-top:1px solid var(--ogrid-border, rgba(0, 0, 0, .12));background:var(--ogrid-header-bg, rgba(0, 0, 0, .04))}.clear-button[data-v-b4568bb4]{padding:6px 12px;border:1px solid var(--ogrid-border, rgba(0, 0, 0, .12));border-radius:4px;background:var(--ogrid-bg, #fff);color:var(--ogrid-fg-secondary, rgba(0, 0, 0, .6));font-size:12px;cursor:pointer}.clear-button[data-v-b4568bb4]:hover{background:var(--ogrid-hover-bg, rgba(0, 0, 0, .04));color:var(--ogrid-fg, rgba(0, 0, 0, .87))}.select-all-button[data-v-b4568bb4]{padding:6px 16px;border:none;border-radius:4px;background:var(--ogrid-accent, #0078d4);color:#fff;font-size:12px;font-weight:600;cursor:pointer}.select-all-button[data-v-b4568bb4]:hover{opacity:.85}
@@ -1,7 +1,7 @@
1
- import _sfc_main from "./ColumnChooser.vue2.js";
1
+ import o from "./ColumnChooser.vue2.js";
2
2
  import './ColumnChooser.css';
3
- import _export_sfc from "../_virtual/_plugin-vue_export-helper.js";
4
- const ColumnChooser = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b4568bb4"]]);
3
+ import r from "../_virtual/_plugin-vue_export-helper.js";
4
+ const s = /* @__PURE__ */ r(o, [["__scopeId", "data-v-b4568bb4"]]);
5
5
  export {
6
- ColumnChooser as default
6
+ s as default
7
7
  };
@@ -1,16 +1,10 @@
1
- import { defineComponent, computed, openBlock, createElementBlock, normalizeClass, createVNode, unref, withCtx, createElementVNode, toDisplayString, Transition, Fragment, renderList, createBlock } from "vue";
2
- import { Menu, MenuButton, MenuItems, MenuItem } from "@headlessui/vue";
3
- import { useColumnChooserState } from "@alaarab/ogrid-vue";
4
- const _hoisted_1 = {
1
+ import { defineComponent as x, computed as h, openBlock as d, createElementBlock as f, normalizeClass as _, createVNode as c, unref as e, withCtx as l, createElementVNode as s, toDisplayString as o, Transition as I, Fragment as V, renderList as S, createBlock as A } from "vue";
2
+ import { Menu as B, MenuButton as M, MenuItems as N, MenuItem as $ } from "@headlessui/vue";
3
+ import { useColumnChooserState as w } from "@alaarab/ogrid-vue";
4
+ const E = {
5
5
  class: "chevron",
6
6
  "aria-hidden": ""
7
- };
8
- const _hoisted_2 = { class: "header" };
9
- const _hoisted_3 = { class: "options-list" };
10
- const _hoisted_4 = ["id", "checked", "disabled", "onChange"];
11
- const _hoisted_5 = ["for"];
12
- const _hoisted_6 = { class: "actions" };
13
- const _sfc_main = /* @__PURE__ */ defineComponent({
7
+ }, q = { class: "header" }, z = { class: "options-list" }, D = ["id", "checked", "disabled", "onChange"], F = ["for"], L = { class: "actions" }, J = /* @__PURE__ */ x({
14
8
  __name: "ColumnChooser",
15
9
  props: {
16
10
  columns: {},
@@ -18,111 +12,105 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
18
12
  onVisibilityChange: {},
19
13
  className: { default: "" }
20
14
  },
21
- setup(__props) {
22
- const props = __props;
23
- const {
24
- open,
25
- setOpen,
26
- handleCheckboxChange: setColumnVisible,
27
- handleSelectAll,
28
- handleClearAll,
29
- visibleCount,
30
- totalCount
31
- } = useColumnChooserState({
32
- columns: computed(() => props.columns),
33
- visibleColumns: computed(() => props.visibleColumns),
34
- onVisibilityChange: props.onVisibilityChange
35
- });
36
- const handleCheckboxChange = (columnKey) => (e) => {
37
- const target = e.target;
38
- setColumnVisible(columnKey)(target.checked);
15
+ setup(a) {
16
+ const r = a, {
17
+ open: v,
18
+ setOpen: k,
19
+ handleCheckboxChange: g,
20
+ handleSelectAll: u,
21
+ handleClearAll: m,
22
+ visibleCount: C,
23
+ totalCount: p
24
+ } = w({
25
+ columns: h(() => r.columns),
26
+ visibleColumns: h(() => r.visibleColumns),
27
+ onVisibilityChange: r.onVisibilityChange
28
+ }), y = (b) => (n) => {
29
+ const i = n.target;
30
+ g(b)(i.checked);
39
31
  };
40
- return (_ctx, _cache) => {
41
- return openBlock(), createElementBlock("div", {
42
- class: normalizeClass(["container", __props.className])
43
- }, [
44
- createVNode(unref(Menu), null, {
45
- default: withCtx(({ open: isOpen }) => [
46
- createVNode(unref(MenuButton), {
47
- class: "trigger-button",
48
- "aria-expanded": isOpen,
49
- "aria-haspopup": "listbox",
50
- onClick: _cache[0] || (_cache[0] = ($event) => unref(setOpen)(!unref(open)))
51
- }, {
52
- default: withCtx(() => [
53
- _cache[3] || (_cache[3] = createElementVNode("span", {
54
- class: "button-icon",
55
- "aria-hidden": ""
56
- }, "", -1)),
57
- createElementVNode("span", null, "Column Visibility (" + toDisplayString(unref(visibleCount)) + " of " + toDisplayString(unref(totalCount)) + ")", 1),
58
- createElementVNode("span", _hoisted_1, toDisplayString(isOpen ? "▲" : "▼"), 1)
59
- ]),
60
- _: 2
61
- }, 1032, ["aria-expanded"]),
62
- createVNode(Transition, {
63
- "enter-active-class": "transition duration-100 ease-out",
64
- "enter-from-class": "opacity-0 scale-95",
65
- "enter-to-class": "opacity-100 scale-100",
66
- "leave-active-class": "transition duration-75 ease-in",
67
- "leave-from-class": "opacity-100 scale-100",
68
- "leave-to-class": "opacity-0 scale-95"
69
- }, {
70
- default: withCtx(() => [
71
- createVNode(unref(MenuItems), { class: "dropdown" }, {
72
- default: withCtx(() => [
73
- createElementVNode("div", _hoisted_2, "Select Columns (" + toDisplayString(unref(visibleCount)) + " of " + toDisplayString(unref(totalCount)) + ")", 1),
74
- createElementVNode("div", _hoisted_3, [
75
- (openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
76
- return openBlock(), createBlock(unref(MenuItem), {
77
- key: column.columnId,
78
- as: "div",
79
- class: "option-item"
80
- }, {
81
- default: withCtx(() => [
82
- createElementVNode("input", {
83
- id: `col-${column.columnId}`,
84
- type: "checkbox",
85
- checked: __props.visibleColumns.has(column.columnId),
86
- disabled: column.required === true,
87
- class: "checkbox-input",
88
- onChange: ($event) => handleCheckboxChange(column.columnId)
89
- }, null, 40, _hoisted_4),
90
- createElementVNode("label", {
91
- for: `col-${column.columnId}`,
92
- class: "checkbox-label"
93
- }, toDisplayString(column.name), 9, _hoisted_5)
94
- ]),
95
- _: 2
96
- }, 1024);
97
- }), 128))
98
- ]),
99
- createElementVNode("div", _hoisted_6, [
100
- createElementVNode("button", {
101
- type: "button",
102
- class: "clear-button",
103
- onClick: _cache[1] || (_cache[1] = //@ts-ignore
104
- (...args) => unref(handleClearAll) && unref(handleClearAll)(...args))
105
- }, " Clear All "),
106
- createElementVNode("button", {
107
- type: "button",
108
- class: "select-all-button",
109
- onClick: _cache[2] || (_cache[2] = //@ts-ignore
110
- (...args) => unref(handleSelectAll) && unref(handleSelectAll)(...args))
111
- }, " Select All ")
112
- ])
32
+ return (b, n) => (d(), f("div", {
33
+ class: _(["container", a.className])
34
+ }, [
35
+ c(e(B), null, {
36
+ default: l(({ open: i }) => [
37
+ c(e(M), {
38
+ class: "trigger-button",
39
+ "aria-expanded": i,
40
+ "aria-haspopup": "listbox",
41
+ onClick: n[0] || (n[0] = (t) => e(k)(!e(v)))
42
+ }, {
43
+ default: l(() => [
44
+ n[3] || (n[3] = s("span", {
45
+ class: "button-icon",
46
+ "aria-hidden": ""
47
+ }, "", -1)),
48
+ s("span", null, "Column Visibility (" + o(e(C)) + " of " + o(e(p)) + ")", 1),
49
+ s("span", E, o(i ? "" : "▼"), 1)
50
+ ]),
51
+ _: 2
52
+ }, 1032, ["aria-expanded"]),
53
+ c(I, {
54
+ "enter-active-class": "transition duration-100 ease-out",
55
+ "enter-from-class": "opacity-0 scale-95",
56
+ "enter-to-class": "opacity-100 scale-100",
57
+ "leave-active-class": "transition duration-75 ease-in",
58
+ "leave-from-class": "opacity-100 scale-100",
59
+ "leave-to-class": "opacity-0 scale-95"
60
+ }, {
61
+ default: l(() => [
62
+ c(e(N), { class: "dropdown" }, {
63
+ default: l(() => [
64
+ s("div", q, "Select Columns (" + o(e(C)) + " of " + o(e(p)) + ")", 1),
65
+ s("div", z, [
66
+ (d(!0), f(V, null, S(a.columns, (t) => (d(), A(e($), {
67
+ key: t.columnId,
68
+ as: "div",
69
+ class: "option-item"
70
+ }, {
71
+ default: l(() => [
72
+ s("input", {
73
+ id: `col-${t.columnId}`,
74
+ type: "checkbox",
75
+ checked: a.visibleColumns.has(t.columnId),
76
+ disabled: t.required === !0,
77
+ class: "checkbox-input",
78
+ onChange: (T) => y(t.columnId)
79
+ }, null, 40, D),
80
+ s("label", {
81
+ for: `col-${t.columnId}`,
82
+ class: "checkbox-label"
83
+ }, o(t.name), 9, F)
84
+ ]),
85
+ _: 2
86
+ }, 1024))), 128))
113
87
  ]),
114
- _: 1
115
- })
116
- ]),
117
- _: 1
118
- })
119
- ]),
120
- _: 1
121
- })
122
- ], 2);
123
- };
88
+ s("div", L, [
89
+ s("button", {
90
+ type: "button",
91
+ class: "clear-button",
92
+ onClick: n[1] || (n[1] = //@ts-ignore
93
+ (...t) => e(m) && e(m)(...t))
94
+ }, " Clear All "),
95
+ s("button", {
96
+ type: "button",
97
+ class: "select-all-button",
98
+ onClick: n[2] || (n[2] = //@ts-ignore
99
+ (...t) => e(u) && e(u)(...t))
100
+ }, " Select All ")
101
+ ])
102
+ ]),
103
+ _: 1
104
+ })
105
+ ]),
106
+ _: 1
107
+ })
108
+ ]),
109
+ _: 1
110
+ })
111
+ ], 2));
124
112
  }
125
113
  });
126
114
  export {
127
- _sfc_main as default
115
+ J as default
128
116
  };
@@ -1,206 +1 @@
1
- .column-header[data-v-bc6c4b01] {
2
- display: flex;
3
- align-items: center;
4
- gap: 4px;
5
- width: 100%;
6
- max-width: 100%;
7
- min-width: 0;
8
- position: relative;
9
- box-sizing: border-box;
10
- }
11
- .header-content[data-v-bc6c4b01] {
12
- display: flex;
13
- align-items: center;
14
- flex: 1;
15
- min-width: 0;
16
- overflow: hidden;
17
- }
18
- .column-name[data-v-bc6c4b01] {
19
- display: block;
20
- min-width: 0;
21
- max-width: 100%;
22
- overflow: hidden;
23
- text-overflow: ellipsis;
24
- white-space: nowrap;
25
- font-weight: 600;
26
- font-size: 14px;
27
- color: var(--ogrid-fg, rgba(0, 0, 0, 0.87));
28
- }
29
- .header-actions[data-v-bc6c4b01] {
30
- display: flex;
31
- align-items: center;
32
- gap: 2px;
33
- margin-left: auto;
34
- flex-shrink: 0;
35
- }
36
- .filter-icon[data-v-bc6c4b01] {
37
- display: flex;
38
- align-items: center;
39
- justify-content: center;
40
- width: 24px;
41
- height: 24px;
42
- padding: 4px;
43
- border: none;
44
- border-radius: 4px;
45
- background: transparent;
46
- color: var(--ogrid-fg-muted, rgba(0, 0, 0, 0.5));
47
- cursor: pointer;
48
- flex-shrink: 0;
49
- position: relative;
50
- font-size: 14px;
51
- }
52
- .filter-icon[data-v-bc6c4b01]:hover {
53
- background: var(--ogrid-hover-bg, rgba(0, 0, 0, 0.04));
54
- color: var(--ogrid-fg, rgba(0, 0, 0, 0.87));
55
- }
56
- .filter-icon.filter-active[data-v-bc6c4b01] {
57
- background: var(--ogrid-header-bg, rgba(0, 0, 0, 0.04));
58
- color: var(--ogrid-accent, #0078d4);
59
- }
60
- .filter-icon.filter-open[data-v-bc6c4b01] {
61
- background: var(--ogrid-header-bg, rgba(0, 0, 0, 0.04));
62
- }
63
- .filter-badge[data-v-bc6c4b01] {
64
- position: absolute;
65
- top: 2px;
66
- right: 2px;
67
- width: 6px;
68
- height: 6px;
69
- background: var(--ogrid-accent, #0078d4);
70
- border-radius: 50%;
71
- border: 1px solid var(--ogrid-bg, #fff);
72
- }
73
- .popover-content[data-v-bc6c4b01] {
74
- position: absolute;
75
- top: calc(100% + 4px);
76
- right: 0;
77
- z-index: 1000;
78
- min-width: 280px;
79
- max-width: 320px;
80
- background: var(--ogrid-bg, #fff);
81
- border: 1px solid var(--ogrid-border, rgba(0, 0, 0, 0.12));
82
- border-radius: 8px;
83
- box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
84
- overflow: hidden;
85
- color: var(--ogrid-fg, rgba(0, 0, 0, 0.87));
86
- }
87
- .popover-header[data-v-bc6c4b01] {
88
- padding: 10px 14px;
89
- font-size: 12px;
90
- font-weight: 600;
91
- color: var(--ogrid-fg-muted, rgba(0, 0, 0, 0.5));
92
- border-bottom: 1px solid var(--ogrid-border, rgba(0, 0, 0, 0.12));
93
- background: var(--ogrid-header-bg, rgba(0, 0, 0, 0.04));
94
- }
95
- .popover-search[data-v-bc6c4b01] {
96
- padding: 10px 12px;
97
- border-bottom: 1px solid var(--ogrid-border, rgba(0, 0, 0, 0.12));
98
- }
99
- .search-input[data-v-bc6c4b01] {
100
- width: 100%;
101
- padding: 6px 10px;
102
- border: 1px solid var(--ogrid-border, rgba(0, 0, 0, 0.12));
103
- border-radius: 4px;
104
- font-size: 14px;
105
- box-sizing: border-box;
106
- background: var(--ogrid-bg, #fff);
107
- color: var(--ogrid-fg, rgba(0, 0, 0, 0.87));
108
- }
109
- .search-input[data-v-bc6c4b01]:focus {
110
- outline: none;
111
- border-color: var(--ogrid-accent, #0078d4);
112
- }
113
- .result-count[data-v-bc6c4b01] {
114
- margin-top: 6px;
115
- font-size: 11px;
116
- color: var(--ogrid-fg-muted, rgba(0, 0, 0, 0.5));
117
- }
118
- .select-all-row[data-v-bc6c4b01] {
119
- display: flex;
120
- gap: 8px;
121
- padding: 6px 12px;
122
- border-bottom: 1px solid var(--ogrid-border, rgba(0, 0, 0, 0.12));
123
- background: var(--ogrid-header-bg, rgba(0, 0, 0, 0.04));
124
- }
125
- .select-all-button[data-v-bc6c4b01] {
126
- background: none;
127
- border: none;
128
- color: var(--ogrid-accent, #0078d4);
129
- font-size: 12px;
130
- font-weight: 500;
131
- cursor: pointer;
132
- padding: 4px 8px;
133
- border-radius: 4px;
134
- }
135
- .select-all-button[data-v-bc6c4b01]:hover {
136
- background: var(--ogrid-hover-bg, rgba(0, 0, 0, 0.04));
137
- }
138
- .popover-options[data-v-bc6c4b01] {
139
- overflow-y: auto;
140
- max-height: 250px;
141
- padding: 6px 0;
142
- }
143
- .popover-option[data-v-bc6c4b01] {
144
- padding: 4px 12px;
145
- display: flex;
146
- align-items: center;
147
- gap: 8px;
148
- font-size: 13px;
149
- color: var(--ogrid-fg, rgba(0, 0, 0, 0.87));
150
- }
151
- .popover-option[data-v-bc6c4b01]:hover {
152
- background: var(--ogrid-hover-bg, rgba(0, 0, 0, 0.04));
153
- }
154
- .filter-checkbox[data-v-bc6c4b01] {
155
- width: 16px;
156
- height: 16px;
157
- border: 1px solid var(--ogrid-border, rgba(0, 0, 0, 0.12));
158
- border-radius: 3px;
159
- cursor: pointer;
160
- flex-shrink: 0;
161
- }
162
- .popover-actions[data-v-bc6c4b01] {
163
- display: flex;
164
- justify-content: flex-end;
165
- gap: 8px;
166
- padding: 8px 12px;
167
- border-top: 1px solid var(--ogrid-border, rgba(0, 0, 0, 0.12));
168
- background: var(--ogrid-header-bg, rgba(0, 0, 0, 0.04));
169
- }
170
- .clear-button[data-v-bc6c4b01] {
171
- padding: 6px 12px;
172
- border: 1px solid var(--ogrid-border, rgba(0, 0, 0, 0.12));
173
- border-radius: 4px;
174
- background: var(--ogrid-bg, #fff);
175
- color: var(--ogrid-fg-secondary, rgba(0, 0, 0, 0.6));
176
- font-size: 12px;
177
- cursor: pointer;
178
- }
179
- .clear-button[data-v-bc6c4b01]:hover {
180
- background: var(--ogrid-hover-bg, rgba(0, 0, 0, 0.04));
181
- color: var(--ogrid-fg, rgba(0, 0, 0, 0.87));
182
- }
183
- .clear-button[data-v-bc6c4b01]:disabled {
184
- opacity: 0.5;
185
- cursor: not-allowed;
186
- }
187
- .apply-button[data-v-bc6c4b01] {
188
- padding: 6px 16px;
189
- border: none;
190
- border-radius: 4px;
191
- background: var(--ogrid-accent, #0078d4);
192
- color: #fff;
193
- font-size: 12px;
194
- font-weight: 600;
195
- cursor: pointer;
196
- }
197
- .apply-button[data-v-bc6c4b01]:hover {
198
- opacity: 0.85;
199
- }
200
- .loading-container[data-v-bc6c4b01],
201
- .no-results[data-v-bc6c4b01] {
202
- padding: 20px;
203
- text-align: center;
204
- font-size: 13px;
205
- color: var(--ogrid-fg-secondary, rgba(0, 0, 0, 0.6));
206
- }
1
+ .column-header[data-v-bc6c4b01]{display:flex;align-items:center;gap:4px;width:100%;max-width:100%;min-width:0;position:relative;box-sizing:border-box}.header-content[data-v-bc6c4b01]{display:flex;align-items:center;flex:1;min-width:0;overflow:hidden}.column-name[data-v-bc6c4b01]{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:14px;color:var(--ogrid-fg, rgba(0, 0, 0, .87))}.header-actions[data-v-bc6c4b01]{display:flex;align-items:center;gap:2px;margin-left:auto;flex-shrink:0}.filter-icon[data-v-bc6c4b01]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:4px;border:none;border-radius:4px;background:transparent;color:var(--ogrid-fg-muted, rgba(0, 0, 0, .5));cursor:pointer;flex-shrink:0;position:relative;font-size:14px}.filter-icon[data-v-bc6c4b01]:hover{background:var(--ogrid-hover-bg, rgba(0, 0, 0, .04));color:var(--ogrid-fg, rgba(0, 0, 0, .87))}.filter-icon.filter-active[data-v-bc6c4b01]{background:var(--ogrid-header-bg, rgba(0, 0, 0, .04));color:var(--ogrid-accent, #0078d4)}.filter-icon.filter-open[data-v-bc6c4b01]{background:var(--ogrid-header-bg, rgba(0, 0, 0, .04))}.filter-badge[data-v-bc6c4b01]{position:absolute;top:2px;right:2px;width:6px;height:6px;background:var(--ogrid-accent, #0078d4);border-radius:50%;border:1px solid var(--ogrid-bg, #fff)}.popover-content[data-v-bc6c4b01]{position:absolute;top:calc(100% + 4px);right:0;z-index:1000;min-width:280px;max-width:320px;background:var(--ogrid-bg, #fff);border:1px solid var(--ogrid-border, rgba(0, 0, 0, .12));border-radius:8px;box-shadow:0 4px 16px #0000001f;overflow:hidden;color:var(--ogrid-fg, rgba(0, 0, 0, .87))}.popover-header[data-v-bc6c4b01]{padding:10px 14px;font-size:12px;font-weight:600;color:var(--ogrid-fg-muted, rgba(0, 0, 0, .5));border-bottom:1px solid var(--ogrid-border, rgba(0, 0, 0, .12));background:var(--ogrid-header-bg, rgba(0, 0, 0, .04))}.popover-search[data-v-bc6c4b01]{padding:10px 12px;border-bottom:1px solid var(--ogrid-border, rgba(0, 0, 0, .12))}.search-input[data-v-bc6c4b01]{width:100%;padding:6px 10px;border:1px solid var(--ogrid-border, rgba(0, 0, 0, .12));border-radius:4px;font-size:14px;box-sizing:border-box;background:var(--ogrid-bg, #fff);color:var(--ogrid-fg, rgba(0, 0, 0, .87))}.search-input[data-v-bc6c4b01]:focus{outline:none;border-color:var(--ogrid-accent, #0078d4)}.result-count[data-v-bc6c4b01]{margin-top:6px;font-size:11px;color:var(--ogrid-fg-muted, rgba(0, 0, 0, .5))}.select-all-row[data-v-bc6c4b01]{display:flex;gap:8px;padding:6px 12px;border-bottom:1px solid var(--ogrid-border, rgba(0, 0, 0, .12));background:var(--ogrid-header-bg, rgba(0, 0, 0, .04))}.select-all-button[data-v-bc6c4b01]{background:none;border:none;color:var(--ogrid-accent, #0078d4);font-size:12px;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:4px}.select-all-button[data-v-bc6c4b01]:hover{background:var(--ogrid-hover-bg, rgba(0, 0, 0, .04))}.popover-options[data-v-bc6c4b01]{overflow-y:auto;max-height:250px;padding:6px 0}.popover-option[data-v-bc6c4b01]{padding:4px 12px;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ogrid-fg, rgba(0, 0, 0, .87))}.popover-option[data-v-bc6c4b01]:hover{background:var(--ogrid-hover-bg, rgba(0, 0, 0, .04))}.filter-checkbox[data-v-bc6c4b01]{width:16px;height:16px;border:1px solid var(--ogrid-border, rgba(0, 0, 0, .12));border-radius:3px;cursor:pointer;flex-shrink:0}.popover-actions[data-v-bc6c4b01]{display:flex;justify-content:flex-end;gap:8px;padding:8px 12px;border-top:1px solid var(--ogrid-border, rgba(0, 0, 0, .12));background:var(--ogrid-header-bg, rgba(0, 0, 0, .04))}.clear-button[data-v-bc6c4b01]{padding:6px 12px;border:1px solid var(--ogrid-border, rgba(0, 0, 0, .12));border-radius:4px;background:var(--ogrid-bg, #fff);color:var(--ogrid-fg-secondary, rgba(0, 0, 0, .6));font-size:12px;cursor:pointer}.clear-button[data-v-bc6c4b01]:hover{background:var(--ogrid-hover-bg, rgba(0, 0, 0, .04));color:var(--ogrid-fg, rgba(0, 0, 0, .87))}.clear-button[data-v-bc6c4b01]:disabled{opacity:.5;cursor:not-allowed}.apply-button[data-v-bc6c4b01]{padding:6px 16px;border:none;border-radius:4px;background:var(--ogrid-accent, #0078d4);color:#fff;font-size:12px;font-weight:600;cursor:pointer}.apply-button[data-v-bc6c4b01]:hover{opacity:.85}.loading-container[data-v-bc6c4b01],.no-results[data-v-bc6c4b01]{padding:20px;text-align:center;font-size:13px;color:var(--ogrid-fg-secondary, rgba(0, 0, 0, .6))}
@@ -1,7 +1,7 @@
1
- import _sfc_main from "./ColumnHeaderFilter.vue2.js";
1
+ import o from "./ColumnHeaderFilter.vue2.js";
2
2
  import './ColumnHeaderFilter.css';
3
- import _export_sfc from "../_virtual/_plugin-vue_export-helper.js";
4
- const ColumnHeaderFilter = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-bc6c4b01"]]);
3
+ import r from "../_virtual/_plugin-vue_export-helper.js";
4
+ const a = /* @__PURE__ */ r(o, [["__scopeId", "data-v-bc6c4b01"]]);
5
5
  export {
6
- ColumnHeaderFilter as default
6
+ a as default
7
7
  };