Skip to content

Commit dcd5a96

Browse files
authored
Merge pull request #1266 from opencloud-eu/chore/fix-web-pkg-types
fix: add missing web-pkg types and fix type errors
2 parents 01aecc4 + 8cccb1c commit dcd5a96

File tree

5 files changed

+35
-14
lines changed

5 files changed

+35
-14
lines changed

packages/design-system/src/components/OcAvatars/OcAvatars.vue

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ type Item = {
5757
avatarType?: 'user' | 'link' | 'remote' | 'group' | 'guest' | string
5858
username?: string
5959
avatar?: string
60+
userId?: string
6061
}
6162
6263
export interface Props {
@@ -118,6 +119,15 @@ const {
118119
hoverEffect = false
119120
} = defineProps<Props>()
120121
122+
export interface Slots {
123+
/**
124+
* @docs Can be used to overwrite the default rendering of the user avatars.
125+
*/
126+
userAvatars?: ({ avatars, width }: { avatars: Item[]; width: number }) => unknown
127+
}
128+
129+
defineSlots<Slots>()
130+
121131
const avatarsRef = useTemplateRef('avatarsRef')
122132
123133
const isOverlapping = computed(() => maxDisplayed && maxDisplayed < items.length)

packages/design-system/src/components/OcTable/OcTable.vue

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,13 +65,17 @@
6565
@contextmenu="
6666
$emit(
6767
constants.EVENT_TROW_CONTEXTMENU,
68-
($refs[`row-${trIndex}`] as HTMLElement[])[0],
68+
($refs[`row-${trIndex}`] as ComponentPublicInstance<unknown>[])[0],
6969
$event,
7070
item
7171
)
7272
"
7373
@vue:mounted="
74-
$emit(constants.EVENT_TROW_MOUNTED, item, ($refs[`row-${trIndex}`] as HTMLElement[])[0])
74+
$emit(
75+
constants.EVENT_TROW_MOUNTED,
76+
item,
77+
($refs[`row-${trIndex}`] as Array<typeof OcTr>)[0]
78+
)
7579
"
7680
@dragstart="dragStart(item, $event)"
7781
@drop="dropRowEvent(domSelector(item), $event)"
@@ -111,7 +115,7 @@
111115
</template>
112116

113117
<script setup lang="ts">
114-
import { computed } from 'vue'
118+
import { ComponentPublicInstance, computed } from 'vue'
115119
import OcThead from '../OcTableHead/OcTableHead.vue'
116120
import OcTbody from '../OcTableBody/OcTableBody.vue'
117121
import OcTr from '../OcTableTr/OcTableTr.vue'
@@ -229,12 +233,17 @@ export interface Emits {
229233
/**
230234
* @docs Emitted when a table row has been mounted.
231235
*/
232-
(e: 'rowMounted', item: Item, element: HTMLElement): void
236+
(e: 'rowMounted', item: Item, element: typeof OcTr): void
233237
234238
/**
235239
* @docs Emitted when a table row has been right-clicked.
236240
*/
237-
(e: 'contextmenuClicked', element: HTMLElement, event: MouseEvent, item: Item): void
241+
(
242+
e: 'contextmenuClicked',
243+
element: ComponentPublicInstance<unknown>,
244+
event: MouseEvent,
245+
item: Item
246+
): void
238247
239248
/**
240249
* @docs Emitted when a column has been sorted.

packages/web-pkg/src/components/FilesList/ResourceTable.vue

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -357,7 +357,7 @@ import { useFileActionsRename } from '../../composables/actions'
357357
import { createLocationCommon, isLocationTrashActive } from '../../router'
358358
import get from 'lodash-es/get'
359359
import { storeToRefs } from 'pinia'
360-
import { OcButton, OcSpinner, OcTable } from '@opencloud-eu/design-system/components'
360+
import { OcButton, OcSpinner, OcTable, OcTableTr } from '@opencloud-eu/design-system/components'
361361
import { FieldType } from '@opencloud-eu/design-system/helpers'
362362
import ResourceStatusIndicators from './ResourceStatusIndicators.vue'
363363
import { useGettext } from 'vue3-gettext'
@@ -1087,7 +1087,7 @@ export default defineComponent({
10871087
10881088
this.addSelectedResource(file)
10891089
},
1090-
fileDropped(selector: HTMLElement, event: DragEvent) {
1090+
fileDropped(selector: string, event: DragEvent) {
10911091
if (!this.dragDrop) {
10921092
return
10931093
}
@@ -1113,7 +1113,7 @@ export default defineComponent({
11131113
event.dataTransfer.dropEffect = 'move'
11141114
event.dataTransfer.effectAllowed = 'move'
11151115
},
1116-
dropRowStyling(selector: HTMLElement, leaving: boolean, event: DragEvent) {
1116+
dropRowStyling(selector: string, leaving: boolean, event: DragEvent) {
11171117
const hasFilePayload = (event.dataTransfer?.types || []).some((e) => e === 'Files')
11181118
if (hasFilePayload) {
11191119
return
@@ -1182,15 +1182,15 @@ export default defineComponent({
11821182
11831183
displayPositionedDropdown(instance._tippy, event, this.contextMenuButton)
11841184
},
1185-
rowMounted(resource: Resource, component: ComponentPublicInstance<unknown>) {
1185+
rowMounted(resource: Resource, component: typeof OcTableTr) {
11861186
/**
11871187
* Triggered whenever a row is mounted
11881188
* @property {object} resource The resource which was mounted as table row
11891189
* @property {object} component The table row component
11901190
*/
11911191
this.$emit('rowMounted', resource, component, this.constants.ImageDimension.Thumbnail)
11921192
},
1193-
fileClicked(data: [Resource, MouseEvent, boolean]) {
1193+
fileClicked(data: [Resource, MouseEvent]) {
11941194
/**
11951195
* Triggered when the file row is clicked
11961196
* @property {object} resource The resource for which the event is triggered
@@ -1211,7 +1211,6 @@ export default defineComponent({
12111211
}
12121212
12131213
const eventData = data[1]
1214-
const skipTargetSelection = data[2] ?? false
12151214
12161215
if (!eventData.shiftKey && !eventData.metaKey && !eventData.ctrlKey) {
12171216
eventBus.publish('app.files.shiftAnchor.reset')
@@ -1228,7 +1227,10 @@ export default defineComponent({
12281227
return eventBus.publish('app.files.list.clicked.meta', resource)
12291228
}
12301229
if (eventData && eventData.shiftKey) {
1231-
return eventBus.publish('app.files.list.clicked.shift', { resource, skipTargetSelection })
1230+
return eventBus.publish('app.files.list.clicked.shift', {
1231+
resource,
1232+
skipTargetSelection: false
1233+
})
12321234
}
12331235
if (isCheckboxClicked) {
12341236
return

packages/web-pkg/tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@
1313
},
1414

1515
// include component types of the design-system
16-
"include": ["../design-system/types.d.ts"]
16+
"include": ["../design-system/types.d.ts", "./web.declarations.d.ts", "./src/**/*"]
1717
}

packages/web-pkg/vite.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,6 @@ export default defineConfig({
4545
nodePolyfills({
4646
exclude: ['crypto']
4747
}),
48-
dts({ exclude: ['**/tests'] })
48+
dts({ exclude: ['**/tests'], entryRoot: 'src', outDir: 'dist/src' })
4949
]
5050
})

0 commit comments

Comments
 (0)