@g9tm/lynxcontrols 0.0.0-stage → 1.4.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/README.md +29 -2
- package/dist/.tsbuildinfo +1 -0
- package/dist/base/base.css +16 -0
- package/dist/base/base.css.map +1 -0
- package/dist/base/control.d.ts +68 -0
- package/dist/base/control.d.ts.map +1 -0
- package/dist/base/control.jsx +36 -0
- package/dist/base/control.jsx.map +1 -0
- package/dist/base/corner-badge.d.ts +35 -0
- package/dist/base/corner-badge.d.ts.map +1 -0
- package/dist/base/corner-badge.jsx +45 -0
- package/dist/base/corner-badge.jsx.map +1 -0
- package/dist/base/disposer.d.ts +28 -0
- package/dist/base/disposer.d.ts.map +1 -0
- package/dist/base/disposer.jsx +61 -0
- package/dist/base/disposer.jsx.map +1 -0
- package/dist/base/index.d.ts +10 -0
- package/dist/base/index.d.ts.map +1 -0
- package/dist/base/index.jsx +9 -0
- package/dist/base/press.d.ts +38 -0
- package/dist/base/press.d.ts.map +1 -0
- package/dist/base/press.jsx +73 -0
- package/dist/base/press.jsx.map +1 -0
- package/dist/base/pressable.d.ts +25 -0
- package/dist/base/pressable.d.ts.map +1 -0
- package/dist/base/pressable.jsx +38 -0
- package/dist/base/pressable.jsx.map +1 -0
- package/dist/base/selection-item.d.ts +29 -0
- package/dist/base/selection-item.d.ts.map +1 -0
- package/dist/base/selection-item.jsx +6 -0
- package/dist/base/selection-item.jsx.map +1 -0
- package/dist/base/timers.d.ts +7 -0
- package/dist/base/timers.d.ts.map +1 -0
- package/dist/base/timers.jsx +10 -0
- package/dist/base/timers.jsx.map +1 -0
- package/dist/base/use-controllable-state.d.ts +30 -0
- package/dist/base/use-controllable-state.d.ts.map +1 -0
- package/dist/base/use-controllable-state.jsx +49 -0
- package/dist/base/use-controllable-state.jsx.map +1 -0
- package/dist/base/use-stable-callback.d.ts +8 -0
- package/dist/base/use-stable-callback.d.ts.map +1 -0
- package/dist/base/use-stable-callback.jsx +12 -0
- package/dist/base/use-stable-callback.jsx.map +1 -0
- package/dist/button/button.css +162 -0
- package/dist/button/button.css.map +1 -0
- package/dist/button/button.d.ts +52 -0
- package/dist/button/button.d.ts.map +1 -0
- package/dist/button/button.jsx +88 -0
- package/dist/button/button.jsx.map +1 -0
- package/dist/button/header-action-button.d.ts +34 -0
- package/dist/button/header-action-button.d.ts.map +1 -0
- package/dist/button/header-action-button.jsx +51 -0
- package/dist/button/header-action-button.jsx.map +1 -0
- package/dist/button/icon-button.d.ts +46 -0
- package/dist/button/icon-button.d.ts.map +1 -0
- package/dist/button/icon-button.jsx +69 -0
- package/dist/button/icon-button.jsx.map +1 -0
- package/dist/button/index.d.ts +9 -0
- package/dist/button/index.d.ts.map +1 -0
- package/dist/button/index.jsx +8 -0
- package/dist/button/nav-card.d.ts +58 -0
- package/dist/button/nav-card.d.ts.map +1 -0
- package/dist/button/nav-card.jsx +96 -0
- package/dist/button/nav-card.jsx.map +1 -0
- package/dist/button/safe-tap.d.ts +27 -0
- package/dist/button/safe-tap.d.ts.map +1 -0
- package/dist/button/safe-tap.jsx +46 -0
- package/dist/button/safe-tap.jsx.map +1 -0
- package/dist/button/safe.d.ts +84 -0
- package/dist/button/safe.d.ts.map +1 -0
- package/dist/button/safe.jsx +116 -0
- package/dist/button/safe.jsx.map +1 -0
- package/dist/button/vertical-icon-text-button.d.ts +18 -0
- package/dist/button/vertical-icon-text-button.d.ts.map +1 -0
- package/dist/button/vertical-icon-text-button.jsx +21 -0
- package/dist/button/vertical-icon-text-button.jsx.map +1 -0
- package/dist/button/visuals.d.ts +53 -0
- package/dist/button/visuals.d.ts.map +1 -0
- package/dist/button/visuals.jsx +92 -0
- package/dist/button/visuals.jsx.map +1 -0
- package/dist/cascade/cascade-panel.d.ts +80 -0
- package/dist/cascade/cascade-panel.d.ts.map +1 -0
- package/dist/cascade/cascade-panel.jsx +179 -0
- package/dist/cascade/cascade-panel.jsx.map +1 -0
- package/dist/cascade/cascade.css +70 -0
- package/dist/cascade/cascade.css.map +1 -0
- package/dist/cascade/index.d.ts +3 -0
- package/dist/cascade/index.d.ts.map +1 -0
- package/dist/cascade/index.jsx +2 -0
- package/dist/cascade/model.d.ts +68 -0
- package/dist/cascade/model.d.ts.map +1 -0
- package/dist/cascade/model.jsx +161 -0
- package/dist/cascade/model.jsx.map +1 -0
- package/dist/deferred/deferred-content.d.ts +82 -0
- package/dist/deferred/deferred-content.d.ts.map +1 -0
- package/dist/deferred/deferred-content.jsx +263 -0
- package/dist/deferred/deferred-content.jsx.map +1 -0
- package/dist/deferred/deferred.css +62 -0
- package/dist/deferred/deferred.css.map +1 -0
- package/dist/deferred/index.d.ts +3 -0
- package/dist/deferred/index.d.ts.map +1 -0
- package/dist/deferred/index.jsx +2 -0
- package/dist/deferred/readiness-signal.d.ts +16 -0
- package/dist/deferred/readiness-signal.d.ts.map +1 -0
- package/dist/deferred/readiness-signal.jsx +29 -0
- package/dist/deferred/readiness-signal.jsx.map +1 -0
- package/dist/display/activity-indicator.d.ts +21 -0
- package/dist/display/activity-indicator.d.ts.map +1 -0
- package/dist/display/activity-indicator.jsx +22 -0
- package/dist/display/activity-indicator.jsx.map +1 -0
- package/dist/display/culture-date-time-label.d.ts +64 -0
- package/dist/display/culture-date-time-label.d.ts.map +1 -0
- package/dist/display/culture-date-time-label.jsx +73 -0
- package/dist/display/culture-date-time-label.jsx.map +1 -0
- package/dist/display/display.css +217 -0
- package/dist/display/display.css.map +1 -0
- package/dist/display/index.d.ts +7 -0
- package/dist/display/index.d.ts.map +1 -0
- package/dist/display/index.jsx +6 -0
- package/dist/display/progress-bar.d.ts +38 -0
- package/dist/display/progress-bar.d.ts.map +1 -0
- package/dist/display/progress-bar.jsx +57 -0
- package/dist/display/progress-bar.jsx.map +1 -0
- package/dist/display/separator.d.ts +30 -0
- package/dist/display/separator.d.ts.map +1 -0
- package/dist/display/separator.jsx +55 -0
- package/dist/display/separator.jsx.map +1 -0
- package/dist/display/shimmer.d.ts +41 -0
- package/dist/display/shimmer.d.ts.map +1 -0
- package/dist/display/shimmer.jsx +41 -0
- package/dist/display/shimmer.jsx.map +1 -0
- package/dist/display/title-with-line.d.ts +13 -0
- package/dist/display/title-with-line.d.ts.map +1 -0
- package/dist/display/title-with-line.jsx +21 -0
- package/dist/display/title-with-line.jsx.map +1 -0
- package/dist/edge-panel/edge-panel.css +132 -0
- package/dist/edge-panel/edge-panel.css.map +1 -0
- package/dist/edge-panel/edge-panel.d.ts +87 -0
- package/dist/edge-panel/edge-panel.d.ts.map +1 -0
- package/dist/edge-panel/edge-panel.jsx +326 -0
- package/dist/edge-panel/edge-panel.jsx.map +1 -0
- package/dist/edge-panel/helper.d.ts +27 -0
- package/dist/edge-panel/helper.d.ts.map +1 -0
- package/dist/edge-panel/helper.jsx +118 -0
- package/dist/edge-panel/helper.jsx.map +1 -0
- package/dist/edge-panel/index.d.ts +4 -0
- package/dist/edge-panel/index.d.ts.map +1 -0
- package/dist/edge-panel/index.jsx +3 -0
- package/dist/edge-panel/types.d.ts +155 -0
- package/dist/edge-panel/types.d.ts.map +1 -0
- package/dist/edge-panel/types.jsx +139 -0
- package/dist/edge-panel/types.jsx.map +1 -0
- package/dist/expander/expander.css +54 -0
- package/dist/expander/expander.css.map +1 -0
- package/dist/expander/expander.d.ts +46 -0
- package/dist/expander/expander.d.ts.map +1 -0
- package/dist/expander/expander.jsx +112 -0
- package/dist/expander/expander.jsx.map +1 -0
- package/dist/expander/index.d.ts +2 -0
- package/dist/expander/index.d.ts.map +1 -0
- package/dist/expander/index.jsx +1 -0
- package/dist/fields/dictation.d.ts +43 -0
- package/dist/fields/dictation.d.ts.map +1 -0
- package/dist/fields/dictation.jsx +124 -0
- package/dist/fields/dictation.jsx.map +1 -0
- package/dist/fields/editor.d.ts +26 -0
- package/dist/fields/editor.d.ts.map +1 -0
- package/dist/fields/editor.jsx +46 -0
- package/dist/fields/editor.jsx.map +1 -0
- package/dist/fields/fields.css +164 -0
- package/dist/fields/fields.css.map +1 -0
- package/dist/fields/index.d.ts +13 -0
- package/dist/fields/index.d.ts.map +1 -0
- package/dist/fields/index.jsx +12 -0
- package/dist/fields/input-policy.d.ts +48 -0
- package/dist/fields/input-policy.d.ts.map +1 -0
- package/dist/fields/input-policy.jsx +215 -0
- package/dist/fields/input-policy.jsx.map +1 -0
- package/dist/fields/notch.d.ts +10 -0
- package/dist/fields/notch.d.ts.map +1 -0
- package/dist/fields/notch.jsx +9 -0
- package/dist/fields/notch.jsx.map +1 -0
- package/dist/fields/outlined-field.d.ts +152 -0
- package/dist/fields/outlined-field.d.ts.map +1 -0
- package/dist/fields/outlined-field.jsx +199 -0
- package/dist/fields/outlined-field.jsx.map +1 -0
- package/dist/fields/pin-entry.d.ts +65 -0
- package/dist/fields/pin-entry.d.ts.map +1 -0
- package/dist/fields/pin-entry.jsx +294 -0
- package/dist/fields/pin-entry.jsx.map +1 -0
- package/dist/fields/search-entry.d.ts +35 -0
- package/dist/fields/search-entry.d.ts.map +1 -0
- package/dist/fields/search-entry.jsx +118 -0
- package/dist/fields/search-entry.jsx.map +1 -0
- package/dist/fields/slot-layout.d.ts +33 -0
- package/dist/fields/slot-layout.d.ts.map +1 -0
- package/dist/fields/slot-layout.jsx +33 -0
- package/dist/fields/slot-layout.jsx.map +1 -0
- package/dist/fields/text-entry.d.ts +62 -0
- package/dist/fields/text-entry.d.ts.map +1 -0
- package/dist/fields/text-entry.jsx +82 -0
- package/dist/fields/text-entry.jsx.map +1 -0
- package/dist/fields/use-dictation.d.ts +34 -0
- package/dist/fields/use-dictation.d.ts.map +1 -0
- package/dist/fields/use-dictation.jsx +80 -0
- package/dist/fields/use-dictation.jsx.map +1 -0
- package/dist/fields/use-text-input.d.ts +150 -0
- package/dist/fields/use-text-input.d.ts.map +1 -0
- package/dist/fields/use-text-input.jsx +247 -0
- package/dist/fields/use-text-input.jsx.map +1 -0
- package/dist/fields/validator.d.ts +14 -0
- package/dist/fields/validator.d.ts.map +1 -0
- package/dist/fields/validator.jsx +20 -0
- package/dist/fields/validator.jsx.map +1 -0
- package/dist/host/back.d.ts +42 -0
- package/dist/host/back.d.ts.map +1 -0
- package/dist/host/back.jsx +47 -0
- package/dist/host/back.jsx.map +1 -0
- package/dist/host/hooks.d.ts +90 -0
- package/dist/host/hooks.d.ts.map +1 -0
- package/dist/host/hooks.jsx +166 -0
- package/dist/host/hooks.jsx.map +1 -0
- package/dist/host/host.css +81 -0
- package/dist/host/host.css.map +1 -0
- package/dist/host/host.d.ts +70 -0
- package/dist/host/host.d.ts.map +1 -0
- package/dist/host/host.jsx +229 -0
- package/dist/host/host.jsx.map +1 -0
- package/dist/host/index.d.ts +9 -0
- package/dist/host/index.d.ts.map +1 -0
- package/dist/host/index.jsx +8 -0
- package/dist/host/keyboard.d.ts +24 -0
- package/dist/host/keyboard.d.ts.map +1 -0
- package/dist/host/keyboard.jsx +28 -0
- package/dist/host/keyboard.jsx.map +1 -0
- package/dist/host/layers.d.ts +69 -0
- package/dist/host/layers.d.ts.map +1 -0
- package/dist/host/layers.jsx +111 -0
- package/dist/host/layers.jsx.map +1 -0
- package/dist/host/page-loading-overlay.d.ts +17 -0
- package/dist/host/page-loading-overlay.d.ts.map +1 -0
- package/dist/host/page-loading-overlay.jsx +16 -0
- package/dist/host/page-loading-overlay.jsx.map +1 -0
- package/dist/host/readiness.d.ts +57 -0
- package/dist/host/readiness.d.ts.map +1 -0
- package/dist/host/readiness.jsx +138 -0
- package/dist/host/readiness.jsx.map +1 -0
- package/dist/host/registry.d.ts +106 -0
- package/dist/host/registry.d.ts.map +1 -0
- package/dist/host/registry.jsx +93 -0
- package/dist/host/registry.jsx.map +1 -0
- package/dist/icon/icon.css +39 -0
- package/dist/icon/icon.css.map +1 -0
- package/dist/icon/icon.d.ts +57 -0
- package/dist/icon/icon.d.ts.map +1 -0
- package/dist/icon/icon.jsx +115 -0
- package/dist/icon/icon.jsx.map +1 -0
- package/dist/icon/index.d.ts +4 -0
- package/dist/icon/index.d.ts.map +1 -0
- package/dist/icon/index.jsx +3 -0
- package/dist/icon/slot.d.ts +45 -0
- package/dist/icon/slot.d.ts.map +1 -0
- package/dist/icon/slot.jsx +61 -0
- package/dist/icon/slot.jsx.map +1 -0
- package/dist/icon/swatch.d.ts +29 -0
- package/dist/icon/swatch.d.ts.map +1 -0
- package/dist/icon/swatch.jsx +25 -0
- package/dist/icon/swatch.jsx.map +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.jsx +1 -0
- package/dist/pickers/combo-box.d.ts +42 -0
- package/dist/pickers/combo-box.d.ts.map +1 -0
- package/dist/pickers/combo-box.jsx +129 -0
- package/dist/pickers/combo-box.jsx.map +1 -0
- package/dist/pickers/date-time-picker.d.ts +63 -0
- package/dist/pickers/date-time-picker.d.ts.map +1 -0
- package/dist/pickers/date-time-picker.jsx +141 -0
- package/dist/pickers/date-time-picker.jsx.map +1 -0
- package/dist/pickers/date-time.d.ts +82 -0
- package/dist/pickers/date-time.d.ts.map +1 -0
- package/dist/pickers/date-time.jsx +130 -0
- package/dist/pickers/date-time.jsx.map +1 -0
- package/dist/pickers/index.d.ts +10 -0
- package/dist/pickers/index.d.ts.map +1 -0
- package/dist/pickers/index.jsx +9 -0
- package/dist/pickers/picker-sheet.d.ts +21 -0
- package/dist/pickers/picker-sheet.d.ts.map +1 -0
- package/dist/pickers/picker-sheet.jsx +61 -0
- package/dist/pickers/picker-sheet.jsx.map +1 -0
- package/dist/pickers/picker.d.ts +32 -0
- package/dist/pickers/picker.d.ts.map +1 -0
- package/dist/pickers/picker.jsx +72 -0
- package/dist/pickers/picker.jsx.map +1 -0
- package/dist/pickers/pickers.css +219 -0
- package/dist/pickers/pickers.css.map +1 -0
- package/dist/pickers/timespan-picker.d.ts +36 -0
- package/dist/pickers/timespan-picker.d.ts.map +1 -0
- package/dist/pickers/timespan-picker.jsx +99 -0
- package/dist/pickers/timespan-picker.jsx.map +1 -0
- package/dist/pickers/timespan.d.ts +38 -0
- package/dist/pickers/timespan.d.ts.map +1 -0
- package/dist/pickers/timespan.jsx +49 -0
- package/dist/pickers/timespan.jsx.map +1 -0
- package/dist/pickers/trigger.d.ts +34 -0
- package/dist/pickers/trigger.d.ts.map +1 -0
- package/dist/pickers/trigger.jsx +77 -0
- package/dist/pickers/trigger.jsx.map +1 -0
- package/dist/pickers/wheel-column.d.ts +32 -0
- package/dist/pickers/wheel-column.d.ts.map +1 -0
- package/dist/pickers/wheel-column.jsx +99 -0
- package/dist/pickers/wheel-column.jsx.map +1 -0
- package/dist/plus-button/index.d.ts +3 -0
- package/dist/plus-button/index.d.ts.map +1 -0
- package/dist/plus-button/index.jsx +2 -0
- package/dist/plus-button/model.d.ts +65 -0
- package/dist/plus-button/model.d.ts.map +1 -0
- package/dist/plus-button/model.jsx +86 -0
- package/dist/plus-button/model.jsx.map +1 -0
- package/dist/plus-button/plus-button.css +67 -0
- package/dist/plus-button/plus-button.css.map +1 -0
- package/dist/plus-button/plus-button.d.ts +38 -0
- package/dist/plus-button/plus-button.d.ts.map +1 -0
- package/dist/plus-button/plus-button.jsx +155 -0
- package/dist/plus-button/plus-button.jsx.map +1 -0
- package/dist/popup/frame.d.ts +101 -0
- package/dist/popup/frame.d.ts.map +1 -0
- package/dist/popup/frame.jsx +252 -0
- package/dist/popup/frame.jsx.map +1 -0
- package/dist/popup/index.d.ts +8 -0
- package/dist/popup/index.d.ts.map +1 -0
- package/dist/popup/index.jsx +7 -0
- package/dist/popup/input-form.d.ts +35 -0
- package/dist/popup/input-form.d.ts.map +1 -0
- package/dist/popup/input-form.jsx +160 -0
- package/dist/popup/input-form.jsx.map +1 -0
- package/dist/popup/input.d.ts +175 -0
- package/dist/popup/input.d.ts.map +1 -0
- package/dist/popup/input.jsx +176 -0
- package/dist/popup/input.jsx.map +1 -0
- package/dist/popup/popup-view.d.ts +25 -0
- package/dist/popup/popup-view.d.ts.map +1 -0
- package/dist/popup/popup-view.jsx +67 -0
- package/dist/popup/popup-view.jsx.map +1 -0
- package/dist/popup/popup.css +203 -0
- package/dist/popup/popup.css.map +1 -0
- package/dist/popup/queue.d.ts +90 -0
- package/dist/popup/queue.d.ts.map +1 -0
- package/dist/popup/queue.jsx +309 -0
- package/dist/popup/queue.jsx.map +1 -0
- package/dist/popup/service.d.ts +60 -0
- package/dist/popup/service.d.ts.map +1 -0
- package/dist/popup/service.jsx +350 -0
- package/dist/popup/service.jsx.map +1 -0
- package/dist/popup/types.d.ts +222 -0
- package/dist/popup/types.d.ts.map +1 -0
- package/dist/popup/types.jsx +218 -0
- package/dist/popup/types.jsx.map +1 -0
- package/dist/provider/contexts.d.ts +41 -0
- package/dist/provider/contexts.d.ts.map +1 -0
- package/dist/provider/contexts.jsx +11 -0
- package/dist/provider/contexts.jsx.map +1 -0
- package/dist/provider/global-events.d.ts +8 -0
- package/dist/provider/global-events.d.ts.map +1 -0
- package/dist/provider/global-events.jsx +17 -0
- package/dist/provider/global-events.jsx.map +1 -0
- package/dist/provider/hooks.d.ts +49 -0
- package/dist/provider/hooks.d.ts.map +1 -0
- package/dist/provider/hooks.jsx +72 -0
- package/dist/provider/hooks.jsx.map +1 -0
- package/dist/provider/index.d.ts +5 -0
- package/dist/provider/index.d.ts.map +1 -0
- package/dist/provider/index.jsx +3 -0
- package/dist/provider/provider.css +18 -0
- package/dist/provider/provider.css.map +1 -0
- package/dist/provider/provider.d.ts +51 -0
- package/dist/provider/provider.d.ts.map +1 -0
- package/dist/provider/provider.jsx +290 -0
- package/dist/provider/provider.jsx.map +1 -0
- package/dist/provider/settings.d.ts +99 -0
- package/dist/provider/settings.d.ts.map +1 -0
- package/dist/provider/settings.jsx +45 -0
- package/dist/provider/settings.jsx.map +1 -0
- package/dist/provider/theme-css.d.ts +12 -0
- package/dist/provider/theme-css.d.ts.map +1 -0
- package/dist/provider/theme-css.jsx +19 -0
- package/dist/provider/theme-css.jsx.map +1 -0
- package/dist/provider/theme-root.d.ts +10 -0
- package/dist/provider/theme-root.d.ts.map +1 -0
- package/dist/provider/theme-root.jsx +24 -0
- package/dist/provider/theme-root.jsx.map +1 -0
- package/dist/provider/theme.css +473 -0
- package/dist/provider/theme.css.map +1 -0
- package/dist/range-slider/index.d.ts +3 -0
- package/dist/range-slider/index.d.ts.map +1 -0
- package/dist/range-slider/index.jsx +2 -0
- package/dist/range-slider/math.d.ts +23 -0
- package/dist/range-slider/math.d.ts.map +1 -0
- package/dist/range-slider/math.jsx +71 -0
- package/dist/range-slider/math.jsx.map +1 -0
- package/dist/range-slider/range-slider.css +90 -0
- package/dist/range-slider/range-slider.css.map +1 -0
- package/dist/range-slider/range-slider.d.ts +52 -0
- package/dist/range-slider/range-slider.d.ts.map +1 -0
- package/dist/range-slider/range-slider.jsx +159 -0
- package/dist/range-slider/range-slider.jsx.map +1 -0
- package/dist/selection/index.d.ts +5 -0
- package/dist/selection/index.d.ts.map +1 -0
- package/dist/selection/index.jsx +3 -0
- package/dist/selection/model.d.ts +53 -0
- package/dist/selection/model.d.ts.map +1 -0
- package/dist/selection/model.jsx +69 -0
- package/dist/selection/model.jsx.map +1 -0
- package/dist/selection/selection-sheet.d.ts +80 -0
- package/dist/selection/selection-sheet.d.ts.map +1 -0
- package/dist/selection/selection-sheet.jsx +366 -0
- package/dist/selection/selection-sheet.jsx.map +1 -0
- package/dist/selection/selection.css +76 -0
- package/dist/selection/selection.css.map +1 -0
- package/dist/selection/use-selection-model.d.ts +9 -0
- package/dist/selection/use-selection-model.d.ts.map +1 -0
- package/dist/selection/use-selection-model.jsx +22 -0
- package/dist/selection/use-selection-model.jsx.map +1 -0
- package/dist/sheet/frame.d.ts +47 -0
- package/dist/sheet/frame.d.ts.map +1 -0
- package/dist/sheet/frame.jsx +270 -0
- package/dist/sheet/frame.jsx.map +1 -0
- package/dist/sheet/gesture.d.ts +51 -0
- package/dist/sheet/gesture.d.ts.map +1 -0
- package/dist/sheet/gesture.jsx +107 -0
- package/dist/sheet/gesture.jsx.map +1 -0
- package/dist/sheet/handoff.d.ts +32 -0
- package/dist/sheet/handoff.d.ts.map +1 -0
- package/dist/sheet/handoff.jsx +33 -0
- package/dist/sheet/handoff.jsx.map +1 -0
- package/dist/sheet/header.d.ts +46 -0
- package/dist/sheet/header.d.ts.map +1 -0
- package/dist/sheet/header.jsx +158 -0
- package/dist/sheet/header.jsx.map +1 -0
- package/dist/sheet/height-memo.d.ts +47 -0
- package/dist/sheet/height-memo.d.ts.map +1 -0
- package/dist/sheet/height-memo.jsx +100 -0
- package/dist/sheet/height-memo.jsx.map +1 -0
- package/dist/sheet/index.d.ts +12 -0
- package/dist/sheet/index.d.ts.map +1 -0
- package/dist/sheet/index.jsx +11 -0
- package/dist/sheet/loadable.d.ts +35 -0
- package/dist/sheet/loadable.d.ts.map +1 -0
- package/dist/sheet/loadable.jsx +65 -0
- package/dist/sheet/loadable.jsx.map +1 -0
- package/dist/sheet/motion.d.ts +59 -0
- package/dist/sheet/motion.d.ts.map +1 -0
- package/dist/sheet/motion.jsx +59 -0
- package/dist/sheet/motion.jsx.map +1 -0
- package/dist/sheet/options.d.ts +252 -0
- package/dist/sheet/options.d.ts.map +1 -0
- package/dist/sheet/options.jsx +92 -0
- package/dist/sheet/options.jsx.map +1 -0
- package/dist/sheet/processing.d.ts +22 -0
- package/dist/sheet/processing.d.ts.map +1 -0
- package/dist/sheet/processing.jsx +66 -0
- package/dist/sheet/processing.jsx.map +1 -0
- package/dist/sheet/service.d.ts +55 -0
- package/dist/sheet/service.d.ts.map +1 -0
- package/dist/sheet/service.jsx +143 -0
- package/dist/sheet/service.jsx.map +1 -0
- package/dist/sheet/sheet.css +246 -0
- package/dist/sheet/sheet.css.map +1 -0
- package/dist/sheet/sheet.d.ts +19 -0
- package/dist/sheet/sheet.d.ts.map +1 -0
- package/dist/sheet/sheet.jsx +40 -0
- package/dist/sheet/sheet.jsx.map +1 -0
- package/dist/sheet/sizing.d.ts +87 -0
- package/dist/sheet/sizing.d.ts.map +1 -0
- package/dist/sheet/sizing.jsx +159 -0
- package/dist/sheet/sizing.jsx.map +1 -0
- package/dist/sheet/stack.d.ts +161 -0
- package/dist/sheet/stack.d.ts.map +1 -0
- package/dist/sheet/stack.jsx +378 -0
- package/dist/sheet/stack.jsx.map +1 -0
- package/dist/swipe/index.d.ts +3 -0
- package/dist/swipe/index.d.ts.map +1 -0
- package/dist/swipe/index.jsx +2 -0
- package/dist/swipe/model.d.ts +72 -0
- package/dist/swipe/model.d.ts.map +1 -0
- package/dist/swipe/model.jsx +66 -0
- package/dist/swipe/model.jsx.map +1 -0
- package/dist/swipe/swipe-view.d.ts +40 -0
- package/dist/swipe/swipe-view.d.ts.map +1 -0
- package/dist/swipe/swipe-view.jsx +163 -0
- package/dist/swipe/swipe-view.jsx.map +1 -0
- package/dist/swipe/swipe.css +34 -0
- package/dist/swipe/swipe.css.map +1 -0
- package/dist/tab-bar/index.d.ts +4 -0
- package/dist/tab-bar/index.d.ts.map +1 -0
- package/dist/tab-bar/index.jsx +3 -0
- package/dist/tab-bar/metrics.d.ts +230 -0
- package/dist/tab-bar/metrics.d.ts.map +1 -0
- package/dist/tab-bar/metrics.jsx +221 -0
- package/dist/tab-bar/metrics.jsx.map +1 -0
- package/dist/tab-bar/model.d.ts +170 -0
- package/dist/tab-bar/model.d.ts.map +1 -0
- package/dist/tab-bar/model.jsx +349 -0
- package/dist/tab-bar/model.jsx.map +1 -0
- package/dist/tab-bar/tab-bar.css +173 -0
- package/dist/tab-bar/tab-bar.css.map +1 -0
- package/dist/tab-bar/tab-bar.d.ts +61 -0
- package/dist/tab-bar/tab-bar.d.ts.map +1 -0
- package/dist/tab-bar/tab-bar.jsx +346 -0
- package/dist/tab-bar/tab-bar.jsx.map +1 -0
- package/dist/tabs/index.d.ts +3 -0
- package/dist/tabs/index.d.ts.map +1 -0
- package/dist/tabs/index.jsx +2 -0
- package/dist/tabs/model.d.ts +83 -0
- package/dist/tabs/model.d.ts.map +1 -0
- package/dist/tabs/model.jsx +113 -0
- package/dist/tabs/model.jsx.map +1 -0
- package/dist/tabs/tab-view.d.ts +47 -0
- package/dist/tabs/tab-view.d.ts.map +1 -0
- package/dist/tabs/tab-view.jsx +227 -0
- package/dist/tabs/tab-view.jsx.map +1 -0
- package/dist/tabs/tabs.css +182 -0
- package/dist/tabs/tabs.css.map +1 -0
- package/dist/toast/index.d.ts +3 -0
- package/dist/toast/index.d.ts.map +1 -0
- package/dist/toast/index.jsx +2 -0
- package/dist/toast/service.d.ts +48 -0
- package/dist/toast/service.d.ts.map +1 -0
- package/dist/toast/service.jsx +238 -0
- package/dist/toast/service.jsx.map +1 -0
- package/dist/toast/store.d.ts +176 -0
- package/dist/toast/store.d.ts.map +1 -0
- package/dist/toast/store.jsx +355 -0
- package/dist/toast/store.jsx.map +1 -0
- package/dist/toast/toast.css +159 -0
- package/dist/toast/toast.css.map +1 -0
- package/dist/toggle/checkbox-math.d.ts +52 -0
- package/dist/toggle/checkbox-math.d.ts.map +1 -0
- package/dist/toggle/checkbox-math.jsx +111 -0
- package/dist/toggle/checkbox-math.jsx.map +1 -0
- package/dist/toggle/checkbox.d.ts +56 -0
- package/dist/toggle/checkbox.d.ts.map +1 -0
- package/dist/toggle/checkbox.jsx +152 -0
- package/dist/toggle/checkbox.jsx.map +1 -0
- package/dist/toggle/chip-group.d.ts +50 -0
- package/dist/toggle/chip-group.d.ts.map +1 -0
- package/dist/toggle/chip-group.jsx +107 -0
- package/dist/toggle/chip-group.jsx.map +1 -0
- package/dist/toggle/index.d.ts +5 -0
- package/dist/toggle/index.d.ts.map +1 -0
- package/dist/toggle/index.jsx +4 -0
- package/dist/toggle/switch.d.ts +52 -0
- package/dist/toggle/switch.d.ts.map +1 -0
- package/dist/toggle/switch.jsx +192 -0
- package/dist/toggle/switch.jsx.map +1 -0
- package/dist/toggle/toggle.css +188 -0
- package/dist/toggle/toggle.css.map +1 -0
- package/package.json +155 -4
- package/rspeedy/index.d.ts +21 -0
- package/rspeedy/index.mjs +75 -0
- package/rspeedy/index.test.mjs +52 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import "./popup.css";
|
|
2
|
+
import { useEffect, useRef, useState } from "@lynx-js/react";
|
|
3
|
+
import { startTimer, stopTimer } from "../base/timers.jsx";
|
|
4
|
+
import { useG9Back } from "../host/hooks.jsx";
|
|
5
|
+
import { useG9Window } from "../provider/hooks.jsx";
|
|
6
|
+
import { PopupFrame } from "./frame.jsx";
|
|
7
|
+
function G9PopupView(props) {
|
|
8
|
+
var _props_options, _o_animationDuration;
|
|
9
|
+
const o = null != (_props_options = props.options) ? _props_options : {};
|
|
10
|
+
const win = useG9Window();
|
|
11
|
+
const duration = 'none' === o.animation ? 0 : null != (_o_animationDuration = o.animationDuration) ? _o_animationDuration : 240;
|
|
12
|
+
const [phase, setPhase] = useState(props.open ? 'enter' : 'closed');
|
|
13
|
+
const [generation, setGeneration] = useState(0);
|
|
14
|
+
const latest = useRef(props);
|
|
15
|
+
latest.current = props;
|
|
16
|
+
useEffect(()=>{
|
|
17
|
+
if (props.open) {
|
|
18
|
+
setGeneration((g)=>g + 1);
|
|
19
|
+
setPhase('enter');
|
|
20
|
+
const t = startTimer(()=>setPhase('open'), 16);
|
|
21
|
+
return ()=>stopTimer(t);
|
|
22
|
+
}
|
|
23
|
+
if ('closed' === phase) return;
|
|
24
|
+
setPhase('leave');
|
|
25
|
+
const t = startTimer(()=>{
|
|
26
|
+
var _latest_current_onClosed, _latest_current;
|
|
27
|
+
setPhase('closed');
|
|
28
|
+
null == (_latest_current_onClosed = (_latest_current = latest.current).onClosed) || _latest_current_onClosed.call(_latest_current);
|
|
29
|
+
}, duration);
|
|
30
|
+
return ()=>stopTimer(t);
|
|
31
|
+
}, [
|
|
32
|
+
props.open
|
|
33
|
+
]);
|
|
34
|
+
useEffect(()=>{
|
|
35
|
+
var _o_autoCloseDuration;
|
|
36
|
+
const auto = null != (_o_autoCloseDuration = o.autoCloseDuration) ? _o_autoCloseDuration : 0;
|
|
37
|
+
if (!props.open || auto <= 0) return;
|
|
38
|
+
const t = startTimer(()=>{
|
|
39
|
+
var _latest_current_onOpenChange, _latest_current;
|
|
40
|
+
return null == (_latest_current_onOpenChange = (_latest_current = latest.current).onOpenChange) ? void 0 : _latest_current_onOpenChange.call(_latest_current, false);
|
|
41
|
+
}, auto);
|
|
42
|
+
return ()=>stopTimer(t);
|
|
43
|
+
}, [
|
|
44
|
+
props.open,
|
|
45
|
+
generation
|
|
46
|
+
]);
|
|
47
|
+
useG9Back(()=>{
|
|
48
|
+
var _latest_current_onOpenChange, _latest_current;
|
|
49
|
+
if ('none' === o.overlayMode) return false;
|
|
50
|
+
if (false !== o.closeOnBackButton) null == (_latest_current_onOpenChange = (_latest_current = latest.current).onOpenChange) || _latest_current_onOpenChange.call(_latest_current, false);
|
|
51
|
+
return true;
|
|
52
|
+
}, {
|
|
53
|
+
enabled: props.open,
|
|
54
|
+
layer: 'popups'
|
|
55
|
+
});
|
|
56
|
+
if ('closed' === phase) return null;
|
|
57
|
+
return <PopupFrame key={generation} options={o} phase={'leave' === phase ? 'leave' : phase} hostWidth={win.width} onBackgroundTap={()=>{
|
|
58
|
+
var _latest_current_onBackgroundTap, _latest_current, _latest_current_options, _latest_current_onOpenChange, _latest_current1;
|
|
59
|
+
null == (_latest_current_onBackgroundTap = (_latest_current = latest.current).onBackgroundTap) || _latest_current_onBackgroundTap.call(_latest_current);
|
|
60
|
+
if (null == (_latest_current_options = latest.current.options) ? void 0 : _latest_current_options.closeOnBackgroundTap) null == (_latest_current_onOpenChange = (_latest_current1 = latest.current).onOpenChange) || _latest_current_onOpenChange.call(_latest_current1, false);
|
|
61
|
+
}}>
|
|
62
|
+
{props.children}
|
|
63
|
+
</PopupFrame>;
|
|
64
|
+
}
|
|
65
|
+
export { G9PopupView };
|
|
66
|
+
|
|
67
|
+
//# sourceMappingURL=popup-view.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"popup/popup-view.jsx","sources":["../../src/popup/popup-view.tsx"],"sourcesContent":["import './popup.css';\nimport { type ReactNode, useEffect, useRef, useState } from '@lynx-js/react';\nimport { startTimer, stopTimer } from '../base/timers';\nimport { useG9Back } from '../host/hooks';\nimport { useG9Window } from '../provider/hooks';\nimport { type G9PopupViewOpenOptions, PopupFrame } from './frame';\n\n/** Props of {@link G9PopupView}. */\nexport interface G9PopupViewProps {\n /** Shown (MAUI `Open` / `CloseAsync` / `IsOpen`). */\n readonly open: boolean;\n /** Asks to close: background tap (with `closeOnBackgroundTap`), hardware back (with `closeOnBackButton`), auto-close. */\n readonly onOpenChange?: (open: boolean) => void;\n readonly options?: G9PopupViewOpenOptions;\n /** The scrim was tapped (MAUI `BackgroundTapped`), whether or not it closes the popup. */\n readonly onBackgroundTap?: () => void;\n /** After the close motion (MAUI `Closed`). */\n readonly onClosed?: () => void;\n /** The card content (MAUI `Content` / `SetContent`). */\n readonly children?: ReactNode;\n}\n\n/**\n * A popup card you place yourself (MAUI `G9PopupView` hosted in your own layout): the same scrim, card, motions,\n * placement and drag as the queued popups, but outside the queue: for floating tools (non-modal `overlayMode:\n * 'none'` + `isDraggable` + a `G9PopupDragHandle` header) or a second popup next to the queued one. It fills its\n * parent; put it in a full-size container (or a host layer).\n */\nexport function G9PopupView(props: G9PopupViewProps): ReactNode {\n const o = props.options ?? {};\n const win = useG9Window();\n const duration = o.animation === 'none' ? 0 : (o.animationDuration ?? 240);\n const [phase, setPhase] = useState<'closed' | 'enter' | 'open' | 'leave'>(props.open ? 'enter' : 'closed');\n const [generation, setGeneration] = useState(0);\n const latest = useRef(props);\n latest.current = props;\n useEffect(() => {\n if (props.open) {\n setGeneration((g) => g + 1);\n setPhase('enter');\n const t = startTimer(() => setPhase('open'), 16);\n return () => stopTimer(t);\n }\n if (phase === 'closed') return;\n setPhase('leave');\n const t = startTimer(() => {\n setPhase('closed');\n latest.current.onClosed?.();\n }, duration);\n return () => stopTimer(t);\n }, [props.open]);\n useEffect(() => {\n const auto = o.autoCloseDuration ?? 0;\n if (!props.open || auto <= 0) return;\n const t = startTimer(() => latest.current.onOpenChange?.(false), auto);\n return () => stopTimer(t);\n }, [props.open, generation]);\n useG9Back(\n () => {\n // A modal popup consumes back (closing it unless `closeOnBackButton: false`); a non-modal one lets it through.\n if (o.overlayMode === 'none') return false;\n if (o.closeOnBackButton !== false) latest.current.onOpenChange?.(false);\n return true;\n },\n { enabled: props.open, layer: 'popups' },\n );\n if (phase === 'closed') return null;\n return (\n <PopupFrame\n key={generation}\n options={o}\n phase={phase === 'leave' ? 'leave' : phase}\n hostWidth={win.width}\n onBackgroundTap={() => {\n latest.current.onBackgroundTap?.();\n if (latest.current.options?.closeOnBackgroundTap) latest.current.onOpenChange?.(false);\n }}\n >\n {props.children}\n </PopupFrame>\n );\n}\n"],"names":["G9PopupView","props","_props_options","_o_animationDuration","o","win","useG9Window","duration","phase","setPhase","useState","generation","setGeneration","latest","useRef","useEffect","g","t","startTimer","stopTimer","_latest_current","_o_autoCloseDuration","auto","useG9Back","PopupFrame","_latest_current_options","_latest_current1"],"mappings":";;;;;;AA4BO,SAASA,YAAYC,KAAuB;QACvCC,gBAEqCC;IAF/C,MAAMC,IAAI,QAAAF,CAAAA,iBAAAA,MAAM,OAAO,AAAD,IAAZA,iBAAiB,CAAC;IAC5B,MAAMG,MAAMC;IACZ,MAAMC,WAAWH,AAAgB,WAAhBA,EAAE,SAAS,GAAc,IAAI,QAACD,CAAAA,uBAAAA,EAAE,iBAAiB,AAAD,IAAlBA,uBAAuB;IACtE,MAAM,CAACK,OAAOC,SAAS,GAAGC,SAAgDT,MAAM,IAAI,GAAG,UAAU;IACjG,MAAM,CAACU,YAAYC,cAAc,GAAGF,SAAS;IAC7C,MAAMG,SAASC,OAAOb;IACtBY,OAAO,OAAO,GAAGZ;IACjBc,UAAU;QACR,IAAId,MAAM,IAAI,EAAE;YACdW,cAAc,CAACI,IAAMA,IAAI;YACzBP,SAAS;YACT,MAAMQ,IAAIC,WAAW,IAAMT,SAAS,SAAS;YAC7C,OAAO,IAAMU,UAAUF;QACzB;QACA,IAAIT,AAAU,aAAVA,OAAoB;QACxBC,SAAS;QACT,MAAMQ,IAAIC,WAAW;gBAEnBE,0BAAAA;YADAX,SAAS;oBACTW,CAAAA,2BAAAA,AAAAA,CAAAA,kBAAAA,OAAO,OAAO,AAAD,EAAE,QAAQ,AAAD,KAAtBA,yBAAAA,IAAAA,CAAAA;QACF,GAAGb;QACH,OAAO,IAAMY,UAAUF;IACzB,GAAG;QAAChB,MAAM,IAAI;KAAC;IACfc,UAAU;YACKM;QAAb,MAAMC,OAAO,QAAAD,CAAAA,uBAAAA,EAAE,iBAAiB,AAAD,IAAlBA,uBAAuB;QACpC,IAAI,CAACpB,MAAM,IAAI,IAAIqB,QAAQ,GAAG;QAC9B,MAAML,IAAIC,WAAW;gBAAME,8BAAAA;2BAAAA,CAAAA,+BAAAA,AAAAA,CAAAA,kBAAAA,OAAO,OAAO,AAAD,EAAE,YAAY,AAAD,IAA1BA,KAAAA,IAAAA,6BAAAA,IAAAA,CAAAA,iBAA8B;WAAQE;QACjE,OAAO,IAAMH,UAAUF;IACzB,GAAG;QAAChB,MAAM,IAAI;QAAEU;KAAW;IAC3BY,UACE;YAGqCH,8BAAAA;QADnC,IAAIhB,AAAkB,WAAlBA,EAAE,WAAW,EAAa,OAAO;QACrC,IAAIA,AAAwB,UAAxBA,EAAE,iBAAiB,EAAY,QAAAgB,CAAAA,+BAAAA,AAAAA,CAAAA,kBAAAA,OAAO,OAAO,AAAD,EAAE,YAAY,AAAD,KAA1BA,6BAAAA,IAAAA,CAAAA,iBAA8B;QACjE,OAAO;IACT,GACA;QAAE,SAASnB,MAAM,IAAI;QAAE,OAAO;IAAS;IAEzC,IAAIO,AAAU,aAAVA,OAAoB,OAAO;IAC/B,QACGgB,WACC,KAAKb,YACL,SAASP,GACT,OAAOI,AAAU,YAAVA,QAAoB,UAAUA,OACrC,WAAWH,IAAI,KAAK,EACpB,iBAAiB;YACfe,iCAAAA,iBACIK,yBAA8CC,8BAAAA;gBADlDN,CAAAA,kCAAAA,AAAAA,CAAAA,kBAAAA,OAAO,OAAO,AAAD,EAAE,eAAe,AAAD,KAA7BA,gCAAAA,IAAAA,CAAAA;QACA,IAAI,QAAAK,CAAAA,0BAAAA,OAAO,OAAO,CAAC,OAAO,AAAD,IAArBA,KAAAA,IAAAA,wBAAwB,oBAAoB,EAAE,QAAAC,CAAAA,+BAAAA,AAAAA,CAAAA,mBAAAA,OAAO,OAAO,AAAD,EAAE,YAAY,AAAD,KAA1BA,6BAAAA,IAAAA,CAAAA,kBAA8B;IAClF,GACD;MACC,CAACzB,MAAM,QAAQ,CAAC;IAClB,EAAEuB;AAEN"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
.g9-popup {
|
|
2
|
+
justify-content: center;
|
|
3
|
+
align-items: center;
|
|
4
|
+
display: flex;
|
|
5
|
+
position: fixed;
|
|
6
|
+
top: 0;
|
|
7
|
+
bottom: 0;
|
|
8
|
+
left: 0;
|
|
9
|
+
right: 0;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.g9-popup--placed {
|
|
13
|
+
display: block;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.g9-popup__scrim {
|
|
17
|
+
position: absolute;
|
|
18
|
+
top: 0;
|
|
19
|
+
bottom: 0;
|
|
20
|
+
left: 0;
|
|
21
|
+
right: 0;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.g9-popup__card {
|
|
25
|
+
border-style: solid;
|
|
26
|
+
border-width: 1px;
|
|
27
|
+
flex-direction: column;
|
|
28
|
+
max-height: 90%;
|
|
29
|
+
display: flex;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.g9-popup__content {
|
|
33
|
+
flex-direction: column;
|
|
34
|
+
display: flex;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.g9-popup__header {
|
|
38
|
+
flex-direction: row;
|
|
39
|
+
align-items: center;
|
|
40
|
+
margin-bottom: 10px;
|
|
41
|
+
display: flex;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.g9-popup__badge {
|
|
45
|
+
border-radius: 18px;
|
|
46
|
+
justify-content: center;
|
|
47
|
+
align-items: center;
|
|
48
|
+
width: 36px;
|
|
49
|
+
height: 36px;
|
|
50
|
+
margin-right: 10px;
|
|
51
|
+
display: flex;
|
|
52
|
+
position: relative;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.g9-dir-rtl .g9-popup__badge {
|
|
56
|
+
margin-left: 10px;
|
|
57
|
+
margin-right: 0;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.g9-popup__badge-tint {
|
|
61
|
+
opacity: .14;
|
|
62
|
+
border-radius: 18px;
|
|
63
|
+
position: absolute;
|
|
64
|
+
top: 0;
|
|
65
|
+
bottom: 0;
|
|
66
|
+
left: 0;
|
|
67
|
+
right: 0;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.g9-popup__title {
|
|
71
|
+
flex: 1;
|
|
72
|
+
font-size: 17px;
|
|
73
|
+
font-weight: 700;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.g9-popup__close {
|
|
77
|
+
justify-content: center;
|
|
78
|
+
align-items: center;
|
|
79
|
+
width: 32px;
|
|
80
|
+
height: 32px;
|
|
81
|
+
display: flex;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.g9-popup__message {
|
|
85
|
+
margin-bottom: 12px;
|
|
86
|
+
font-size: 15px;
|
|
87
|
+
line-height: 22px;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.g9-popup__body {
|
|
91
|
+
margin-bottom: 12px;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.g9-popup__footer {
|
|
95
|
+
flex-direction: row;
|
|
96
|
+
align-items: center;
|
|
97
|
+
margin-top: 4px;
|
|
98
|
+
display: flex;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.g9-popup__footer--stacked {
|
|
102
|
+
flex-direction: column;
|
|
103
|
+
align-items: stretch;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.g9-popup__button {
|
|
107
|
+
border-radius: 12px;
|
|
108
|
+
flex-direction: row;
|
|
109
|
+
flex: 1;
|
|
110
|
+
justify-content: center;
|
|
111
|
+
align-items: center;
|
|
112
|
+
height: 44px;
|
|
113
|
+
margin-left: 4px;
|
|
114
|
+
margin-right: 4px;
|
|
115
|
+
display: flex;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.g9-popup__button--stacked {
|
|
119
|
+
flex: none;
|
|
120
|
+
margin: 4px 0;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.g9-popup__button--outline {
|
|
124
|
+
border-style: solid;
|
|
125
|
+
border-width: 1.5px;
|
|
126
|
+
border-color: var(--g9-outline-variant);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.g9-popup__button--busy {
|
|
130
|
+
opacity: .7;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.g9-popup__button-text {
|
|
134
|
+
font-size: 15px;
|
|
135
|
+
font-weight: 700;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.g9-popup-input {
|
|
139
|
+
flex-direction: column;
|
|
140
|
+
display: flex;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.g9-popup-input__group {
|
|
144
|
+
flex-direction: column;
|
|
145
|
+
margin-bottom: 10px;
|
|
146
|
+
display: flex;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.g9-popup-input__label {
|
|
150
|
+
color: var(--g9-text-secondary);
|
|
151
|
+
margin-bottom: 6px;
|
|
152
|
+
font-size: 14px;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.g9-popup-input__error {
|
|
156
|
+
color: var(--g9-error);
|
|
157
|
+
margin-top: 4px;
|
|
158
|
+
font-size: 13px;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.g9-popup-input__radio {
|
|
162
|
+
flex-direction: row;
|
|
163
|
+
align-items: center;
|
|
164
|
+
height: 40px;
|
|
165
|
+
display: flex;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
.g9-popup-input__radio-ring {
|
|
169
|
+
border-style: solid;
|
|
170
|
+
border-width: 2px;
|
|
171
|
+
border-color: var(--g9-outline);
|
|
172
|
+
border-radius: 10px;
|
|
173
|
+
justify-content: center;
|
|
174
|
+
align-items: center;
|
|
175
|
+
width: 20px;
|
|
176
|
+
height: 20px;
|
|
177
|
+
margin-right: 10px;
|
|
178
|
+
display: flex;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
.g9-dir-rtl .g9-popup-input__radio-ring {
|
|
182
|
+
margin-left: 10px;
|
|
183
|
+
margin-right: 0;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.g9-popup-input__radio--selected .g9-popup-input__radio-ring {
|
|
187
|
+
border-color: var(--g9-primary);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
.g9-popup-input__radio-dot {
|
|
191
|
+
background-color: var(--g9-primary);
|
|
192
|
+
border-radius: 5px;
|
|
193
|
+
width: 10px;
|
|
194
|
+
height: 10px;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
.g9-popup-input__option-text {
|
|
198
|
+
color: var(--g9-on-surface);
|
|
199
|
+
font-size: 15px;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
/*# sourceMappingURL=popup.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["webpack://./src/popup/popup.css"],"names":[],"mappings":"AAGA;EAFE,uBAAuB;EACvB,mBAAmB;EACnB,aAAa;EACb,eAAe;EACf,MAAM;EACN,SAAS;EACT,OAAO;EACP,QAAQ;AACV;;AAKA;EAFE,cAAc;AAChB;;AAKA;EAFE,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,OAAO;EACP,QAAQ;AACV;;AAKA;EAFE,mBAAmB;EACnB,iBAAiB;EACjB,sBAAsB;EACtB,eAAe;EACf,aAAa;AACf;;AAKA;EAFE,sBAAsB;EACtB,aAAa;AACf;;AAKA;EAFE,mBAAmB;EACnB,mBAAmB;EACnB,mBAAmB;EACnB,aAAa;AACf;;AAKA;EAFE,mBAAmB;EACnB,uBAAuB;EACvB,mBAAmB;EACnB,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,aAAa;EACb,kBAAkB;AACpB;;AAKA;EAFE,iBAAiB;EACjB,eAAe;AACjB;;AAKA;EAFE,YAAY;EACZ,mBAAmB;EACnB,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,OAAO;EACP,QAAQ;AACV;;AAKA;EAFE,OAAO;EACP,eAAe;EACf,gBAAgB;AAClB;;AAKA;EAFE,uBAAuB;EACvB,mBAAmB;EACnB,WAAW;EACX,YAAY;EACZ,aAAa;AACf;;AAKA;EAFE,mBAAmB;EACnB,eAAe;EACf,iBAAiB;AACnB;;AAKA;EAFE,mBAAmB;AACrB;;AAKA;EAFE,mBAAmB;EACnB,mBAAmB;EACnB,eAAe;EACf,aAAa;AACf;;AAKA;EAFE,sBAAsB;EACtB,oBAAoB;AACtB;;AAKA;EAFE,mBAAmB;EACnB,mBAAmB;EACnB,OAAO;EACP,uBAAuB;EACvB,mBAAmB;EACnB,YAAY;EACZ,gBAAgB;EAChB,iBAAiB;EACjB,aAAa;AACf;;AAKA;EAFE,UAAU;EACV,aAAa;AACf;;AAKA;EAFE,mBAAmB;EACnB,mBAAmB;EACnB,uCAAuC;AACzC;;AAKA;EAFE,WAAW;AACb;;AAKA;EAFE,eAAe;EACf,gBAAgB;AAClB;;AAKA;EAFE,sBAAsB;EACtB,aAAa;AACf;;AAKA;EAFE,sBAAsB;EACtB,mBAAmB;EACnB,aAAa;AACf;;AAKA;EAFE,+BAA+B;EAC/B,kBAAkB;EAClB,eAAe;AACjB;;AAKA;EAFE,sBAAsB;EACtB,eAAe;EACf,eAAe;AACjB;;AAKA;EAFE,mBAAmB;EACnB,mBAAmB;EACnB,YAAY;EACZ,aAAa;AACf;;AAKA;EAFE,mBAAmB;EACnB,iBAAiB;EACjB,+BAA+B;EAC/B,mBAAmB;EACnB,uBAAuB;EACvB,mBAAmB;EACnB,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,aAAa;AACf;;AAKA;EAFE,iBAAiB;EACjB,eAAe;AACjB;;AAKA;EAFE,+BAA+B;AACjC;;AAKA;EAFE,mCAAmC;EACnC,kBAAkB;EAClB,WAAW;EACX,YAAY;AACd;;AAKA;EAFE,2BAA2B;EAC3B,eAAe;AACjB","sourcesContent":["/* Fixed, not absolute: a G9 sheet is lynx-ui's `position: fixed` SheetView, which Lynx paints and hit-tests above\n every in-flow node, so an absolute popup over an open sheet was hidden and its buttons unreachable. The popup root\n is created per show, after the sheet, so it lands above it (2026-10-10). */\n.g9-popup {\n position: fixed;\n top: 0px;\n left: 0px;\n right: 0px;\n bottom: 0px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.g9-popup--placed {\n display: block;\n}\n\n.g9-popup__scrim {\n position: absolute;\n top: 0px;\n left: 0px;\n right: 0px;\n bottom: 0px;\n}\n\n.g9-popup__card {\n display: flex;\n flex-direction: column;\n border-width: 1px;\n border-style: solid;\n max-height: 90%;\n}\n\n.g9-popup__content {\n display: flex;\n flex-direction: column;\n}\n\n.g9-popup__header {\n display: flex;\n flex-direction: row;\n align-items: center;\n margin-bottom: 10px;\n}\n\n.g9-popup__badge {\n width: 36px;\n height: 36px;\n border-radius: 18px;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: 10px;\n position: relative;\n}\n\n.g9-dir-rtl .g9-popup__badge {\n margin-right: 0px;\n margin-left: 10px;\n}\n\n.g9-popup__badge-tint {\n position: absolute;\n top: 0px;\n left: 0px;\n right: 0px;\n bottom: 0px;\n border-radius: 18px;\n opacity: 0.14;\n}\n\n.g9-popup__title {\n flex: 1;\n font-size: 17px;\n font-weight: 700;\n}\n\n.g9-popup__close {\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.g9-popup__message {\n font-size: 15px;\n line-height: 22px;\n margin-bottom: 12px;\n}\n\n.g9-popup__body {\n margin-bottom: 12px;\n}\n\n.g9-popup__footer {\n display: flex;\n flex-direction: row;\n align-items: center;\n margin-top: 4px;\n}\n\n.g9-popup__footer--stacked {\n flex-direction: column;\n align-items: stretch;\n}\n\n.g9-popup__button {\n flex: 1;\n height: 44px;\n border-radius: 12px;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n margin-left: 4px;\n margin-right: 4px;\n}\n\n.g9-popup__button--stacked {\n flex: none;\n margin: 4px 0px;\n}\n\n.g9-popup__button--outline {\n border-width: 1.5px;\n border-style: solid;\n border-color: var(--g9-outline-variant);\n}\n\n.g9-popup__button--busy {\n opacity: 0.7;\n}\n\n.g9-popup__button-text {\n font-size: 15px;\n font-weight: 700;\n}\n\n.g9-popup-input {\n display: flex;\n flex-direction: column;\n}\n\n.g9-popup-input__group {\n display: flex;\n flex-direction: column;\n margin-bottom: 10px;\n}\n\n.g9-popup-input__label {\n font-size: 14px;\n color: var(--g9-text-secondary);\n margin-bottom: 6px;\n}\n\n.g9-popup-input__error {\n font-size: 13px;\n color: var(--g9-error);\n margin-top: 4px;\n}\n\n.g9-popup-input__radio {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 40px;\n}\n\n.g9-popup-input__radio-ring {\n width: 20px;\n height: 20px;\n border-radius: 10px;\n border-width: 2px;\n border-style: solid;\n border-color: var(--g9-outline);\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: 10px;\n}\n\n.g9-dir-rtl .g9-popup-input__radio-ring {\n margin-right: 0px;\n margin-left: 10px;\n}\n\n.g9-popup-input__radio--selected .g9-popup-input__radio-ring {\n border-color: var(--g9-primary);\n}\n\n.g9-popup-input__radio-dot {\n width: 10px;\n height: 10px;\n border-radius: 5px;\n background-color: var(--g9-primary);\n}\n\n.g9-popup-input__option-text {\n font-size: 15px;\n color: var(--g9-on-surface);\n}\n"],"sourceRoot":""}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { G9PopupDescriptor, G9PopupResult } from './types.js';
|
|
2
|
+
/** How a popup ended (MAUI: two buttons, background tap, back, auto-close, dismiss/clear, unmount, failure). */
|
|
3
|
+
export type G9PopupExit = 'button' | 'backgroundTap' | 'hardwareBack' | 'autoClose' | 'closeActive' | 'dismissAll' | 'clearQueue' | 'unmount' | 'failure';
|
|
4
|
+
/** What the caller of `show` gets: the result of the button that ended it, or a dismissal. */
|
|
5
|
+
export interface G9PopupOutcome {
|
|
6
|
+
readonly exit: G9PopupExit;
|
|
7
|
+
/** The button result (`exit === 'button'`), else a `close` result. */
|
|
8
|
+
readonly result: G9PopupResult;
|
|
9
|
+
/** Index of the button that ended it, or -1. */
|
|
10
|
+
readonly buttonIndex: number;
|
|
11
|
+
}
|
|
12
|
+
/** Where a request is. */
|
|
13
|
+
export type G9PopupPhase = 'queued' | 'opening' | 'open' | 'closing' | 'parked' | 'done';
|
|
14
|
+
/** One popup request (what the view renders while it is the active one). */
|
|
15
|
+
export interface G9PopupEntry {
|
|
16
|
+
readonly id: number;
|
|
17
|
+
readonly descriptor: G9PopupDescriptor;
|
|
18
|
+
readonly phase: G9PopupPhase;
|
|
19
|
+
/** A footer callback is running (buttons show busy, the gate is shut). */
|
|
20
|
+
readonly busy: boolean;
|
|
21
|
+
/** Bumped every time the request is (re)shown: the view keys its open motion on it. */
|
|
22
|
+
readonly showCount: number;
|
|
23
|
+
}
|
|
24
|
+
/** Timing and reporting of the queue. */
|
|
25
|
+
export interface G9PopupQueueConfig {
|
|
26
|
+
setTimer(callback: () => void, ms: number): unknown;
|
|
27
|
+
clearTimer(handle: unknown): void;
|
|
28
|
+
/** Close motion length for a descriptor (the queue waits it out before the next popup). */
|
|
29
|
+
closeDurationMs(descriptor: G9PopupDescriptor): number;
|
|
30
|
+
/** Auto-close delay for a descriptor (0 = none). */
|
|
31
|
+
autoCloseMs(descriptor: G9PopupDescriptor): number;
|
|
32
|
+
/** `false` keeps the popup on a hardware back (it still swallows the press). */
|
|
33
|
+
closesOnBack(descriptor: G9PopupDescriptor): boolean;
|
|
34
|
+
/** `true` lets a background tap close it. */
|
|
35
|
+
closesOnBackgroundTap(descriptor: G9PopupDescriptor): boolean;
|
|
36
|
+
/** A button callback or `afterClose` threw (reported, never escapes). */
|
|
37
|
+
onError?(error: unknown): void;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* The queue. `show` enqueues and resolves the outcome when the popup ended (exactly once). A popup requested while a
|
|
41
|
+
* footer callback is running goes to the FRONT and is shown now; the popup whose callback runs is parked (its card
|
|
42
|
+
* closes, its callback keeps running). When that callback returns, `close`/`showNext` complete it, `doNothing`
|
|
43
|
+
* puts it back at the front. A callback that throws keeps the popup open and is reported.
|
|
44
|
+
*/
|
|
45
|
+
export declare class G9PopupQueue {
|
|
46
|
+
private readonly config;
|
|
47
|
+
private queue;
|
|
48
|
+
private active;
|
|
49
|
+
private readonly parked;
|
|
50
|
+
private userCode;
|
|
51
|
+
private nextId;
|
|
52
|
+
private readonly listeners;
|
|
53
|
+
private snapshot;
|
|
54
|
+
private closeTimer;
|
|
55
|
+
private disposed;
|
|
56
|
+
constructor(config: G9PopupQueueConfig);
|
|
57
|
+
/** The popup on screen (opening, open or closing), or `null`. */
|
|
58
|
+
getSnapshot(): G9PopupEntry | null;
|
|
59
|
+
subscribe(listener: () => void): () => void;
|
|
60
|
+
/** Requests waiting behind the active popup. */
|
|
61
|
+
get queuedCount(): number;
|
|
62
|
+
/** Enqueues a popup; resolves when it ended. */
|
|
63
|
+
show(descriptor: G9PopupDescriptor): Promise<G9PopupOutcome>;
|
|
64
|
+
/** The view finished the open motion. */
|
|
65
|
+
markOpened(id: number): void;
|
|
66
|
+
/** A footer button was pressed: runs its callback once (one gate per popup), then applies the result. */
|
|
67
|
+
press(id: number, index: number): Promise<void>;
|
|
68
|
+
/** The scrim was tapped. */
|
|
69
|
+
backgroundTap(id: number): void;
|
|
70
|
+
/** Hardware back: `true` when a popup is on screen (a non-cancelable one swallows the press). */
|
|
71
|
+
handleBack(): boolean;
|
|
72
|
+
/** Closes the popup on screen (MAUI `CloseActiveG9PopupAsync`). */
|
|
73
|
+
closeActive(): void;
|
|
74
|
+
/** Drops every waiting request (MAUI `ClearG9PopupQueueAsync`); the popup on screen stays. */
|
|
75
|
+
clearQueue(exit?: G9PopupExit): void;
|
|
76
|
+
/** Closes the popup on screen, drops the queue and forgets parked popups (MAUI `DismissAllG9PopupsAsync`). */
|
|
77
|
+
dismissAll(): void;
|
|
78
|
+
/** The host unmounted: everything settles with `unmount`. */
|
|
79
|
+
dispose(): void;
|
|
80
|
+
private pump;
|
|
81
|
+
private park;
|
|
82
|
+
private unpark;
|
|
83
|
+
private close;
|
|
84
|
+
private complete;
|
|
85
|
+
private showFront;
|
|
86
|
+
private clearAuto;
|
|
87
|
+
private report;
|
|
88
|
+
private emit;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=queue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../src/popup/queue.ts"],"names":[],"mappings":"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"}
|