@onereach/ui-components 7.1.1-beta.3553.0 → 8.0.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 (169) hide show
  1. package/dist/bundled/v2/{OrList-1bb8cbb1.js → OrList-e25dc45f.js} +129 -65
  2. package/dist/bundled/v2/components/OrDatePickerV3/OrDatePicker.js +1 -1
  3. package/dist/bundled/v2/components/OrDateRangePickerV3/OrDateRangePicker.js +1 -1
  4. package/dist/bundled/v2/components/OrDateTimePickerV3/OrDateTimePicker.js +1 -1
  5. package/dist/bundled/v2/components/OrDateTimePickerV3/index.js +1 -1
  6. package/dist/bundled/v2/components/OrList/OrList.js +3 -2581
  7. package/dist/bundled/v2/components/OrListV3/OrList.js +1 -1
  8. package/dist/bundled/v2/components/OrListV3/OrList.vue.d.ts +30 -26
  9. package/dist/bundled/v2/components/OrListV3/index.d.ts +1 -0
  10. package/dist/bundled/v2/components/OrListV3/index.js +1 -1
  11. package/dist/bundled/v2/components/OrListV3/styles.d.ts +1 -0
  12. package/dist/bundled/v2/components/OrListV3/styles.js +2 -1
  13. package/dist/bundled/v2/components/OrListV3/types.d.ts +4 -0
  14. package/dist/bundled/v2/components/OrListV3/types.js +1 -0
  15. package/dist/bundled/v2/components/index.js +2 -2
  16. package/dist/bundled/v2/hooks/useResponsive/useResponsive.js +2 -0
  17. package/dist/bundled/v2/index.js +3 -3
  18. package/dist/bundled/{v3/OrList.vue_vue_type_script_lang-bc49c1ff.js → v2/sortable.esm-11705107.js} +1 -1007
  19. package/dist/bundled/v3/{OrCardCollection.vue_vue_type_script_lang-79c15c42.js → OrCardCollection.vue_vue_type_script_lang-2ce06287.js} +3 -3
  20. package/dist/bundled/v3/{OrCode.vue_vue_type_script_lang-c1b79f15.js → OrCode.vue_vue_type_script_lang-ed0c782e.js} +2 -2
  21. package/dist/bundled/v3/{OrConfirm.vue_vue_type_script_lang-ac0e29e9.js → OrConfirm.vue_vue_type_script_lang-3717bdc9.js} +1 -1
  22. package/dist/bundled/v3/{OrContextMenu.vue_vue_type_script_lang-9965a7ee.js → OrContextMenu.vue_vue_type_script_lang-faabc0aa.js} +1 -1
  23. package/dist/bundled/v3/{OrDatePicker.vue_vue_type_script_lang-38ecba3a.js → OrDatePicker.vue_vue_type_script_lang-3cb0cf6b.js} +4 -4
  24. package/dist/bundled/v3/{OrDateRangePicker.vue_vue_type_script_lang-6c57d848.js → OrDateRangePicker.vue_vue_type_script_lang-8fc45f7e.js} +3 -3
  25. package/dist/bundled/v3/{OrDateTimePicker.vue_vue_type_script_lang-0b1559d3.js → OrDateTimePicker.vue_vue_type_script_lang-8e1cb539.js} +4 -4
  26. package/dist/bundled/v3/{OrDateTimePickerMonthSelect.vue_vue_type_script_lang-0c826945.js → OrDateTimePickerMonthSelect.vue_vue_type_script_lang-944f5be2.js} +2 -2
  27. package/dist/bundled/v3/{OrDateTimePickerPopoverHeader-f08110c4.js → OrDateTimePickerPopoverHeader-adf15a04.js} +1 -1
  28. package/dist/bundled/v3/{OrIconButton.vue_vue_type_script_lang-90648210.js → OrIconButton.vue_vue_type_script_lang-14f36240.js} +1 -1
  29. package/dist/bundled/v3/{OrInlineInput.vue_vue_type_script_lang-eafbf015.js → OrInlineInput.vue_vue_type_script_lang-a657b7b4.js} +1 -1
  30. package/dist/bundled/v3/{OrInlineTextarea.vue_vue_type_script_lang-6b88499a.js → OrInlineTextarea.vue_vue_type_script_lang-d0007d91.js} +1 -1
  31. package/dist/bundled/v3/{OrInput.vue_vue_type_script_lang-7e02f424.js → OrInput.vue_vue_type_script_lang-bbf2d591.js} +1 -1
  32. package/dist/bundled/v3/OrList.vue_vue_type_script_lang-6a8befb2.js +208 -0
  33. package/dist/bundled/v3/OrList.vue_vue_type_script_lang-8df85a8d.js +1008 -0
  34. package/dist/bundled/v3/{OrListOfInputs.vue_vue_type_script_lang-3d17e3d2.js → OrListOfInputs.vue_vue_type_script_lang-34a006d0.js} +1 -1
  35. package/dist/bundled/v3/{OrMenu.vue_vue_type_script_lang-af4f2a40.js → OrMenu.vue_vue_type_script_lang-bb8832d7.js} +1 -1
  36. package/dist/bundled/v3/{OrModal.vue_vue_type_script_lang-0d3b5147.js → OrModal.vue_vue_type_script_lang-051dddcb.js} +1 -1
  37. package/dist/bundled/v3/{OrNotification.vue_vue_type_script_lang-dddec4de.js → OrNotification.vue_vue_type_script_lang-d95be0bc.js} +1 -1
  38. package/dist/bundled/v3/{OrPagination.vue_vue_type_script_lang-8eb1510b.js → OrPagination.vue_vue_type_script_lang-9cbebadb.js} +1 -1
  39. package/dist/bundled/v3/{OrResizeablePanel.vue_vue_type_script_lang-f121c786.js → OrResizeablePanel.vue_vue_type_script_lang-15321cdb.js} +1 -1
  40. package/dist/bundled/v3/{OrRichTextEditor.vue_vue_type_script_lang-2d4d62a7.js → OrRichTextEditor.vue_vue_type_script_lang-d35ab507.js} +5 -5
  41. package/dist/bundled/v3/{OrSearch.vue_vue_type_script_lang-63479512.js → OrSearch.vue_vue_type_script_lang-d5d5ced4.js} +1 -1
  42. package/dist/bundled/v3/{OrSelect.vue_vue_type_script_lang-2848dfcb.js → OrSelect.vue_vue_type_script_lang-4ce1aad8.js} +4 -4
  43. package/dist/bundled/v3/{OrSidebar.vue_vue_type_script_lang-8b27f24b.js → OrSidebar.vue_vue_type_script_lang-a2b5ddd8.js} +1 -1
  44. package/dist/bundled/v3/{OrSorting.vue_vue_type_script_lang-9f514be8.js → OrSorting.vue_vue_type_script_lang-5f90a4ca.js} +1 -1
  45. package/dist/bundled/v3/{OrTabs.vue_vue_type_script_lang-4675145f.js → OrTabs.vue_vue_type_script_lang-27819312.js} +1 -1
  46. package/dist/bundled/v3/{OrTag.vue_vue_type_script_lang-0658354d.js → OrTag.vue_vue_type_script_lang-afc42fba.js} +1 -1
  47. package/dist/bundled/v3/{OrTagInput.vue_vue_type_script_lang-7d758cdd.js → OrTagInput.vue_vue_type_script_lang-79062a86.js} +2 -2
  48. package/dist/bundled/v3/{OrTags.vue_vue_type_script_lang-2804af4c.js → OrTags.vue_vue_type_script_lang-41446a34.js} +2 -2
  49. package/dist/bundled/v3/{OrTimePicker.vue_vue_type_script_lang-2031ee3a.js → OrTimePicker.vue_vue_type_script_lang-1f50fb53.js} +2 -2
  50. package/dist/bundled/v3/{OrTimeRangePicker.vue_vue_type_script_lang-4a548281.js → OrTimeRangePicker.vue_vue_type_script_lang-864b4f86.js} +2 -2
  51. package/dist/bundled/v3/{OrTooltip.vue_vue_type_script_lang-8af0ce75.js → OrTooltip.vue_vue_type_script_lang-46e8aa97.js} +1 -1
  52. package/dist/bundled/v3/components/OrCardCollectionV3/OrCardCollection.js +2 -2
  53. package/dist/bundled/v3/components/OrCardCollectionV3/index.js +1 -1
  54. package/dist/bundled/v3/components/OrCodeV3/OrCode.js +2 -2
  55. package/dist/bundled/v3/components/OrCodeV3/index.js +1 -1
  56. package/dist/bundled/v3/components/OrConfirmV3/OrConfirm.js +2 -2
  57. package/dist/bundled/v3/components/OrConfirmV3/index.js +1 -1
  58. package/dist/bundled/v3/components/OrContextMenuV3/OrContextMenu.js +2 -2
  59. package/dist/bundled/v3/components/OrContextMenuV3/index.js +1 -1
  60. package/dist/bundled/v3/components/OrDatePickerV3/OrDatePicker.js +2 -2
  61. package/dist/bundled/v3/components/OrDatePickerV3/index.js +1 -1
  62. package/dist/bundled/v3/components/OrDateRangePickerV3/OrDateRangePicker.js +2 -2
  63. package/dist/bundled/v3/components/OrDateRangePickerV3/index.js +1 -1
  64. package/dist/bundled/v3/components/OrDateTimePickerV3/OrDateTimePicker.js +2 -2
  65. package/dist/bundled/v3/components/OrDateTimePickerV3/index.js +2 -2
  66. package/dist/bundled/v3/components/OrIconButtonV3/OrIconButton.js +2 -2
  67. package/dist/bundled/v3/components/OrIconButtonV3/index.js +1 -1
  68. package/dist/bundled/v3/components/OrInlineInputV3/OrInlineInput.js +2 -2
  69. package/dist/bundled/v3/components/OrInlineInputV3/index.js +1 -1
  70. package/dist/bundled/v3/components/OrInlineTextareaV3/OrInlineTextarea.js +2 -2
  71. package/dist/bundled/v3/components/OrInlineTextareaV3/index.js +1 -1
  72. package/dist/bundled/v3/components/OrInputV3/OrInput.js +2 -2
  73. package/dist/bundled/v3/components/OrInputV3/index.js +1 -1
  74. package/dist/bundled/v3/components/OrList/OrList.js +2 -2
  75. package/dist/bundled/v3/components/OrList/index.js +1 -1
  76. package/dist/bundled/v3/components/OrListOfInputs/OrListOfInputs.js +2 -2
  77. package/dist/bundled/v3/components/OrListOfInputs/index.js +1 -1
  78. package/dist/bundled/v3/components/OrListV3/OrList.js +19 -22
  79. package/dist/bundled/v3/components/OrListV3/OrList.vue.d.ts +25 -16
  80. package/dist/bundled/v3/components/OrListV3/index.d.ts +1 -0
  81. package/dist/bundled/v3/components/OrListV3/index.js +1 -1
  82. package/dist/bundled/v3/components/OrListV3/styles.d.ts +1 -0
  83. package/dist/bundled/v3/components/OrListV3/styles.js +2 -1
  84. package/dist/bundled/v3/components/OrListV3/types.d.ts +4 -0
  85. package/dist/bundled/v3/components/OrListV3/types.js +1 -0
  86. package/dist/bundled/v3/components/OrMenuV3/OrMenu.js +2 -2
  87. package/dist/bundled/v3/components/OrMenuV3/index.js +1 -1
  88. package/dist/bundled/v3/components/OrModalV3/OrModal.js +2 -2
  89. package/dist/bundled/v3/components/OrModalV3/index.js +1 -1
  90. package/dist/bundled/v3/components/OrNotificationV3/OrNotification.js +2 -2
  91. package/dist/bundled/v3/components/OrNotificationV3/index.js +1 -1
  92. package/dist/bundled/v3/components/OrPaginationV3/OrPagination.js +2 -2
  93. package/dist/bundled/v3/components/OrPaginationV3/index.js +1 -1
  94. package/dist/bundled/v3/components/OrPopoverV3/OrPopover.js +2 -2
  95. package/dist/bundled/v3/components/OrPopoverV3/index.js +1 -1
  96. package/dist/bundled/v3/components/OrProgressV3/OrProgress.js +2 -2
  97. package/dist/bundled/v3/components/OrProgressV3/index.js +1 -1
  98. package/dist/bundled/v3/components/OrResizeablePanelV3/OrResizeablePanel.js +2 -2
  99. package/dist/bundled/v3/components/OrResizeablePanelV3/index.js +1 -1
  100. package/dist/bundled/v3/components/OrRichTextEditorV3/OrRichTextEditor.js +2 -2
  101. package/dist/bundled/v3/components/OrRichTextEditorV3/index.js +1 -1
  102. package/dist/bundled/v3/components/OrSearchV3/OrSearch.js +2 -2
  103. package/dist/bundled/v3/components/OrSearchV3/index.js +1 -1
  104. package/dist/bundled/v3/components/OrSelectV3/OrSelect.js +2 -2
  105. package/dist/bundled/v3/components/OrSelectV3/index.js +1 -1
  106. package/dist/bundled/v3/components/OrSidebarV3/OrSidebar.js +2 -2
  107. package/dist/bundled/v3/components/OrSidebarV3/index.js +1 -1
  108. package/dist/bundled/v3/components/OrSortingV3/OrSorting.js +2 -2
  109. package/dist/bundled/v3/components/OrSortingV3/index.js +1 -1
  110. package/dist/bundled/v3/components/OrTabsV3/OrTabs.js +2 -2
  111. package/dist/bundled/v3/components/OrTabsV3/index.js +1 -1
  112. package/dist/bundled/v3/components/OrTagInputV3/OrTagInput.js +2 -2
  113. package/dist/bundled/v3/components/OrTagInputV3/index.js +1 -1
  114. package/dist/bundled/v3/components/OrTagV3/OrTag.js +2 -2
  115. package/dist/bundled/v3/components/OrTagV3/index.js +1 -1
  116. package/dist/bundled/v3/components/OrTagsV3/OrTags.js +2 -2
  117. package/dist/bundled/v3/components/OrTagsV3/index.js +1 -1
  118. package/dist/bundled/v3/components/OrTimePickerV3/OrTimePicker.js +2 -2
  119. package/dist/bundled/v3/components/OrTimePickerV3/index.js +1 -1
  120. package/dist/bundled/v3/components/OrTimeRangePickerV3/OrTimeRangePicker.js +2 -2
  121. package/dist/bundled/v3/components/OrTimeRangePickerV3/index.js +1 -1
  122. package/dist/bundled/v3/components/OrToastContainerV3/OrToastContainer.js +2 -2
  123. package/dist/bundled/v3/components/OrToastContainerV3/index.js +1 -1
  124. package/dist/bundled/v3/components/OrToastV3/OrToast.js +1 -1
  125. package/dist/bundled/v3/components/OrToastV3/index.js +1 -1
  126. package/dist/bundled/v3/components/OrTooltipV3/OrTooltip.js +2 -2
  127. package/dist/bundled/v3/components/OrTooltipV3/index.js +1 -1
  128. package/dist/bundled/v3/components/index.js +35 -35
  129. package/dist/bundled/v3/hooks/useResponsive/useResponsive.js +2 -0
  130. package/dist/bundled/v3/index.js +36 -36
  131. package/dist/bundled/v3/sortable.esm-11705107.js +2580 -0
  132. package/dist/esm/v2/{OrList-5c383b3c.js → OrList-bf420a7c.js} +88 -62
  133. package/dist/esm/v2/{OrListItem-c6b0dd77.js → OrListItem-534e8e9d.js} +43 -4
  134. package/dist/esm/v2/components/index.js +2 -2
  135. package/dist/esm/v2/components/or-list-v3/OrList.vue.d.ts +30 -26
  136. package/dist/esm/v2/components/or-list-v3/index.d.ts +1 -0
  137. package/dist/esm/v2/components/or-list-v3/index.js +3 -2
  138. package/dist/esm/v2/components/or-list-v3/partials/index.js +1 -1
  139. package/dist/esm/v2/components/or-list-v3/partials/or-list-item/OrListItem.vue.d.ts +42 -2
  140. package/dist/esm/v2/components/or-list-v3/partials/or-list-item/styles.d.ts +1 -0
  141. package/dist/esm/v2/components/or-list-v3/styles.d.ts +1 -0
  142. package/dist/esm/v2/components/or-list-v3/types.d.ts +4 -0
  143. package/dist/esm/v2/index.js +2 -2
  144. package/dist/esm/v3/OrList-f846aad7.js +211 -0
  145. package/dist/esm/v3/OrListItem-2ed9a12f.js +70 -0
  146. package/dist/esm/v3/components/index.js +2 -2
  147. package/dist/esm/v3/components/or-list-v3/OrList.vue.d.ts +25 -16
  148. package/dist/esm/v3/components/or-list-v3/index.d.ts +1 -0
  149. package/dist/esm/v3/components/or-list-v3/index.js +3 -2
  150. package/dist/esm/v3/components/or-list-v3/partials/index.js +1 -1
  151. package/dist/esm/v3/components/or-list-v3/partials/or-list-item/OrListItem.vue.d.ts +33 -2
  152. package/dist/esm/v3/components/or-list-v3/partials/or-list-item/styles.d.ts +1 -0
  153. package/dist/esm/v3/components/or-list-v3/styles.d.ts +1 -0
  154. package/dist/esm/v3/components/or-list-v3/types.d.ts +4 -0
  155. package/dist/esm/v3/index.js +2 -2
  156. package/package.json +4 -3
  157. package/src/components/or-list-v3/OrList.vue +118 -78
  158. package/src/components/or-list-v3/index.ts +1 -0
  159. package/src/components/or-list-v3/partials/or-list-item/OrListItem.vue +32 -2
  160. package/src/components/or-list-v3/partials/or-list-item/styles.ts +27 -0
  161. package/src/components/or-list-v3/styles.ts +2 -0
  162. package/src/components/or-list-v3/types.ts +4 -0
  163. package/dist/bundled/v3/OrList.vue_vue_type_script_lang-8f6fa1e3.js +0 -141
  164. package/dist/esm/v3/OrList-f2ad37ed.js +0 -182
  165. package/dist/esm/v3/OrListItem-d89cd659.js +0 -33
  166. /package/dist/bundled/v2/{OrDateTimePickerMonthSelect-c7959782.js → OrDateTimePickerMonthSelect-9870c649.js} +0 -0
  167. /package/dist/bundled/v3/{OrPopover.vue_vue_type_script_lang-62552b5d.js → OrPopover.vue_vue_type_script_lang-f80a7a1b.js} +0 -0
  168. /package/dist/bundled/v3/{OrProgress.vue_vue_type_script_lang-9f7dcc82.js → OrProgress.vue_vue_type_script_lang-aa3d9804.js} +0 -0
  169. /package/dist/bundled/v3/{OrToastContainer.vue_vue_type_script_lang-a932333f.js → OrToastContainer.vue_vue_type_script_lang-1f10ba7f.js} +0 -0
