@onereach/ui-components 4.9.1-beta.2919.0 → 4.9.1-beta.2922.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 (30) hide show
  1. package/dist/bundled/v2/components/OrTreeV3/OrTree.js +72 -19
  2. package/dist/bundled/v2/components/OrTreeV3/types.d.ts +1 -0
  3. package/dist/bundled/v2/index.js +1 -1
  4. package/dist/bundled/v3/{OrTree.vue_vue_type_script_lang-d6b36219.js → OrTree.vue_vue_type_script_lang-211f2212.js} +54 -24
  5. package/dist/bundled/v3/components/OrTreeV3/OrTree.js +10 -4
  6. package/dist/bundled/v3/components/OrTreeV3/OrTree.vue.d.ts +5 -1
  7. package/dist/bundled/v3/components/OrTreeV3/index.js +1 -1
  8. package/dist/bundled/v3/components/OrTreeV3/types.d.ts +1 -0
  9. package/dist/bundled/v3/components/index.js +1 -1
  10. package/dist/bundled/v3/index.js +2 -2
  11. package/dist/esm/v2/{OrTree-458cba8e.js → OrTree-1c9d702d.js} +72 -19
  12. package/dist/esm/v2/components/index.js +1 -1
  13. package/dist/esm/v2/components/or-tree-v3/index.js +1 -1
  14. package/dist/esm/v2/components/or-tree-v3/partials/or-tree-node/OrTreeNode.vue.d.ts +15 -2
  15. package/dist/esm/v2/components/or-tree-v3/partials/or-tree-node/styles.d.ts +2 -0
  16. package/dist/esm/v2/components/or-tree-v3/types.d.ts +1 -0
  17. package/dist/esm/v2/index.js +1 -1
  18. package/dist/esm/v3/{OrTree-35944f82.js → OrTree-4b879734.js} +62 -26
  19. package/dist/esm/v3/components/index.js +1 -1
  20. package/dist/esm/v3/components/or-tree-v3/OrTree.vue.d.ts +5 -1
  21. package/dist/esm/v3/components/or-tree-v3/index.js +1 -1
  22. package/dist/esm/v3/components/or-tree-v3/partials/or-tree-node/OrTreeNode.vue.d.ts +16 -2
  23. package/dist/esm/v3/components/or-tree-v3/partials/or-tree-node/styles.d.ts +2 -0
  24. package/dist/esm/v3/components/or-tree-v3/types.d.ts +1 -0
  25. package/dist/esm/v3/index.js +1 -1
  26. package/package.json +1 -1
  27. package/src/components/or-tree-v3/OrTree.vue +7 -1
  28. package/src/components/or-tree-v3/partials/or-tree-node/OrTreeNode.vue +32 -18
  29. package/src/components/or-tree-v3/partials/or-tree-node/styles.ts +18 -0
  30. package/src/components/or-tree-v3/types.ts +1 -0
@@ -15,6 +15,13 @@ import '../OrIconV3/styles.js';
15
15
  import '../OrLabelV3/props.js';
16
16
  import '../OrLabelV3/styles.js';
17
17
 
