v9.0.0
v9.0.0 (2025-09-25)
💥 Breaking Changes
- The package now uses Vue 3 instead of Vue 2.7
- The package is now a native ESM package and the CommonJS entry points were dropped!
- The package has dropped compatibility with Nextcloud before version 31.
This mostly affects the visual appearance of components. - The
NcSettingsInputTextcomponent was deprecated in v8 and is now removed.
Plugin registering removed
The plugin registering all the components and directives globally is removed.
Instead use local registration of components and directives.
If you really need an alternative we recommend using unplugin-vue-components.
Import paths changed
The old import paths like @nextcloud/vue/dist/Components/NcComponent.js were removed.
Instead use the new ones (@nextcloud/vue/components/NcComponent).
Example shell command to do the refactoring:
PATTERN='s,@nextcloud/vue/dist/([^/]+)/([^.]+).js,@nextcloud/vue/\L\1\E/\2,'
find src \
-name "*.vue" \
-exec sed -i -re "$PATTERN" \{\} +Container components now default to box-sizing: border-box
For container components that can be directly mounted to <body> the box-sizing was adjusted to match the behavior of NcContent.
The box-sizing: border-box is now default for following components and its content:
NcDialogNcModalNcPopover
Consistent usage of modelValue prop
All input elements were refactored to use the modelValue prop instead of the now removed value / checked prop and emit the update:modelValue event instead of the removed update:checked / update:value / input events.
This which allows consistent using of v-model.
Affected components:
- Removed
checkedprop andupdate:checkedeventNcActionCheckboxNcActionRadioNcCheckboxRadioSwitch
- Removed
valueprop andupdate:value/inputevents: - The
modelValueprop ofNcActionRadiois expecting to have typestring|numberto be compared tovalueprop. - The
valueprop was renamed tomodelValue, theupdate:valueorinputevents were renamed toupdate:modelValue. This affects the following components:NcActionInputNcActionTextEditableNcColorPickerNcDateTimePickerNcDateTimePickerNativeNcInputFieldNcPasswordFieldNcRichContenteditableNcSelectNcSelectTagsNcSettingsInputTextNcSettingsSelectGroupNcTextAreaNcTextFieldNcTimezonePicker
Removing the exact prop
The exact prop, previously used by router-link components, was removed.
This affects the following components:
NcActionRouterNcAppNavigationItemNcBreadcrumbNcButtonNcListItem
Renaming icon slot of Nc*Field
The leading icon slot was changed from #default to #icon in Nc*Field components:
NcInputFieldNcTextFieldNcPasswordField
Boolean props default to false
Some boolean props that have been deprecated in favor of alternatives with default value false,
are now removed. Following components have been adjusted:
| Component | Removed deprecated prop | New alternative |
|---|---|---|
NcAppContent |
allowSwipeNavigation |
disabledSwipe |
NcAvatar |
showUserStatus |
hideStatus |
NcAvatar |
showUserStatusCompact |
verboseStatus |
NcModal |
closeButtonContained |
closeButtonOutside |
NcModal |
enableSwipe |
disableSwipe |
NcModal |
canClose |
noClose |
NcDialog |
canClose |
noClose |
NcPopover |
focusTrap |
noFocusTrap |
Additionally the default value closeOnClickOutside for NcModal was aligned with NcDialog and now defaults to false.
Removal of type and nativeType props
The type property for button components (NcButton, NcActions, NcDialogButton) was deprecated for the usage with color variants like primary.
The fallback behavior was removed, type now only allows the native HTML button type like button, reset or submit.
Instead use the variant property for the color variant.
The nativeType property was removed in favor of type.
<!-- Old: Nextcloud Vue v8 -->
<NcButton type="primary" native-type="submit">Submit</NcButton>
<!-- New: Nextcloud Vue v9 -->
<NcButton type="submit" variant="primary">Submit</NcButton>Event names
To have a consistent naming for custom event the following events were deprecated
and now are removed in favor of a new consistent event name:
Component | Old event | New event
---------------|-----------------|----------------
NcAppContent | resize:list | resizeList
NcRichText | interact:todo | interactTodo
Mixins are removed
Mixins only work in Options API and are in general not recommended by Vue anymore:
In Vue 2, mixins were the primary mechanism for creating reusable chunks of component logic. While mixins continue to be supported in Vue 3, Composable functions using Composition API is now the preferred approach for code reuse between components.
As this library also uses composition API now all required mixins have been migrated to composables which work in Options API and Composition API.
Especially the following are now provided as composables:
isFullscreenis now provided asuseIsFullscreenisMobileis now provided asuseIsMobileandisMobileStatewas removed.
The richEditing mixin can be replaced by just using the NcRichText component.
Other breaking changes
NcActionsandNcAction*- The
ariaHiddenproperty is removed, please do no longer provide it, otherwise the root element will inherit incorrect aria-hidden.
- The
NcAppSidebar- The
closingandopeningevents were removed.
They are directly emitted when the sidebar was opened when usingv-if
and also just duplicated the state of theopenprop #5606
- The
NcButtonnow does no longer hasrole="button"when used as a link (passing thehrefprop or a router link (to)).
Instead, for accessibility and semantical correctness, has thelinkrole.NcColorPicker- The deprecated
closeevent was removed in favor of theclosedevent, this was done for consistent event names.
- The deprecated
NcCounterBubble- The default slot was removed
- The
countprop is now required #5997
NcHeaderMenuopen,closeandcancelevents were removed in favor ofopenedandclosedevents #6429
NcSettingsSection- The
limitWidthwas removed (the content is now always limited width) #5605
- The
- The
isFullscreen, andisMobilemixins were removed. Use the according composables instead. - The
clickOutsideOptionsmixin is removed - The
box-sizing: border-boxis now default for following components and its content. This is done to match behavior ofNcContent(as they can be mounted directly tobody):NcModalNcPopover
NcDateTimePicker- The
rangeproperty was removed in favor oftype="datetime-range"(datetime ranges),type="date-range"(date only ranges), andtype="time-range"(time only ranges). - The
langproperty was replaced with thelocaleproperty. - The
formatterproperty was removed.
- The
NcPopoveris no longer a transparent wrapper over thefloating-vuepackage.
Instead only use the documented properties and events.
If you find some use cases not covered by the documented interface, please open a feature request.NcRichContenteditableNcAutoCompleteResult: Thetitleprop was deprecated and is now removed in favor of thelabelpropNcMentionBubble: Thetitleprop was deprecated and is now removed in favor of thelabelprop
NcSelectuserSelectproperty was removed, instead just use theNcSelectUserscomponentcloseOnSelectproperty was removed in favor ofkeepOpen.
NcTextField:- The value
'arrowRight'for thetrailingButtonIconproperty was deprecated is now removed in favor ofarrowEnd.
- The value
Tooltipdirective was deprecated in v8 and is now removed.
This was done in favor of native tooltips using thetitleattribute, which is better for accessibility.
If you really need custom formatted tooltips, you can useNcPopoverinstead.- The
useFormatDateTimecomposable - only exported from default entry point - is removed.
Instead you can now useuseFormatTimefor formatting a time to a local date string oruseFormatRelativeTimeto format it to a humanized string like a day ago. - The
usernameToColorfunction is named exported instead of a default export.
This was done to have consistent export types.
🚀 Enhancements
- Allow writing components using Typescript and provide type definitions for
NcButton#4525 (susnux) - feat(NcDateTimePicker): add time range picker and align naming #6728 (susnux)
- feat(dialogs/spawnDialog): separate spawning options from dialog props and allow Element as a container #6756 (ShGKme)
- feat(dialogs/spawnDialogs)!: do not toRaw the result #6760 (ShGKme)
- feat(dialogs/spawnDialog): return promise with the result #6758 (ShGKme)
- feat(dialogs/spawnDialog)!: replace onClose callback with Promise #6759 (ShGKme)
- feat(NcChip): allow to define the actions container #6813 (susnux)
- feat(NcActionButton): introduce description prop #6932 (Antreesy)
- feat: add
useFormatRelativeTimecomposable #7067 (susnux) - feat(NcPasswordField): allow to set visibility state #7135 (susnux)
- feat(NcThemeProvider): allow to override the current theme for parts of the UI #6764 (susnux)
- fix(NcDateTimePicker): adjust input padding inline end #7208 (raimund-schluessler)
- feat(NcColorPicker): add proper open-state handling #7212 (susnux)
- feat(NcAppNavigationItem): add
activeas slot property to the "icon"-slot #7273 (susnux) - feat(NcButton): add border with a bottom shadow #7282 (susnux)
- feat: add new border design for NcInputField and NcTextArea #7351 (susnux)
- feat(NcCheckboxRadioSwitch): Add support for a description field #7378 (CarlSchwan)
- feat: add NcKbd component #7401 (ShGKme)
- feat(NcAssistant*): provide components for consistent integrations design #7398 (susnux)
- feat(NcRadioGroup): add component to group radio buttons #7441 (susnux)
- feat(NcColorPicker): allow to clear selected value #7363 (susnux)
- feat(NcPopover): replace
closeOnClickOutsidewithnoCloseOnClickOutside#7525 (ShGKme)
🐛 Fixed bugs
- feat(NcAppSidebar): add
infoslot #6666 (Antreesy) - fix(NcActions): trigger forgotten closed event and correctly handle open #6706 (ShGKme)
- fix(NcActionInput): listen to correct events #5231 (raimund-schluessler)
- fix(NcRichText*): listen to correct events form NcSelect #5239 (raimund-schluessler)
- fix(vue3): Inherit
$attrstoDropdowninNcPopover#4564 (raimund-schluessler) - fix(eslint): run eslint on migrated files #4630 (raimund-schluessler)
- fix(NcListItemIcon): correctly use default slot in examples #4695 (raimund-schluessler)
- fix(NcAvatar): don't show
falsefor disabled tooltip #4740 (raimund-schluessler) - fix(NcCheckboxRadioSwitch): fix v-on with no argument expects an object value #4840 (raimund-schluessler)
- fix(NcActions): find actions deeper nested #4804 (raimund-schluessler)
- fix(NcUserBubble): import warn correctly #4906 (raimund-schluessler)
- fix(docs): use v-model instead of sync #4969 (raimund-schluessler)
- fix(NcCheckboxRadioSwitch): correctly declare update:modelValue #5006 (raimund-schluessler)
- fix(test): correctly provide props in test #5012 (raimund-schluessler)
- fix(NcBreadcrumb): fix setting class on root element #5010 (raimund-schluessler)
- fix(NcBreadcrumb): correctly emit drag events #5011 (raimund-schluessler)
- fix(NcCheckboxContent): correctly check default slot #5058 (raimund-schluessler)
- fix(NcBreadcrumbs): do not forward refs to hidden crumbs #5066 (raimund-schluessler)
- fix(NcAppSidebar): adjust animation class names #5168 (raimund-schluessler)
- fix(docs): bring back NcAppSidebar in docs #5167 (raimund-schluessler)
- fix(NcRichText): crash on router links rendering #5672 (ShGKme)
- fix(NcListItem): correctly use NcCounterBubble after slot removal #6003 (ShGKme)
- fix(NcActions): Role
menuneeds a label assigned so label by trigger #6023 (susnux) - fix(NcListItem): change condition to display the counter number #6117 (julien-nc)
- fix(NcAppSidebar): apply toggle offset transition only on sidebar transition #6154 (ShGKme)
- fix(NcAvatar): attributes order #6377 (raimund-schluessler)
- fix!: make 'box-sizing: border-box' a default behaviour for all containers #6390 (Antreesy)
- fix(NcSelect):
requireddoesn't work #6458 (ShGKme) - fix(dialogs/spawnDialog): enhance
spawnDialogtypes #6781 (mattersj) - fix(NcDateTimePicker): adjust padding to prevent horizontal scrolling #6722 (susnux)
- fix(NcDateTimePicker): prevent emitting
[Date, null]#6726 (susnux) - fix(dialogs/spawnDialog)!: support vue-devtool but lose appContext #6752 (ShGKme)
- fix(NcIconSvgWrapper): center svg span wrapper #6869 (skjnldsv)
- fix(NcChip): do not rerender slots to check if they are available #6903 (susnux)
- fix(dialog/spawnDialog): incorrect return type for optional result #6905 (ShGKme)
- add fallBackFocus to NcPopover #6679
- fix(NcEmptyContent): description styling for mobile #6936 (Plesin)
- style(NcAppSidebar): remove custom styles from close button #6944 (Antreesy)
- fix: add missing
NcSelectUsersexport #6947 (susnux) - fix(NcAppContent): adapt to new emitted event object with splitpanes ^4.0.0 #6950 (wofferl)
- fix(NcActionInput): register used NcColorPicker component #6956 (susnux)
- fix(NcSelectUsers): use correct type for model and add tests for model-value handling #6957 (susnux)
- fix(NcAppNavigationToggle): restore button design and remove wrong attribute #6984 (susnux)
- fix(NcInputField): unresolved component and state color #6994 (susnux)
- fix(NcAppNavigationItem): multi level padding #6861 (GretaD)
- fix(NcTextField)!: make trailing button icon for confirmation also work on RTL #6993 (susnux)
- fix(NcAppContent): incorrect page title from a different
core.appsformat in Nextcloud 30 #7010 (julien-nc) - fix(NcButton): correctly apply reverse padding #7029 (raimund-schluessler)
- fix(NcAvatar): update 'hasStatus' flag if changed #7033 (Antreesy)
- fix(NcCheckboxRadioSwitch): align icons with the first row of label #7043 (Antreesy)
- fix(actions): use pointer cursor for action button text #7042 (ChristophWurst)
- fix(NcAvatar): migrate from deprecated
showUserStatusprop #7053 (Antreesy) - fix(NcAppNavigationSettings): adjust style and padding of button #7018 (raimund-schluessler)
- fix(NcRichText): always render code blocks in LTR direction #7056 (Antreesy)
- fix(NcHeaderMenu): bring caret back #7071 (ShGKme)
- fix(NcChip): adjust default prop declaration #7074 (Antreesy)
- fix(NcPopover): component crash when unmounted shown #7077 (Antreesy)
- fix(NcListItem): let
activeprop take higher priority #7086 (DorraJaouad) - fix(NcActions + NcEmojiPicker): no focus-trap when needed, extra focus-trap when not #7096 (ShGKme)
- fix(NcDateTimePicker): make clearable work #7103 (raimund-schluessler)
- fix(NcRichText): adjust markdown styles after migration #7106 (Antreesy)
- fix(NcActionText): remove br between action name and action long text #7116 (GretaD)
- fix(NcNoteCard): too large icon padding #7118 (raimund-schluessler)
- fix(NcAppNavigationItem): TypeError:
this.$refs.actions.$refs.menuButtonis undefined #7143 - fix(useHotKey): try to derive latin keys from key codes of non-latin characters #7110 (Antreesy)
- style(NcRichText): consider reference widgets in markdown styles #7142 (Antreesy)
- fix(NcDateTimePicker): correctly import library CSS #7051 (raimund-schluessler)
- fix(NcListItem): correctly handle unmounting #7151 (Antreesy)
- perf(utils): ensure only 64px or 512px avatars are loaded #6749 (susnux)
- perf(NcAvatar): ensure avatar does not add mutation observer #7157 (ShGKme)
- refactor(NcButton): remove redundant style #7154 (skjnldsv)
- fix(NcInputField): remove browser injected clear button #7167 (susnux)
- fix(NcModal): use
--border-radius-container#7176 (susnux) - fix(useIsDarkTheme): provide default value to silence runtime warnings #7185 (susnux)
- fix(NcAppSidebar): remove slot styling for buttons in the description #7182 (susnux)
- fix(NcAvatar): contacts menu is broken #7194 (ShGKme)
- fix(NcActionInput): lazy load large children #7195 (ShGKme)
- fix(NcButton): use correct type for
toprop from VueRouter #7201 (susnux) - fix(NcButton): render with "to" and prevent wrong context crash #7100 (ShGKme)
- fix(NcContent): flip skip action image in rtl mode #7202 (skjnldsv)
- fix: remove asterisk from filename allowing checkout on Windows #7211 (ShGKme)
- fix: correctly apply types so that type definitions are generated during build #7207 (susnux)
- fix(NcColorPicker): use proper directional arrow icon for submit #7217 (susnux)
- fix(NcBreadCrumb): correctly pass container for
NcActions#7237 (susnux) - ci: use correct base branch when doing styling update on stable* #7256 (susnux)
- fix(NcAvatar): orbital best-fit adaptive status icon #6004 (ShGKme)
- fix(NcLoadingIcon): prevent height change from rotate transformation #7275 (Antreesy)
- fix: 'Set operation on key "value" failed: target is readonly' #7239 (ShGKme)
- fix(NcInputField, NcTextArea): remove placeholder on Nextcloud 32+ #7283 (susnux)
- fix: auto-resolve focus trap stack, if was changed outside of controller #7277 (Antreesy)
- fix: adjust color variable to work with Nextcloud 32+ #7311 (susnux)
- fix(utils): legacy version detection #7313 (skjnldsv)
- fix(NcEmojiPicker): scope styles #7334 (ShGKme)
- fix(NcPopover): scope styles to avoid leak #7330 (ShGKme)
- fix(NcReferencePickerModal): scope styles #7333 (ShGKme)
- fix(NcActionButtonGroup): scope styles #7332 (ShGKme)
- fix(NcAppNavigationItem): icon-collapse has wrong color #7329 (GretaD)
- fix(NcAppNavigation): warn if neither
ariaLabelnorariaLabelledbyis set #7350 (susnux) - fix: revert breaking changes and keep Nextcloud 31 support #7353 (susnux)
- fix(NcAppNavigationSearch): add space before ellipsis #7372 (ShGKme)
- fix(NcHeaderMenu): pause trap stack on opening #7370 (Antreesy)
- fix(NcAppNavigationSettings): bring filled icon back for Nextcloud 31 #7397 (susnux)
- fix(NcHeaderMenu): apply
ariaLabelprop and add proper default values #7367 (susnux) - fix(NcAssistantIcon): adjust gradient for dark theme #7426 (susnux)
- fix(NcCheckboxContent): limit wrapper width #7445 (Antreesy)
- fix(NcRichText): correctly render empty children list #7447 (Antreesy)
- fix: revert renaming template refs resulting in a breaking change #7448 (ShGKme)
- fix(NcDateTimePicker): use proper day names #7473 (susnux)
- fix(NcCheckboxRadioSwitch): ensure label less radio has proper size #7471 (susnux)
- fix(NcDateTime): adjust for bidi support #7484 (susnux)
- fix(NcAppNavigationItem): ensure to pass boolean where needed #7489 (susnux)
- fix(NcReferenceWidget): harden checks for reference = null #7478 (Antreesy)
- fix(NcAvatar): make min status size visually accessible #7476 (DorraJaouad)
- fix(NcRadioGroup): fieldsets always need a label for accessibility #7483
- fix(useHotKey): use correct callback type #7505 (susnux)
- perf(NcTimezonePicker): use Intl to reduce self-size from 206kb to 2kb #7522 (ShGKme)
- fix(NcPopover): revert disabling close on click outside by default #7524 (ShGKme)
- fix(NcRadioGroupButton): adjust hight if needed #7544 (susnux)
- fix(NcAvatar): log the error object #7562 (ChristophWurst)
- fix(NcReferenceWidget): migrate to TS #7479 (Antreesy)
Changed
- refactor: replace boolean properties with
default: truewithdefault: false#6653 (susnux) - refactor(utils): Replace
GenRandomIdwithgetRandomId#6425 (susnux) - refactor: drop
md5dependency forusernameToColorand migrate to TS #6657 (susnux) - refactor: migrate logger to Typescript #6660 (susnux)
- refactor(useIsFullscreen): migrate to Typescript #6659 (susnux)
- refactor: migrate
findRangesto Typescript #6662 (susnux) - refactor(NcDateTime): migrate to Typescript and script-setup #6654 (susnux)
- refactor!: migrate
useIsMobileto TS and removeisMobileState#6658 (susnux) - refactor(NcDateTimePicker): migrate to
@vuepicklibrary #6651 (susnux) - refactor: consistent export style for
isSlotPopulated#6681 (susnux) - refactor: migrate color utils to Typescript #6684 (susnux)
- fix(NcPopover): add
passive: truetotransitionendevent listener #6688 (skjnldsv) - chore: default branch is
mainand Vue 2 branch isstable8#6697 (susnux) - chore: remove unused
GetChildrenutil #6701 (susnux) - chore: migrate
GetParentto Typescript #6702 (susnux) - refactor(NcActions): use provide/inject instead of $parent search #6705 (ShGKme)
- docs: improve examples and documentation for
NcDateTimePicker#6704 (susnux) - ci: Migrate component tests to Playwright #5818 (susnux)
- Change module import paths - drop dist and .js-extension #6389 (susnux)
- The plugin was removed - components need to be registered manually now #6349 (ShGKme)
- chore(Nc*Field): icon slot change note #6398 (ShGKme)
- Rename
checkedprop tomodelValue#4994 (raimund-schluessler) - Unify
modelValuenaming #4990 (raimund-schluessler) - Remove deprecated mixins #4830 (raimund-schluessler)
- Use vite for all entry points #4524 (susnux)
- Use vite instead of webpack #4619 (raimund-schluessler)
- Make package ESM by default #4957 (susnux)
- chore(vue3): Migrate NcPopover #4511 (raimund-schluessler)
- chore(vue3): Migrate NcHighlight #4513 (raimund-schluessler)
- chore(vue3): Migrate Focus directive, globally import Tooltip in docs #4515 (raimund-schluessler)
- chore(vue3): Migrate NcDatetime #4514 (raimund-schluessler)
- chore(vue3): add unit test for isSlotPopulated #4516 (raimund-schluessler)
- feat(vue3): Do cheap migrations #4532 (raimund-schluessler)
- chore(vue3): Migrate Nc*Field #4512 (raimund-schluessler)
- feat(vue3): Migrate NcDatetimePickerNative #4533 (raimund-schluessler)
- chore(vue3): Nc*Field rename default to icon slot #4543 (raimund-schluessler)
- chore(vue3): Migrate NcEmojiPicker #4563 (raimund-schluessler)
- chore(vue3): Migrate NcEmptyContent #4542 (raimund-schluessler)
- chore(vue3): Migrate NcColorPicker #4562 (raimund-schluessler)
- chore(vue3): Migrate
NcSelect*and related components #4587 (raimund-schluessler) - chore(vue3): Migrate NcDateTimePicker to vue 3 #4631 (raimund-schluessler)
- chore(vue3): Migrate Nc*Field from
valuetomodel-value#4647 (raimund-schluessler) - chore(vue3): Migrate NcTextArea to vue 3 #4696 (raimund-schluessler)
- chore(vue3): Migrate NcActions* to vue 3 #4646 (raimund-schluessler)
- chore(vue3): Migrate NcModal to vue 3 #4722 (raimund-schluessler)
- chore(vue3): Migrate NcAvatar to vue 3 #4719 (raimund-schluessler)
- chore(vue3): Migrate NcDialog* to vue 3 #4731 (raimund-schluessler)
- chore(vue3): Migrate NcHeaderMenu to vue 3 #4732 (raimund-schluessler)
- chore(vue3): Migrate NcListItem to vue 3 #4726 (raimund-schluessler)
- chore(vue3): Migrate NcBreadcrumbs to vue 3 #4741 (raimund-schluessler)
- chore(vue3): Migrate NcRelatedResource to vue 3 #4800 (raimund-schluessler)
- chore(vue3): Migrate NcUserBubble to vue 3 #4739 (raimund-schluessler)
- chore(vue3): Migrate NcContent to vue 3 #4831 (raimund-schluessler)
- chore(vue3): Migrate NcAppSidebar* to vue 3 #4833 (raimund-schluessler)
- chore(vue3): Migrate NcRich* to vue 3 #4976 (raimund-schluessler)
- fix: Adjust tsconfig and eslintrc for tests #5569 (susnux)
- fix: Adjust Typescript definition export #5583 (susnux)
- chore: Update stylings from server #5473 (susnux)
- chore: Update and pin development dependencies #5266 (susnux)
- chore(NcUserStatusIcon): remove warn if status is not set #5744 (ShGKme)
- docs(README): fix install command #5931 (ShGKme)
- chore(deps): Update dependencies for
nextbranch #6007 (susnux) - chore: Update styles from server for styleguide #6025 (susnux)
- docs: add missing
useIsDarkThemeimport #6215 (ShGKme) - docs(NcCounterBubble): small typo in docs #6378 (raimund-schluessler)
- docs(NcActionButton): order in components #6375 (raimund-schluessler)
- refactor(useHotKey): migrate code to Typescript #6430 (susnux)
- chore: restructure
package.json#6405 (susnux) - chore: Refactor changelog to make breaking changes better readable #6428 (susnux)
- refactor: Migrate
NcButtonfrom render function to template #6033 (susnux) - refactor: adjust code to fix all SASS deprecations #6734 (susnux)
- refactor: drop
string-lengthdependency and replace with native solution #6779 (susnux) - chore: drop remaining cypress files #6735 (susnux)
- chore: adjust package engines versions #6725 (susnux)
- chore: update pull_request_template.md #6736 (ShGKme)
- docs(NcDateTimePicker): add prop documentation for all props #6727 (susnux)
- chore: update workflows from organization #6841 (susnux)
- refactor(NcChip): properly document and type slots and emits #6812 (susnux)
- chore: move from
dev:watchtowatch#6888 (skjnldsv) - refactor(NcVNodes): migrate component to Typescript #6822 (susnux)
- refactor(Focus): migrate directive to Typescript #6786 (susnux)
- refactor(NcEmptyContent): migrate component to Typescript #6904 (susnux)
- refactor(NcUserStatusIcon): migrate component to Typescript #6820 (susnux)
- refactor(NcAppDetailsToggle): migrate to Typescript #6909 (susnux)
- fix(NcAppSidebar): make buttons pixel perfect #6938 (Antreesy)
- fix(docs): NcContent with skip-actions crashes styleguidist #6923 (ShGKme)
- refactor(NcAppContentDetails): migrate component to Typescript #6910 (susnux)
- refactor(NcGuestContent): migrate component to Typescript #6948 (susnux)
- chore(dev-deps): bump @nextcloud/stylelint-config from 3.0.1 to 3.1.0 and fix errors #6955 (ShGKme)
- chore!(NcRichContenteditable): remove title prop in favor of label #6962 (susnux)
- refactor: remove ScopeComponent the scope is not used and already added by Vue #6965 (susnux)
- refactor(NcIconSvgWrapper): migrate component to Typescript and script-setup #6967 (susnux)
- refactor(NcCounterBubble): migrate component to Typescript and script-setup #6970 (susnux)
- refactor: use NcIconSvgWrapper with directional property where needed #6767 (susnux)
- refactor(NcTextArea): migrate component to Typescript and script-setup #6986 (susnux)
- refactor(NcNoteCard): migrate component to Typescript and script-setup #6985 (susnux)
- refactor(NcDialog): migrate to script-setup and use Typescript for module #6968 (susnux)
- refactor: migrate Nc*Field to Typescript #6951 (susnux)
- refactor(NcUserBubble): migrate components to Typescript #6946 (susnux)
- refactor(NcHeaderMenu): export as Typescript module and reorder script tags #7000 (susnux)
- fix(NcAppNavigationSettings): button left full width #6999 (raimund-schluessler)
- refactor: migrate NcAppNavigationToggle / NcAppNavigationSpacer to Typescript #7004 (susnux)
- refactor(NcContent): migrate to Typescript and script-setup #7003 (susnux)
- chore: adjust vitest config to be consistent on CI and locally #7065 (susnux)
- refactor(NcLoadingIcon): migrate component to Typescript and script-setup #7076 (susnux)
- refactor(NcDateTimePickerNative): migrate component to Typescript and script-setup #7075 (susnux)
- refactor: deprecate events not comply with Vue event naming rules #7058 (susnux)
- fix(NcModal): correctly handle when trying to activate non-existing focus-trap #7084 (Antreesy)
- refactor(NcHighlight): migrate component to Typescript #7073 (susnux)
- refactor(NcColorPicker): migrate component to Typescript #7080 (susnux)
- refactor: migrate reference widget related function to Typescript #6969 (susnux)
- chore(NcActions): fix type annotation of
NodeList#7060 (susnux) - refactor(NcSettingsSection): migrate to Typescript and script-setup #7111 (susnux)
- refactor!: remove
useFormatDateTime#7129 (susnux) - refactor!: make all events camelcase and drop deprecated events #7059 (susnux)
- chore(NcAppContent): rename NcAppDetailsContent to remove from docs #7137 (susnux)
- refactor(NcAppContent): clarify props documentation and use capabilities over initial state #7057 (susnux)
- chore(NcAppSidebar): correctly define and document exposed CSS variables #5861 (ShGKme)
- chore: add current Node (upcoming) LTS 24.0.0 to supported engines #7163 (susnux)
- refactor(functions): Make sure only named exports are used (
usernameToColor) #7161 (susnux) - chore(NcRichText): remove unused remark plugin #7172 (susnux)
- refactor(NcRichText): migrate helpers to Typescript #7173 (susnux)
- refactor(NcRichText): use
debounceinstead of custom delay function #7174 (susnux) - refactor: replace deprecated CSS variables and legacy fallbacks #7177 (susnux)
- refactor: use Typescript for l10n dummy import #7171 (susnux)
- refactor(NcProgressBar): migrate component to Typescript and update docs #7138 (susnux)
- fix: remove asterisk from filename #7215 (raimund-schluessler)
- docs: clarify application containers and especially NcGuestContent #7160 (susnux)
- refactor(NcAppNavigation): migrate component to Typescript and
script-setup#7200 (susnux) - feat(NcUserStatusIcon): update status icons #7218 (Antreesy)
- chore: work around bug in
corepackblocking dependency updates #7213 (susnux) - fix(NcListItem): drop legacy check #7234 (Antreesy)
- feat(NcHeaderMenu): apply alpha mask to icon slot #7242 (susnux)
- docs: v9 will only provide visual compatibility with Nextcloud 32+ #7287 (susnux)
- feat: change cog icon into the outline version #7299 (GretaD)
- refactor(NcButton, NcNoteCard): use status text color for icons and text #7300 (susnux)
- fix(utils): legacy check syntax adjust #7314 (skjnldsv)
- docs: fix CSS Modules support in Styleguidist #7331 (ShGKme)
- refactor: use properly types injection keys instead of plain names #7349 (susnux)
- chore: add missing docblock comments #7365 (susnux)
- refactor(NcButton): use proper prop type for
pressedto allowundefined#7368 (susnux) - refactor(NcAppNavigationList): migrate to Typescript #7364 (susnux)
- chore(NcAppNavigationItem): fix linting warnings #7366 (susnux)
- chore(docs): fix css modules export names in styleguidist #7385 (ShGKme)
- fix(NcUserStatusIcon): adjust icon colors #7392 (Antreesy)
- fix(NcUserStatusIcon): adjust scoped names for style variables #7396 (Antreesy)
- docs: enhance NcAppSidebar documentation #6913 (Antreesy)
- chore!: deprecate and remove
NcSettingsInputTextcomponent #7486 (susnux) - chore(NcCheckboxRadioSwitch): deprecate button variant in favor of
NcRadioGroup#7490 (susnux) - refactor(NcAppSettingsDialog): migrate to Typescript and script-setup #7515 (susnux)
- ci: fix server styling update #7547 (susnux)
- docs: document removed events and props #7552 (Antreesy)