@@ -1,14 +1,14 @@
1
+ import Sortable from 'sortablejs';
1
2
  import { v4 } from 'uuid';
2
- import { defineComponent, ref, computed, toRef } from 'vue-demi';
3
+ import { defineComponent, ref, computed, toRef, watch } from 'vue-demi';
3
4
  import '@vueuse/core';
4
5
  import './dom-aecadd9a.js';
5
6
  import { u as useProxyModelValue } from './useProxyModelValue-940010d2.js';
6
7
  import '@onereach/styles/tailwind/plugins/core';
7
8
  import '@onereach/styles/tailwind.config.json';
8
- import { _ as __vue_component__$2 } from './OrIconButton-4e8eb196.js';
9
- import { _ as __vue_component__$1 } from './OrIcon-82bfdc62.js';
10
- import { _ as __vue_component__$3 } from './OrLabel-b465bc0b.js';
11
- import { _ as __vue_component__$4 } from './OrListItem-c6b0dd77.js';
9
+ import { _ as __vue_component__$1 } from './OrIconButton-4e8eb196.js';
10
+ import { _ as __vue_component__$2 } from './OrLabel-b465bc0b.js';
11
+ import { _ as __vue_component__$3 } from './OrListItem-534e8e9d.js';
12
12
  import { n as normalizeComponent } from './normalize-component-6e8e3d80.js';