18
+ const TreeNodeRoot = [];
19
+ const TreeNodeItemRoot = [
20
+ // Layout
21
+ 'layout-row', 'py-xs', '!items-start',
22
+ // Theme
23
+ 'hover:bg-primary-opacity-0-08', 'dark:hover:bg-primary-opacity-0-08-dark', 'selected:bg-primary-opacity-0-08', 'dark:selected:bg-primary-opacity-0-08-dark', 'selected:hover:bg-primary-opacity-0-16', 'dark:selected:hover:bg-primary-opacity-0-16-dark'];
24
+
18
25
  var script$1 = defineComponent({
19
26
  name: 'OrTreeNode',
20
27
  components: {
@@ -30,6 +37,10 @@ var script$1 = defineComponent({
30
37
  type: Boolean,
31
38
  default: false
32
39
  },
40
+ selected: {
41
+ type: Boolean,
42
+ default: undefined
43
+ },
33
44
  expanded: {
34
45
  type: Boolean,
35
46
  default: true
@@ -43,7 +54,7 @@ var script$1 = defineComponent({
43
54
  default: null
44
55
  }
45
56
  },
46
- emits: ['drop', 'dragstart'],
57
+ emits: ['drop', 'dragstart', 'click', 'expand', 'collapse', 'contextmenu'],
47
58
  setup(props, _ref) {
48
59
  let {
49
60
  emit
@@ -51,16 +62,16 @@ var script$1 = defineComponent({
51
62
  // Refs
52
63
  const root = ref(null);
53
64
  const nodeRoot = ref(null);
54
- const hover = ref(false);
55
65
  const dragOver = ref(false);
56
66
  const drag = ref(false);
57
67
  // State
58
68
  const hasChildren = computed(() => !!props.node.children && props.node.children.length > 0);
59
69
  const [isOpen, setIsOpen] = useToggle(props.expanded);
70
+ const hasCollapseTrigger = computed(() => props.collapsible && hasChildren.value);
60
71
  // Methods
61
- const applyPadding = value => {
72
+ const applyPadding = depth => {
62
73
  const rootElement = unref(nodeRoot);
63
- const padding = value * 20 - (props.collapsible ? 16 : 0);
74
+ const padding = depth * 20 - (hasCollapseTrigger.value ? 20 : 0);
64
75
  Object.assign(rootElement.style, {
65
76
  paddingLeft: `${padding}px`
66
77
  });
@@ -94,9 +105,18 @@ var script$1 = defineComponent({
94
105
  (_a = e === null || e === void 0 ? void 0 : e.dataTransfer) === null || _a === void 0 ? void 0 : _a.setData('node-key', props.node.key);
95
106
  emit('dragstart', props.node.key);
96
107
  };
108
+ const handleCollapse = () => {
109
+ if (isOpen.value) {
110
+ setIsOpen(false);
111
+ emit('collapse', props.node.key);
112
+ } else {
113
+ setIsOpen(true);
114
+ emit('expand', props.node.key);
115
+ }
116
+ };
97
117
  // Styles
98
- const rootStyles = computed(() => ['or-tree-node-v3']);
99
- const nodeStyles = computed(() => ['layout-row', 'py-xs', '!items-start', ...[hover.value ? ['bg-primary-opacity-0-08', 'dark:bg-primary-opacity-0-08-dark'] : []], ...[dragOver.value && !drag.value ? ['border-t-2', 'border-primary'] : []]]);
118
+ const rootStyles = computed(() => ['or-tree-node-v3', ...TreeNodeRoot]);
119
+ const nodeStyles = computed(() => [...TreeNodeItemRoot, ...[dragOver.value && !drag.value ? ['border-t-2', 'border-primary'] : []]]);
100
120
  return {
101
121
  root,
102
122
  hasChildren,
@@ -104,10 +124,11 @@ var script$1 = defineComponent({
104
124
  rootStyles,
105
125
  setIsOpen,
106
126
  nodeRoot,
107
- hover,
108
127
  drag,
109
128
  handleDragStart,
110
129
  handleDrop,
130
+ handleCollapse,
131
+ hasCollapseTrigger,
111
132
  dragOver,
112
133
  nodeStyles
113
134
  };
@@ -129,15 +150,10 @@ var __vue_render__$1 = function () {
129
150
  ref: "nodeRoot",
130
151
  class: _vm.nodeStyles,
131
152
  attrs: {
132
- "draggable": _vm.draggable ? true : undefined
153
+ "draggable": _vm.draggable ? true : undefined,
154
+ "selected": _vm.selected ? true : undefined
133
155
  },
134
156
  on: {
135
- "mouseover": function ($event) {
136
- _vm.hover = true;
137
- },
138
- "mouseleave": function ($event) {
139
- _vm.hover = false;
140
- },
141
157
  "dragend": function ($event) {
142
158
  _vm.drag = false;
143
159
  },
@@ -155,15 +171,25 @@ var __vue_render__$1 = function () {
155
171
  "dragleave": function ($event) {
156
172
  _vm.dragOver = false;
157
173
  },
158
- "drop": _vm.handleDrop
174
+ "drop": _vm.handleDrop,
175
+ "click": function ($event) {
176
+ return _vm.$emit('click', _vm.node.key);
177
+ },
178
+ "contextmenu": function ($event) {
179
+ return _vm.$emit('contextmenu', {
180
+ $event: $event,
181
+ nodeKey: _vm.node.key
182
+ });
183
+ }
159
184
  }
160
- }, [_vm.hasChildren && _vm.collapsible ? [_c('OrButton', {
185
+ }, [_vm.hasCollapseTrigger ? [_c('OrButton', {
161
186
  attrs: {
162
187
  "variant": "link"
163
188
  },
164
189
  on: {
165
- "click": function () {
166
- return _vm.setIsOpen(!_vm.isOpen);
190
+ "click": function ($event) {
191
+ $event.stopPropagation();
192
+ return _vm.handleCollapse.apply(null, arguments);
167
193
  }
168
194
  }
169
195
  }, [_c('OrIcon', {
@@ -183,6 +209,7 @@ var __vue_render__$1 = function () {
183
209
  "node": child,
184
210
  "collapsible": _vm.collapsible || child.collapsible,
185
211
  "depth": _vm.depth + 1,
212
+ "selected": _vm.selected || child.selected,
186
213
  "draggable": !child.hasOwnProperty('draggable') || child.draggable === null ? _vm.draggable : child.draggable
187
214
  },
188
215
  on: {
@@ -191,6 +218,18 @@ var __vue_render__$1 = function () {
191
218
  },
192
219
  "dragstart": function ($event) {
193
220
  return _vm.$emit('dragstart', $event);
221
+ },
222
+ "click": function ($event) {
223
+ return _vm.$emit('click', $event);
224
+ },
225
+ "expand": function ($event) {
226
+ return _vm.$emit('expand', $event);
227
+ },
228
+ "collapse": function ($event) {
229
+ return _vm.$emit('collapse', $event);
230
+ },
231
+ "contextmenu": function ($event) {
232
+ return _vm.$emit('contextmenu', $event);
194
233
  }
195
234
  },
196
235
  scopedSlots: _vm._u([{
@@ -252,7 +291,7 @@ var script = defineComponent({
252
291
  default: false
253
292
  }
254
293
  },
255
- emits: ['drop', 'dragstart'],
294
+ emits: ['drop', 'dragstart', 'click', 'expand', 'collapse', 'contextmenu'],
256
295
  setup() {
257
296
  // Refs
258
297
  const root = ref(null);
@@ -282,6 +321,8 @@ var __vue_render__ = function () {
282
321
  attrs: {
283
322
  "node": item,
284
323
  "collapsible": _vm.collapsible || item.collapsible,
324
+ "expanded": item.expanded,
325
+ "selected": item.selected,
285
326
  "draggable": !item.hasOwnProperty('draggable') || item.draggable === null ? _vm.draggable : item.draggable
286
327
  },
287
328
  on: {
@@ -290,6 +331,18 @@ var __vue_render__ = function () {
290
331
  },
291
332
  "dragstart": function ($event) {
292
333
  return _vm.$emit('dragstart', $event);
334
+ },
335
+ "click": function ($event) {
336
+ return _vm.$emit('click', $event);
337
+ },
338
+ "collapse": function ($event) {
339
+ return _vm.$emit('collapse', $event);
340
+ },
341
+ "expand": function ($event) {
342
+ return _vm.$emit('expand', $event);
343
+ },
344
+ "contextmenu": function ($event) {
345
+ return _vm.$emit('contextmenu', $event);
293
346
  }
294
347
  },
295
348
  scopedSlots: _vm._u([{
@@ -3,6 +3,7 @@ export type TreeNode = {
3
3
  children?: TreeNode[];
4
4
  collapsible?: boolean;
5
5
  expanded?: boolean;
6
+ selected?: boolean;
6
7
  draggable?: boolean;
7
8
  [key: string]: any;
8
9
  };