@revolist/ui 4.0.1-rc → 4.0.1
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/LICENSE +21 -0
- package/MIGRATION.md +36 -0
- package/OWNERSHIP.md +32 -32
- package/README.md +405 -264
- package/_button.scss +6 -2
- package/_chunks/arrow-up-Cw8hW9vp.js +4 -0
- package/_chunks/calculator-CDWOuAcp.js +4 -0
- package/_chunks/calendar-DJqiFwFT.js +258 -0
- package/_chunks/chart-frame-hcOlnQ1K.js +145 -0
- package/_chunks/{chevron-right-sxHQMSkq.js → check-BwI7iCAm.js} +2 -2
- package/_chunks/{chevron-left-D0nc4Z5S.js → chevron-right-CM3ljziP.js} +2 -2
- package/_chunks/choice-chips-yr6Uzmof.js +126 -0
- package/_chunks/clock-BOhPNlW3.js +4 -0
- package/_chunks/color-palette-DMJUChWC.js +92 -0
- package/_chunks/{color-picker-BRv-__AM.js → color-picker-CMWxQlWt.js} +61 -56
- package/_chunks/component-DyWiItBR.js +878 -0
- package/_chunks/{component-metadata-BENbgTjU.js → component-metadata-BKd7U8OW.js} +0 -12
- package/_chunks/configurator-actions-DCodxcUw.js +155 -0
- package/_chunks/configurator-field-icon-CmcM_sPs.js +53 -0
- package/_chunks/control-CbOYUakE.js +118 -0
- package/_chunks/{controller-CmLo-Ajc.js → controller-hRBm_Lfz.js} +15 -15
- package/_chunks/controls-DD1qvPfE.js +650 -0
- package/_chunks/{date-control-CYCkb1aQ.js → date-control-XI2cpKI_.js} +21 -21
- package/_chunks/date-time-CGJdC1Qa.js +807 -0
- package/_chunks/{delete-button-DnpmDNEJ.js → delete-button-CW9vjLnk.js} +7 -7
- package/_chunks/dialog.parts-CJ3FVxC9.js +131 -0
- package/_chunks/duration-CBJWK82T.js +272 -0
- package/_chunks/editor-commit-Bq3wSgvr.js +12 -0
- package/_chunks/editor-popup-ByU7qiub.js +82 -0
- package/_chunks/field-configurator-B-qtIwx1.js +288 -0
- package/_chunks/field-context-D57PnBbH.js +5 -0
- package/_chunks/framework-mount-Bk4O_T7T.js +54 -0
- package/_chunks/hooks.module-CG3gN83z.js +157 -0
- package/_chunks/icon-toolbar-DSjOdwM7.js +134 -0
- package/_chunks/jsxRuntime.module-F6UFnpT-.js +30 -0
- package/_chunks/magnifying-glass-CvrTDSkB.js +4 -0
- package/_chunks/minus-BOAR3A1C.js +4 -0
- package/_chunks/mount-C7i5gsKI.js +267 -0
- package/_chunks/native-Blr3byjO.js +32 -0
- package/_chunks/native-control-B9MNibfa.js +649 -0
- package/_chunks/{number-input-NnH57J4j.js → number-input-CgbZes5B.js} +89 -89
- package/_chunks/picker-DqpjDC90.js +122 -0
- package/_chunks/plus-CbGRkIGl.js +4 -0
- package/_chunks/popover-controller-D-AvKQ7B.js +102 -0
- package/_chunks/popup-C35Isk7p.js +378 -0
- package/_chunks/preact.module-BBM36DnO.js +290 -0
- package/_chunks/{rating-choice-CWAsNQNS.js → rating-choice-WDrfiluf.js} +10 -10
- package/_chunks/render-m5eMMwFR.js +83 -0
- package/_chunks/reorder-list-C4HSda4n.js +59 -0
- package/_chunks/request-trail-SHynDFdM.js +762 -0
- package/_chunks/rich-text-CtjqRvv8.js +842 -0
- package/_chunks/rotate-left-BF6G883o.js +4 -0
- package/_chunks/rotate-right-Iha5ScJ1.js +4 -0
- package/_chunks/selection-list-tooltips-BtWjpP6M.js +41 -0
- package/_chunks/title-tooltip-Cw6LOZhb.js +11 -0
- package/_chunks/tooltip-D4xkio5G.js +54 -0
- package/_chunks/tooltip-owner-DjdvqKzz.js +19 -0
- package/_chunks/tooltip-session-B6X6x8G_.js +110 -0
- package/_chunks/tooltip-text-BXsUEmBH.js +12 -0
- package/_chunks/top-layer-popup-CNSDdfJV.js +59 -0
- package/_dialog.scss +55 -21
- package/_form.scss +71 -21
- package/_legend.scss +25 -7
- package/_shared/data-query/index.d.ts +2 -2
- package/_shared/data-query/load-options.d.ts +2 -2
- package/_variables.scss +34 -32
- package/_vendor/preact/LICENSE +21 -0
- package/_vendor/preact/compat/src/index.d.ts +353 -0
- package/_vendor/preact/compat/src/suspense-list.d.ts +16 -0
- package/_vendor/preact/compat/src/suspense.d.ts +19 -0
- package/_vendor/preact/hooks/src/index.d.ts +145 -0
- package/_vendor/preact/src/dom.d.ts +2548 -0
- package/_vendor/preact/src/index.d.ts +373 -0
- package/_vendor/preact/src/jsx.d.ts +2958 -0
- package/_view-switcher.scss +6 -0
- package/activity-message.d.ts +2 -2
- package/activity-message.js +16 -16
- package/ai/_chat.scss +227 -0
- package/ai/_style.scss +170 -39
- package/ai/chat.d.ts +65 -0
- package/ai/components.d.ts +35 -6
- package/ai/index.d.ts +3 -0
- package/ai/index.js +3 -3
- package/ai/mount.d.ts +59 -6
- package/ai/prompt-history.d.ts +13 -0
- package/ai/request-trail.d.ts +9 -3
- package/ai/results/_style.scss +83 -0
- package/ai/results/index.d.ts +11 -0
- package/ai/results/metrics.d.ts +5 -0
- package/ai/results/table.d.ts +5 -0
- package/ai/results/text.d.ts +5 -0
- package/ai/results/types.d.ts +29 -0
- package/ai/transcript.d.ts +27 -0
- package/ai/translation-context.d.ts +1 -1
- package/ai/translations.d.ts +1 -1
- package/alert.d.ts +2 -2
- package/angular/angular.d.ts +1 -1
- package/angular/angular.js +13 -10
- package/assignee/assignee.scss +28 -6
- package/assignee/field.d.ts +2 -2
- package/assignee/index.js +86 -87
- package/assignee/layout.d.ts +2 -2
- package/assignee/picker.d.ts +1 -1
- package/avatar/avatar.style.scss +23 -6
- package/avatar/index.d.ts +25 -2
- package/avatar/index.js +42 -41
- package/badge.d.ts +1 -1
- package/badge.view.d.ts +8 -0
- package/brush-range/_brush-range.scss +55 -49
- package/brush-range/component.d.ts +2 -4
- package/brush-range/component.js +19 -19
- package/buttons/delete-button.d.ts +2 -1
- package/buttons/delete-button.js +1 -1
- package/buttons/delete-button.style.scss +6 -2
- package/buttons/remove-button.d.ts +2 -2
- package/buttons/remove-button.js +3 -3
- package/buttons/remove-button.style.scss +1 -1
- package/buttons/svg-button.d.ts +3 -2
- package/buttons/svg-button.js +23 -23
- package/calendar/_calendar.scss +27 -26
- package/calendar/calendar.d.ts +1 -1
- package/calendar/calendar.js +1 -1
- package/calendar/caption.d.ts +1 -1
- package/calendar/day.d.ts +1 -1
- package/calendar/day.js +4 -4
- package/calendar/header.d.ts +1 -1
- package/calendar/header.js +34 -35
- package/calendar/index.js +2 -2
- package/calendar/month-grid.d.ts +1 -1
- package/calendar/month-grid.js +37 -37
- package/calendar/picker.d.ts +1 -1
- package/calendar/types.d.ts +1 -1
- package/calendar/year-grid.d.ts +1 -1
- package/calendar/year-grid.js +12 -12
- package/cell-input.scss +3 -7
- package/cell-visuals/badge.style.scss +6 -3
- package/cell-visuals/bar-chart.style.scss +2 -1
- package/cell-visuals/progress-line-value.renderer.style.scss +4 -2
- package/cell-visuals/progress-line.style.scss +1 -4
- package/cell-visuals/sparkline.style.scss +2 -1
- package/cell-visuals/timeline.style.css +4 -2
- package/checkbox/checkbox.scss +6 -24
- package/checkbox/index.d.ts +2 -2
- package/checkbox/index.js +9 -9
- package/choice-chips/index.d.ts +4 -2
- package/choice-chips/index.js +1 -1
- package/color-palette/color-palette.d.ts +1 -1
- package/color-palette/color-palette.js +1 -1
- package/color-palette/color-palette.style.scss +88 -25
- package/color-palette/color-picker.d.ts +1 -1
- package/color-palette/color-picker.js +2 -2
- package/color-palette/color-picker.style.scss +23 -10
- package/color-palette/common-palettes.d.ts +1 -1
- package/color-palette/common-palettes.js +1 -1
- package/color-palette/native.d.ts +15 -2
- package/component-catalog.d.ts +42 -29
- package/configurator-actions.d.ts +67 -0
- package/configurator-actions.js +1 -0
- package/configurator-aggregation-list.d.ts +14 -0
- package/configurator-aggregation-list.js +63 -0
- package/configurator-drop-zone.d.ts +39 -0
- package/configurator-drop-zone.js +66 -0
- package/configurator-field-icon.d.ts +10 -0
- package/configurator-field-icon.js +1 -0
- package/configurator-focus.d.ts +4 -0
- package/configurator-focus.js +39 -0
- package/configurator-sections.d.ts +42 -0
- package/configurator-sections.js +71 -0
- package/control-attributes.js +7 -7
- package/control-presentation.d.ts +8 -2
- package/control-presentation.js +31 -26
- package/controls.d.ts +23 -11
- package/controls.js +4 -3
- package/core/editor-commit.d.ts +1 -1
- package/core/editor-popup-position.d.ts +6 -2
- package/core/editor-popup.d.ts +5 -1
- package/core/editor-popup.js +1 -1
- package/core/popover-controller.d.ts +35 -0
- package/core/popup-ownership.d.ts +2 -0
- package/core/selection-list-tooltips.d.ts +2 -0
- package/core/title-tooltip.d.ts +2 -0
- package/core/tooltip-session.d.ts +29 -0
- package/core/tooltip-surface.d.ts +13 -0
- package/core/tooltip-text.d.ts +6 -0
- package/core/tooltip.d.ts +35 -0
- package/core/top-layer-popup.d.ts +4 -0
- package/core/top-layer-popup.js +1 -23
- package/date-time/attach.d.ts +1 -1
- package/date-time/date-control.d.ts +2 -2
- package/date-time/field.d.ts +4 -3
- package/date-time/index.js +1 -1
- package/date-time/picker.d.ts +1 -1
- package/date-time/style.scss +242 -39
- package/date-time/time-control.d.ts +1 -1
- package/date-time/time-selection.d.ts +3 -1
- package/date-time/types.d.ts +6 -2
- package/dialog/dialog-action-footer.d.ts +17 -2
- package/dialog/dialog.dom.d.ts +15 -2
- package/dialog/dialog.dom.js +53 -53
- package/dialog/dialog.parts.d.ts +18 -18
- package/dialog/dialog.parts.js +1 -1
- package/dialog/dialog.preact.d.ts +1 -1
- package/dialog/dialog.preact.js +6 -6
- package/distribution-chart/_distribution-chart.scss +113 -77
- package/distribution-chart/area-chart.d.ts +1 -1
- package/distribution-chart/area-chart.js +25 -25
- package/distribution-chart/bar-chart.d.ts +6 -3
- package/distribution-chart/bar-chart.js +10 -6
- package/distribution-chart/chart-frame.d.ts +3 -2
- package/distribution-chart/index.d.ts +2 -2
- package/distribution-chart/index.js +6 -6
- package/distribution-chart/line-chart.d.ts +1 -1
- package/distribution-chart/line-chart.js +9 -9
- package/distribution-chart/types.d.ts +1 -1
- package/dropdown/content.d.ts +3 -2
- package/dropdown/content.js +1 -141
- package/dropdown/control.d.ts +14 -0
- package/dropdown/control.js +1 -0
- package/dropdown/control.view.d.ts +6 -0
- package/dropdown/dropdown.service.d.ts +1 -1
- package/dropdown/dropdown.service.js +9 -9
- package/dropdown/dropdown.types.d.ts +5 -1
- package/dropdown/editor-dropdown.style.scss +54 -16
- package/dropdown/index.d.ts +1 -1
- package/dropdown/index.js +3 -4
- package/dropdown/lookup-field.d.ts +6 -1
- package/dropdown/lookup-field.js +42 -41
- package/dropdown/popup.d.ts +2 -2
- package/dropdown/popup.js +1 -140
- package/duration/controls.d.ts +1 -1
- package/duration/index.d.ts +2 -2
- package/duration/index.js +1 -1
- package/duration/style.scss +1 -1
- package/editor-actions.d.ts +1 -1
- package/editor-actions.js +21 -20
- package/editor-layout/index.d.ts +5 -5
- package/editor-layout/index.js +43 -38
- package/editor-layout/style.scss +82 -18
- package/field-configurator.d.ts +40 -2
- package/field-configurator.js +4 -170
- package/field-expansion.d.ts +9 -0
- package/field-reorder.hook.js +32 -32
- package/fieldset.d.ts +3 -0
- package/filter/filters/slider/_single-slider.scss +57 -38
- package/filter/filters/slider/_slider.scss +41 -33
- package/filter/filters/slider/control.js +2 -0
- package/filter/filters/slider/preact.js +3 -3
- package/filter/filters/slider/runtime.js +49 -22
- package/filter/filters/slider/single.d.ts +1 -1
- package/filter/filters/slider/single.js +23 -23
- package/filter-badge.d.ts +1 -1
- package/filter-badge.js +23 -22
- package/filter-controls.d.ts +1 -2
- package/filter-controls.js +29 -30
- package/form-controls/field-context.d.ts +5 -0
- package/form-controls/index.d.ts +10 -2
- package/form-controls/index.js +17 -22
- package/form-controls/presentation.d.ts +2 -2
- package/form-controls/presentation.js +59 -51
- package/formatting/comparison-preview.d.ts +1 -1
- package/formatting/icon-controls.d.ts +1 -1
- package/formatting/index.d.ts +1 -1
- package/formatting/index.js +106 -100
- package/formatting/inspector-section.d.ts +1 -1
- package/formatting/styles.scss +14 -57
- package/formatting/typography-controls.d.ts +1 -1
- package/framework-mount.d.ts +1 -1
- package/framework.js +237 -226
- package/history-controls.d.ts +14 -0
- package/history-controls.js +27 -0
- package/icon-toolbar.d.ts +62 -0
- package/icon-toolbar.js +1 -0
- package/icons/icon.d.ts +2 -2
- package/icons/icon.js +1 -1
- package/legend.d.ts +2 -2
- package/legend.js +12 -12
- package/masked-input/index.d.ts +1 -1
- package/masked-input/index.js +109 -109
- package/native-control.d.ts +14 -13
- package/native-control.js +3 -26
- package/native-controls.d.ts +54 -2
- package/native-styles.css +1 -1
- package/native-styles.scss +6 -2
- package/native.d.ts +3 -3
- package/native.js +49 -45
- package/number-input/index.d.ts +2 -2
- package/number-input/index.js +1 -1
- package/package.json +88 -15
- package/pagination.d.ts +3 -0
- package/pagination.js +50 -40
- package/pdf-viewer/component.d.ts +1 -1
- package/pdf-viewer/controller.js +1 -1
- package/pdf-viewer/header.d.ts +2 -2
- package/pdf-viewer/index.d.ts +2 -2
- package/pdf-viewer/index.js +13 -13
- package/pdf-viewer/search-bar.d.ts +2 -2
- package/pdf-viewer/status.d.ts +2 -2
- package/pdf-viewer/style.scss +205 -45
- package/pdf-viewer/toolbar.d.ts +1 -1
- package/pickers.d.ts +6 -2
- package/preact-mount.d.ts +1 -1
- package/preact-mount.js +2 -2
- package/preact.d.ts +15 -10
- package/preact.js +109 -64
- package/progress/_bar.scss +9 -3
- package/progress/_circular.scss +2 -1
- package/rating-choice.d.ts +1 -1
- package/rating-choice.js +1 -1
- package/react-adapter.d.ts +5 -3
- package/react-control.d.ts +1 -0
- package/react.d.ts +20 -11
- package/react.js +72 -88
- package/reorder-list.d.ts +2 -2
- package/reorder-list.js +1 -1
- package/reorder-list.scss +59 -17
- package/resource-picker/resource-picker-avatar.d.ts +1 -1
- package/resource-picker/resource-picker-avatar.js +14 -14
- package/resource-picker/resource-picker-option.d.ts +1 -1
- package/resource-picker/resource-picker-option.js +28 -28
- package/resource-picker/resource-picker-popup.d.ts +1 -1
- package/resource-picker/resource-picker-popup.js +3 -3
- package/resource-picker/resource-picker.d.ts +1 -1
- package/resource-picker/resource-picker.js +68 -66
- package/resource-picker/resource-picker.scss +66 -35
- package/rich-text/engine.d.ts +17 -19
- package/rich-text/format-html.d.ts +2 -0
- package/rich-text/index.d.ts +11 -7
- package/rich-text/index.js +1 -1
- package/rich-text/model.d.ts +6 -3
- package/rich-text/render-model.d.ts +4 -5
- package/rich-text/style.scss +295 -55
- package/rich-text/syntax.d.ts +5 -2
- package/rich-text/toolbar.d.ts +7 -7
- package/rich-text/translations.d.ts +5 -15
- package/search-input/index.js +12 -12
- package/search-input/native.d.ts +21 -2
- package/segmented-switch/index.d.ts +1 -1
- package/segmented-switch/index.js +1 -1
- package/select.d.ts +22 -0
- package/select.js +1 -0
- package/selection-list.d.ts +1 -0
- package/selection-list.js +3 -1
- package/status-feedback/exit-snapshot.js +1 -1
- package/status-feedback/index.js +2 -2
- package/status-feedback/popover.js +9 -9
- package/status-feedback/render.d.ts +2 -2
- package/status-feedback/render.js +3 -44
- package/status-feedback/status-feedback.scss +130 -34
- package/status-feedback/types.d.ts +4 -0
- package/status-feedback/use-auto-dismiss.d.ts +3 -0
- package/styles/_activity-message.scss +24 -7
- package/styles/_alert.scss +78 -17
- package/styles/_cell-editor-frame.scss +11 -0
- package/styles/_compositions.scss +404 -82
- package/styles/_control.scss +42 -12
- package/styles/_disclosure.scss +15 -5
- package/styles/_editor-counter.scss +16 -6
- package/styles/_editor-slider.scss +8 -4
- package/styles/_field-configurator.scss +321 -23
- package/styles/_fields-grid.scss +49 -0
- package/styles/_filter-controls.scss +10 -2
- package/styles/_icon-action.scss +48 -15
- package/styles/_loading.scss +12 -3
- package/styles/_motion.scss +32 -9
- package/styles/_palette.scss +0 -24
- package/styles/_primitives.scss +376 -116
- package/styles/_theme.scss +130 -86
- package/styles/_thresholds.scss +28 -25
- package/styles/_time-grid.scss +8 -3
- package/styles/_tokens.scss +6 -1
- package/styles/configurator-actions.scss +241 -0
- package/styles/pagination.css +213 -0
- package/styles/{legacy-rating.css → rating.css} +8 -3
- package/styles.css +1 -1
- package/styles.scss +3 -5
- package/surfaces.d.ts +38 -2
- package/surfaces.js +37 -134
- package/svelte/UiComponent.server.js +1 -48
- package/svelte/UiComponent.svelte +44 -32
- package/svelte.d.ts +1 -1
- package/svelte.js +33 -68
- package/switch/index.js +3 -2
- package/time-grid.d.ts +1 -2
- package/time-grid.js +43 -42
- package/timeline-track/_style.scss +96 -24
- package/timeline-track/component.d.ts +5 -1
- package/timeline-track/index.js +91 -74
- package/timeline-track/model.d.ts +9 -0
- package/timeline-track/model.js +10 -1
- package/ui.css +1 -1
- package/view-switcher.d.ts +23 -0
- package/vue-adapter.d.ts +1 -1
- package/vue.d.ts +160 -144
- package/vue.js +149 -178
- package/_chunks/calendar-BsDxCYhI.js +0 -248
- package/_chunks/chart-frame-BvxbmEU9.js +0 -126
- package/_chunks/choice-chips-0HfOnK_4.js +0 -110
- package/_chunks/color-palette-BmZ7kH9R.js +0 -94
- package/_chunks/component-D4PH5UZT.js +0 -859
- package/_chunks/control-tooltip-BCNzQCXE.js +0 -100
- package/_chunks/controls-NEL5tDaz.js +0 -615
- package/_chunks/date-time-DjucJmbc.js +0 -769
- package/_chunks/dialog.parts-Dt3KinUz.js +0 -134
- package/_chunks/dropdown-CkGQBm1Q.js +0 -357
- package/_chunks/duration-BCaktcvz.js +0 -270
- package/_chunks/editor-commit-D6Rf5rGz.js +0 -12
- package/_chunks/editor-popup-B7fu_A_T.js +0 -81
- package/_chunks/framework-mount-BKIOsvY-.js +0 -54
- package/_chunks/mount-0-8opf1j.js +0 -90
- package/_chunks/native.view-8q_nwQ7x.js +0 -32
- package/_chunks/picker-oazJ7sO_.js +0 -121
- package/_chunks/reorder-list-BV3kZXso.js +0 -59
- package/_chunks/request-trail-D0oVzdRd.js +0 -347
- package/_chunks/rich-text-2Rla349o.js +0 -477
- package/avatar/index.view.d.ts +0 -25
- package/color-palette/native.view.d.ts +0 -15
- package/control-presentation.view.d.ts +0 -8
- package/dialog/dialog-action-footer.view.d.ts +0 -20
- package/dialog/dialog.dom.view.d.ts +0 -15
- package/form-controls/index.view.d.ts +0 -12
- package/formatting/control-tooltip.d.ts +0 -27
- package/native-controls.view.d.ts +0 -54
- package/react-native-select.d.ts +0 -6
- package/search-input/native.view.d.ts +0 -21
- package/styles/legacy-pagination.css +0 -112
- package/surfaces.view.d.ts +0 -63
- package/vue-native-select.d.ts +0 -9
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { DropdownOption, DropdownProps } from './dropdown.types';
|
|
2
|
+
/** Application-owned state for DOM consumers of the shared Dropdown. */
|
|
3
|
+
export interface DropdownControl<T = string> {
|
|
4
|
+
readonly element: HTMLDivElement;
|
|
5
|
+
value: T;
|
|
6
|
+
source: DropdownOption<T>[];
|
|
7
|
+
disabled: boolean;
|
|
8
|
+
onChange?: (value: T) => void;
|
|
9
|
+
update(props: Partial<DropdownProps<T>>): void;
|
|
10
|
+
destroy(): void;
|
|
11
|
+
}
|
|
12
|
+
export declare function createDropdownControl<T = string>(document: Document, initial: DropdownProps<T>): DropdownControl<T>;
|
|
13
|
+
/** Lifecycle boundary for Stencil/other VNode factories that cannot render Preact components. */
|
|
14
|
+
export declare function renderDropdownControl<T>(h: (tag: any, props: any, ...children: any[]) => T, props: DropdownProps): T;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { t as createDropdownControl, n as renderDropdownControl } from "../_chunks/control-CbOYUakE.js";
|
|
@@ -14,6 +14,6 @@ export declare function useDropdownService<T = any>(options: DropdownOption<T>[]
|
|
|
14
14
|
handleKeyDown: (e: KeyboardEvent) => void;
|
|
15
15
|
handleSearchChange: (e: DropdownInputEvent) => void;
|
|
16
16
|
isOptionSelected: (option: DropdownOption<T>) => boolean;
|
|
17
|
-
setFocusedIndex: import('preact/hooks').Dispatch<import('preact/hooks').StateUpdater<number>>;
|
|
17
|
+
setFocusedIndex: import('../_vendor/preact/hooks/src/index').Dispatch<import('../_vendor/preact/hooks/src/index').StateUpdater<number>>;
|
|
18
18
|
};
|
|
19
19
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { c as e, i as t, n, o as r, t as i } from "../_chunks/hooks.module-CG3gN83z.js";
|
|
2
2
|
//#region src/dropdown/dropdown.service.ts
|
|
3
3
|
var a = (e, t) => e.label.toLowerCase().includes(t.toLowerCase()), o = (e, t, n) => {
|
|
4
4
|
if (n === "none") return 0;
|
|
@@ -12,8 +12,8 @@ function s(e, t, n) {
|
|
|
12
12
|
return r ? [r] : [];
|
|
13
13
|
}
|
|
14
14
|
function c(c, l, u, d = {}, f, p) {
|
|
15
|
-
let { search: m = !1, filterFunction: h = a, sortDirection: g = "none", sortFunction: _ = o, multiSelect: v = !1, autocomplete: y = !1, initialSearch: b = "" } = d, [x, S] =
|
|
16
|
-
|
|
15
|
+
let { search: m = !1, filterFunction: h = a, sortDirection: g = "none", sortFunction: _ = o, multiSelect: v = !1, autocomplete: y = !1, initialSearch: b = "" } = d, [x, S] = t(b), [C, w] = t(-1), [T, E] = t(() => s(c, l, v)), D = i(!1);
|
|
16
|
+
e(() => {
|
|
17
17
|
E(p?.selected ?? s(c, l, v));
|
|
18
18
|
}, [
|
|
19
19
|
l,
|
|
@@ -34,9 +34,9 @@ function c(c, l, u, d = {}, f, p) {
|
|
|
34
34
|
_,
|
|
35
35
|
!!p
|
|
36
36
|
]);
|
|
37
|
-
|
|
37
|
+
e(() => {
|
|
38
38
|
D.current = !1, S(b);
|
|
39
|
-
}, [b]),
|
|
39
|
+
}, [b]), e(() => {
|
|
40
40
|
O.length ? w((e) => {
|
|
41
41
|
if (D.current && e >= 0 && e < O.length && !O[e].disabled) return e;
|
|
42
42
|
let t = O.findIndex((e) => !e.disabled && T.some((t) => JSON.stringify(t.value) === JSON.stringify(e.value)));
|
|
@@ -47,7 +47,7 @@ function c(c, l, u, d = {}, f, p) {
|
|
|
47
47
|
return e >= 0 && e < O.length && !O[e].disabled ? e : t >= 0 ? t : O.findIndex((e) => !e.disabled);
|
|
48
48
|
}) : w(-1);
|
|
49
49
|
}, [O, T]);
|
|
50
|
-
let k =
|
|
50
|
+
let k = r((e) => {
|
|
51
51
|
if (!e.disabled) {
|
|
52
52
|
if (v) {
|
|
53
53
|
let t = T.some((t) => JSON.stringify(t.value) === JSON.stringify(e.value)), n;
|
|
@@ -74,7 +74,7 @@ function c(c, l, u, d = {}, f, p) {
|
|
|
74
74
|
selectedOptions: T,
|
|
75
75
|
filteredOptions: O,
|
|
76
76
|
handleSelect: k,
|
|
77
|
-
handleKeyDown:
|
|
77
|
+
handleKeyDown: r((e) => {
|
|
78
78
|
switch (e.key) {
|
|
79
79
|
case "Escape":
|
|
80
80
|
e.preventDefault(), e.stopPropagation();
|
|
@@ -93,11 +93,11 @@ function c(c, l, u, d = {}, f, p) {
|
|
|
93
93
|
C,
|
|
94
94
|
k
|
|
95
95
|
]),
|
|
96
|
-
handleSearchChange:
|
|
96
|
+
handleSearchChange: r((e) => {
|
|
97
97
|
let t = e.currentTarget.value;
|
|
98
98
|
t !== x && (D.current = !1, S(t), p?.search(t), w(-1));
|
|
99
99
|
}, [p, x]),
|
|
100
|
-
isOptionSelected:
|
|
100
|
+
isOptionSelected: r((e) => T.some((t) => JSON.stringify(t.value) === JSON.stringify(e.value)), [T]),
|
|
101
101
|
setFocusedIndex: w
|
|
102
102
|
};
|
|
103
103
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { JSX } from '../_vendor/preact/src/index';
|
|
1
2
|
import { DropdownDataSource, DropdownRemoteText } from './remote';
|
|
2
|
-
export type { DropdownDataSource, DropdownRemoteText, LookupId, LookupCursor } from './remote';
|
|
3
|
+
export type { DropdownDataSource, DropdownRemoteText, LookupId, LookupCursor, } from './remote';
|
|
3
4
|
export type DropdownRenderable = any;
|
|
4
5
|
export type DropdownVNode = any;
|
|
5
6
|
export type DropdownStyle = string | Record<string, string | number | undefined>;
|
|
@@ -43,6 +44,8 @@ export type DropdownConfig<T = any> = {
|
|
|
43
44
|
initialSearch?: string;
|
|
44
45
|
/** Close the dropdown when Tab is pressed inside the open popup. */
|
|
45
46
|
closeOnTab?: boolean;
|
|
47
|
+
/** Dismiss then let the browser Tab from the trigger (standalone fields). */
|
|
48
|
+
nativeTabNavigation?: boolean;
|
|
46
49
|
portalTarget?: HTMLElement | null;
|
|
47
50
|
topLayer?: boolean;
|
|
48
51
|
ariaLabel?: string;
|
|
@@ -66,6 +69,7 @@ export interface DropdownEnvironment {
|
|
|
66
69
|
}
|
|
67
70
|
export type DropdownProps<T = any> = {
|
|
68
71
|
environment?: DropdownEnvironment;
|
|
72
|
+
triggerAttributes?: JSX.HTMLAttributes<HTMLDivElement>;
|
|
69
73
|
source: DropdownOption<T>[];
|
|
70
74
|
/** Optional application-owned remote search and ID resolver. Values must be string/number IDs. */
|
|
71
75
|
dataSource?: DropdownDataSource<T>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
@use '../styles/motion';
|
|
2
2
|
@use '../styles/palette';
|
|
3
|
-
|
|
3
|
+
@use '../styles/control';
|
|
4
4
|
|
|
5
5
|
// Mixins
|
|
6
6
|
@mixin focus-style {
|
|
@@ -15,11 +15,11 @@
|
|
|
15
15
|
|
|
16
16
|
revo-grid,
|
|
17
17
|
.rv-formula-bar,
|
|
18
|
+
.rv-native-controls,
|
|
18
19
|
:root {
|
|
19
20
|
--rv-dropdown-container-tag-background: #{palette.$gray-eeeeee};
|
|
20
21
|
--rv-dropdown-placeholder-color: var(--rv-ui-text-muted);
|
|
21
22
|
|
|
22
|
-
|
|
23
23
|
&[theme*='dark'] {
|
|
24
24
|
--rv-dropdown-container-tag-background: #{palette.$gray-2b2b2b};
|
|
25
25
|
--rv-dropdown-placeholder-color: var(--rv-ui-text-muted);
|
|
@@ -51,7 +51,8 @@ revo-grid,
|
|
|
51
51
|
--rv-dropdown-arrow-right: 5px;
|
|
52
52
|
--rv-dropdown-arrow-gap: 4px;
|
|
53
53
|
--rv-dropdown-value-right-space: calc(
|
|
54
|
-
var(--rv-dropdown-arrow-size) + var(--rv-dropdown-arrow-right) +
|
|
54
|
+
var(--rv-dropdown-arrow-size) + var(--rv-dropdown-arrow-right) +
|
|
55
|
+
var(--rv-dropdown-arrow-gap)
|
|
55
56
|
);
|
|
56
57
|
|
|
57
58
|
@include flex-center;
|
|
@@ -86,10 +87,11 @@ revo-grid,
|
|
|
86
87
|
justify-content: center;
|
|
87
88
|
margin: 0;
|
|
88
89
|
position: absolute;
|
|
89
|
-
|
|
90
|
+
inset-inline-end: var(--rv-dropdown-arrow-right);
|
|
90
91
|
top: 50%;
|
|
91
92
|
transform: translateY(-50%);
|
|
92
|
-
transition: transform var(--rv-ui-motion-normal, 160ms)
|
|
93
|
+
transition: transform var(--rv-ui-motion-normal, 160ms)
|
|
94
|
+
var(--rv-ui-motion-ease, ease-out);
|
|
93
95
|
z-index: 1;
|
|
94
96
|
|
|
95
97
|
svg {
|
|
@@ -112,8 +114,8 @@ revo-grid,
|
|
|
112
114
|
align-items: center;
|
|
113
115
|
min-width: 0;
|
|
114
116
|
overflow: hidden;
|
|
115
|
-
padding-
|
|
116
|
-
padding-
|
|
117
|
+
padding-inline-start: 5px;
|
|
118
|
+
padding-inline-end: var(--rv-dropdown-value-right-space);
|
|
117
119
|
}
|
|
118
120
|
|
|
119
121
|
.selected-value {
|
|
@@ -125,8 +127,8 @@ revo-grid,
|
|
|
125
127
|
max-width: 100%;
|
|
126
128
|
min-width: 0;
|
|
127
129
|
overflow: hidden;
|
|
128
|
-
padding-
|
|
129
|
-
padding-
|
|
130
|
+
padding-inline-start: 5px;
|
|
131
|
+
padding-inline-end: var(--rv-dropdown-value-right-space);
|
|
130
132
|
text-overflow: ellipsis;
|
|
131
133
|
white-space: nowrap;
|
|
132
134
|
width: 100%;
|
|
@@ -146,9 +148,13 @@ revo-grid,
|
|
|
146
148
|
background-color: var(--rv-dropdown-container-tag-background);
|
|
147
149
|
border-radius: 3px;
|
|
148
150
|
padding: 2px 6px;
|
|
149
|
-
padding-
|
|
151
|
+
padding-inline-end: 0;
|
|
150
152
|
font-size: 14px;
|
|
151
153
|
|
|
154
|
+
// Custom tag palettes also own the remove glyph's foreground.
|
|
155
|
+
> button.rv-remove-button {
|
|
156
|
+
color: inherit;
|
|
157
|
+
}
|
|
152
158
|
}
|
|
153
159
|
|
|
154
160
|
.placeholder {
|
|
@@ -158,7 +164,7 @@ revo-grid,
|
|
|
158
164
|
max-width: 100%;
|
|
159
165
|
min-width: 0;
|
|
160
166
|
overflow: hidden;
|
|
161
|
-
padding-
|
|
167
|
+
padding-inline-end: var(--rv-dropdown-value-right-space);
|
|
162
168
|
text-overflow: ellipsis;
|
|
163
169
|
white-space: nowrap;
|
|
164
170
|
width: 100%;
|
|
@@ -207,7 +213,8 @@ revo-grid,
|
|
|
207
213
|
padding: 6px;
|
|
208
214
|
flex-direction: column;
|
|
209
215
|
transform-origin: top left;
|
|
210
|
-
animation: revoDropdownMenuIn var(--rv-ui-motion-enter, 180ms)
|
|
216
|
+
animation: revoDropdownMenuIn var(--rv-ui-motion-enter, 180ms)
|
|
217
|
+
var(--rv-ui-motion-ease, ease-out);
|
|
211
218
|
|
|
212
219
|
.dropdown-listbox {
|
|
213
220
|
display: flex;
|
|
@@ -247,6 +254,7 @@ revo-grid,
|
|
|
247
254
|
background-color: var(--rv-dropdown-menu-background);
|
|
248
255
|
|
|
249
256
|
.dropdown-option {
|
|
257
|
+
box-sizing: border-box;
|
|
250
258
|
display: flex;
|
|
251
259
|
min-height: 38px;
|
|
252
260
|
align-items: center;
|
|
@@ -255,12 +263,13 @@ revo-grid,
|
|
|
255
263
|
font-size: 14px;
|
|
256
264
|
font-weight: 400;
|
|
257
265
|
list-style: none;
|
|
258
|
-
padding:
|
|
266
|
+
padding: 8px 10px;
|
|
259
267
|
cursor: pointer;
|
|
260
268
|
user-select: none;
|
|
261
269
|
margin: 1px 0;
|
|
262
270
|
transition:
|
|
263
|
-
background-color var(--rv-ui-motion-fast, 120ms)
|
|
271
|
+
background-color var(--rv-ui-motion-fast, 120ms)
|
|
272
|
+
var(--rv-ui-motion-ease, ease-out),
|
|
264
273
|
color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease-out);
|
|
265
274
|
|
|
266
275
|
&[class*='theme-dark'] {
|
|
@@ -282,14 +291,13 @@ revo-grid,
|
|
|
282
291
|
opacity: 0.5;
|
|
283
292
|
cursor: not-allowed;
|
|
284
293
|
}
|
|
285
|
-
|
|
286
294
|
}
|
|
287
295
|
|
|
288
296
|
.option-content {
|
|
289
297
|
@include flex-center;
|
|
290
298
|
gap: 8px;
|
|
291
299
|
width: 100%;
|
|
292
|
-
|
|
300
|
+
min-width: 0;
|
|
293
301
|
}
|
|
294
302
|
.no-results {
|
|
295
303
|
padding: 12px;
|
|
@@ -306,3 +314,33 @@ revo-grid,
|
|
|
306
314
|
opacity: 1;
|
|
307
315
|
}
|
|
308
316
|
}
|
|
317
|
+
|
|
318
|
+
// Standalone controls share Dropdown behavior with grid editors and have form chrome.
|
|
319
|
+
.dropdown-container.rv-select {
|
|
320
|
+
height: auto;
|
|
321
|
+
min-width: 0;
|
|
322
|
+
.dropdown-trigger {
|
|
323
|
+
@include control.action-size;
|
|
324
|
+
padding-inline-end: 24px;
|
|
325
|
+
border: 1px solid var(--rv-ui-border);
|
|
326
|
+
border-radius: var(--rv-control-radius, 8px);
|
|
327
|
+
background: var(--rv-ui-surface-sunken);
|
|
328
|
+
color: var(--rv-ui-text);
|
|
329
|
+
&:focus-visible {
|
|
330
|
+
outline: 2px solid var(--rv-ui-accent);
|
|
331
|
+
outline-offset: 1px;
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
// Standalone controls own the padding once; grid editors retain their compact insets.
|
|
337
|
+
.dropdown-container:is(.rv-select, .rv-combobox, .rv-multi-select)
|
|
338
|
+
.dropdown-trigger {
|
|
339
|
+
--rv-dropdown-arrow-size: 9px;
|
|
340
|
+
--rv-dropdown-arrow-right: 12px;
|
|
341
|
+
padding-inline-end: 32px;
|
|
342
|
+
> .selected-value,
|
|
343
|
+
> .selected-values {
|
|
344
|
+
padding-inline: 0;
|
|
345
|
+
}
|
|
346
|
+
}
|
package/dropdown/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export type { DropdownPopupProps } from './popup';
|
|
|
6
6
|
/**
|
|
7
7
|
* Dropdown component
|
|
8
8
|
*/
|
|
9
|
-
export declare function Dropdown<T = any>({ source: localSource, dataSource, dataContext, remoteText, value, onChange, placeholder, disabled, name, id, className, style, config, renderContent, renderOption, renderValue, renderPlaceholder, renderSelectedValue, renderNoResults, onClose, beforeOutsideClose, environment, }: DropdownProps<T>): any;
|
|
9
|
+
export declare function Dropdown<T = any>({ source: localSource, triggerAttributes, dataSource, dataContext, remoteText, value, onChange, placeholder, disabled, name, id, className, style, config, renderContent, renderOption, renderValue, renderPlaceholder, renderSelectedValue, renderNoResults, onClose, beforeOutsideClose, environment, }: DropdownProps<T>): any;
|
|
10
10
|
/**
|
|
11
11
|
* Define the dropdown component
|
|
12
12
|
* @param el - The element to render the dropdown
|
package/dropdown/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
export { r as Dropdown, e as DropdownPopup, i as DropdownPopupContent, t as defineDropdown, n as destroyDropdown };
|
|
1
|
+
import { d as e, l as t, p as n, u as r } from "../_chunks/native-control-B9MNibfa.js";
|
|
2
|
+
import { t as i } from "../_chunks/popup-C35Isk7p.js";
|
|
3
|
+
export { t as Dropdown, i as DropdownPopup, n as DropdownPopupContent, r as defineDropdown, e as destroyDropdown };
|
|
@@ -21,9 +21,14 @@ export interface LookupFieldOptions extends EditorCommitOptions {
|
|
|
21
21
|
renderValue?: import('./dropdown.types').DropdownProps<LookupId>['renderValue'];
|
|
22
22
|
}
|
|
23
23
|
export declare function LookupField({ initial, options, context, apply, cancel, }: {
|
|
24
|
+
/** Initial selected record ID, multiple IDs, or null for an empty selection. */
|
|
24
25
|
initial: LookupId | LookupId[] | null;
|
|
26
|
+
/** Remote data source, selection mode, validation, text and commit behavior. */
|
|
25
27
|
options: LookupFieldOptions;
|
|
28
|
+
/** Application context forwarded to the remote data source as dataContext. */
|
|
26
29
|
context: unknown;
|
|
30
|
+
/** Commits the selected record IDs. Update application state and close the editor. */
|
|
27
31
|
apply: (value: LookupId | LookupId[] | null) => void;
|
|
32
|
+
/** Closes the editor without applying the current draft. */
|
|
28
33
|
cancel: () => void;
|
|
29
|
-
}): import("preact").JSX.Element;
|
|
34
|
+
}): import("../_vendor/preact/src/index").JSX.Element;
|
package/dropdown/lookup-field.js
CHANGED
|
@@ -1,64 +1,65 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import { i as e, t } from "../_chunks/hooks.module-CG3gN83z.js";
|
|
2
|
+
import { t as n } from "../_chunks/jsxRuntime.module-F6UFnpT-.js";
|
|
3
|
+
import { l as r } from "../_chunks/native-control-B9MNibfa.js";
|
|
4
|
+
import { n as i } from "../_chunks/editor-commit-Bq3wSgvr.js";
|
|
5
|
+
import { EditorActions as a } from "../editor-actions.js";
|
|
6
6
|
//#region src/dropdown/lookup-field.tsx
|
|
7
|
-
function
|
|
8
|
-
let [
|
|
9
|
-
return
|
|
10
|
-
if (!
|
|
11
|
-
let e =
|
|
12
|
-
return
|
|
13
|
-
},
|
|
7
|
+
function o({ initial: o, options: s, context: c, apply: l, cancel: u }) {
|
|
8
|
+
let [d, f] = e(o), [p, m] = e(!1), h = s.autoApply !== !1, g = t(!1), _ = t(o), v = d === null || Array.isArray(d) && !d.length;
|
|
9
|
+
return i(() => {
|
|
10
|
+
if (!g.current) return !0;
|
|
11
|
+
let e = _.current;
|
|
12
|
+
return s.required && (e === null || Array.isArray(e) && !e.length) ? !1 : (g.current && (g.current = !1, l(e)), !0);
|
|
13
|
+
}, h), /* @__PURE__ */ n("div", {
|
|
14
14
|
class: "rv-lookup-editor",
|
|
15
15
|
onKeyDown: (e) => {
|
|
16
|
-
(e.ctrlKey || e.metaKey) && e.key === "Enter" && !(
|
|
16
|
+
(e.ctrlKey || e.metaKey) && e.key === "Enter" && !(s.required && v) && (e.preventDefault(), l(d));
|
|
17
17
|
},
|
|
18
18
|
children: [
|
|
19
|
-
/* @__PURE__ */
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
/* @__PURE__ */ n(r, {
|
|
20
|
+
className: "rv-select",
|
|
21
|
+
source: s.source ?? [],
|
|
22
|
+
dataSource: s.dataSource,
|
|
23
|
+
dataContext: c,
|
|
24
|
+
remoteText: s.text,
|
|
25
|
+
value: d === null ? void 0 : d,
|
|
25
26
|
onChange: (e) => {
|
|
26
|
-
|
|
27
|
+
g.current = !0, m(!0), _.current = e, f(e);
|
|
27
28
|
let t = e === null || Array.isArray(e) && !e.length;
|
|
28
|
-
|
|
29
|
+
h && !s.multiple && !(s.required && t) && (g.current = !1, l(e));
|
|
29
30
|
},
|
|
30
|
-
placeholder:
|
|
31
|
-
renderOption:
|
|
32
|
-
renderValue:
|
|
31
|
+
placeholder: s.placeholder ?? s.text?.placeholder,
|
|
32
|
+
renderOption: s.renderOption,
|
|
33
|
+
renderValue: s.renderValue,
|
|
33
34
|
config: {
|
|
34
35
|
search: !0,
|
|
35
|
-
multiSelect:
|
|
36
|
+
multiSelect: s.multiple,
|
|
36
37
|
topLayer: !0,
|
|
37
38
|
autoFocus: !0,
|
|
38
|
-
ariaLabel:
|
|
39
|
-
searchPlaceholder:
|
|
40
|
-
searchAriaLabel:
|
|
41
|
-
removeLabel:
|
|
39
|
+
ariaLabel: s.text?.label ?? "Linked records",
|
|
40
|
+
searchPlaceholder: s.text?.searchPlaceholder,
|
|
41
|
+
searchAriaLabel: s.text?.searchLabel,
|
|
42
|
+
removeLabel: s.text?.removeLabel
|
|
42
43
|
}
|
|
43
44
|
}),
|
|
44
|
-
|
|
45
|
+
s.required && v && p && /* @__PURE__ */ n("span", {
|
|
45
46
|
role: "alert",
|
|
46
47
|
class: "rv-editor-error",
|
|
47
|
-
children:
|
|
48
|
+
children: s.text?.requiredValue ?? "Select at least one record."
|
|
48
49
|
}),
|
|
49
|
-
/* @__PURE__ */ a
|
|
50
|
-
showConfirm:
|
|
51
|
-
text:
|
|
52
|
-
disabled:
|
|
53
|
-
cancel:
|
|
54
|
-
apply: () =>
|
|
55
|
-
clear:
|
|
56
|
-
let e =
|
|
57
|
-
|
|
50
|
+
/* @__PURE__ */ n(a, {
|
|
51
|
+
showConfirm: s.showActions ?? !h,
|
|
52
|
+
text: s.actions,
|
|
53
|
+
disabled: s.required && v,
|
|
54
|
+
cancel: u,
|
|
55
|
+
apply: () => l(d),
|
|
56
|
+
clear: s.required ? void 0 : () => {
|
|
57
|
+
let e = s.multiple ? [] : null;
|
|
58
|
+
h ? l(e) : (_.current = e, f(e));
|
|
58
59
|
}
|
|
59
60
|
})
|
|
60
61
|
]
|
|
61
62
|
});
|
|
62
63
|
}
|
|
63
64
|
//#endregion
|
|
64
|
-
export {
|
|
65
|
+
export { o as LookupField };
|
package/dropdown/popup.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ComponentChildren, RefObject } from '../_vendor/preact/src/index';
|
|
2
2
|
export type DropdownPopupProps = {
|
|
3
3
|
onPointerRelease?: (event: MouseEvent | TouchEvent) => void;
|
|
4
4
|
triggerRef: RefObject<HTMLDivElement>;
|
|
@@ -24,4 +24,4 @@ export type DropdownPopupProps = {
|
|
|
24
24
|
* @param theme - The theme of the dropdown
|
|
25
25
|
* @param dropdownMenuId - The id of the dropdown menu
|
|
26
26
|
*/
|
|
27
|
-
export declare function DropdownPopup({ onPointerRelease, triggerRef, children, portalTarget, theme, dropdownMenuId, popupClassName, closeOnClickOutside, onClose, align, matchTriggerWidth, maxHeight, observePopupResize, topLayer, }: DropdownPopupProps):
|
|
27
|
+
export declare function DropdownPopup({ onPointerRelease, triggerRef, children, portalTarget, theme, dropdownMenuId, popupClassName, closeOnClickOutside, onClose, align, matchTriggerWidth, maxHeight, observePopupResize, topLayer, }: DropdownPopupProps): import('../_vendor/preact/src/index').VNode<any>;
|
package/dropdown/popup.js
CHANGED
|
@@ -1,140 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { inheritUiMotion as n } from "../core/motion.js";
|
|
3
|
-
import { jsx as r } from "preact/jsx-runtime";
|
|
4
|
-
import { createPortal as i, useEffect as a, useLayoutEffect as o, useRef as s, useState as c } from "preact/compat";
|
|
5
|
-
//#region src/dropdown/popup.tsx
|
|
6
|
-
var l = 5, u = 4;
|
|
7
|
-
function d(e, t, n) {
|
|
8
|
-
let r = e.ownerDocument.defaultView;
|
|
9
|
-
if (!r || r.getComputedStyle(e).position === "fixed") return {
|
|
10
|
-
top: t,
|
|
11
|
-
left: n,
|
|
12
|
-
scaleX: 1,
|
|
13
|
-
scaleY: 1
|
|
14
|
-
};
|
|
15
|
-
let i = e.offsetParent, a = e.ownerDocument;
|
|
16
|
-
if (!i || i === a.body || i === a.documentElement) return {
|
|
17
|
-
top: t + r.scrollY,
|
|
18
|
-
left: n + r.scrollX,
|
|
19
|
-
scaleX: 1,
|
|
20
|
-
scaleY: 1
|
|
21
|
-
};
|
|
22
|
-
let o = i.getBoundingClientRect(), s = i, c = s.offsetWidth > 0 ? o.width / s.offsetWidth : 1, l = s.offsetHeight > 0 ? o.height / s.offsetHeight : 1, u = Number.isFinite(c) && c > 0 ? c : 1, d = Number.isFinite(l) && l > 0 ? l : 1;
|
|
23
|
-
return {
|
|
24
|
-
top: (t - o.top) / d - s.clientTop + s.scrollTop,
|
|
25
|
-
left: (n - o.left) / u - s.clientLeft + s.scrollLeft,
|
|
26
|
-
scaleX: u,
|
|
27
|
-
scaleY: d
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
function f({ onPointerRelease: f, triggerRef: p, children: m, portalTarget: h, theme: g, dropdownMenuId: _, popupClassName: v, closeOnClickOutside: y = !1, onClose: b, align: x = "start", matchTriggerWidth: S = !1, maxHeight: C, observePopupResize: w = !0, topLayer: T = !1 }) {
|
|
31
|
-
let E = s(null), [D, O] = c({
|
|
32
|
-
top: 0,
|
|
33
|
-
left: 0,
|
|
34
|
-
display: "none"
|
|
35
|
-
});
|
|
36
|
-
o(() => {
|
|
37
|
-
let e = p.current, t = E.current;
|
|
38
|
-
if (e && t) return n(e, t);
|
|
39
|
-
}, [h, p]), a(() => {
|
|
40
|
-
let e = p.current;
|
|
41
|
-
if (!e) return;
|
|
42
|
-
let t = e.ownerDocument.defaultView ?? window, n = () => {
|
|
43
|
-
let t = E.current;
|
|
44
|
-
if (!t) return;
|
|
45
|
-
let n = e.getBoundingClientRect(), r = d(t, n.bottom + u, n.left);
|
|
46
|
-
O({
|
|
47
|
-
top: r.top,
|
|
48
|
-
left: r.left,
|
|
49
|
-
display: "flex",
|
|
50
|
-
...S ? { width: n.width / r.scaleX } : {}
|
|
51
|
-
});
|
|
52
|
-
}, r = () => {
|
|
53
|
-
let n = E.current;
|
|
54
|
-
if (!n) return;
|
|
55
|
-
let r = e.getBoundingClientRect(), i = n.style.maxHeight;
|
|
56
|
-
n.style.maxHeight = "";
|
|
57
|
-
let a = n.getBoundingClientRect(), o = d(n, 0, 0), s = Math.max(a.height, n.offsetHeight * o.scaleY, n.scrollHeight * o.scaleY);
|
|
58
|
-
n.style.maxHeight = i;
|
|
59
|
-
let c = Math.max(a.width, n.offsetWidth * o.scaleX), f = Math.min(s, typeof C == "number" ? Math.max(0, C * o.scaleY) : Infinity), p = t.innerHeight, m = t.innerWidth, h = Math.max(0, r.top - u - l), g = Math.max(0, p - r.bottom - u - l), _ = f > g && h > g, v = Math.min(f, _ ? h : g), y = _ ? r.top - u - v : r.bottom + u, b = x === "end" ? r.right - c : r.left;
|
|
60
|
-
y = Math.max(l, Math.min(y, p - l - v)), b = Math.max(l, Math.min(b, m - c - l));
|
|
61
|
-
let w = d(n, y, b);
|
|
62
|
-
O({
|
|
63
|
-
top: w.top,
|
|
64
|
-
left: w.left,
|
|
65
|
-
display: "flex",
|
|
66
|
-
maxHeight: v / w.scaleY,
|
|
67
|
-
...S ? { width: r.width / w.scaleX } : {}
|
|
68
|
-
});
|
|
69
|
-
};
|
|
70
|
-
n();
|
|
71
|
-
let i = t.setTimeout(r, 0);
|
|
72
|
-
t.addEventListener("resize", r), t.addEventListener("scroll", r, !0);
|
|
73
|
-
let a = t.ResizeObserver, o = a ? new a(r) : void 0;
|
|
74
|
-
o?.observe(e);
|
|
75
|
-
let s = e.closest(".rv-dialog__surface, dialog");
|
|
76
|
-
return s && o?.observe(s), w && E.current && o?.observe(E.current), () => {
|
|
77
|
-
t.clearTimeout(i), t.removeEventListener("resize", r), t.removeEventListener("scroll", r, !0), o?.disconnect();
|
|
78
|
-
};
|
|
79
|
-
}, [
|
|
80
|
-
x,
|
|
81
|
-
S,
|
|
82
|
-
C,
|
|
83
|
-
w,
|
|
84
|
-
h,
|
|
85
|
-
p
|
|
86
|
-
]), o(() => {
|
|
87
|
-
let n = E.current;
|
|
88
|
-
if (!T || !n) return;
|
|
89
|
-
let r = t(n);
|
|
90
|
-
return () => {
|
|
91
|
-
e(n, r);
|
|
92
|
-
};
|
|
93
|
-
}, [h, T]), o(() => {
|
|
94
|
-
if (!y || !b) return;
|
|
95
|
-
let e = h?.ownerDocument ?? E.current?.ownerDocument ?? p.current?.ownerDocument ?? (typeof document < "u" ? document : void 0);
|
|
96
|
-
if (!e) return;
|
|
97
|
-
let t = (e) => {
|
|
98
|
-
let t = e.target;
|
|
99
|
-
t && (E.current?.contains(t) || p.current?.contains(t) || b());
|
|
100
|
-
};
|
|
101
|
-
e.addEventListener("mousedown", t);
|
|
102
|
-
let n = (t) => {
|
|
103
|
-
if (t.key !== "Escape") return;
|
|
104
|
-
let n = e.activeElement;
|
|
105
|
-
n && (E.current?.contains(n) || p.current?.contains(n)) && (t.preventDefault(), t.stopPropagation(), b(), p.current?.querySelector("button, input, select")?.focus());
|
|
106
|
-
};
|
|
107
|
-
return e.addEventListener("keydown", n), () => {
|
|
108
|
-
e.removeEventListener("mousedown", t), e.removeEventListener("keydown", n);
|
|
109
|
-
};
|
|
110
|
-
}, [
|
|
111
|
-
y,
|
|
112
|
-
b,
|
|
113
|
-
h,
|
|
114
|
-
p
|
|
115
|
-
]);
|
|
116
|
-
let k = /* @__PURE__ */ r("div", {
|
|
117
|
-
ref: E,
|
|
118
|
-
id: _,
|
|
119
|
-
className: `revo-dropdown-menu ${v || ""}`,
|
|
120
|
-
"data-theme": g ?? "default",
|
|
121
|
-
onMouseUp: f,
|
|
122
|
-
onTouchEnd: f,
|
|
123
|
-
style: {
|
|
124
|
-
top: `${D.top}px`,
|
|
125
|
-
left: `${D.left}px`,
|
|
126
|
-
...T ? {
|
|
127
|
-
right: "auto",
|
|
128
|
-
bottom: "auto",
|
|
129
|
-
margin: "0"
|
|
130
|
-
} : {},
|
|
131
|
-
display: D.display,
|
|
132
|
-
maxHeight: D.maxHeight === void 0 ? void 0 : `${D.maxHeight}px`,
|
|
133
|
-
width: D.width === void 0 ? void 0 : `${D.width}px`
|
|
134
|
-
},
|
|
135
|
-
children: m
|
|
136
|
-
});
|
|
137
|
-
return h ? i(k, h) : k;
|
|
138
|
-
}
|
|
139
|
-
//#endregion
|
|
140
|
-
export { f as DropdownPopup };
|
|
1
|
+
export { t as DropdownPopup } from "../_chunks/popup-C35Isk7p.js";
|
package/duration/controls.d.ts
CHANGED
|
@@ -10,4 +10,4 @@ export declare function DurationControls(props: DurationFieldOptions & {
|
|
|
10
10
|
disabled?: boolean;
|
|
11
11
|
onChange: (value: number, unit?: DurationUnit, elapsed?: boolean) => void;
|
|
12
12
|
onCommit?: (value: number, unit?: DurationUnit, elapsed?: boolean) => void;
|
|
13
|
-
}): import("preact").JSX.Element;
|
|
13
|
+
}): import("../_vendor/preact/src/index").JSX.Element;
|
package/duration/index.d.ts
CHANGED
|
@@ -30,7 +30,7 @@ export interface DurationFieldProps extends DurationFieldOptions {
|
|
|
30
30
|
readOnly?: boolean;
|
|
31
31
|
className?: string;
|
|
32
32
|
}
|
|
33
|
-
export declare function DurationField(props: DurationFieldProps): import("preact").JSX.Element;
|
|
33
|
+
export declare function DurationField(props: DurationFieldProps): import("../_vendor/preact/src/index").JSX.Element;
|
|
34
34
|
export type { DurationControlOptions, ParsedDuration };
|
|
35
35
|
/** Shared staged duration form for grid adapters; scheduling stays in product commands. */
|
|
36
36
|
export declare function DurationDraft({ value, options, apply, cancel, }: {
|
|
@@ -42,4 +42,4 @@ export declare function DurationDraft({ value, options, apply, cancel, }: {
|
|
|
42
42
|
};
|
|
43
43
|
apply: (value: ParsedDuration | null) => void;
|
|
44
44
|
cancel: () => void;
|
|
45
|
-
}): import("preact").JSX.Element;
|
|
45
|
+
}): import("../_vendor/preact/src/index").JSX.Element;
|
package/duration/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as DurationDraft, n as DurationField } from "../_chunks/duration-
|
|
1
|
+
export { t as DurationDraft, n as DurationField } from "../_chunks/duration-CBJWK82T.js";
|
package/duration/style.scss
CHANGED
package/editor-actions.d.ts
CHANGED
|
@@ -17,4 +17,4 @@ export declare function EditorActions({ apply, cancel, clear, disabled, text, sh
|
|
|
17
17
|
disabled?: boolean;
|
|
18
18
|
text?: Partial<EditorActionText>;
|
|
19
19
|
showConfirm?: boolean;
|
|
20
|
-
}): import("preact").JSX.Element | null;
|
|
20
|
+
}): import("./_vendor/preact/src/index").JSX.Element | null;
|