#### What type of PR is this?
/kind improvement
#### What this PR does / why we need it:
This PR expands the password validation rule by allowing the . and ? characters in addition to the existing A-Z, a-z, 0-9, !@#$%^&*.
It improves flexibility for users when setting their passwords.
#### Which issue(s) this PR fixes:
#### Special notes for your reviewer:
The regex and its corresponding comment have both been updated to ensure consistency.
#### Does this PR introduce a user-facing change?
```release-note
用户密码允许输入 . 和 ?
```
#### What type of PR is this?
/kind improvement
/area theme
/milestone 2.22.x
#### What this PR does / why we need it:
`posts` query will be always executed even if we don't use the variable `posts` in the `index` template.
This PR use lazy context variable to load `posts` model as needed.
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/7924
#### Special notes for your reviewer:
Try to remove `posts` variable in the `index` template and check if the system queries the `posts` data.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind improvement
/area core
/milestone 2.22.x
#### What this PR does / why we need it:
Prior to this, the notification sent by the system would leave behind a lot of useless data, such as Reason. This PR is to clean up all the useless data after notifying.
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/7578
#### Special notes for your reviewer:
Try to log in with a fresh Browser environment and check the reason data from <http://localhost:8090/apis/notification.halo.run/v1alpha1/reasons>.
#### Does this PR introduce a user-facing change?
```release-note
清理通知发送所残留的无用数据
```
* Refactor list toolbar items and unify icon sizing
* Replace MDI icons with Mingcute icons in editor extensions
* Replace MDI icons with Mingcute and other icon sets
* Unify button styles and icon sizing in editor UI
* Refactor editor icons and remove BlockCard component
* Refactor CommandsView menu styles and structure
* Add transition-colors to interactive UI components
* Refactor toolbar and toolbox item props typing
* Refactor BubbleItem props to use shared type
* Fix optional chaining for isActive prop in LinkBubbleButton
* Replace MDI icons with Mingcute icons in editor UI
* Refactor editor layout and styles for improved flexibility
* Refactor editor layout and update styles
* Replace icon set in CodeBlockViewRenderer
* Extend props types for toolbar, bubble, and toolbox items
* Refactor bubble components into subfolder
* Add BubbleButton component and update usage
* Refactor dropdown and toolbar item components
* Add image position dropdown to image bubble menu
* Refactor editor extension isActive checks to use class names
* Refactor gallery bubble items to use new UI components
* Refactor iframe align actions into dedicated component
* Refactor video position bubble to dropdown component
* Refactor input components and unify input UI
* Increase input container width from w-60 to w-64
* Refactor video size UI and update link popper widths
* Add audio position alignment to editor extension
* Refactor iframe and video size controls, update icons
* Add ResourceReplaceButton and refactor media replace UI
* Add configurable gap for gallery items
* Increase group size options to 10 in gallery
Expanded the selectable group size options in BubbleItemGroupSize.vue from 6 to 10, allowing users to choose larger group sizes for gallery items.
* Add danger type to cover delete dropdown item
* Add auto-focus to Input components in editor bubbles
* Add top margin to GalleryView node wrapper
#### What type of PR is this?
/kind bug
/area editor
/milestone 2.22.x
#### What this PR does / why we need it:
解决由于调整图片时多个位置同时修改 figure 而导致的报错问题。
#### Which issue(s) this PR fixes:
Fixes#7980
#### Does this PR introduce a user-facing change?
```release-note
解决在 figure 中添加 caption 后拖动图片报错的问题
```
#### What type of PR is this?
/kind improvement
/area editor
/milestone 2.22.x
#### What this PR does / why we need it:
将 Fragment 包从 PM 包中导出,而不是 core 包,用于解决 https://github.com/halo-sigs/plugin-hybrid-edit-block/issues/24 的错误
#### How to test it?
测试使用插件 `plugin-hybrid-edit-block` 是否会报错的问题。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind bug
/area editor
/milestone 2.22.x
#### What this PR does / why we need it:
解决 video 缺少 node-view-wrapper 导入的问题。
#### Which issue(s) this PR fixes:
Fixes#7981
#### Does this PR introduce a user-facing change?
```release-note
解决无法在编辑器中插入视频的问题
```
* Refactor dropdown components to use floating-vue directly
* Replace floating-vue with @halo-dev/components in editor
* Remove Dropdown.vue and update story usage
* Remove unused popper class and related styles
* Refactor gallery dropdowns to use VDropdownItem
#### What type of PR is this?
/area core
/kind improvement
/milestone 2.22.x
#### What this PR does / why we need it:
See #7967
#### Which issue(s) this PR fixes:
Fixes#7967
#### Does this PR introduce a user-facing change?
```release-note
None
```
* Move extensions
Signed-off-by: Ryan Wang <i@ryanc.cc>
* Refactor editor extensions to use explicit naming
* Refactor attachment selector integration in editor
* Remove vue-demi from Vite external dependencies
* Add README for richtext-editor package
* Refactor attachment composable and update upload permissions
* Refactor editor i18n keys and move upload strings
* Refactor AllExtensions to ExtensionsKit and update usage
* Move heading id attribute to extension implementation
* Refactor i18n usage to use i18n.global.t
* Update README to reflect changes in editor extensions, replacing AllExtensions with ExtensionsKit
---------
Signed-off-by: Ryan Wang <i@ryanc.cc>
* Update api-client package.json to use ES module format
* Enhance api-client configuration by adding sideEffects flag and refactoring tsdown config for better output formats
#### What type of PR is this?
/kind feature
/area editor
#### What this PR does / why we need it:
添加 figure 功能至 editor 中。
当前会将 `figure` 应用至 `image`、`video`、`audio` 等。
由于 figure 的引入,image 等结构会有一定的变化,将由原先的行内元素转变为块级元素。
> 更新后,将兼容旧版本 image,打开编辑器后会自动将其转换为带有 `figure` 父节点的内容。
#### How to test it?
测试原有的 `image`、`video`、`audio` 等功能是否正常可用。
测试 `figure-caption` 是否正常可用。
测试历史数据是否正常渲染。
#### Which issue(s) this PR fixes:
Fixes#5388
#### Does this PR introduce a user-facing change?
```release-note
为默认编辑器添加 Figure 功能并应用至图片、视频、音频
```
#### What type of PR is this?
/kind feature
/area ui
/milestone 2.22.x
#### What this PR does / why we need it:
Add Markdown support to CodeMirror component
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind cleanup
#### What this PR does / why we need it:
Upgrade dev dependencies versions
#### Does this PR introduce a user-facing change?
```release-note
None
```
Removed useSettingFormConvert composable and refactored AuthProviderDetail.vue to handle setting form schema and config map data directly. Improved reactivity, simplified data flow, and updated form submission logic for better maintainability.
* Bump vue and related-deps version
Signed-off-by: Ryan Wang <i@ryanc.cc>
* Update @intlify/unplugin-vue-i18n to v11.0.1
---------
Signed-off-by: Ryan Wang <i@ryanc.cc>
#### What type of PR is this?
/kind feature
/area ui
/area editor
#### What this PR does / why we need it:
为编辑器增加画廊的扩展。
<img width="1908" height="960" alt="image" src="https://github.com/user-attachments/assets/7971cf83-9bf4-4330-ac2a-612ce0e3c9bf" />
#### How to test it?
在编辑器中测试画廊是否正常可用
#### Which issue(s) this PR fixes:
Fixes#6307
#### Does this PR introduce a user-facing change?
```release-note
为编辑器新增画廊(图片集)功能
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.22.x
#### What this PR does / why we need it:
Introduces DashboardWidgetQuickActionRouteItem type to allow quick actions that navigate to routes instead of executing callbacks.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind cleanup
/milestone 2.22.x
#### What this PR does / why we need it:
Rename output files from rich-text-editor to index
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.22.x
#### What this PR does / why we need it:
Lazy load partial routes to optimize initial load speed
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.22.x
#### What this PR does / why we need it:
Optimize profile page loading speed
#### Does this PR introduce a user-facing change?
```release-note
None
```
* Enhance type hints for globally registered components
* Refactor Codemirror props and language support
* Update
Signed-off-by: Ryan Wang <i@ryanc.cc>
---------
Signed-off-by: Ryan Wang <i@ryanc.cc>
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.22.x
#### What this PR does / why we need it:
Refactor user profile to use Pinia currentUser store
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.22.x
#### What this PR does / why we need it:
Lazy load some routes to improve initial render performance
#### Does this PR introduce a user-facing change?
```release-note
懒加载 Console 和 UC 的部分路由,优化首屏渲染速度
```