wimui 0.51.2 → 0.52.2
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.
- package/dist/components/_internal/FeedbackCloseButton.cjs +1 -1
- package/dist/components/_internal/FeedbackCloseButton.js +14 -13
- package/dist/components/_internal/FieldLabelContent.cjs +1 -1
- package/dist/components/_internal/FieldLabelContent.js +18 -17
- package/dist/components/ai/AIResponseFeedback/AIResponseFeedback.cjs +1 -1
- package/dist/components/ai/AIResponseFeedback/AIResponseFeedback.js +46 -45
- package/dist/components/ai/AIResponseFeedback/airesponse-feedback.module.cjs +1 -1
- package/dist/components/ai/AIResponseFeedback/airesponse-feedback.module.js +1 -1
- package/dist/components/ai/AgentStatus/AgentStatus.cjs +1 -1
- package/dist/components/ai/AgentStatus/AgentStatus.js +24 -23
- package/dist/components/ai/ArtifactsOverlay/ArtifactsOverlay.cjs +1 -1
- package/dist/components/ai/ArtifactsOverlay/ArtifactsOverlay.js +47 -45
- package/dist/components/ai/ChatUI/ChatUI.cjs +1 -1
- package/dist/components/ai/ChatUI/ChatUI.js +82 -81
- package/dist/components/ai/CodeBlock/CodeBlock.cjs +3 -3
- package/dist/components/ai/CodeBlock/CodeBlock.js +53 -52
- package/dist/components/ai/CodeBlock/code-block.module.cjs +1 -1
- package/dist/components/ai/CodeBlock/code-block.module.js +1 -1
- package/dist/components/ai/CodeDiffViewer/CodeDiffViewer.cjs +2 -2
- package/dist/components/ai/CodeDiffViewer/CodeDiffViewer.js +105 -104
- package/dist/components/ai/CodeDiffViewer/code-diff-viewer.module.cjs +1 -1
- package/dist/components/ai/CodeDiffViewer/code-diff-viewer.module.js +2 -2
- package/dist/components/ai/MarkdownRenderer/MarkdownRenderer.cjs +1 -1
- package/dist/components/ai/MarkdownRenderer/MarkdownRenderer.js +60 -59
- package/dist/components/ai/ModelSelector/ModelSelector.cjs +1 -1
- package/dist/components/ai/ModelSelector/ModelSelector.js +83 -82
- package/dist/components/ai/ModelSelector/model-selector.module.cjs +1 -1
- package/dist/components/ai/ModelSelector/model-selector.module.js +1 -1
- package/dist/components/ai/PromptInput/PromptInput.cjs +1 -1
- package/dist/components/ai/PromptInput/PromptInput.js +76 -75
- package/dist/components/ai/SourceCitation/SourceCitation.cjs +1 -1
- package/dist/components/ai/SourceCitation/SourceCitation.js +39 -38
- package/dist/components/ai/Terminal/Terminal.cjs +2 -2
- package/dist/components/ai/Terminal/Terminal.js +65 -64
- package/dist/components/ai/Terminal/terminal.module.cjs +1 -1
- package/dist/components/ai/Terminal/terminal.module.js +1 -1
- package/dist/components/ai/ThoughtProcess/thought-process.module.cjs +1 -1
- package/dist/components/ai/ThoughtProcess/thought-process.module.js +4 -4
- package/dist/components/ai/ThreadList/ThreadList.cjs +1 -1
- package/dist/components/ai/ThreadList/ThreadList.js +58 -57
- package/dist/components/ai/ThreadList/thread-list.module.cjs +1 -1
- package/dist/components/ai/ThreadList/thread-list.module.js +1 -1
- package/dist/components/data-display/Accordion/accordion.module.cjs +1 -1
- package/dist/components/data-display/Accordion/accordion.module.js +1 -1
- package/dist/components/data-display/Barcode/Barcode.cjs +1 -1
- package/dist/components/data-display/Barcode/Barcode.js +76 -75
- package/dist/components/data-display/Calendar/Calendar.cjs +1 -1
- package/dist/components/data-display/Calendar/Calendar.js +75 -74
- package/dist/components/data-display/Calendar/calendar.module.cjs +1 -1
- package/dist/components/data-display/Calendar/calendar.module.js +1 -1
- package/dist/components/data-display/CalendarHeatmap/CalendarHeatmap.cjs +1 -1
- package/dist/components/data-display/CalendarHeatmap/CalendarHeatmap.js +54 -52
- package/dist/components/data-display/Carousel/Carousel.cjs +1 -1
- package/dist/components/data-display/Carousel/Carousel.js +62 -61
- package/dist/components/data-display/Carousel/carousel.module.cjs +1 -1
- package/dist/components/data-display/Carousel/carousel.module.js +1 -1
- package/dist/components/data-display/Chip/Chip.cjs +1 -1
- package/dist/components/data-display/Chip/Chip.js +36 -35
- package/dist/components/data-display/Comment/Comment.cjs +1 -1
- package/dist/components/data-display/Comment/Comment.js +58 -57
- package/dist/components/data-display/Comment/comment.module.cjs +1 -1
- package/dist/components/data-display/Comment/comment.module.js +1 -1
- package/dist/components/data-display/Countdown/Countdown.cjs +1 -1
- package/dist/components/data-display/Countdown/Countdown.js +56 -55
- package/dist/components/data-display/DataGrid/DataGrid.cjs +1 -1
- package/dist/components/data-display/DataGrid/DataGrid.js +128 -127
- package/dist/components/data-display/JsonViewer/JsonViewer.cjs +1 -1
- package/dist/components/data-display/JsonViewer/JsonViewer.js +153 -152
- package/dist/components/data-display/JsonViewer/json-viewer.module.cjs +1 -1
- package/dist/components/data-display/JsonViewer/json-viewer.module.js +3 -3
- package/dist/components/data-display/Kanban/Kanban.cjs +1 -1
- package/dist/components/data-display/Kanban/Kanban.js +95 -94
- package/dist/components/data-display/NodeGraph/NodeGraph.cjs +1 -1
- package/dist/components/data-display/NodeGraph/NodeGraph.js +62 -61
- package/dist/components/data-display/NodeGraph/node-graph.module.cjs +1 -1
- package/dist/components/data-display/NodeGraph/node-graph.module.js +1 -1
- package/dist/components/data-display/PivotTable/PivotTable.cjs +1 -1
- package/dist/components/data-display/PivotTable/PivotTable.js +153 -152
- package/dist/components/data-display/PivotTable/pivot-table.module.cjs +1 -1
- package/dist/components/data-display/PivotTable/pivot-table.module.js +1 -1
- package/dist/components/data-display/Presence/Presence.cjs +1 -1
- package/dist/components/data-display/Presence/Presence.js +28 -27
- package/dist/components/data-display/PullToRefresh/PullToRefresh.cjs +1 -1
- package/dist/components/data-display/PullToRefresh/PullToRefresh.js +73 -72
- package/dist/components/data-display/Reaction/Reaction.cjs +1 -1
- package/dist/components/data-display/Reaction/Reaction.js +31 -30
- package/dist/components/data-display/ScheduleView/ScheduleView.cjs +1 -1
- package/dist/components/data-display/ScheduleView/ScheduleView.js +49 -48
- package/dist/components/data-display/SortableList/SortableList.cjs +1 -1
- package/dist/components/data-display/SortableList/SortableList.js +44 -43
- package/dist/components/data-display/Tag/Tag.cjs +1 -1
- package/dist/components/data-display/Tag/Tag.js +29 -28
- package/dist/components/data-display/Tag/tag.module.cjs +1 -1
- package/dist/components/data-display/Tag/tag.module.js +1 -1
- package/dist/components/data-display/TreeDiagram/TreeDiagram.cjs +1 -1
- package/dist/components/data-display/TreeDiagram/TreeDiagram.js +85 -84
- package/dist/components/data-display/TreeDiagram/tree-diagram.module.cjs +1 -1
- package/dist/components/data-display/TreeDiagram/tree-diagram.module.js +1 -1
- package/dist/components/data-display/TreeView/TreeView.cjs +1 -1
- package/dist/components/data-display/TreeView/TreeView.js +123 -122
- package/dist/components/feedback/Autosave/Autosave.cjs +1 -1
- package/dist/components/feedback/Autosave/Autosave.js +32 -31
- package/dist/components/feedback/Banner/banner.module.cjs +1 -1
- package/dist/components/feedback/Banner/banner.module.js +2 -2
- package/dist/components/feedback/ErrorBoundary/ErrorBoundary.cjs +1 -1
- package/dist/components/feedback/ErrorBoundary/ErrorBoundary.js +35 -34
- package/dist/components/feedback/Notification/notification.module.cjs +1 -1
- package/dist/components/feedback/Notification/notification.module.js +2 -2
- package/dist/components/feedback/ScrollProgress/ScrollProgress.cjs +1 -1
- package/dist/components/feedback/ScrollProgress/ScrollProgress.js +21 -20
- package/dist/components/feedback/Tour/Tour.cjs +1 -1
- package/dist/components/feedback/Tour/Tour.js +98 -97
- package/dist/components/form/Button/Button.cjs +1 -1
- package/dist/components/form/Button/Button.js +55 -54
- package/dist/components/form/ColorInput/ColorInput.cjs +1 -1
- package/dist/components/form/ColorInput/ColorInput.js +30 -29
- package/dist/components/form/ColorPicker/color-picker.module.cjs +1 -1
- package/dist/components/form/ColorPicker/color-picker.module.js +1 -1
- package/dist/components/form/Combobox/combobox.module.cjs +1 -1
- package/dist/components/form/Combobox/combobox.module.js +1 -1
- package/dist/components/form/CopyButton/CopyButton.cjs +1 -1
- package/dist/components/form/CopyButton/CopyButton.js +27 -26
- package/dist/components/form/DatePicker/DatePicker.cjs +1 -1
- package/dist/components/form/DatePicker/DatePicker.js +47 -46
- package/dist/components/form/DatePicker/date-picker.module.cjs +1 -1
- package/dist/components/form/DatePicker/date-picker.module.js +1 -1
- package/dist/components/form/DateRangePicker/DateRangePicker.cjs +1 -1
- package/dist/components/form/DateRangePicker/DateRangePicker.js +36 -35
- package/dist/components/form/Dropzone/Dropzone.cjs +1 -1
- package/dist/components/form/Dropzone/Dropzone.js +56 -55
- package/dist/components/form/FileUpload/FileUpload.cjs +1 -1
- package/dist/components/form/FileUpload/FileUpload.js +47 -46
- package/dist/components/form/FloatButton/FloatButton.cjs +1 -1
- package/dist/components/form/FloatButton/FloatButton.d.ts +4 -1
- package/dist/components/form/FloatButton/FloatButton.js +6 -6
- package/dist/components/form/ImageCropper/ImageCropper.cjs +1 -1
- package/dist/components/form/ImageCropper/ImageCropper.js +101 -99
- package/dist/components/form/InlineEdit/InlineEdit.cjs +1 -1
- package/dist/components/form/InlineEdit/InlineEdit.js +66 -65
- package/dist/components/form/InlineEdit/inline-edit.module.cjs +1 -1
- package/dist/components/form/InlineEdit/inline-edit.module.js +1 -1
- package/dist/components/form/Input/Input.cjs +1 -1
- package/dist/components/form/Input/Input.js +45 -44
- package/dist/components/form/InputBase/InputBase.cjs +1 -1
- package/dist/components/form/InputBase/InputBase.js +51 -50
- package/dist/components/form/InputBase/input-base.module.cjs +1 -1
- package/dist/components/form/InputBase/input-base.module.js +1 -1
- package/dist/components/form/Mentions/mentions.module.cjs +1 -1
- package/dist/components/form/Mentions/mentions.module.js +1 -1
- package/dist/components/form/MultiSelect/multiselect.module.cjs +1 -1
- package/dist/components/form/MultiSelect/multiselect.module.js +1 -1
- package/dist/components/form/PasswordStrength/PasswordStrength.cjs +1 -1
- package/dist/components/form/PasswordStrength/PasswordStrength.js +27 -26
- package/dist/components/form/PhoneInput/PhoneInput.cjs +1 -1
- package/dist/components/form/PhoneInput/PhoneInput.js +10 -10
- package/dist/components/form/PhoneInput/phone-input.module.cjs +1 -1
- package/dist/components/form/PhoneInput/phone-input.module.js +1 -1
- package/dist/components/form/QueryBuilder/QueryBuilder.cjs +1 -1
- package/dist/components/form/QueryBuilder/QueryBuilder.js +90 -89
- package/dist/components/form/RangeSlider/RangeSlider.cjs +1 -1
- package/dist/components/form/RangeSlider/RangeSlider.js +30 -29
- package/dist/components/form/Rating/rating.module.cjs +1 -1
- package/dist/components/form/Rating/rating.module.js +1 -1
- package/dist/components/form/RichTextEditor/RichTextEditor.cjs +1 -1
- package/dist/components/form/RichTextEditor/RichTextEditor.js +223 -222
- package/dist/components/form/RichTextEditor/rich-text-editor.module.cjs +1 -1
- package/dist/components/form/RichTextEditor/rich-text-editor.module.js +1 -1
- package/dist/components/form/SegmentedControl/SegmentedControl.cjs +1 -1
- package/dist/components/form/SegmentedControl/SegmentedControl.js +7 -7
- package/dist/components/form/SegmentedControl/segmented-control.module.cjs +1 -1
- package/dist/components/form/SegmentedControl/segmented-control.module.js +1 -1
- package/dist/components/form/Select/Select.cjs +1 -1
- package/dist/components/form/Select/Select.js +112 -111
- package/dist/components/form/Select/select.module.cjs +1 -1
- package/dist/components/form/Select/select.module.js +1 -1
- package/dist/components/form/SignaturePad/SignaturePad.cjs +1 -1
- package/dist/components/form/SignaturePad/SignaturePad.js +86 -79
- package/dist/components/form/SmartSearchInput/SmartSearchInput.cjs +1 -1
- package/dist/components/form/SmartSearchInput/SmartSearchInput.js +63 -62
- package/dist/components/form/TagInput/TagInput.cjs +1 -1
- package/dist/components/form/TagInput/TagInput.js +68 -67
- package/dist/components/form/ThemeToggle/ThemeToggle.cjs +1 -1
- package/dist/components/form/ThemeToggle/ThemeToggle.js +68 -67
- package/dist/components/form/ThemeToggle/theme-toggle.module.cjs +1 -1
- package/dist/components/form/ThemeToggle/theme-toggle.module.js +1 -1
- package/dist/components/form/ToggleGroup/ToggleGroup.cjs +1 -1
- package/dist/components/form/ToggleGroup/ToggleGroup.js +6 -6
- package/dist/components/form/ToggleGroup/toggle-group.module.cjs +1 -1
- package/dist/components/form/ToggleGroup/toggle-group.module.js +1 -1
- package/dist/components/form/Transfer/Transfer.cjs +1 -1
- package/dist/components/form/Transfer/Transfer.js +127 -126
- package/dist/components/form/TreeSelect/TreeSelect.cjs +1 -1
- package/dist/components/form/TreeSelect/TreeSelect.js +6 -6
- package/dist/components/layout/Dashboard/Dashboard.cjs +1 -1
- package/dist/components/layout/Dashboard/Dashboard.js +90 -89
- package/dist/components/layout/Navbar/Navbar.cjs +1 -1
- package/dist/components/layout/Navbar/Navbar.d.ts +1 -1
- package/dist/components/layout/Navbar/Navbar.js +1 -1
- package/dist/components/layout/Sidebar/Sidebar.d.ts +1 -1
- package/dist/components/layout/Splitter/Splitter.cjs +1 -1
- package/dist/components/layout/Splitter/Splitter.js +40 -39
- package/dist/components/layout/Toolbar/Toolbar.cjs +1 -1
- package/dist/components/layout/Toolbar/Toolbar.js +66 -39
- package/dist/components/media/Audio/Audio.cjs +1 -1
- package/dist/components/media/Audio/Audio.js +90 -89
- package/dist/components/media/Audio/components/AudioCustomControls.cjs +1 -1
- package/dist/components/media/Audio/components/AudioCustomControls.js +115 -114
- package/dist/components/media/Gallery/Gallery.cjs +1 -1
- package/dist/components/media/Gallery/Gallery.js +132 -131
- package/dist/components/media/ImageCompare/ImageCompare.cjs +1 -1
- package/dist/components/media/ImageCompare/ImageCompare.js +72 -71
- package/dist/components/media/Lightbox/Lightbox.cjs +1 -1
- package/dist/components/media/Lightbox/Lightbox.js +128 -127
- package/dist/components/media/Video/Video.cjs +1 -1
- package/dist/components/media/Video/Video.js +56 -55
- package/dist/components/media/Video/components/VideoAdvancedMenu.cjs +1 -1
- package/dist/components/media/Video/components/VideoAdvancedMenu.js +136 -135
- package/dist/components/media/Video/components/VideoControls.cjs +1 -1
- package/dist/components/media/Video/components/VideoControls.js +103 -102
- package/dist/components/navigation/BackTop/BackTop.cjs +1 -1
- package/dist/components/navigation/BackTop/BackTop.js +37 -36
- package/dist/components/navigation/Breadcrumb/Breadcrumb.cjs +1 -1
- package/dist/components/navigation/Breadcrumb/Breadcrumb.js +41 -40
- package/dist/components/navigation/CommandPalette/CommandPalette.cjs +1 -1
- package/dist/components/navigation/CommandPalette/CommandPalette.js +100 -99
- package/dist/components/navigation/CommandPalette/command-palette.module.cjs +1 -1
- package/dist/components/navigation/CommandPalette/command-palette.module.js +1 -1
- package/dist/components/navigation/HamburgerMenu/HamburgerMenu.cjs +1 -1
- package/dist/components/navigation/HamburgerMenu/HamburgerMenu.d.ts +6 -0
- package/dist/components/navigation/HamburgerMenu/HamburgerMenu.js +32 -22
- package/dist/components/navigation/HamburgerMenu/hamburger-menu.module.cjs +1 -1
- package/dist/components/navigation/HamburgerMenu/hamburger-menu.module.js +1 -1
- package/dist/components/navigation/Menubar/menubar.module.cjs +1 -1
- package/dist/components/navigation/Menubar/menubar.module.js +1 -1
- package/dist/components/navigation/Pagination/Pagination.cjs +1 -1
- package/dist/components/navigation/Pagination/Pagination.js +39 -38
- package/dist/components/navigation/SpeedDial/SpeedDial.cjs +1 -1
- package/dist/components/navigation/SpeedDial/SpeedDial.js +50 -47
- package/dist/components/navigation/TabBar/tab-bar.module.cjs +1 -1
- package/dist/components/navigation/TabBar/tab-bar.module.js +1 -1
- package/dist/components/navigation/TabNavigation/tab-navigation.module.cjs +1 -1
- package/dist/components/navigation/TabNavigation/tab-navigation.module.js +1 -1
- package/dist/components/navigation/Tabs/tabs.module.cjs +1 -1
- package/dist/components/navigation/Tabs/tabs.module.js +1 -1
- package/dist/components/overlay/ContextMenu/ContextMenu.cjs +1 -1
- package/dist/components/overlay/ContextMenu/ContextMenu.js +4 -4
- package/dist/components/overlay/Popover/Popover.cjs +1 -1
- package/dist/components/overlay/Popover/Popover.js +63 -62
- package/dist/components/typography/Spoiler/Spoiler.cjs +1 -1
- package/dist/components/typography/Spoiler/Spoiler.js +38 -37
- package/dist/components/typography/Spoiler/spoiler.module.cjs +1 -1
- package/dist/components/typography/Spoiler/spoiler.module.js +1 -1
- package/dist/i18n/generated/common.cjs +2 -0
- package/dist/i18n/generated/common.d.ts +3 -0
- package/dist/i18n/generated/common.js +570 -0
- package/dist/i18n/generated/components.cjs +2 -0
- package/dist/i18n/generated/components.d.ts +3 -0
- package/dist/i18n/generated/components.js +399 -0
- package/dist/i18n/generated/data-display.cjs +2 -0
- package/dist/i18n/generated/data-display.d.ts +3 -0
- package/dist/i18n/generated/data-display.js +12 -0
- package/dist/i18n/generated/form.cjs +2 -0
- package/dist/i18n/generated/form.d.ts +3 -0
- package/dist/i18n/generated/form.js +321 -0
- package/dist/i18n/generated/keys.d.ts +5 -1
- package/dist/i18n/generated/locales.cjs +2 -0
- package/dist/i18n/generated/locales.d.ts +1 -0
- package/dist/i18n/generated/locales.js +9 -0
- package/dist/i18n/instance.cjs +1 -1
- package/dist/i18n/instance.d.ts +18 -3
- package/dist/i18n/instance.js +24 -26
- package/dist/i18n/useWimTranslation.cjs +1 -1
- package/dist/i18n/useWimTranslation.d.ts +7 -8
- package/dist/i18n/useWimTranslation.js +6 -5
- package/dist/llms-full.txt +7 -3
- package/dist/llms.txt +1 -1
- package/dist/locales/en/common.json +1 -1
- package/dist/locales/ja/common.json +1 -1
- package/dist/locales/pt/common.json +1 -1
- package/dist/styles.css +1 -1
- package/dist/wimui.umd.css +1 -1
- package/dist/wimui.umd.js +5 -5
- package/package.json +10 -10
- package/dist/i18n/generated/resources.cjs +0 -2
- package/dist/i18n/generated/resources.d.ts +0 -4
- package/dist/i18n/generated/resources.js +0 -1283
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useWimTranslation as e } from "../../../i18n/useWimTranslation.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import l from "
|
|
12
|
-
import
|
|
13
|
-
import {
|
|
14
|
-
import h from "
|
|
15
|
-
import
|
|
3
|
+
import { componentsNs as t } from "../../../i18n/generated/components.js";
|
|
4
|
+
import { Button as n } from "../Button/Button.js";
|
|
5
|
+
import { Input as r } from "../Input/Input.js";
|
|
6
|
+
import { DatePicker as i } from "../DatePicker/DatePicker.js";
|
|
7
|
+
import { NumberInput as a } from "../NumberInput/NumberInput.js";
|
|
8
|
+
import { SegmentedControl as o } from "../SegmentedControl/SegmentedControl.js";
|
|
9
|
+
import { Select as s } from "../Select/Select.js";
|
|
10
|
+
import { Switch as c } from "../Switch/Switch.js";
|
|
11
|
+
import { IconButton as l } from "../IconButton/IconButton.js";
|
|
12
|
+
import u from "./querybuilder.module.js";
|
|
13
|
+
import { warnUnknownOperator as d } from "./warn-unknown-operator.js";
|
|
14
|
+
import { useCallback as f, useId as p, useRef as m, useState as h } from "react";
|
|
15
|
+
import g from "classnames";
|
|
16
|
+
import { jsx as _, jsxs as v } from "react/jsx-runtime";
|
|
16
17
|
//#region src/components/form/QueryBuilder/QueryBuilder.tsx
|
|
17
|
-
var
|
|
18
|
+
var y = 0, b = () => typeof window < "u" && window.__VRT__ ? (y += 1, `vrt-id-${y}`) : Math.random().toString(36).substring(2, 11), x = {
|
|
18
19
|
string: [
|
|
19
20
|
{
|
|
20
21
|
value: "=",
|
|
@@ -131,19 +132,19 @@ var v = 0, y = () => typeof window < "u" && window.__VRT__ ? (v += 1, `vrt-id-${
|
|
|
131
132
|
key: "is_not_null"
|
|
132
133
|
}
|
|
133
134
|
]
|
|
134
|
-
},
|
|
135
|
-
let { t: E } = e(
|
|
136
|
-
id:
|
|
135
|
+
}, S = ({ fields: y, query: S, defaultQuery: C, onChange: w, maxDepth: ee = 3, className: te, id: ne, labels: T = {} }) => {
|
|
136
|
+
let { t: E } = e(t), { ruleAdded: D = E("query.builder.rule_added"), groupAdded: O = E("query.builder.group_added"), removed: k = E("query.builder.removed"), ruleAriaLabel: A = E("query.builder.rule"), fieldAriaLabel: j = E("query.builder.field"), operatorAriaLabel: M = E("query.builder.operator"), valueAriaLabel: N = E("query.builder.value"), trueLabel: P = E("query.builder.true"), falseLabel: F = E("query.builder.false"), removeRuleAriaLabel: I = E("query.builder.remove_rule"), removeGroupAriaLabel: L = E("query.builder.remove_group"), addRuleLabel: R = E("query.builder.add_rule"), addGroupLabel: z = E("query.builder.add_group"), regionAriaLabel: B = E("query.builder.region_label"), combinatorAriaLabel: V = E("query.builder.combinator"), operators: H = {} } = T, U = p(), W = ne || `wim-qb-${U}`, G = m(null), [K, q] = h(C || {
|
|
137
|
+
id: b(),
|
|
137
138
|
combinator: "and",
|
|
138
139
|
not: !1,
|
|
139
140
|
rules: []
|
|
140
|
-
}), J =
|
|
141
|
+
}), J = S === void 0 ? K : S, Y = f((e) => {
|
|
141
142
|
G.current && (G.current.textContent = "", setTimeout(() => {
|
|
142
143
|
G.current && (G.current.textContent = e);
|
|
143
144
|
}, 50));
|
|
144
|
-
}, []), X =
|
|
145
|
-
|
|
146
|
-
}, [
|
|
145
|
+
}, []), X = f((e) => {
|
|
146
|
+
S === void 0 && q(e), w?.(e);
|
|
147
|
+
}, [S, w]), Z = (e, t) => {
|
|
147
148
|
let n = (r) => r.id === e ? {
|
|
148
149
|
...r,
|
|
149
150
|
...t
|
|
@@ -155,9 +156,9 @@ var v = 0, y = () => typeof window < "u" && window.__VRT__ ? (v += 1, `vrt-id-${
|
|
|
155
156
|
} : "rules" in r ? n(r) : r)
|
|
156
157
|
};
|
|
157
158
|
X(n(J));
|
|
158
|
-
},
|
|
159
|
-
let t =
|
|
160
|
-
id:
|
|
159
|
+
}, re = (e) => {
|
|
160
|
+
let t = y[0], n = {
|
|
161
|
+
id: b(),
|
|
161
162
|
field: t?.name || "",
|
|
162
163
|
operator: "=",
|
|
163
164
|
value: t?.type !== "boolean" && ""
|
|
@@ -169,9 +170,9 @@ var v = 0, y = () => typeof window < "u" && window.__VRT__ ? (v += 1, `vrt-id-${
|
|
|
169
170
|
rules: t.rules.map((e) => "rules" in e ? r(e) : e)
|
|
170
171
|
};
|
|
171
172
|
X(r(J)), Y(D);
|
|
172
|
-
},
|
|
173
|
+
}, ie = (e) => {
|
|
173
174
|
let t = {
|
|
174
|
-
id:
|
|
175
|
+
id: b(),
|
|
175
176
|
combinator: "and",
|
|
176
177
|
not: !1,
|
|
177
178
|
rules: []
|
|
@@ -189,18 +190,18 @@ var v = 0, y = () => typeof window < "u" && window.__VRT__ ? (v += 1, `vrt-id-${
|
|
|
189
190
|
rules: n.rules.filter((t) => t.id !== e).map((e) => "rules" in e ? t(e) : e)
|
|
190
191
|
});
|
|
191
192
|
X(t(J)), Y(k);
|
|
192
|
-
}, $ = (e,
|
|
193
|
+
}, $ = (e, t, r) => {
|
|
193
194
|
let i = `${e.combinator.toUpperCase()} group`;
|
|
194
|
-
return /* @__PURE__ */
|
|
195
|
+
return /* @__PURE__ */ v("div", {
|
|
195
196
|
role: "group",
|
|
196
197
|
"aria-label": i,
|
|
197
|
-
className:
|
|
198
|
+
className: g(u.group, t > 0 && u.nested, r && u.excluded),
|
|
198
199
|
children: [
|
|
199
|
-
/* @__PURE__ */
|
|
200
|
-
className:
|
|
201
|
-
children: [/* @__PURE__ */
|
|
202
|
-
className:
|
|
203
|
-
children: [/* @__PURE__ */
|
|
200
|
+
/* @__PURE__ */ v("div", {
|
|
201
|
+
className: u.groupHeader,
|
|
202
|
+
children: [/* @__PURE__ */ v("div", {
|
|
203
|
+
className: u.groupHeaderLeft,
|
|
204
|
+
children: [/* @__PURE__ */ _(o, {
|
|
204
205
|
size: "md",
|
|
205
206
|
options: [{
|
|
206
207
|
label: "AND",
|
|
@@ -213,88 +214,88 @@ var v = 0, y = () => typeof window < "u" && window.__VRT__ ? (v += 1, `vrt-id-${
|
|
|
213
214
|
onChange: (t) => Z(e.id, { combinator: t }),
|
|
214
215
|
"aria-label": V,
|
|
215
216
|
styles: {
|
|
216
|
-
root:
|
|
217
|
-
item:
|
|
218
|
-
slider:
|
|
217
|
+
root: u.segmentedControl,
|
|
218
|
+
item: u.segmentedControlItem,
|
|
219
|
+
slider: u.segmentedControlSlider
|
|
219
220
|
}
|
|
220
|
-
}), /* @__PURE__ */
|
|
221
|
+
}), /* @__PURE__ */ _(c, {
|
|
221
222
|
size: "md",
|
|
222
223
|
checked: e.not,
|
|
223
224
|
onChange: (t) => Z(e.id, { not: t.target.checked }),
|
|
224
225
|
children: "NOT"
|
|
225
226
|
})]
|
|
226
|
-
}),
|
|
227
|
+
}), t > 0 && /* @__PURE__ */ _(l, {
|
|
227
228
|
iconName: "TrashIcon",
|
|
228
229
|
"aria-label": L,
|
|
229
230
|
variant: "ghost",
|
|
230
231
|
size: "md",
|
|
231
232
|
intent: "danger",
|
|
232
233
|
onClick: () => Q(e.id),
|
|
233
|
-
className:
|
|
234
|
+
className: u.removeGroup
|
|
234
235
|
})]
|
|
235
236
|
}),
|
|
236
|
-
/* @__PURE__ */ g("div", {
|
|
237
|
-
className: l.ruleList,
|
|
238
|
-
children: e.rules.map((e) => "rules" in e ? $(e, n + 1, r) : ie(e))
|
|
239
|
-
}),
|
|
240
237
|
/* @__PURE__ */ _("div", {
|
|
241
|
-
className:
|
|
242
|
-
children:
|
|
238
|
+
className: u.ruleList,
|
|
239
|
+
children: e.rules.map((e) => "rules" in e ? $(e, t + 1, r) : ae(e))
|
|
240
|
+
}),
|
|
241
|
+
/* @__PURE__ */ v("div", {
|
|
242
|
+
className: u.groupActions,
|
|
243
|
+
children: [/* @__PURE__ */ _(n, {
|
|
243
244
|
size: "md",
|
|
244
245
|
variant: "ghost",
|
|
245
246
|
icon: "PlusIcon",
|
|
246
|
-
onClick: () =>
|
|
247
|
+
onClick: () => re(e.id),
|
|
247
248
|
children: R
|
|
248
|
-
}),
|
|
249
|
+
}), t < ee && /* @__PURE__ */ _(n, {
|
|
249
250
|
size: "md",
|
|
250
251
|
variant: "ghost",
|
|
251
252
|
icon: "PlusIcon",
|
|
252
|
-
onClick: () =>
|
|
253
|
+
onClick: () => ie(e.id),
|
|
253
254
|
children: z
|
|
254
255
|
})]
|
|
255
256
|
})
|
|
256
257
|
]
|
|
257
258
|
}, e.id);
|
|
258
|
-
},
|
|
259
|
-
let t =
|
|
259
|
+
}, ae = (e) => {
|
|
260
|
+
let t = y.find((t) => t.name === e.field)?.type || "string", n = x[t].map((e) => ({
|
|
260
261
|
...e,
|
|
261
262
|
label: H[e.key] || E(`query.builder.operators.${e.key}`)
|
|
262
|
-
})),
|
|
263
|
-
let n =
|
|
263
|
+
})), o = (t) => {
|
|
264
|
+
let n = y.find((e) => e.name === t);
|
|
264
265
|
Z(e.id, {
|
|
265
266
|
field: t,
|
|
266
267
|
operator: "=",
|
|
267
268
|
value: n?.type !== "boolean" && ""
|
|
268
269
|
});
|
|
269
270
|
};
|
|
270
|
-
|
|
271
|
-
let
|
|
272
|
-
return /* @__PURE__ */
|
|
273
|
-
className:
|
|
271
|
+
n.some((t) => t.value === e.operator) || d(e.operator, t, n.map((e) => e.value));
|
|
272
|
+
let c = e.operator === "is_null" || e.operator === "is_not_null";
|
|
273
|
+
return /* @__PURE__ */ _("div", {
|
|
274
|
+
className: u.rule,
|
|
274
275
|
role: "group",
|
|
275
276
|
"aria-label": A,
|
|
276
|
-
children: /* @__PURE__ */
|
|
277
|
-
className:
|
|
277
|
+
children: /* @__PURE__ */ v("div", {
|
|
278
|
+
className: u.ruleFields,
|
|
278
279
|
children: [
|
|
279
|
-
/* @__PURE__ */
|
|
280
|
-
className:
|
|
281
|
-
options:
|
|
280
|
+
/* @__PURE__ */ _(s, {
|
|
281
|
+
className: u.field,
|
|
282
|
+
options: y.map((e) => ({
|
|
282
283
|
label: e.label,
|
|
283
284
|
value: e.name
|
|
284
285
|
})),
|
|
285
286
|
value: e.field,
|
|
286
|
-
onChange:
|
|
287
|
+
onChange: o,
|
|
287
288
|
"aria-label": j,
|
|
288
289
|
fullWidth: !0,
|
|
289
290
|
styles: {
|
|
290
|
-
root:
|
|
291
|
-
trigger:
|
|
292
|
-
inputBase: { root:
|
|
291
|
+
root: u.select,
|
|
292
|
+
trigger: u.selectTrigger,
|
|
293
|
+
inputBase: { root: u.inputBase }
|
|
293
294
|
}
|
|
294
295
|
}),
|
|
295
|
-
/* @__PURE__ */
|
|
296
|
-
className:
|
|
297
|
-
options:
|
|
296
|
+
/* @__PURE__ */ _(s, {
|
|
297
|
+
className: u.operator,
|
|
298
|
+
options: n.map((e) => ({
|
|
298
299
|
label: e.label,
|
|
299
300
|
value: e.value
|
|
300
301
|
})),
|
|
@@ -303,22 +304,22 @@ var v = 0, y = () => typeof window < "u" && window.__VRT__ ? (v += 1, `vrt-id-${
|
|
|
303
304
|
"aria-label": M,
|
|
304
305
|
fullWidth: !0,
|
|
305
306
|
styles: {
|
|
306
|
-
root:
|
|
307
|
-
trigger:
|
|
308
|
-
inputBase: { root:
|
|
307
|
+
root: u.select,
|
|
308
|
+
trigger: u.selectTrigger,
|
|
309
|
+
inputBase: { root: u.inputBase }
|
|
309
310
|
}
|
|
310
311
|
}),
|
|
311
|
-
!
|
|
312
|
-
className:
|
|
313
|
-
children: t === "number" ? /* @__PURE__ */
|
|
312
|
+
!c && /* @__PURE__ */ _("div", {
|
|
313
|
+
className: u.value,
|
|
314
|
+
children: t === "number" ? /* @__PURE__ */ _(a, {
|
|
314
315
|
value: typeof e.value == "boolean" ? void 0 : e.value ?? void 0,
|
|
315
316
|
onChange: (t) => Z(e.id, { value: t.target.value }),
|
|
316
317
|
"aria-label": N
|
|
317
|
-
}) : t === "date" ? /* @__PURE__ */
|
|
318
|
+
}) : t === "date" ? /* @__PURE__ */ _(i, {
|
|
318
319
|
value: typeof e.value == "string" || typeof e.value == "number" ? new Date(e.value) : void 0,
|
|
319
320
|
onChange: (t) => Z(e.id, { value: t ? t.toISOString() : "" }),
|
|
320
321
|
"aria-label": N
|
|
321
|
-
}) : t === "boolean" ? /* @__PURE__ */
|
|
322
|
+
}) : t === "boolean" ? /* @__PURE__ */ _(s, {
|
|
322
323
|
options: [{
|
|
323
324
|
label: P,
|
|
324
325
|
value: "true"
|
|
@@ -331,42 +332,42 @@ var v = 0, y = () => typeof window < "u" && window.__VRT__ ? (v += 1, `vrt-id-${
|
|
|
331
332
|
"aria-label": N,
|
|
332
333
|
fullWidth: !0,
|
|
333
334
|
styles: {
|
|
334
|
-
root:
|
|
335
|
-
trigger:
|
|
336
|
-
inputBase: { root:
|
|
335
|
+
root: u.select,
|
|
336
|
+
trigger: u.selectTrigger,
|
|
337
|
+
inputBase: { root: u.inputBase }
|
|
337
338
|
}
|
|
338
|
-
}) : /* @__PURE__ */
|
|
339
|
+
}) : /* @__PURE__ */ _(r, {
|
|
339
340
|
value: typeof e.value == "boolean" ? void 0 : e.value ?? void 0,
|
|
340
341
|
onChange: (t) => Z(e.id, { value: t.target.value }),
|
|
341
342
|
"aria-label": N,
|
|
342
|
-
styles: { root:
|
|
343
|
+
styles: { root: u.inputBase }
|
|
343
344
|
})
|
|
344
345
|
}),
|
|
345
|
-
/* @__PURE__ */
|
|
346
|
+
/* @__PURE__ */ _(l, {
|
|
346
347
|
iconName: "TrashIcon",
|
|
347
348
|
"aria-label": I,
|
|
348
349
|
variant: "ghost",
|
|
349
350
|
size: "md",
|
|
350
351
|
intent: "danger",
|
|
351
352
|
onClick: () => Q(e.id),
|
|
352
|
-
className:
|
|
353
|
+
className: u.removeRule
|
|
353
354
|
})
|
|
354
355
|
]
|
|
355
356
|
})
|
|
356
357
|
}, e.id);
|
|
357
358
|
};
|
|
358
|
-
return /* @__PURE__ */
|
|
359
|
+
return /* @__PURE__ */ v("div", {
|
|
359
360
|
id: W,
|
|
360
361
|
role: "region",
|
|
361
362
|
"aria-label": B,
|
|
362
|
-
className:
|
|
363
|
-
children: [/* @__PURE__ */
|
|
363
|
+
className: g("wim-query-builder", u.root, te),
|
|
364
|
+
children: [/* @__PURE__ */ _("div", {
|
|
364
365
|
ref: G,
|
|
365
366
|
"aria-live": "polite",
|
|
366
367
|
"aria-atomic": "true",
|
|
367
|
-
className:
|
|
368
|
+
className: u.srOnly
|
|
368
369
|
}), $(J, 0, !1)]
|
|
369
370
|
});
|
|
370
371
|
};
|
|
371
372
|
//#endregion
|
|
372
|
-
export {
|
|
373
|
+
export { S as QueryBuilder };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../node_modules/@radix-ui/react-slot/dist/index.cjs"),n=require("../../../i18n/useWimTranslation.cjs"),r=require("../FieldTemplate/FieldTemplate.cjs"),
|
|
2
|
+
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../node_modules/@radix-ui/react-slot/dist/index.cjs"),n=require("../../../i18n/useWimTranslation.cjs"),r=require("../../../i18n/generated/common.cjs"),i=require("../FieldTemplate/FieldTemplate.cjs"),a=require("../../../utilities/slider-utils.cjs"),o=require("./range-slider.module.cjs");let s=require("react");s=e.__toESM(s,1);let c=require("classnames");c=e.__toESM(c,1);let l=require("react/jsx-runtime");var u=({value:e,defaultValue:u=[20,80],min:d=0,max:f=100,step:p=1,allowCross:m=!1,disabled:h=!1,onChange:g,onAfterChange:_,className:v,name:y,label:b,error:x,required:ee,layout:te=`vertical`,id:ne,"aria-label":S,"aria-labelledby":C,asChild:re=!1,children:ie,...ae})=>{let{t:w}=n.useWimTranslation(r.commonNs),T=e!==void 0,oe=(0,s.useId)(),E=ne||oe,D=`wim-range-slider-label-${E}`,O=`wim-range-slider-error-${E}`,{clamp:k,calculateValue:A}=a.useSliderCommon(d,f,p),j=[k(u[0],d,f),k(u[1],d,f)];j[0]>j[1]&&j.sort((e,t)=>e-t);let[M,N]=(0,s.useState)(j),P=T?e:M,F=(0,s.useRef)(null),I=(0,s.useRef)(null),L=(0,s.useRef)(null),R=(0,s.useRef)(null),z=(0,s.useRef)(null),B=(0,s.useRef)(null),[V,H]=(0,s.useState)(null),U=(0,s.useRef)(null),W=(0,s.useRef)([...P]),G=(0,s.useCallback)(e=>(e-d)/(f-d)*100,[d,f]),K=(0,s.useCallback)(e=>{let t=G(e[0]),n=G(e[1]);I.current&&(I.current.style.left=`${t}%`,I.current.setAttribute(`aria-valuenow`,String(e[0])),I.current.setAttribute(`aria-valuemax`,String(e[1]))),L.current&&(L.current.style.left=`${n}%`,L.current.setAttribute(`aria-valuenow`,String(e[1])),L.current.setAttribute(`aria-valuemin`,String(e[0]))),R.current&&(R.current.style.left=`${t}%`,R.current.style.width=`${n-t}%`),z.current&&(z.current.value=String(e[0])),B.current&&(B.current.value=String(e[1]))},[G]);(0,s.useEffect)(()=>{V||K(P)},[P,V,K]);let q=(e,t)=>{h||(W.current=[...P],U.current=t,H(t),e.stopPropagation(),e.preventDefault())},J=e=>{if(h)return;let t=`touches`in e?e.touches[0].clientX:e.clientX,n=A(t,F.current),r=Math.abs(P[0]-n),i=Math.abs(P[1]-n),a;a=r<i?`min`:i<r?`max`:n<P[0]?`min`:`max`,U.current=a,H(a);let o=[...W.current];a===`min`?o[0]=Math.min(n,m?f:o[1]):o[1]=Math.max(n,m?d:o[0]),W.current=o,K(o),g?.(o)},Y=(0,s.useCallback)(e=>{if(!U.current||h)return;let t=`touches`in e?e.touches[0].clientX:e.clientX,n=A(t,F.current),r=[...W.current];U.current===`min`?r[0]=Math.min(n,m?f:r[1]):r[1]=Math.max(n,m?d:r[0]),W.current=r,K(r),g?.(r)},[h,g,m,A,d,f,K]),X=(0,s.useCallback)(()=>{if(U.current){U.current=null,H(null);let e=W.current;T||N([...e]),_?.(e)}},[T,_]);(0,s.useEffect)(()=>(document.addEventListener(`mousemove`,Y),document.addEventListener(`mouseup`,X),document.addEventListener(`touchmove`,Y,{passive:!1}),document.addEventListener(`touchend`,X),()=>{document.removeEventListener(`mousemove`,Y),document.removeEventListener(`mouseup`,X),document.removeEventListener(`touchmove`,Y),document.removeEventListener(`touchend`,X)}),[Y,X]);let Z=(e,t)=>{if(h)return;let n=[...P],r=t===`min`?n[0]:n[1],i;if(e.key===`ArrowLeft`||e.key===`ArrowDown`)i=Math.max(d,r-p);else if(e.key===`ArrowRight`||e.key===`ArrowUp`)i=Math.min(f,r+p);else if(e.key===`Home`)i=d;else if(e.key===`End`)i=f;else return;if(t===`min`){let e=m?f:n[1];n[0]=Math.min(i,e)}else{let e=m?d:n[0];n[1]=Math.max(i,e)}T||N(n),g?.(n),e.preventDefault()},Q=G(P[0]),$=G(P[1]);return(0,l.jsx)(i.FieldTemplate,{label:b,error:x,required:ee,layout:te,labelId:D,errorId:O,className:v,children:(0,l.jsxs)(re?t.Root:`div`,{role:`presentation`,"data-testid":`range-slider-root`,className:(0,c.default)(`wim-range-slider`,o.default.root,h&&o.default.disabled,x&&o.default.danger),onMouseDown:J,onTouchStart:J,...ae,children:[(0,l.jsxs)(`div`,{className:o.default.trackContainer,ref:F,children:[(0,l.jsx)(`div`,{ref:R,className:o.default.track,style:{left:`${Q}%`,width:`${$-Q}%`}}),(0,l.jsx)(`div`,{ref:I,className:(0,c.default)(o.default.thumb,V===`min`&&o.default.active),style:{left:`${Q}%`},role:`slider`,"aria-valuemin":d,"aria-valuemax":P[1],"aria-valuenow":P[0],"aria-disabled":h,"aria-labelledby":b?D:C,"aria-label":b?w(`rangeSlider.start_of`,{label:b}):S||w(`rangeSlider.start`),"aria-describedby":x?O:void 0,"aria-invalid":x?!0:void 0,tabIndex:h?-1:0,onMouseDown:e=>q(e,`min`),onTouchStart:e=>q(e,`min`),onKeyDown:e=>Z(e,`min`)}),(0,l.jsx)(`div`,{ref:L,className:(0,c.default)(o.default.thumb,V===`max`&&o.default.active),style:{left:`${$}%`},role:`slider`,"aria-valuemin":P[0],"aria-valuemax":f,"aria-valuenow":P[1],"aria-disabled":h,"aria-labelledby":b?D:C,"aria-label":b?w(`rangeSlider.end_of`,{label:b}):S||w(`rangeSlider.end`),"aria-describedby":x?O:void 0,"aria-invalid":x?!0:void 0,tabIndex:h?-1:0,onMouseDown:e=>q(e,`max`),onTouchStart:e=>q(e,`max`),onKeyDown:e=>Z(e,`max`)})]}),(0,l.jsx)(`input`,{ref:z,type:`hidden`,name:y?`${y}-min`:``,value:P[0]}),(0,l.jsx)(`input`,{ref:B,type:`hidden`,name:y?`${y}-max`:``,value:P[1]}),(0,l.jsx)(t.Slottable,{children:ie})]})})};u.displayName=`RangeSlider`,exports.RangeSlider=u;
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { Root as e, Slottable as t } from "../../../node_modules/@radix-ui/react-slot/dist/index.js";
|
|
3
3
|
import { useWimTranslation as n } from "../../../i18n/useWimTranslation.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import a from "
|
|
7
|
-
import
|
|
4
|
+
import { commonNs as r } from "../../../i18n/generated/common.js";
|
|
5
|
+
import { FieldTemplate as i } from "../FieldTemplate/FieldTemplate.js";
|
|
6
|
+
import { useSliderCommon as a } from "../../../utilities/slider-utils.js";
|
|
7
|
+
import o from "./range-slider.module.js";
|
|
8
|
+
import { useCallback as s, useEffect as ee, useId as te, useRef as c, useState as l } from "react";
|
|
8
9
|
import u from "classnames";
|
|
9
10
|
import { jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
10
11
|
//#region src/components/form/RangeSlider/RangeSlider.tsx
|
|
11
|
-
var p = ({ value: p, defaultValue: m = [20, 80], min: h = 0, max: g = 100, step: _ = 1, allowCross: v = !1, disabled: y = !1, onChange: b, onAfterChange: x, className:
|
|
12
|
-
let { t: D } = n(
|
|
12
|
+
var p = ({ value: p, defaultValue: m = [20, 80], min: h = 0, max: g = 100, step: _ = 1, allowCross: v = !1, disabled: y = !1, onChange: b, onAfterChange: x, className: ne, name: S, label: C, error: w, required: re, layout: ie = "vertical", id: ae, "aria-label": T, "aria-labelledby": E, asChild: oe = !1, children: se, ...ce }) => {
|
|
13
|
+
let { t: D } = n(r), O = p !== void 0, le = te(), k = ae || le, A = `wim-range-slider-label-${k}`, j = `wim-range-slider-error-${k}`, { clamp: M, calculateValue: N } = a(h, g, _), P = [M(m[0], h, g), M(m[1], h, g)];
|
|
13
14
|
P[0] > P[1] && P.sort((e, t) => e - t);
|
|
14
|
-
let [
|
|
15
|
+
let [ue, F] = l(P), I = O ? p : ue, L = c(null), R = c(null), z = c(null), B = c(null), V = c(null), H = c(null), [U, W] = l(null), G = c(null), K = c([...I]), q = s((e) => (e - h) / (g - h) * 100, [h, g]), J = s((e) => {
|
|
15
16
|
let t = q(e[0]), n = q(e[1]);
|
|
16
17
|
R.current && (R.current.style.left = `${t}%`, R.current.setAttribute("aria-valuenow", String(e[0])), R.current.setAttribute("aria-valuemax", String(e[1]))), z.current && (z.current.style.left = `${n}%`, z.current.setAttribute("aria-valuenow", String(e[1])), z.current.setAttribute("aria-valuemin", String(e[0]))), B.current && (B.current.style.left = `${t}%`, B.current.style.width = `${n - t}%`), V.current && (V.current.value = String(e[0])), H.current && (H.current.value = String(e[1]));
|
|
17
18
|
}, [q]);
|
|
18
|
-
|
|
19
|
+
ee(() => {
|
|
19
20
|
U || J(I);
|
|
20
21
|
}, [
|
|
21
22
|
I,
|
|
@@ -30,7 +31,7 @@ var p = ({ value: p, defaultValue: m = [20, 80], min: h = 0, max: g = 100, step:
|
|
|
30
31
|
a = r < i ? "min" : i < r ? "max" : n < I[0] ? "min" : "max", G.current = a, W(a);
|
|
31
32
|
let o = [...K.current];
|
|
32
33
|
a === "min" ? o[0] = Math.min(n, v ? g : o[1]) : o[1] = Math.max(n, v ? h : o[0]), K.current = o, J(o), b?.(o);
|
|
33
|
-
}, Z =
|
|
34
|
+
}, Z = s((e) => {
|
|
34
35
|
if (!G.current || y) return;
|
|
35
36
|
let t = "touches" in e ? e.touches[0].clientX : e.clientX, n = N(t, L.current), r = [...K.current];
|
|
36
37
|
G.current === "min" ? r[0] = Math.min(n, v ? g : r[1]) : r[1] = Math.max(n, v ? h : r[0]), K.current = r, J(r), b?.(r);
|
|
@@ -42,17 +43,17 @@ var p = ({ value: p, defaultValue: m = [20, 80], min: h = 0, max: g = 100, step:
|
|
|
42
43
|
h,
|
|
43
44
|
g,
|
|
44
45
|
J
|
|
45
|
-
]), Q =
|
|
46
|
+
]), Q = s(() => {
|
|
46
47
|
if (G.current) {
|
|
47
48
|
G.current = null, W(null);
|
|
48
49
|
let e = K.current;
|
|
49
50
|
O || F([...e]), x?.(e);
|
|
50
51
|
}
|
|
51
52
|
}, [O, x]);
|
|
52
|
-
|
|
53
|
+
ee(() => (document.addEventListener("mousemove", Z), document.addEventListener("mouseup", Q), document.addEventListener("touchmove", Z, { passive: !1 }), document.addEventListener("touchend", Q), () => {
|
|
53
54
|
document.removeEventListener("mousemove", Z), document.removeEventListener("mouseup", Q), document.removeEventListener("touchmove", Z), document.removeEventListener("touchend", Q);
|
|
54
55
|
}), [Z, Q]);
|
|
55
|
-
let
|
|
56
|
+
let de = (e, t) => {
|
|
56
57
|
if (y) return;
|
|
57
58
|
let n = [...I], r = t === "min" ? n[0] : n[1], i;
|
|
58
59
|
if (e.key === "ArrowLeft" || e.key === "ArrowDown") i = Math.max(h, r - _);
|
|
@@ -68,38 +69,38 @@ var p = ({ value: p, defaultValue: m = [20, 80], min: h = 0, max: g = 100, step:
|
|
|
68
69
|
n[1] = Math.max(i, e);
|
|
69
70
|
}
|
|
70
71
|
O || F(n), b?.(n), e.preventDefault();
|
|
71
|
-
}, $ = q(I[0]),
|
|
72
|
-
return /* @__PURE__ */ d(
|
|
72
|
+
}, $ = q(I[0]), fe = q(I[1]);
|
|
73
|
+
return /* @__PURE__ */ d(i, {
|
|
73
74
|
label: C,
|
|
74
75
|
error: w,
|
|
75
|
-
required:
|
|
76
|
-
layout:
|
|
76
|
+
required: re,
|
|
77
|
+
layout: ie,
|
|
77
78
|
labelId: A,
|
|
78
79
|
errorId: j,
|
|
79
|
-
className:
|
|
80
|
-
children: /* @__PURE__ */ f(
|
|
80
|
+
className: ne,
|
|
81
|
+
children: /* @__PURE__ */ f(oe ? e : "div", {
|
|
81
82
|
role: "presentation",
|
|
82
83
|
"data-testid": "range-slider-root",
|
|
83
|
-
className: u("wim-range-slider",
|
|
84
|
+
className: u("wim-range-slider", o.root, y && o.disabled, w && o.danger),
|
|
84
85
|
onMouseDown: X,
|
|
85
86
|
onTouchStart: X,
|
|
86
|
-
...
|
|
87
|
+
...ce,
|
|
87
88
|
children: [
|
|
88
89
|
/* @__PURE__ */ f("div", {
|
|
89
|
-
className:
|
|
90
|
+
className: o.trackContainer,
|
|
90
91
|
ref: L,
|
|
91
92
|
children: [
|
|
92
93
|
/* @__PURE__ */ d("div", {
|
|
93
94
|
ref: B,
|
|
94
|
-
className:
|
|
95
|
+
className: o.track,
|
|
95
96
|
style: {
|
|
96
97
|
left: `${$}%`,
|
|
97
|
-
width: `${
|
|
98
|
+
width: `${fe - $}%`
|
|
98
99
|
}
|
|
99
100
|
}),
|
|
100
101
|
/* @__PURE__ */ d("div", {
|
|
101
102
|
ref: R,
|
|
102
|
-
className: u(
|
|
103
|
+
className: u(o.thumb, U === "min" && o.active),
|
|
103
104
|
style: { left: `${$}%` },
|
|
104
105
|
role: "slider",
|
|
105
106
|
"aria-valuemin": h,
|
|
@@ -113,12 +114,12 @@ var p = ({ value: p, defaultValue: m = [20, 80], min: h = 0, max: g = 100, step:
|
|
|
113
114
|
tabIndex: y ? -1 : 0,
|
|
114
115
|
onMouseDown: (e) => Y(e, "min"),
|
|
115
116
|
onTouchStart: (e) => Y(e, "min"),
|
|
116
|
-
onKeyDown: (e) =>
|
|
117
|
+
onKeyDown: (e) => de(e, "min")
|
|
117
118
|
}),
|
|
118
119
|
/* @__PURE__ */ d("div", {
|
|
119
120
|
ref: z,
|
|
120
|
-
className: u(
|
|
121
|
-
style: { left: `${
|
|
121
|
+
className: u(o.thumb, U === "max" && o.active),
|
|
122
|
+
style: { left: `${fe}%` },
|
|
122
123
|
role: "slider",
|
|
123
124
|
"aria-valuemin": I[0],
|
|
124
125
|
"aria-valuemax": g,
|
|
@@ -131,7 +132,7 @@ var p = ({ value: p, defaultValue: m = [20, 80], min: h = 0, max: g = 100, step:
|
|
|
131
132
|
tabIndex: y ? -1 : 0,
|
|
132
133
|
onMouseDown: (e) => Y(e, "max"),
|
|
133
134
|
onTouchStart: (e) => Y(e, "max"),
|
|
134
|
-
onKeyDown: (e) =>
|
|
135
|
+
onKeyDown: (e) => de(e, "max")
|
|
135
136
|
})
|
|
136
137
|
]
|
|
137
138
|
}),
|
|
@@ -147,7 +148,7 @@ var p = ({ value: p, defaultValue: m = [20, 80], min: h = 0, max: g = 100, step:
|
|
|
147
148
|
name: S ? `${S}-max` : "",
|
|
148
149
|
value: I[1]
|
|
149
150
|
}),
|
|
150
|
-
/* @__PURE__ */ d(t, { children:
|
|
151
|
+
/* @__PURE__ */ d(t, { children: se })
|
|
151
152
|
]
|
|
152
153
|
})
|
|
153
154
|
});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
var e=`
|
|
2
|
+
var e=`_root_mt8ed_3`,t=`_sm_mt8ed_17`,n=`_md_mt8ed_21`,r=`_lg_mt8ed_25`,i=`_disabled_mt8ed_29`,a=`_star_mt8ed_32`,o=`_foreground_mt8ed_35`,s=`_full_mt8ed_58`,c=`_half_mt8ed_61`,l=`_background_mt8ed_64`,u=`_icon_mt8ed_67`,d={root:e,sm:t,md:n,lg:r,disabled:i,star:a,foreground:o,full:s,half:c,background:l,icon:u};exports.background=l,exports.default=d,exports.disabled=i,exports.foreground=o,exports.full=s,exports.half=c,exports.icon=u,exports.lg=r,exports.md=n,exports.root=e,exports.sm=t,exports.star=a;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
//#region src/components/form/Rating/rating.module.scss
|
|
3
|
-
var e = "
|
|
3
|
+
var e = "_root_mt8ed_3", t = "_sm_mt8ed_17", n = "_md_mt8ed_21", r = "_lg_mt8ed_25", i = "_disabled_mt8ed_29", a = "_star_mt8ed_32", o = "_foreground_mt8ed_35", s = "_full_mt8ed_58", c = "_half_mt8ed_61", l = "_background_mt8ed_64", u = "_icon_mt8ed_67", d = {
|
|
4
4
|
root: e,
|
|
5
5
|
sm: t,
|
|
6
6
|
md: n,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../../icon/bold.cjs"),r=require("../../../icon/eraser.cjs"),i=require("../../../icon/image.cjs"),a=require("../../../icon/italic.cjs"),o=require("../../../icon/link.cjs"),ee=require("../../../icon/list-ordered.cjs"),te=require("../../../icon/list.cjs"),ne=require("../../../icon/strikethrough.cjs"),re=require("../../../icon/underline.cjs"),ie=require("../../../icon/unlink.cjs"),s=require("../../media/Icon/Icon.cjs"),c=require("../Button/Button.cjs"),ae=require("../FieldTemplate/FieldTemplate.cjs"),l=require("../Input/Input.cjs"),u=require("../../overlay/Dialog/Dialog.cjs"),d=require("./safeUrl.cjs"),f=require("./markdown.cjs"),p=require("./rich-text-editor.module.cjs");let m=require("react");m=e.__toESM(m,1);let h=require("classnames");h=e.__toESM(h,1);let g=require("react/jsx-runtime"),_=require("@tiptap/react"),oe=require("@tiptap/core"),v=require("@tiptap/starter-kit"),y=require("@tiptap/extensions"),se=require("@tiptap/extension-image");var ce=[`bold`,`italic`,`underline`,`strikethrough`,`separator`,`h1`,`h2`,`h3`,`separator`,`ul`,`ol`,`separator`,`link`,`unlink`,`separator`,`removeFormat`],le=se.Image.extend({parseHTML(){return[{tag:`img[src]`,getAttrs:e=>d.isSafeImageUrl(e.getAttribute(`src`))?null:!1}]}}),ue=(e,t,n)=>[v.StarterKit.configure({heading:{levels:[1,2,3]},blockquote:!1,code:!1,codeBlock:!1,horizontalRule:!1,trailingNode:!1,...t===`markdown`?{underline:!1}:{},link:{openOnClick:!1,autolink:!1,linkOnPaste:!1,isAllowedUri:e=>d.isSafeLinkUrl(e),HTMLAttributes:{target:null,rel:null}}}),le.configure({inline:!1,allowBase64:!1}),y.Placeholder.configure({placeholder:e}),...t===`markdown`?f.createMarkdownExtensions(n):[]],de=(e,t)=>e.isEmpty?``:t===`markdown`?e.getMarkdown():e.getHTML(),fe=(e,t,n)=>n===`markdown`?f.markdownToHtml(e,t):t,pe=m.default.memo(({onClick:e,active:t,disabled:n,title:r,tabIndex:i,onFocus:a,buttonRef:o,children:ee})=>(0,g.jsx)(`button`,{ref:o,type:`button`,className:(0,h.default)(p.default.toolbarBtn,t&&p.default.active),onClick:e,onFocus:a,disabled:n,title:r,"aria-label":r,"aria-pressed":t,tabIndex:i,children:ee}));pe.displayName=`ToolbarButton`;var me=({value:e,defaultValue:f=``,onChange:v,placeholder:y,disabled:se,intent:le=`default`,variant:me=`outline`,fullWidth:b=!1,width:x,minHeight:S=200,label:C,error:w,required:T,layout:he,className:ge,id:_e,toolbar:E=ce,labels:ve={},"aria-label":ye,"aria-labelledby":D,onImageUpload:O,format:be=`html`})=>{let{t:k}=t.useWimTranslation(`components`),{bold:xe=k(`a11y.rte_bold`),italic:Se=k(`a11y.rte_italic`),underline:Ce=k(`a11y.rte_underline`),strikethrough:we=k(`a11y.rte_strikethrough`),h1:Te=k(`a11y.rte_h1`),h2:Ee=k(`a11y.rte_h2`),h3:De=k(`a11y.rte_h3`),ul:Oe=k(`a11y.rte_ul`),ol:ke=k(`a11y.rte_ol`),link:Ae=k(`a11y.rte_link`),unlink:je=k(`a11y.rte_unlink`),removeFormat:Me=k(`a11y.rte_remove_format`),toolbar:Ne=k(`a11y.rte_toolbar`),linkPrompt:Pe=k(`a11y.rte_link_prompt`),linkApply:Fe=k(`a11y.rte_link_apply`),linkCancel:Ie=k(`a11y.rte_link_cancel`),linkInvalid:Le=k(`a11y.rte_link_invalid`),image:Re=k(`a11y.rte_image`),imageUrl:ze=k(`a11y.rte_image_url`),imageAlt:Be=k(`a11y.rte_image_alt`),imageAltHint:Ve=k(`a11y.rte_image_alt_hint`),imageUpload:He=k(`a11y.rte_image_upload`),imageUploadFailed:A=k(`a11y.rte_image_upload_failed`),imageInvalid:Ue=k(`a11y.rte_image_invalid`)}=ve,We=m.default.useId(),j=_e||`wim-rte-${We}`,M=w?`${j}-error`:void 0,N=C?`${j}-label`:void 0,P=!!se,F=w?`danger`:le,Ge=typeof x==`string`&&[`xs`,`sm`,`md`,`lg`,`xl`].includes(x),Ke=x!==void 0&&!Ge&&!b,qe=Ge&&!b?x:void 0,Je=qe?p.default[`width${qe.charAt(0).toUpperCase()}${qe.slice(1)}`]:void 0,I=m.default.useRef(e??f),Ye=m.default.useRef(v);m.default.useEffect(()=>{Ye.current=v},[v]);let Xe=m.default.useMemo(()=>{let e={id:j,class:p.default.content,role:`textbox`,"aria-multiline":`true`,style:`min-height: ${typeof S==`number`?`${S}px`:S}`,tabindex:P?`-1`:`0`},t=ye??(C||D?void 0:k(`a11y.rte_editor`)),n=D??(C?N:void 0);return t&&(e[`aria-label`]=t),n&&(e[`aria-labelledby`]=n),F===`danger`&&(e[`aria-invalid`]=`true`),M&&(e[`aria-describedby`]=M),T&&(e[`aria-required`]=`true`),P&&(e[`aria-disabled`]=`true`),y&&(e[`aria-placeholder`]=y),e},[j,S,P,ye,C,D,N,F,M,T,y,k]),L=m.default.useRef(O);m.default.useEffect(()=>{L.current=O},[O]);let[Ze,Qe]=m.default.useState(void 0),$e=m.default.useRef(A);m.default.useEffect(()=>{$e.current=A},[A]);let R=m.default.useCallback(async(e,t,n)=>{let r=L.current;if(r){Qe(void 0);for(let i of t)try{let t=await r(i);if(!d.isSafeImageUrl(t))throw Error(`URL not allowed`);if(e.isDestroyed)return;let a=e.chain().focus();(n===void 0?a:a.setTextSelection(n)).setImage({src:t,alt:``}).run()}catch{Qe($e.current)}}},[]),et=e=>Array.from(e??[]).filter(e=>e.type.startsWith(`image/`)),z=m.default.useRef({ed:null}),tt=m.default.useCallback((e,t)=>{let n=et(t.clipboardData?.files),r=z.current.ed;return!L.current||n.length===0||!r?!1:(t.preventDefault(),R(r,n),!0)},[R]),nt=m.default.useCallback((e,t,n,r)=>{let i=et(t.dataTransfer?.files),a=z.current.ed;if(r||!L.current||i.length===0||!a)return!1;t.preventDefault();let o=e.posAtCoords({left:t.clientX,top:t.clientY});return R(a,i,o?.pos),!0},[R]),B=m.default.useMemo(()=>({attributes:Xe,handlePaste:tt,handleDrop:nt}),[Xe,tt,nt]),[V]=m.default.useState(be),rt=e??f,H=(0,_.useEditor)({extensions:ue(y??``,V,V===`markdown`?rt:void 0),content:V===`markdown`?``:rt,editable:!P,immediatelyRender:!1,editorProps:B,onUpdate:({editor:e})=>{let t=de(e,V);t!==I.current&&(I.current=t,Ye.current?.(t))}});m.default.useEffect(()=>{H&&!H.isDestroyed&&H.setOptions({editorProps:B})},[H,B]),m.default.useEffect(()=>{z.current.ed=H},[H]),m.default.useEffect(()=>{H&&!H.isDestroyed&&H.setEditable(!P,!1)},[H,P]),m.default.useEffect(()=>{if(!H||H.isDestroyed)return;let e=H.extensionManager.extensions.find(e=>e.name===`placeholder`);e&&e.options.placeholder!==(y??``)&&(e.options.placeholder=y??``,H.view.dispatch(H.state.tr))},[H,y]),m.default.useEffect(()=>{if(!H||H.isDestroyed||e===void 0||e===I.current||e===de(H,V))return;I.current=e;let t=(0,oe.createDocument)(fe(H,e,V),H.schema);t.eq(H.state.doc)||H.commands.setContent(t.toJSON(),{emitUpdate:!1})},[H,e,V]);let it=(0,_.useEditorState)({editor:H,selector:({editor:e})=>({bold:!!e?.isActive(`bold`),italic:!!e?.isActive(`italic`),underline:!!e?.schema.marks.underline&&e.isActive(`underline`),strikethrough:!!e?.isActive(`strike`),h1:!!e?.isActive(`heading`,{level:1}),h2:!!e?.isActive(`heading`,{level:2}),h3:!!e?.isActive(`heading`,{level:3}),ul:!!e?.isActive(`bulletList`),ol:!!e?.isActive(`orderedList`),image:!!e?.isActive(`image`)})}),U=m.default.useCallback(e=>{!P&&H&&e(H)},[H,P]),at=m.default.useCallback(()=>{U(e=>{let{from:t,to:n,empty:r}=e.state.selection,i=e.chain().focus();r&&i.selectAll(),i.unsetBold().unsetItalic().unsetStrike().clearNodes(),e.schema.marks.underline&&i.unsetUnderline(),r&&i.setTextSelection({from:t,to:n}),i.run()})},[U]),[ot,W]=m.default.useState(!1),[G,st]=m.default.useState(`https://`),[ct,K]=m.default.useState(void 0),lt=m.default.useCallback(()=>{if(P||!H)return;let{from:e,to:t}=H.state.selection,n=H.state.doc.textBetween(e,t,` `),r=H.getAttributes(`link`).href;st(r??(n.startsWith(`http`)?n:`https://`)),K(void 0),W(!0)},[H,P]),ut=m.default.useCallback(()=>{let e=G.trim();if(!e){W(!1);return}if(!d.isSafeLinkUrl(e)){K(Le);return}W(!1),U(t=>{t.state.selection.empty&&!t.isActive(`link`)?t.chain().focus().insertContent({type:`text`,text:e,marks:[{type:`link`,attrs:{href:e}}]}).run():t.chain().focus().extendMarkRange(`link`).setLink({href:e}).run()})},[G,Le,U]),[dt,q]=m.default.useState(!1),[J,Y]=m.default.useState(``),[X,ft]=m.default.useState(``),[pt,Z]=m.default.useState(void 0),[mt,ht]=m.default.useState(!1),gt=m.default.useRef(null),_t=`${j}-image-alt-hint`,vt=m.default.useCallback(()=>{if(P||!H)return;let e=H.isActive(`image`)?H.getAttributes(`image`):{};Y(e.src??``),ft(e.alt??``),Z(void 0),q(!0)},[H,P]),yt=m.default.useCallback(()=>{let e=J.trim();if(!e){q(!1);return}if(!d.isSafeImageUrl(e)){Z(Ue);return}q(!1),U(t=>t.chain().focus().setImage({src:e,alt:X.trim()}).run())},[J,X,Ue,U]),bt=m.default.useCallback(async e=>{let t=e.target.files?.[0];if(e.target.value=``,t&&O){ht(!0),Z(void 0);try{let e=await O(t);if(!d.isSafeImageUrl(e))throw Error(`URL not allowed`);Y(e)}catch{Z(A)}finally{ht(!1)}}},[O,A]),xt=m.default.useRef([]),[Q,St]=m.default.useState(0),$=m.default.useMemo(()=>{let e=V===`markdown`?E.filter(e=>e!==`underline`):E;return e.filter((t,n)=>t!==`separator`||n>0&&n<e.length-1&&e[n-1]!==`separator`)},[E,V]),Ct=m.default.useMemo(()=>$.filter(e=>e!==`separator`),[$]),wt=m.default.useMemo(()=>$.map((e,t)=>e===`separator`?-1:$.slice(0,t).filter(e=>e!==`separator`).length),[$]),Tt=m.default.useCallback(e=>{let t=Ct.length;if(t===0)return;let n;e.key===`ArrowRight`?n=(Q+1)%t:e.key===`ArrowLeft`?n=(Q-1+t)%t:e.key===`Home`?n=0:e.key===`End`&&(n=t-1),n!==void 0&&(e.preventDefault(),St(n),xt.current[n]?.focus())},[Ct.length,Q]),Et=m.default.useCallback(e=>{e.preventDefault()},[]),Dt={bold:{title:xe,icon:(0,g.jsx)(s.Icon,{component:n.default,size:`sm`}),onClick:()=>U(e=>e.chain().focus().toggleBold().run())},italic:{title:Se,icon:(0,g.jsx)(s.Icon,{component:a.default,size:`sm`}),onClick:()=>U(e=>e.chain().focus().toggleItalic().run())},underline:{title:Ce,icon:(0,g.jsx)(s.Icon,{component:re.default,size:`sm`}),onClick:()=>U(e=>e.chain().focus().toggleUnderline().run())},strikethrough:{title:we,icon:(0,g.jsx)(s.Icon,{component:ne.default,size:`sm`}),onClick:()=>U(e=>e.chain().focus().toggleStrike().run())},h1:{title:Te,icon:(0,g.jsx)(`span`,{"aria-hidden":`true`,children:`H1`}),onClick:()=>U(e=>e.chain().focus().toggleHeading({level:1}).run())},h2:{title:Ee,icon:(0,g.jsx)(`span`,{"aria-hidden":`true`,children:`H2`}),onClick:()=>U(e=>e.chain().focus().toggleHeading({level:2}).run())},h3:{title:De,icon:(0,g.jsx)(`span`,{"aria-hidden":`true`,children:`H3`}),onClick:()=>U(e=>e.chain().focus().toggleHeading({level:3}).run())},ul:{title:Oe,icon:(0,g.jsx)(s.Icon,{component:te.default,size:`sm`}),onClick:()=>U(e=>e.chain().focus().toggleBulletList().run())},ol:{title:ke,icon:(0,g.jsx)(s.Icon,{component:ee.default,size:`sm`}),onClick:()=>U(e=>e.chain().focus().toggleOrderedList().run())},link:{title:Ae,icon:(0,g.jsx)(s.Icon,{component:o.default,size:`sm`}),onClick:lt},unlink:{title:je,icon:(0,g.jsx)(s.Icon,{component:ie.default,size:`sm`}),onClick:()=>U(e=>e.chain().focus().extendMarkRange(`link`).unsetLink().run())},image:{title:Re,icon:(0,g.jsx)(s.Icon,{component:i.default,size:`sm`}),onClick:vt},removeFormat:{title:Me,icon:(0,g.jsx)(s.Icon,{component:r.default,size:`sm`}),onClick:at}};return(0,g.jsx)(ae.FieldTemplate,{label:C,error:w,required:T,layout:he,labelId:N,errorId:M,className:ge,children:(0,g.jsxs)(`div`,{className:(0,h.default)(`wim-rich-text-editor`,p.default.root,p.default[F],P&&p.default.disabled,p.default[me],b&&p.default.fullWidth,Ke&&p.default.hasCustomWidth,Je),style:Ke?{"--wim-input-width":typeof x==`number`?`${x}px`:x}:void 0,children:[(0,g.jsx)(`div`,{className:p.default.toolbar,role:`toolbar`,"aria-label":Ne,"aria-controls":j,onMouseDown:Et,onKeyDown:Tt,children:$.map((e,t)=>{if(e===`separator`)return(0,g.jsx)(`span`,{className:p.default.toolbarSep,"aria-hidden":`true`},`sep-${t}`);let n=wt[t],r=Dt[e],i=e===`link`||e===`unlink`||e===`removeFormat`?void 0:it?.[e]??!1;return(0,g.jsx)(pe,{buttonRef:e=>{xt.current[n]=e},tabIndex:n===Math.min(Q,Ct.length-1)?0:-1,onFocus:()=>St(n),disabled:P,active:i,title:r.title,onClick:r.onClick,children:r.icon},`${e}-${t}`)})}),(0,g.jsx)(_.EditorContent,{editor:H,className:p.default.contentHost}),Ze&&(0,g.jsx)(`p`,{role:`alert`,className:p.default.uploadError,children:Ze}),(0,g.jsx)(u.Dialog,{open:ot,onOpenChange:W,children:(0,g.jsxs)(u.DialogContent,{children:[(0,g.jsx)(u.DialogHeader,{children:(0,g.jsx)(u.DialogTitle,{children:Ae})}),(0,g.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),ut()},children:[(0,g.jsx)(l.Input,{label:Pe,type:`url`,value:G,error:ct,onChange:e=>{st(e.target.value),K(void 0)},fullWidth:!0}),(0,g.jsxs)(u.DialogFooter,{children:[(0,g.jsx)(u.DialogClose,{asChild:!0,children:(0,g.jsx)(c.Button,{variant:`ghost`,type:`button`,children:Ie})}),(0,g.jsx)(c.Button,{variant:`solid`,type:`submit`,children:Fe})]})]})]})}),(0,g.jsx)(u.Dialog,{open:dt,onOpenChange:q,children:(0,g.jsxs)(u.DialogContent,{children:[(0,g.jsx)(u.DialogHeader,{children:(0,g.jsx)(u.DialogTitle,{children:Re})}),(0,g.jsxs)(`form`,{className:p.default.imageForm,onSubmit:e=>{e.preventDefault(),yt()},children:[(0,g.jsx)(l.Input,{label:ze,type:`url`,value:J,error:pt,onChange:e=>{Y(e.target.value),Z(void 0)},fullWidth:!0}),O&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`input`,{ref:gt,type:`file`,accept:`image/*`,hidden:!0,onChange:bt}),(0,g.jsx)(c.Button,{type:`button`,variant:`outline`,loading:mt,onClick:()=>gt.current?.click(),children:He})]}),(0,g.jsxs)(`div`,{children:[(0,g.jsx)(l.Input,{label:Be,"aria-describedby":_t,value:X,onChange:e=>ft(e.target.value),fullWidth:!0}),(0,g.jsx)(`p`,{id:_t,className:p.default.imageHint,children:Ve})]}),(0,g.jsxs)(u.DialogFooter,{children:[(0,g.jsx)(u.DialogClose,{asChild:!0,children:(0,g.jsx)(c.Button,{variant:`ghost`,type:`button`,children:Ie})}),(0,g.jsx)(c.Button,{variant:`solid`,type:`submit`,disabled:mt,children:Fe})]})]})]})})]})})};me.displayName=`RichTextEditor`,exports.RichTextEditor=me;
|
|
2
|
+
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../../i18n/generated/components.cjs"),r=require("../../../icon/bold.cjs"),i=require("../../../icon/eraser.cjs"),a=require("../../../icon/image.cjs"),o=require("../../../icon/italic.cjs"),ee=require("../../../icon/link.cjs"),te=require("../../../icon/list-ordered.cjs"),ne=require("../../../icon/list.cjs"),re=require("../../../icon/strikethrough.cjs"),ie=require("../../../icon/underline.cjs"),ae=require("../../../icon/unlink.cjs"),s=require("../../media/Icon/Icon.cjs"),c=require("../Button/Button.cjs"),oe=require("../FieldTemplate/FieldTemplate.cjs"),l=require("../Input/Input.cjs"),u=require("../../overlay/Dialog/Dialog.cjs"),d=require("./safeUrl.cjs"),f=require("./markdown.cjs"),p=require("./rich-text-editor.module.cjs");let m=require("react");m=e.__toESM(m,1);let h=require("classnames");h=e.__toESM(h,1);let g=require("react/jsx-runtime"),_=require("@tiptap/react"),se=require("@tiptap/core"),v=require("@tiptap/starter-kit"),y=require("@tiptap/extensions"),ce=require("@tiptap/extension-image");var le=[`bold`,`italic`,`underline`,`strikethrough`,`separator`,`h1`,`h2`,`h3`,`separator`,`ul`,`ol`,`separator`,`link`,`unlink`,`separator`,`removeFormat`],ue=ce.Image.extend({parseHTML(){return[{tag:`img[src]`,getAttrs:e=>d.isSafeImageUrl(e.getAttribute(`src`))?null:!1}]}}),de=(e,t,n)=>[v.StarterKit.configure({heading:{levels:[1,2,3]},blockquote:!1,code:!1,codeBlock:!1,horizontalRule:!1,trailingNode:!1,...t===`markdown`?{underline:!1}:{},link:{openOnClick:!1,autolink:!1,linkOnPaste:!1,isAllowedUri:e=>d.isSafeLinkUrl(e),HTMLAttributes:{target:null,rel:null}}}),ue.configure({inline:!1,allowBase64:!1}),y.Placeholder.configure({placeholder:e}),...t===`markdown`?f.createMarkdownExtensions(n):[]],fe=(e,t)=>e.isEmpty?``:t===`markdown`?e.getMarkdown():e.getHTML(),pe=(e,t,n)=>n===`markdown`?f.markdownToHtml(e,t):t,me=m.default.memo(({onClick:e,active:t,disabled:n,title:r,tabIndex:i,onFocus:a,buttonRef:o,children:ee})=>(0,g.jsx)(`button`,{ref:o,type:`button`,className:(0,h.default)(p.default.toolbarBtn,t&&p.default.active),onClick:e,onFocus:a,disabled:n,title:r,"aria-label":r,"aria-pressed":t,tabIndex:i,children:ee}));me.displayName=`ToolbarButton`;var he=({value:e,defaultValue:f=``,onChange:v,placeholder:y,disabled:ce,intent:ue=`default`,variant:he=`outline`,fullWidth:b=!1,width:x,minHeight:S=200,label:C,error:w,required:T,layout:ge,className:_e,id:ve,toolbar:E=le,labels:ye={},"aria-label":be,"aria-labelledby":D,onImageUpload:O,format:xe=`html`})=>{let{t:k}=t.useWimTranslation(n.componentsNs),{bold:Se=k(`a11y.rte_bold`),italic:Ce=k(`a11y.rte_italic`),underline:we=k(`a11y.rte_underline`),strikethrough:Te=k(`a11y.rte_strikethrough`),h1:Ee=k(`a11y.rte_h1`),h2:De=k(`a11y.rte_h2`),h3:Oe=k(`a11y.rte_h3`),ul:ke=k(`a11y.rte_ul`),ol:Ae=k(`a11y.rte_ol`),link:je=k(`a11y.rte_link`),unlink:Me=k(`a11y.rte_unlink`),removeFormat:Ne=k(`a11y.rte_remove_format`),toolbar:Pe=k(`a11y.rte_toolbar`),linkPrompt:Fe=k(`a11y.rte_link_prompt`),linkApply:Ie=k(`a11y.rte_link_apply`),linkCancel:Le=k(`a11y.rte_link_cancel`),linkInvalid:Re=k(`a11y.rte_link_invalid`),image:ze=k(`a11y.rte_image`),imageUrl:Be=k(`a11y.rte_image_url`),imageAlt:Ve=k(`a11y.rte_image_alt`),imageAltHint:He=k(`a11y.rte_image_alt_hint`),imageUpload:Ue=k(`a11y.rte_image_upload`),imageUploadFailed:A=k(`a11y.rte_image_upload_failed`),imageInvalid:We=k(`a11y.rte_image_invalid`)}=ye,Ge=m.default.useId(),j=ve||`wim-rte-${Ge}`,M=w?`${j}-error`:void 0,N=C?`${j}-label`:void 0,P=!!ce,F=w?`danger`:ue,Ke=typeof x==`string`&&[`xs`,`sm`,`md`,`lg`,`xl`].includes(x),qe=x!==void 0&&!Ke&&!b,Je=Ke&&!b?x:void 0,Ye=Je?p.default[`width${Je.charAt(0).toUpperCase()}${Je.slice(1)}`]:void 0,I=m.default.useRef(e??f),Xe=m.default.useRef(v);m.default.useEffect(()=>{Xe.current=v},[v]);let Ze=m.default.useMemo(()=>{let e={id:j,class:p.default.content,role:`textbox`,"aria-multiline":`true`,style:`min-height: ${typeof S==`number`?`${S}px`:S}`,tabindex:P?`-1`:`0`},t=be??(C||D?void 0:k(`a11y.rte_editor`)),n=D??(C?N:void 0);return t&&(e[`aria-label`]=t),n&&(e[`aria-labelledby`]=n),F===`danger`&&(e[`aria-invalid`]=`true`),M&&(e[`aria-describedby`]=M),T&&(e[`aria-required`]=`true`),P&&(e[`aria-disabled`]=`true`),y&&(e[`aria-placeholder`]=y),e},[j,S,P,be,C,D,N,F,M,T,y,k]),L=m.default.useRef(O);m.default.useEffect(()=>{L.current=O},[O]);let[Qe,$e]=m.default.useState(void 0),et=m.default.useRef(A);m.default.useEffect(()=>{et.current=A},[A]);let R=m.default.useCallback(async(e,t,n)=>{let r=L.current;if(r){$e(void 0);for(let i of t)try{let t=await r(i);if(!d.isSafeImageUrl(t))throw Error(`URL not allowed`);if(e.isDestroyed)return;let a=e.chain().focus();(n===void 0?a:a.setTextSelection(n)).setImage({src:t,alt:``}).run()}catch{$e(et.current)}}},[]),tt=e=>Array.from(e??[]).filter(e=>e.type.startsWith(`image/`)),z=m.default.useRef({ed:null}),nt=m.default.useCallback((e,t)=>{let n=tt(t.clipboardData?.files),r=z.current.ed;return!L.current||n.length===0||!r?!1:(t.preventDefault(),R(r,n),!0)},[R]),rt=m.default.useCallback((e,t,n,r)=>{let i=tt(t.dataTransfer?.files),a=z.current.ed;if(r||!L.current||i.length===0||!a)return!1;t.preventDefault();let o=e.posAtCoords({left:t.clientX,top:t.clientY});return R(a,i,o?.pos),!0},[R]),B=m.default.useMemo(()=>({attributes:Ze,handlePaste:nt,handleDrop:rt}),[Ze,nt,rt]),[V]=m.default.useState(xe),it=e??f,H=(0,_.useEditor)({extensions:de(y??``,V,V===`markdown`?it:void 0),content:V===`markdown`?``:it,editable:!P,immediatelyRender:!1,editorProps:B,onUpdate:({editor:e})=>{let t=fe(e,V);t!==I.current&&(I.current=t,Xe.current?.(t))}});m.default.useEffect(()=>{H&&!H.isDestroyed&&H.setOptions({editorProps:B})},[H,B]),m.default.useEffect(()=>{z.current.ed=H},[H]),m.default.useEffect(()=>{H&&!H.isDestroyed&&H.setEditable(!P,!1)},[H,P]),m.default.useEffect(()=>{if(!H||H.isDestroyed)return;let e=H.extensionManager.extensions.find(e=>e.name===`placeholder`);e&&e.options.placeholder!==(y??``)&&(e.options.placeholder=y??``,H.view.dispatch(H.state.tr))},[H,y]),m.default.useEffect(()=>{if(!H||H.isDestroyed||e===void 0||e===I.current||e===fe(H,V))return;I.current=e;let t=(0,se.createDocument)(pe(H,e,V),H.schema);t.eq(H.state.doc)||H.commands.setContent(t.toJSON(),{emitUpdate:!1})},[H,e,V]);let at=(0,_.useEditorState)({editor:H,selector:({editor:e})=>({bold:!!e?.isActive(`bold`),italic:!!e?.isActive(`italic`),underline:!!e?.schema.marks.underline&&e.isActive(`underline`),strikethrough:!!e?.isActive(`strike`),h1:!!e?.isActive(`heading`,{level:1}),h2:!!e?.isActive(`heading`,{level:2}),h3:!!e?.isActive(`heading`,{level:3}),ul:!!e?.isActive(`bulletList`),ol:!!e?.isActive(`orderedList`),image:!!e?.isActive(`image`)})}),U=m.default.useCallback(e=>{!P&&H&&e(H)},[H,P]),ot=m.default.useCallback(()=>{U(e=>{let{from:t,to:n,empty:r}=e.state.selection,i=e.chain().focus();r&&i.selectAll(),i.unsetBold().unsetItalic().unsetStrike().clearNodes(),e.schema.marks.underline&&i.unsetUnderline(),r&&i.setTextSelection({from:t,to:n}),i.run()})},[U]),[st,W]=m.default.useState(!1),[G,ct]=m.default.useState(`https://`),[lt,K]=m.default.useState(void 0),ut=m.default.useCallback(()=>{if(P||!H)return;let{from:e,to:t}=H.state.selection,n=H.state.doc.textBetween(e,t,` `),r=H.getAttributes(`link`).href;ct(r??(n.startsWith(`http`)?n:`https://`)),K(void 0),W(!0)},[H,P]),dt=m.default.useCallback(()=>{let e=G.trim();if(!e){W(!1);return}if(!d.isSafeLinkUrl(e)){K(Re);return}W(!1),U(t=>{t.state.selection.empty&&!t.isActive(`link`)?t.chain().focus().insertContent({type:`text`,text:e,marks:[{type:`link`,attrs:{href:e}}]}).run():t.chain().focus().extendMarkRange(`link`).setLink({href:e}).run()})},[G,Re,U]),[ft,q]=m.default.useState(!1),[J,Y]=m.default.useState(``),[X,pt]=m.default.useState(``),[mt,Z]=m.default.useState(void 0),[ht,gt]=m.default.useState(!1),_t=m.default.useRef(null),vt=`${j}-image-alt-hint`,yt=m.default.useCallback(()=>{if(P||!H)return;let e=H.isActive(`image`)?H.getAttributes(`image`):{};Y(e.src??``),pt(e.alt??``),Z(void 0),q(!0)},[H,P]),bt=m.default.useCallback(()=>{let e=J.trim();if(!e){q(!1);return}if(!d.isSafeImageUrl(e)){Z(We);return}q(!1),U(t=>t.chain().focus().setImage({src:e,alt:X.trim()}).run())},[J,X,We,U]),xt=m.default.useCallback(async e=>{let t=e.target.files?.[0];if(e.target.value=``,t&&O){gt(!0),Z(void 0);try{let e=await O(t);if(!d.isSafeImageUrl(e))throw Error(`URL not allowed`);Y(e)}catch{Z(A)}finally{gt(!1)}}},[O,A]),St=m.default.useRef([]),[Q,Ct]=m.default.useState(0),$=m.default.useMemo(()=>{let e=V===`markdown`?E.filter(e=>e!==`underline`):E;return e.filter((t,n)=>t!==`separator`||n>0&&n<e.length-1&&e[n-1]!==`separator`)},[E,V]),wt=m.default.useMemo(()=>$.filter(e=>e!==`separator`),[$]),Tt=m.default.useMemo(()=>$.map((e,t)=>e===`separator`?-1:$.slice(0,t).filter(e=>e!==`separator`).length),[$]),Et=m.default.useCallback(e=>{let t=wt.length;if(t===0)return;let n;e.key===`ArrowRight`?n=(Q+1)%t:e.key===`ArrowLeft`?n=(Q-1+t)%t:e.key===`Home`?n=0:e.key===`End`&&(n=t-1),n!==void 0&&(e.preventDefault(),Ct(n),St.current[n]?.focus())},[wt.length,Q]),Dt=m.default.useCallback(e=>{e.preventDefault()},[]),Ot={bold:{title:Se,icon:(0,g.jsx)(s.Icon,{component:r.default,size:`sm`}),onClick:()=>U(e=>e.chain().focus().toggleBold().run())},italic:{title:Ce,icon:(0,g.jsx)(s.Icon,{component:o.default,size:`sm`}),onClick:()=>U(e=>e.chain().focus().toggleItalic().run())},underline:{title:we,icon:(0,g.jsx)(s.Icon,{component:ie.default,size:`sm`}),onClick:()=>U(e=>e.chain().focus().toggleUnderline().run())},strikethrough:{title:Te,icon:(0,g.jsx)(s.Icon,{component:re.default,size:`sm`}),onClick:()=>U(e=>e.chain().focus().toggleStrike().run())},h1:{title:Ee,icon:(0,g.jsx)(`span`,{"aria-hidden":`true`,children:`H1`}),onClick:()=>U(e=>e.chain().focus().toggleHeading({level:1}).run())},h2:{title:De,icon:(0,g.jsx)(`span`,{"aria-hidden":`true`,children:`H2`}),onClick:()=>U(e=>e.chain().focus().toggleHeading({level:2}).run())},h3:{title:Oe,icon:(0,g.jsx)(`span`,{"aria-hidden":`true`,children:`H3`}),onClick:()=>U(e=>e.chain().focus().toggleHeading({level:3}).run())},ul:{title:ke,icon:(0,g.jsx)(s.Icon,{component:ne.default,size:`sm`}),onClick:()=>U(e=>e.chain().focus().toggleBulletList().run())},ol:{title:Ae,icon:(0,g.jsx)(s.Icon,{component:te.default,size:`sm`}),onClick:()=>U(e=>e.chain().focus().toggleOrderedList().run())},link:{title:je,icon:(0,g.jsx)(s.Icon,{component:ee.default,size:`sm`}),onClick:ut},unlink:{title:Me,icon:(0,g.jsx)(s.Icon,{component:ae.default,size:`sm`}),onClick:()=>U(e=>e.chain().focus().extendMarkRange(`link`).unsetLink().run())},image:{title:ze,icon:(0,g.jsx)(s.Icon,{component:a.default,size:`sm`}),onClick:yt},removeFormat:{title:Ne,icon:(0,g.jsx)(s.Icon,{component:i.default,size:`sm`}),onClick:ot}};return(0,g.jsx)(oe.FieldTemplate,{label:C,error:w,required:T,layout:ge,labelId:N,errorId:M,className:_e,children:(0,g.jsxs)(`div`,{className:(0,h.default)(`wim-rich-text-editor`,p.default.root,p.default[F],P&&p.default.disabled,p.default[he],b&&p.default.fullWidth,qe&&p.default.hasCustomWidth,Ye),style:qe?{"--wim-input-width":typeof x==`number`?`${x}px`:x}:void 0,children:[(0,g.jsx)(`div`,{className:p.default.toolbar,role:`toolbar`,"aria-label":Pe,"aria-controls":j,onMouseDown:Dt,onKeyDown:Et,children:$.map((e,t)=>{if(e===`separator`)return(0,g.jsx)(`span`,{className:p.default.toolbarSep,"aria-hidden":`true`},`sep-${t}`);let n=Tt[t],r=Ot[e],i=e===`link`||e===`unlink`||e===`removeFormat`?void 0:at?.[e]??!1;return(0,g.jsx)(me,{buttonRef:e=>{St.current[n]=e},tabIndex:n===Math.min(Q,wt.length-1)?0:-1,onFocus:()=>Ct(n),disabled:P,active:i,title:r.title,onClick:r.onClick,children:r.icon},`${e}-${t}`)})}),(0,g.jsx)(_.EditorContent,{editor:H,className:p.default.contentHost}),Qe&&(0,g.jsx)(`p`,{role:`alert`,className:p.default.uploadError,children:Qe}),(0,g.jsx)(u.Dialog,{open:st,onOpenChange:W,children:(0,g.jsxs)(u.DialogContent,{children:[(0,g.jsx)(u.DialogHeader,{children:(0,g.jsx)(u.DialogTitle,{children:je})}),(0,g.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),dt()},children:[(0,g.jsx)(l.Input,{label:Fe,type:`url`,value:G,error:lt,onChange:e=>{ct(e.target.value),K(void 0)},fullWidth:!0}),(0,g.jsxs)(u.DialogFooter,{children:[(0,g.jsx)(u.DialogClose,{asChild:!0,children:(0,g.jsx)(c.Button,{variant:`ghost`,type:`button`,children:Le})}),(0,g.jsx)(c.Button,{variant:`solid`,type:`submit`,children:Ie})]})]})]})}),(0,g.jsx)(u.Dialog,{open:ft,onOpenChange:q,children:(0,g.jsxs)(u.DialogContent,{children:[(0,g.jsx)(u.DialogHeader,{children:(0,g.jsx)(u.DialogTitle,{children:ze})}),(0,g.jsxs)(`form`,{className:p.default.imageForm,onSubmit:e=>{e.preventDefault(),bt()},children:[(0,g.jsx)(l.Input,{label:Be,type:`url`,value:J,error:mt,onChange:e=>{Y(e.target.value),Z(void 0)},fullWidth:!0}),O&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`input`,{ref:_t,type:`file`,accept:`image/*`,hidden:!0,onChange:xt}),(0,g.jsx)(c.Button,{type:`button`,variant:`outline`,loading:ht,onClick:()=>_t.current?.click(),children:Ue})]}),(0,g.jsxs)(`div`,{children:[(0,g.jsx)(l.Input,{label:Ve,"aria-describedby":vt,value:X,onChange:e=>pt(e.target.value),fullWidth:!0}),(0,g.jsx)(`p`,{id:vt,className:p.default.imageHint,children:He})]}),(0,g.jsxs)(u.DialogFooter,{children:[(0,g.jsx)(u.DialogClose,{asChild:!0,children:(0,g.jsx)(c.Button,{variant:`ghost`,type:`button`,children:Le})}),(0,g.jsx)(c.Button,{variant:`solid`,type:`submit`,disabled:ht,children:Ie})]})]})]})})]})})};he.displayName=`RichTextEditor`,exports.RichTextEditor=he;
|