13
13
 
14
14
  const List = [
@@ -16,13 +16,13 @@ const List = [
16
16
  'layout-column',
17
17
  // Spacing
18
18
  'gap-md'];
19
+ const ListContent = [];
19
20
 
20
21
  var script = defineComponent({
21
22
  components: {
22
- OrIcon: __vue_component__$1,
23
- OrIconButton: __vue_component__$2,
24
- OrLabel: __vue_component__$3,
25
- OrListItem: __vue_component__$4
23
+ OrIconButton: __vue_component__$1,
24
+ OrLabel: __vue_component__$2,
25
+ OrListItem: __vue_component__$3
26
26
  },
27
27
  model: {
28
28
  prop: 'modelValue',
@@ -33,8 +33,12 @@ var script = defineComponent({
33
33
  type: Array,
34
34
  default: () => []
35
35
  },
36
- itemProps: {
37
- type: Object,
36
+ selection: {
37
+ type: Array,
38
+ default: () => []
39
+ },
40
+ itemFactory: {
41
+ type: Function,
38
42
  default: () => ({})
39
43
  },
40
44
  label: {
@@ -58,59 +62,87 @@ var script = defineComponent({
58
62
  default: true
59
63
  }
60
64
  },
61
- emits: ['update:modelValue', 'add', 'delete', 'reorder'],
65
+ emits: ['update:modelValue', 'before:add', 'before:delete', 'before:reorder', 'add', 'delete', 'reorder'],
62
66
  expose: ['root'],
63
67
  setup(props, context) {
64
68
  // Refs
65
69
  const root = ref();
70
+ const content = ref();
66
71
  // Styles
67
72
  const rootStyles = computed(() => ['or-list-v3', ...List]);
73
+ const contentStyles = computed(() => [...ListContent]);
68
74
  // State
69
75
  const proxyModelValue = useProxyModelValue(toRef(props, 'modelValue'), context.emit);
76
+ // Effects
77
+ // #region Sortable
78
+ let sortable;
79
+ watch([content, () => props.canReorder], _ref => {
80
+ let [content, canReorder] = _ref;
81
+ sortable === null || sortable === void 0 ? void 0 : sortable.destroy();
82
+ sortable = undefined;
83
+ if (content && canReorder) {
84
+ sortable = Sortable.create(content, {
85
+ disabled: props.disabled,
86
+ onUpdate: event => {
87
+ context.emit('before:reorder', proxyModelValue.value);
88
+ const nextModelValue = [...proxyModelValue.value];
89
+ const reorderedItem = nextModelValue.splice(event.oldIndex, 1)[0];
90
+ nextModelValue.splice(event.newIndex, 0, reorderedItem);
91
+ context.emit('reorder', reorderedItem, event.newIndex, event.oldIndex, proxyModelValue.value = nextModelValue);
92
+ }
93
+ });
94
+ }
95
+ });
96
+ watch(() => props.disabled, value => {
97
+ sortable === null || sortable === void 0 ? void 0 : sortable.option('disabled', value);
98
+ });
99
+ // #endregion
70
100
  // Methods
71
101
  function addItem() {
72
- const addedItem = props.itemProps;
73
- proxyModelValue.value = [...proxyModelValue.value, addedItem];
74
- context.emit('add', addedItem, proxyModelValue.value.indexOf(addedItem), proxyModelValue.value);
102
+ context.emit('before:add', proxyModelValue.value);
103
+ const addedItem = props.itemFactory();
104
+ const nextModelValue = [...proxyModelValue.value, addedItem];
105
+ context.emit('add', addedItem, nextModelValue.indexOf(addedItem), proxyModelValue.value = nextModelValue);
75
106
  }
76
107
  function deleteItem(index) {
108
+ context.emit('before:delete', proxyModelValue.value);
77
109
  const deletedItem = proxyModelValue.value[index];
78
- proxyModelValue.value = proxyModelValue.value.filter(item => {
79
- return item !== deletedItem;
80
- });
81
- context.emit('delete', deletedItem, index, proxyModelValue.value);
110
+ const nextModelValue = proxyModelValue.value.filter(item => item !== deletedItem);
111
+ context.emit('delete', deletedItem, index, proxyModelValue.value = nextModelValue);
82
112
  }
83
113
  // Handlers
84
- function onDragStart(event) {
85
- console.log('dragstart', event);
86
- }
87
- function onDragEnter(event) {
88
- console.log('dragenter', event);
89
- }
90
- function onDragOver(event) {
91
- console.log('dragover', event);
92
- }
93
- function onDragLeave(event) {
94
- console.log('dragleave', event);
95
- }
96
- function onDragEnd(event) {
97
- console.log('dragend', event);
98
- }
99
- function onDrop(event) {
100
- console.log('drop', event);
101
- }
114
+ // function onDragStart(event: DragEvent): void {
115
+ // console.log('dragstart', event);
116
+ // }
117
+ // function onDragEnter(event: DragEvent): void {
118
+ // console.log('dragenter', event);
119
+ // }
120
+ // function onDragOver(event: DragEvent): void {
121
+ // console.log('dragover', event);
122
+ // }
123
+ // function onDragLeave(event: DragEvent): void {
124
+ // console.log('dragleave', event);
125
+ // }
126
+ // function onDragEnd(event: DragEvent): void {
127
+ // console.log('dragend', event);
128
+ // }
129
+ // function onDrop(event: DragEvent): void {
130
+ // console.log('drop', event);
131
+ // }
102
132
  return {
103
133
  root,
134
+ content,
104
135
  rootStyles,
136
+ contentStyles,
105
137
  proxyModelValue,
106
138
  addItem,
107
139
  deleteItem,
108
- onDragStart,
109
- onDragEnter,
110
- onDragOver,
111
- onDragLeave,
112
- onDragEnd,
113
- onDrop,
140
+ // onDragStart,
141
+ // onDragEnter,
142
+ // onDragOver,
143
+ // onDragLeave,
144
+ // onDragEnd,
145
+ // onDrop,
114
146
  uuid: v4
115
147
  };
116
148
  }
@@ -146,34 +178,28 @@ var __vue_render__ = function () {
146
178
  }, null, {
147
179
  addItem: _vm.addItem,
148
180
  deleteItem: _vm.deleteItem
149
- }), _vm._v(" "), _vm._l(_vm.proxyModelValue, function (item, index) {
181
+ }), _vm._v(" "), _c('div', {
182
+ ref: "content",
183
+ class: _vm.contentStyles
184
+ }, _vm._l(_vm.proxyModelValue, function (item, index) {
150
185
  return _c('OrListItem', {
151
- key: _vm.uuid(),
186
+ key: item.key || _vm.uuid(),
152
187
  attrs: {
188
+ "selected": _vm.selection.includes(item),
189
+ "disabled": _vm.disabled,
153
190
  "draggable": _vm.canReorder
154
- },
155
- on: {
156
- "dragstart": _vm.onDragStart,
157
- "dragenter": _vm.onDragEnter,
158
- "dragover": _vm.onDragOver,
159
- "dragleave": _vm.onDragLeave,
160
- "dragend": _vm.onDragEnd,
161
- "drop": _vm.onDrop
162
- }
163
- }, [_vm.canReorder ? [_c('OrIcon', {
164
- attrs: {
165
- "icon": 'drag_handle',
166
- "size": 'l'
167
191
  }
168
- })] : _vm._e(), _vm._v(" "), _vm._t("default", function () {
169
- return [_vm._v("\n " + _vm._s(item) + "\n ")];
192
+ }, [_c('div', {
193
+ class: ['grow']
194
+ }, [_vm._t("default", function () {
195
+ return [_vm._v("\n " + _vm._s(item) + "\n ")];
170
196
  }, null, {
171
197
  item: item,
172
198
  index: index,
173
199
  items: _vm.proxyModelValue,
174
200
  addItem: _vm.addItem,
175
201
  deleteItem: _vm.deleteItem
176
- }), _vm._v(" "), _vm.canDelete ? [_c('OrIconButton', {
202
+ })], 2), _vm._v(" "), _vm.canDelete ? [_c('OrIconButton', {
177
203
  attrs: {
178
204
  "icon": 'delete',
179
205
  "disabled": _vm.disabled
@@ -184,7 +210,7 @@ var __vue_render__ = function () {
184
210
  }
185
211
  }
186
212
  })] : _vm._e()], 2);
187
- }), _vm._v(" "), _vm._t("footer", function () {
213
+ }), 1), _vm._v(" "), _vm._t("footer", function () {
188
214
  return [_vm.canAdd ? [_c('OrIconButton', {
189
215
  attrs: {
190
216
  "icon": 'add',
@@ -2,20 +2,49 @@ import { defineComponent, ref, computed } from 'vue-demi';
2
2
  import { n as normalizeComponent } from './normalize-component-6e8e3d80.js';
3
3
 
4
4
  const ListItem = [
5
+ // Interactivity (draggable)
6
+ 'draggable:interactivity-drag',
7
+ // Spacing
8
+ 'px-md md:px-sm', 'py-md md:py-sm',
9
+ // Shape
10
+ 'rounded-md',
11
+ // Theme (hover)
12
+ 'hover:theme-background-primary-translucent-1', 'dark:hover:theme-background-primary-translucent-1-dark',
13
+ // Theme (focus)
14
+ 'focus-within:theme-outline-2-primary', 'dark:focus-within:theme-outline-2-primary-dark',
15
+ // Theme (selected)
16
+ 'selected:theme-background-primary-translucent-3', 'dark:selected:theme-background-primary-translucent-3-dark'];
17
+ const ListItemContent = [
5
18
  // Layout
6
19
  'layout-row',
7
20
  // Spacing
8
- 'gap-sm'];
21
+ 'px-md md:px-sm', 'py-md md:py-sm', 'gap-sm'];
9
22
 
10
23
  var script = defineComponent({
24
+ props: {
25
+ selected: {
26
+ type: Boolean,
27
+ default: false
28
+ },
29
+ disabled: {
30
+ type: Boolean,
31
+ default: false
32
+ },
33
+ draggable: {
34
+ type: Boolean,
35
+ default: false
36
+ }
37
+ },
11
38
  setup() {
12
39
  // Refs
13
40
  const root = ref();
14
41
  // Styles
15
42
  const rootStyles = computed(() => ['or-list-item-v3', ...ListItem]);
43
+ const contentStyles = computed(() => [...ListItemContent]);
16
44
  return {
17
45
  root,
18
- rootStyles
46
+ rootStyles,
47
+ contentStyles
19
48
  };
20
49
  }
21
50
  });
@@ -30,8 +59,18 @@ var __vue_render__ = function () {
30
59
  var _c = _vm._self._c || _h;
31
60
  return _c('div', {
32
61
  ref: "root",
33
- class: _vm.rootStyles
34
- }, [_vm._t("default")], 2);
62
+ class: _vm.rootStyles,
63
+ attrs: {
64
+ "selected": _vm.selected,
65
+ "disabled": _vm.disabled,
66
+ "draggable": _vm.draggable
67
+ }
68
+ }, [_c('div', {
69
+ class: _vm.contentStyles,
70
+ attrs: {
71
+ "disabled": _vm.disabled
72
+ }
73
+ }, [_vm._t("default")], 2)]);
35
74
  };
36
75
  var __vue_staticRenderFns__ = [];
37
76
 
@@ -69,8 +69,8 @@ export { L as LabelVariant, _ as OrLabelV3 } from '../OrLabel-b465bc0b.js';
69
69
  export { L as LinkColor, _ as OrLinkV3 } from '../OrLink-4d8fd4cd.js';
70
70
  export { _ as OrList } from '../OrList-f98a05a4.js';
71
71
  export { _ as OrListOfInputs } from '../OrListOfInputs-1eaeb7e9.js';
72
- export { _ as OrListV3 } from '../OrList-5c383b3c.js';
73
- export { _ as OrListItem } from '../OrListItem-c6b0dd77.js';
72
+ export { _ as OrListV3 } from '../OrList-bf420a7c.js';
73
+ export { _ as OrListItem } from '../OrListItem-534e8e9d.js';
74
74
  export { L as LoaderViews, _ as OrLoader } from '../OrLoader-90406201.js';
75
75
  export { a as LoaderColor, b as LoaderSize, L as LoaderVariant, _ as OrLoaderV3 } from '../OrLoader-b0c381f9.js';
76
76
  export { _ as OrMenuItemV3 } from '../OrMenuItem-8d1c89f6.js';
@@ -1,24 +1,25 @@
1
1
  import { PropType } from 'vue-demi';
2
+ import { ListItem } from './types';
2
3
  declare const _default: import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
3
4
  root: import("@vue/composition-api").Ref<HTMLElement | undefined>;
5
+ content: import("@vue/composition-api").Ref<HTMLElement | undefined>;
4
6
  rootStyles: import("@vue/composition-api").ComputedRef<string[]>;
5
- proxyModelValue: import("../../hooks").UseProxyModelValueReturn<object[]>;
7
+ contentStyles: import("@vue/composition-api").ComputedRef<string[]>;
8
+ proxyModelValue: import("../../hooks").UseProxyModelValueReturn<ListItem[]>;
6
9
  addItem: () => void;
7
10
  deleteItem: (index: number) => void;
8
- onDragStart: (event: DragEvent) => void;
9
- onDragEnter: (event: DragEvent) => void;
10
- onDragOver: (event: DragEvent) => void;
11
- onDragLeave: (event: DragEvent) => void;
12
- onDragEnd: (event: DragEvent) => void;
13
- onDrop: (event: DragEvent) => void;
14
11
  uuid: (<T extends ArrayLike<number>>(options: import("uuid").V4Options | null | undefined, buffer: T, offset?: number | undefined) => T) & ((options?: import("uuid").V4Options | undefined) => string);
15
12
  }> & import("@vue/composition-api").Data, {}, {}, {
16
13
  modelValue: {
17
- type: PropType<object[]>;
14
+ type: PropType<ListItem[]>;
18
15
  default: () => never[];
19
16
  };
20
- itemProps: {
21
- type: PropType<object>;
17
+ selection: {
18
+ type: PropType<ListItem[]>;
19
+ default: () => never[];
20
+ };
21
+ itemFactory: {
22
+ type: PropType<() => ListItem>;
22
23
  default: () => {};
23
24
  };
24
25
  label: {
@@ -43,11 +44,15 @@ declare const _default: import("vue").ComponentOptions<import("vue").default, im
43
44
  };
44
45
  }, import("@vue/composition-api").ExtractPropTypes<{
45
46
  modelValue: {
46
- type: PropType<object[]>;
47
+ type: PropType<ListItem[]>;
48
+ default: () => never[];
49
+ };
50
+ selection: {
51
+ type: PropType<ListItem[]>;
47
52
  default: () => never[];
48
53
  };
49
- itemProps: {
50
- type: PropType<object>;
54
+ itemFactory: {
55
+ type: PropType<() => ListItem>;
51
56
  default: () => {};
52
57
  };
53
58
  label: {
@@ -71,8 +76,9 @@ declare const _default: import("vue").ComponentOptions<import("vue").default, im
71
76
  default: boolean;
72
77
  };
73
78
  }>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
74
- modelValue: object[];
75
- itemProps: object;
79
+ modelValue: ListItem[];
80
+ selection: ListItem[];
81
+ itemFactory: () => ListItem;
76
82
  label: string;
77
83
  disabled: boolean;
78
84
  canAdd: boolean;
@@ -82,20 +88,17 @@ declare const _default: import("vue").ComponentOptions<import("vue").default, im
82
88
  [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
83
89
  }, import("@vue/composition-api").ShallowUnwrapRef<{
84
90
  root: import("@vue/composition-api").Ref<HTMLElement | undefined>;
91
+ content: import("@vue/composition-api").Ref<HTMLElement | undefined>;
85
92
  rootStyles: import("@vue/composition-api").ComputedRef<string[]>;
86
- proxyModelValue: import("../../hooks").UseProxyModelValueReturn<object[]>;
93
+ contentStyles: import("@vue/composition-api").ComputedRef<string[]>;
94
+ proxyModelValue: import("../../hooks").UseProxyModelValueReturn<ListItem[]>;
87
95
  addItem: () => void;
88
96
  deleteItem: (index: number) => void;
89
- onDragStart: (event: DragEvent) => void;
90
- onDragEnter: (event: DragEvent) => void;
91
- onDragOver: (event: DragEvent) => void;
92
- onDragLeave: (event: DragEvent) => void;
93
- onDragEnd: (event: DragEvent) => void;
94
- onDrop: (event: DragEvent) => void;
95
97
  uuid: (<T extends ArrayLike<number>>(options: import("uuid").V4Options | null | undefined, buffer: T, offset?: number | undefined) => T) & ((options?: import("uuid").V4Options | undefined) => string);
96
98
  }>, import("@vue/composition-api").Data, {}, {}, {}, {}, string[], {
97
- modelValue: object[];
98
- itemProps: object;
99
+ modelValue: ListItem[];
100
+ selection: ListItem[];
101
+ itemFactory: () => ListItem;
99
102
  label: string;
100
103
  disabled: boolean;
101
104
  canAdd: boolean;
@@ -104,8 +107,9 @@ declare const _default: import("vue").ComponentOptions<import("vue").default, im
104
107
  } & {} & {
105
108
  [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
106
109
  }, {
107
- modelValue: object[];
108
- itemProps: object;
110
+ modelValue: ListItem[];
111
+ selection: ListItem[];
112
+ itemFactory: () => ListItem;
109
113
  label: string;
110
114
  disabled: boolean;
111
115
  canAdd: boolean;
@@ -1,2 +1,3 @@
1
1
  export { default as OrListV3 } from './OrList.vue';
2
2
  export * from './partials';
3
+ export * from './types';
@@ -1,5 +1,6 @@
1
- export { _ as OrListV3 } from '../../OrList-5c383b3c.js';
2
- export { _ as OrListItem } from '../../OrListItem-c6b0dd77.js';
1
+ export { _ as OrListV3 } from '../../OrList-bf420a7c.js';
2
+ export { _ as OrListItem } from '../../OrListItem-534e8e9d.js';
3
+ import 'sortablejs';
3
4
  import 'uuid';
4
5
  import 'vue-demi';
5
6
  import '@vueuse/core';
@@ -1,3 +1,3 @@
1
- export { _ as OrListItem } from '../../../OrListItem-c6b0dd77.js';
1
+ export { _ as OrListItem } from '../../../OrListItem-534e8e9d.js';
2
2
  import 'vue-demi';
3
3
  import '../../../normalize-component-6e8e3d80.js';
@@ -1,8 +1,48 @@
1
1
  declare const _default: import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
2
2
  root: import("@vue/composition-api").Ref<HTMLElement | undefined>;
3
3
  rootStyles: import("@vue/composition-api").ComputedRef<string[]>;
4
- }> & import("@vue/composition-api").Data, {}, {}, {}, import("@vue/composition-api").ExtractPropTypes<{}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{} & {}, import("@vue/composition-api").ShallowUnwrapRef<{
4
+ contentStyles: import("@vue/composition-api").ComputedRef<string[]>;
5
+ }> & import("@vue/composition-api").Data, {}, {}, {
6
+ selected: {
7
+ type: BooleanConstructor;
8
+ default: boolean;
9
+ };
10
+ disabled: {
11
+ type: BooleanConstructor;
12
+ default: boolean;
13
+ };
14
+ draggable: {
15
+ type: BooleanConstructor;
16
+ default: boolean;
17
+ };
18
+ }, import("@vue/composition-api").ExtractPropTypes<{
19
+ selected: {
20
+ type: BooleanConstructor;
21
+ default: boolean;
22
+ };
23
+ disabled: {
24
+ type: BooleanConstructor;
25
+ default: boolean;
26
+ };
27
+ draggable: {
28
+ type: BooleanConstructor;
29
+ default: boolean;
30
+ };
31
+ }>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
32
+ selected: boolean;
33
+ disabled: boolean;
34
+ draggable: boolean;
35
+ } & {}, import("@vue/composition-api").ShallowUnwrapRef<{
5
36
  root: import("@vue/composition-api").Ref<HTMLElement | undefined>;
6
37
  rootStyles: import("@vue/composition-api").ComputedRef<string[]>;
7
- }>, import("@vue/composition-api").Data, {}, {}, {}, {}, {}, {} & {}, {}, true>);
38
+ contentStyles: import("@vue/composition-api").ComputedRef<string[]>;
39
+ }>, import("@vue/composition-api").Data, {}, {}, {}, {}, {}, {
40
+ selected: boolean;
41
+ disabled: boolean;
42
+ draggable: boolean;
43
+ } & {}, {
44
+ selected: boolean;
45
+ disabled: boolean;
46
+ draggable: boolean;
47
+ }, true>);
8
48
  export default _default;
@@ -1 +1,2 @@
1
1
  export declare const ListItem: string[];
2
+ export declare const ListItemContent: string[];
@@ -1 +1,2 @@
1
1
  export declare const List: string[];
2
+ export declare const ListContent: string[];
@@ -0,0 +1,4 @@
1
+ export type ListItem = {
2
+ key?: string;
3
+ [property: string]: unknown;
4
+ };
@@ -69,8 +69,8 @@ export { L as LabelVariant, _ as OrLabelV3 } from './OrLabel-b465bc0b.js';
69
69
  export { L as LinkColor, _ as OrLinkV3 } from './OrLink-4d8fd4cd.js';
70
70
  export { _ as OrList } from './OrList-f98a05a4.js';
71
71
  export { _ as OrListOfInputs } from './OrListOfInputs-1eaeb7e9.js';
72
- export { _ as OrListV3 } from './OrList-5c383b3c.js';
73
- export { _ as OrListItem } from './OrListItem-c6b0dd77.js';
72
+ export { _ as OrListV3 } from './OrList-bf420a7c.js';
73
+ export { _ as OrListItem } from './OrListItem-534e8e9d.js';
74
74
  export { L as LoaderViews, _ as OrLoader } from './OrLoader-90406201.js';
75
75
  export { a as LoaderColor, b as LoaderSize, L as LoaderVariant, _ as OrLoaderV3 } from './OrLoader-b0c381f9.js';
76
76
  export { _ as OrMenuItemV3 } from './OrMenuItem-8d1c89f6.js';