@trebired/frontend 0.3.0
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/CHANGELOG.md +30 -0
- package/LICENSE +661 -0
- package/README.md +212 -0
- package/dist/actions/buttons.d.ts +8 -0
- package/dist/actions/buttons.d.ts.map +1 -0
- package/dist/actions/buttons.js +116 -0
- package/dist/actions/buttons.js.map +1 -0
- package/dist/actions/components/index.d.ts +26 -0
- package/dist/actions/components/index.d.ts.map +1 -0
- package/dist/actions/components/index.js +25 -0
- package/dist/actions/components/index.js.map +1 -0
- package/dist/actions/confetti.d.ts +12 -0
- package/dist/actions/confetti.d.ts.map +1 -0
- package/dist/actions/confetti.js +36 -0
- package/dist/actions/confetti.js.map +1 -0
- package/dist/actions/forms.d.ts +12 -0
- package/dist/actions/forms.d.ts.map +1 -0
- package/dist/actions/forms.js +159 -0
- package/dist/actions/forms.js.map +1 -0
- package/dist/actions/index.d.ts +8 -0
- package/dist/actions/index.d.ts.map +1 -0
- package/dist/actions/index.js +7 -0
- package/dist/actions/index.js.map +1 -0
- package/dist/actions/request.d.ts +13 -0
- package/dist/actions/request.d.ts.map +1 -0
- package/dist/actions/request.js +83 -0
- package/dist/actions/request.js.map +1 -0
- package/dist/actions/response.d.ts +18 -0
- package/dist/actions/response.d.ts.map +1 -0
- package/dist/actions/response.js +104 -0
- package/dist/actions/response.js.map +1 -0
- package/dist/actions/styles/index.scss +42 -0
- package/dist/actions/triggers.d.ts +24 -0
- package/dist/actions/triggers.d.ts.map +1 -0
- package/dist/actions/triggers.js +107 -0
- package/dist/actions/triggers.js.map +1 -0
- package/dist/actions/types.d.ts +63 -0
- package/dist/actions/types.d.ts.map +1 -0
- package/dist/actions/types.js +2 -0
- package/dist/actions/types.js.map +1 -0
- package/dist/components/index.d.ts +5 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +11 -0
- package/dist/components/index.js.map +1 -0
- package/dist/dom/index.d.ts +26 -0
- package/dist/dom/index.d.ts.map +1 -0
- package/dist/dom/index.js +164 -0
- package/dist/dom/index.js.map +1 -0
- package/dist/flash/components/index.d.ts +28 -0
- package/dist/flash/components/index.d.ts.map +1 -0
- package/dist/flash/components/index.js +27 -0
- package/dist/flash/components/index.js.map +1 -0
- package/dist/flash/dialogs.d.ts +6 -0
- package/dist/flash/dialogs.d.ts.map +1 -0
- package/dist/flash/dialogs.js +120 -0
- package/dist/flash/dialogs.js.map +1 -0
- package/dist/flash/duration.d.ts +8 -0
- package/dist/flash/duration.d.ts.map +1 -0
- package/dist/flash/duration.js +20 -0
- package/dist/flash/duration.js.map +1 -0
- package/dist/flash/elements.d.ts +14 -0
- package/dist/flash/elements.d.ts.map +1 -0
- package/dist/flash/elements.js +67 -0
- package/dist/flash/elements.js.map +1 -0
- package/dist/flash/index.d.ts +8 -0
- package/dist/flash/index.d.ts.map +1 -0
- package/dist/flash/index.js +18 -0
- package/dist/flash/index.js.map +1 -0
- package/dist/flash/stack.d.ts +6 -0
- package/dist/flash/stack.d.ts.map +1 -0
- package/dist/flash/stack.js +56 -0
- package/dist/flash/stack.js.map +1 -0
- package/dist/flash/styles/index.scss +118 -0
- package/dist/flash/toast.d.ts +24 -0
- package/dist/flash/toast.d.ts.map +1 -0
- package/dist/flash/toast.js +67 -0
- package/dist/flash/toast.js.map +1 -0
- package/dist/flash/types.d.ts +29 -0
- package/dist/flash/types.d.ts.map +1 -0
- package/dist/flash/types.js +2 -0
- package/dist/flash/types.js.map +1 -0
- package/dist/http/index.d.ts +30 -0
- package/dist/http/index.d.ts.map +1 -0
- package/dist/http/index.js +104 -0
- package/dist/http/index.js.map +1 -0
- package/dist/index.d.ts +40 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +104 -0
- package/dist/index.js.map +1 -0
- package/dist/inputs/components/index.d.ts +16 -0
- package/dist/inputs/components/index.d.ts.map +1 -0
- package/dist/inputs/components/index.js +112 -0
- package/dist/inputs/components/index.js.map +1 -0
- package/dist/inputs/index.d.ts +17 -0
- package/dist/inputs/index.d.ts.map +1 -0
- package/dist/inputs/index.js +54 -0
- package/dist/inputs/index.js.map +1 -0
- package/dist/inputs/styles/cropper.scss +244 -0
- package/dist/inputs/styles/field.scss +15 -0
- package/dist/inputs/styles/index.scss +3 -0
- package/dist/inputs/styles/upload.scss +125 -0
- package/dist/inputs/upload/config.d.ts +57 -0
- package/dist/inputs/upload/config.d.ts.map +1 -0
- package/dist/inputs/upload/config.js +61 -0
- package/dist/inputs/upload/config.js.map +1 -0
- package/dist/inputs/upload/crop-session.d.ts +6 -0
- package/dist/inputs/upload/crop-session.d.ts.map +1 -0
- package/dist/inputs/upload/crop-session.js +204 -0
- package/dist/inputs/upload/crop-session.js.map +1 -0
- package/dist/inputs/upload/crop.d.ts +20 -0
- package/dist/inputs/upload/crop.d.ts.map +1 -0
- package/dist/inputs/upload/crop.js +124 -0
- package/dist/inputs/upload/crop.js.map +1 -0
- package/dist/inputs/upload/dom.d.ts +19 -0
- package/dist/inputs/upload/dom.d.ts.map +1 -0
- package/dist/inputs/upload/dom.js +74 -0
- package/dist/inputs/upload/dom.js.map +1 -0
- package/dist/inputs/upload/drop.d.ts +10 -0
- package/dist/inputs/upload/drop.d.ts.map +1 -0
- package/dist/inputs/upload/drop.js +92 -0
- package/dist/inputs/upload/drop.js.map +1 -0
- package/dist/inputs/upload/files.d.ts +14 -0
- package/dist/inputs/upload/files.d.ts.map +1 -0
- package/dist/inputs/upload/files.js +82 -0
- package/dist/inputs/upload/files.js.map +1 -0
- package/dist/inputs/upload/manager.d.ts +36 -0
- package/dist/inputs/upload/manager.d.ts.map +1 -0
- package/dist/inputs/upload/manager.js +236 -0
- package/dist/inputs/upload/manager.js.map +1 -0
- package/dist/inputs/upload/markup.d.ts +30 -0
- package/dist/inputs/upload/markup.d.ts.map +1 -0
- package/dist/inputs/upload/markup.js +118 -0
- package/dist/inputs/upload/markup.js.map +1 -0
- package/dist/inputs/upload/model.d.ts +41 -0
- package/dist/inputs/upload/model.d.ts.map +1 -0
- package/dist/inputs/upload/model.js +76 -0
- package/dist/inputs/upload/model.js.map +1 -0
- package/dist/inputs/upload/state.d.ts +16 -0
- package/dist/inputs/upload/state.d.ts.map +1 -0
- package/dist/inputs/upload/state.js +181 -0
- package/dist/inputs/upload/state.js.map +1 -0
- package/dist/inputs/upload/text.d.ts +7 -0
- package/dist/inputs/upload/text.d.ts.map +1 -0
- package/dist/inputs/upload/text.js +29 -0
- package/dist/inputs/upload/text.js.map +1 -0
- package/dist/inputs/upload/types.d.ts +86 -0
- package/dist/inputs/upload/types.d.ts.map +1 -0
- package/dist/inputs/upload/types.js +2 -0
- package/dist/inputs/upload/types.js.map +1 -0
- package/dist/layer/components/index.d.ts +12 -0
- package/dist/layer/components/index.d.ts.map +1 -0
- package/dist/layer/components/index.js +12 -0
- package/dist/layer/components/index.js.map +1 -0
- package/dist/layer/index.d.ts +22 -0
- package/dist/layer/index.d.ts.map +1 -0
- package/dist/layer/index.js +159 -0
- package/dist/layer/index.js.map +1 -0
- package/dist/layer/styles/index.scss +6 -0
- package/dist/live/components/index.d.ts +15 -0
- package/dist/live/components/index.d.ts.map +1 -0
- package/dist/live/components/index.js +12 -0
- package/dist/live/components/index.js.map +1 -0
- package/dist/live/index.d.ts +29 -0
- package/dist/live/index.d.ts.map +1 -0
- package/dist/live/index.js +103 -0
- package/dist/live/index.js.map +1 -0
- package/dist/logging/index.d.ts +17 -0
- package/dist/logging/index.d.ts.map +1 -0
- package/dist/logging/index.js +68 -0
- package/dist/logging/index.js.map +1 -0
- package/dist/modal/components/index.d.ts +18 -0
- package/dist/modal/components/index.d.ts.map +1 -0
- package/dist/modal/components/index.js +20 -0
- package/dist/modal/components/index.js.map +1 -0
- package/dist/modal/index.d.ts +24 -0
- package/dist/modal/index.d.ts.map +1 -0
- package/dist/modal/index.js +184 -0
- package/dist/modal/index.js.map +1 -0
- package/dist/modal/styles/index.scss +50 -0
- package/dist/popover/components/index.d.ts +14 -0
- package/dist/popover/components/index.d.ts.map +1 -0
- package/dist/popover/components/index.js +16 -0
- package/dist/popover/components/index.js.map +1 -0
- package/dist/popover/index.d.ts +16 -0
- package/dist/popover/index.d.ts.map +1 -0
- package/dist/popover/index.js +140 -0
- package/dist/popover/index.js.map +1 -0
- package/dist/popover/styles/index.scss +24 -0
- package/dist/progress/components/index.d.ts +10 -0
- package/dist/progress/components/index.d.ts.map +1 -0
- package/dist/progress/components/index.js +14 -0
- package/dist/progress/components/index.js.map +1 -0
- package/dist/progress/index.d.ts +18 -0
- package/dist/progress/index.d.ts.map +1 -0
- package/dist/progress/index.js +89 -0
- package/dist/progress/index.js.map +1 -0
- package/dist/progress/styles/index.scss +16 -0
- package/dist/react/index.d.ts +17 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +47 -0
- package/dist/react/index.js.map +1 -0
- package/dist/src/actions/buttons.d.ts +8 -0
- package/dist/src/actions/buttons.d.ts.map +1 -0
- package/dist/src/actions/buttons.js +116 -0
- package/dist/src/actions/buttons.js.map +1 -0
- package/dist/src/actions/components/index.d.ts +26 -0
- package/dist/src/actions/components/index.d.ts.map +1 -0
- package/dist/src/actions/components/index.js +25 -0
- package/dist/src/actions/components/index.js.map +1 -0
- package/dist/src/actions/confetti.d.ts +12 -0
- package/dist/src/actions/confetti.d.ts.map +1 -0
- package/dist/src/actions/confetti.js +36 -0
- package/dist/src/actions/confetti.js.map +1 -0
- package/dist/src/actions/forms.d.ts +12 -0
- package/dist/src/actions/forms.d.ts.map +1 -0
- package/dist/src/actions/forms.js +159 -0
- package/dist/src/actions/forms.js.map +1 -0
- package/dist/src/actions/index.d.ts +8 -0
- package/dist/src/actions/index.d.ts.map +1 -0
- package/dist/src/actions/index.js +7 -0
- package/dist/src/actions/index.js.map +1 -0
- package/dist/src/actions/request.d.ts +13 -0
- package/dist/src/actions/request.d.ts.map +1 -0
- package/dist/src/actions/request.js +83 -0
- package/dist/src/actions/request.js.map +1 -0
- package/dist/src/actions/response.d.ts +18 -0
- package/dist/src/actions/response.d.ts.map +1 -0
- package/dist/src/actions/response.js +104 -0
- package/dist/src/actions/response.js.map +1 -0
- package/dist/src/actions/triggers.d.ts +24 -0
- package/dist/src/actions/triggers.d.ts.map +1 -0
- package/dist/src/actions/triggers.js +107 -0
- package/dist/src/actions/triggers.js.map +1 -0
- package/dist/src/actions/types.d.ts +63 -0
- package/dist/src/actions/types.d.ts.map +1 -0
- package/dist/src/actions/types.js +2 -0
- package/dist/src/actions/types.js.map +1 -0
- package/dist/src/components/index.d.ts +5 -0
- package/dist/src/components/index.d.ts.map +1 -0
- package/dist/src/components/index.js +11 -0
- package/dist/src/components/index.js.map +1 -0
- package/dist/src/dom/index.d.ts +26 -0
- package/dist/src/dom/index.d.ts.map +1 -0
- package/dist/src/dom/index.js +164 -0
- package/dist/src/dom/index.js.map +1 -0
- package/dist/src/flash/components/index.d.ts +28 -0
- package/dist/src/flash/components/index.d.ts.map +1 -0
- package/dist/src/flash/components/index.js +27 -0
- package/dist/src/flash/components/index.js.map +1 -0
- package/dist/src/flash/dialogs.d.ts +6 -0
- package/dist/src/flash/dialogs.d.ts.map +1 -0
- package/dist/src/flash/dialogs.js +120 -0
- package/dist/src/flash/dialogs.js.map +1 -0
- package/dist/src/flash/duration.d.ts +8 -0
- package/dist/src/flash/duration.d.ts.map +1 -0
- package/dist/src/flash/duration.js +20 -0
- package/dist/src/flash/duration.js.map +1 -0
- package/dist/src/flash/elements.d.ts +14 -0
- package/dist/src/flash/elements.d.ts.map +1 -0
- package/dist/src/flash/elements.js +67 -0
- package/dist/src/flash/elements.js.map +1 -0
- package/dist/src/flash/index.d.ts +8 -0
- package/dist/src/flash/index.d.ts.map +1 -0
- package/dist/src/flash/index.js +18 -0
- package/dist/src/flash/index.js.map +1 -0
- package/dist/src/flash/stack.d.ts +6 -0
- package/dist/src/flash/stack.d.ts.map +1 -0
- package/dist/src/flash/stack.js +56 -0
- package/dist/src/flash/stack.js.map +1 -0
- package/dist/src/flash/toast.d.ts +24 -0
- package/dist/src/flash/toast.d.ts.map +1 -0
- package/dist/src/flash/toast.js +67 -0
- package/dist/src/flash/toast.js.map +1 -0
- package/dist/src/flash/types.d.ts +29 -0
- package/dist/src/flash/types.d.ts.map +1 -0
- package/dist/src/flash/types.js +2 -0
- package/dist/src/flash/types.js.map +1 -0
- package/dist/src/http/index.d.ts +30 -0
- package/dist/src/http/index.d.ts.map +1 -0
- package/dist/src/http/index.js +104 -0
- package/dist/src/http/index.js.map +1 -0
- package/dist/src/index.d.ts +40 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +104 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/inputs/components/index.d.ts +16 -0
- package/dist/src/inputs/components/index.d.ts.map +1 -0
- package/dist/src/inputs/components/index.js +112 -0
- package/dist/src/inputs/components/index.js.map +1 -0
- package/dist/src/inputs/index.d.ts +17 -0
- package/dist/src/inputs/index.d.ts.map +1 -0
- package/dist/src/inputs/index.js +54 -0
- package/dist/src/inputs/index.js.map +1 -0
- package/dist/src/inputs/upload/config.d.ts +57 -0
- package/dist/src/inputs/upload/config.d.ts.map +1 -0
- package/dist/src/inputs/upload/config.js +61 -0
- package/dist/src/inputs/upload/config.js.map +1 -0
- package/dist/src/inputs/upload/crop-session.d.ts +6 -0
- package/dist/src/inputs/upload/crop-session.d.ts.map +1 -0
- package/dist/src/inputs/upload/crop-session.js +204 -0
- package/dist/src/inputs/upload/crop-session.js.map +1 -0
- package/dist/src/inputs/upload/crop.d.ts +20 -0
- package/dist/src/inputs/upload/crop.d.ts.map +1 -0
- package/dist/src/inputs/upload/crop.js +124 -0
- package/dist/src/inputs/upload/crop.js.map +1 -0
- package/dist/src/inputs/upload/dom.d.ts +19 -0
- package/dist/src/inputs/upload/dom.d.ts.map +1 -0
- package/dist/src/inputs/upload/dom.js +74 -0
- package/dist/src/inputs/upload/dom.js.map +1 -0
- package/dist/src/inputs/upload/drop.d.ts +10 -0
- package/dist/src/inputs/upload/drop.d.ts.map +1 -0
- package/dist/src/inputs/upload/drop.js +92 -0
- package/dist/src/inputs/upload/drop.js.map +1 -0
- package/dist/src/inputs/upload/files.d.ts +14 -0
- package/dist/src/inputs/upload/files.d.ts.map +1 -0
- package/dist/src/inputs/upload/files.js +82 -0
- package/dist/src/inputs/upload/files.js.map +1 -0
- package/dist/src/inputs/upload/manager.d.ts +36 -0
- package/dist/src/inputs/upload/manager.d.ts.map +1 -0
- package/dist/src/inputs/upload/manager.js +236 -0
- package/dist/src/inputs/upload/manager.js.map +1 -0
- package/dist/src/inputs/upload/markup.d.ts +30 -0
- package/dist/src/inputs/upload/markup.d.ts.map +1 -0
- package/dist/src/inputs/upload/markup.js +118 -0
- package/dist/src/inputs/upload/markup.js.map +1 -0
- package/dist/src/inputs/upload/model.d.ts +41 -0
- package/dist/src/inputs/upload/model.d.ts.map +1 -0
- package/dist/src/inputs/upload/model.js +76 -0
- package/dist/src/inputs/upload/model.js.map +1 -0
- package/dist/src/inputs/upload/state.d.ts +16 -0
- package/dist/src/inputs/upload/state.d.ts.map +1 -0
- package/dist/src/inputs/upload/state.js +181 -0
- package/dist/src/inputs/upload/state.js.map +1 -0
- package/dist/src/inputs/upload/text.d.ts +7 -0
- package/dist/src/inputs/upload/text.d.ts.map +1 -0
- package/dist/src/inputs/upload/text.js +29 -0
- package/dist/src/inputs/upload/text.js.map +1 -0
- package/dist/src/inputs/upload/types.d.ts +86 -0
- package/dist/src/inputs/upload/types.d.ts.map +1 -0
- package/dist/src/inputs/upload/types.js +2 -0
- package/dist/src/inputs/upload/types.js.map +1 -0
- package/dist/src/layer/components/index.d.ts +12 -0
- package/dist/src/layer/components/index.d.ts.map +1 -0
- package/dist/src/layer/components/index.js +12 -0
- package/dist/src/layer/components/index.js.map +1 -0
- package/dist/src/layer/index.d.ts +22 -0
- package/dist/src/layer/index.d.ts.map +1 -0
- package/dist/src/layer/index.js +159 -0
- package/dist/src/layer/index.js.map +1 -0
- package/dist/src/live/components/index.d.ts +15 -0
- package/dist/src/live/components/index.d.ts.map +1 -0
- package/dist/src/live/components/index.js +12 -0
- package/dist/src/live/components/index.js.map +1 -0
- package/dist/src/live/index.d.ts +29 -0
- package/dist/src/live/index.d.ts.map +1 -0
- package/dist/src/live/index.js +103 -0
- package/dist/src/live/index.js.map +1 -0
- package/dist/src/logging/index.d.ts +17 -0
- package/dist/src/logging/index.d.ts.map +1 -0
- package/dist/src/logging/index.js +68 -0
- package/dist/src/logging/index.js.map +1 -0
- package/dist/src/modal/components/index.d.ts +18 -0
- package/dist/src/modal/components/index.d.ts.map +1 -0
- package/dist/src/modal/components/index.js +20 -0
- package/dist/src/modal/components/index.js.map +1 -0
- package/dist/src/modal/index.d.ts +24 -0
- package/dist/src/modal/index.d.ts.map +1 -0
- package/dist/src/modal/index.js +184 -0
- package/dist/src/modal/index.js.map +1 -0
- package/dist/src/popover/components/index.d.ts +14 -0
- package/dist/src/popover/components/index.d.ts.map +1 -0
- package/dist/src/popover/components/index.js +16 -0
- package/dist/src/popover/components/index.js.map +1 -0
- package/dist/src/popover/index.d.ts +16 -0
- package/dist/src/popover/index.d.ts.map +1 -0
- package/dist/src/popover/index.js +140 -0
- package/dist/src/popover/index.js.map +1 -0
- package/dist/src/progress/components/index.d.ts +10 -0
- package/dist/src/progress/components/index.d.ts.map +1 -0
- package/dist/src/progress/components/index.js +14 -0
- package/dist/src/progress/components/index.js.map +1 -0
- package/dist/src/progress/index.d.ts +18 -0
- package/dist/src/progress/index.d.ts.map +1 -0
- package/dist/src/progress/index.js +89 -0
- package/dist/src/progress/index.js.map +1 -0
- package/dist/src/react/index.d.ts +17 -0
- package/dist/src/react/index.d.ts.map +1 -0
- package/dist/src/react/index.js +47 -0
- package/dist/src/react/index.js.map +1 -0
- package/dist/src/styles/index.d.ts +3 -0
- package/dist/src/styles/index.d.ts.map +1 -0
- package/dist/src/styles/index.js +14 -0
- package/dist/src/styles/index.js.map +1 -0
- package/dist/src/theme/components/index.d.ts +14 -0
- package/dist/src/theme/components/index.d.ts.map +1 -0
- package/dist/src/theme/components/index.js +13 -0
- package/dist/src/theme/components/index.js.map +1 -0
- package/dist/src/theme/index.d.ts +26 -0
- package/dist/src/theme/index.d.ts.map +1 -0
- package/dist/src/theme/index.js +119 -0
- package/dist/src/theme/index.js.map +1 -0
- package/dist/src/tooltip/components/index.d.ts +17 -0
- package/dist/src/tooltip/components/index.d.ts.map +1 -0
- package/dist/src/tooltip/components/index.js +20 -0
- package/dist/src/tooltip/components/index.js.map +1 -0
- package/dist/src/tooltip/index.d.ts +10 -0
- package/dist/src/tooltip/index.d.ts.map +1 -0
- package/dist/src/tooltip/index.js +171 -0
- package/dist/src/tooltip/index.js.map +1 -0
- package/dist/styles/index.d.ts +3 -0
- package/dist/styles/index.d.ts.map +1 -0
- package/dist/styles/index.js +14 -0
- package/dist/styles/index.js.map +1 -0
- package/dist/styles/tokens.scss +22 -0
- package/dist/styles/utils.scss +220 -0
- package/dist/theme/components/index.d.ts +14 -0
- package/dist/theme/components/index.d.ts.map +1 -0
- package/dist/theme/components/index.js +13 -0
- package/dist/theme/components/index.js.map +1 -0
- package/dist/theme/index.d.ts +26 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +119 -0
- package/dist/theme/index.js.map +1 -0
- package/dist/tooltip/components/index.d.ts +17 -0
- package/dist/tooltip/components/index.d.ts.map +1 -0
- package/dist/tooltip/components/index.js +20 -0
- package/dist/tooltip/components/index.js.map +1 -0
- package/dist/tooltip/index.d.ts +10 -0
- package/dist/tooltip/index.d.ts.map +1 -0
- package/dist/tooltip/index.js +171 -0
- package/dist/tooltip/index.js.map +1 -0
- package/dist/tooltip/styles/index.scss +17 -0
- package/package.json +232 -0
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
const INTERACTIVE_TARGET_SELECTOR = [
|
|
2
|
+
"a",
|
|
3
|
+
"button",
|
|
4
|
+
"input",
|
|
5
|
+
"select",
|
|
6
|
+
"textarea",
|
|
7
|
+
"summary",
|
|
8
|
+
'[contenteditable="true"]',
|
|
9
|
+
].join(",");
|
|
10
|
+
function bindRoot(root) {
|
|
11
|
+
if (root && "querySelectorAll" in root)
|
|
12
|
+
return root;
|
|
13
|
+
return document;
|
|
14
|
+
}
|
|
15
|
+
function asElement(value) {
|
|
16
|
+
return value instanceof Element ? value : null;
|
|
17
|
+
}
|
|
18
|
+
function asHTMLElement(value) {
|
|
19
|
+
return value instanceof HTMLElement ? value : null;
|
|
20
|
+
}
|
|
21
|
+
function onReady(callback) {
|
|
22
|
+
if (typeof document === "undefined")
|
|
23
|
+
return;
|
|
24
|
+
if (document.readyState === "loading") {
|
|
25
|
+
document.addEventListener("DOMContentLoaded", callback, { once: true });
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
callback();
|
|
29
|
+
}
|
|
30
|
+
function queryAll(root, selector) {
|
|
31
|
+
const scope = bindRoot(root);
|
|
32
|
+
const items = [];
|
|
33
|
+
if (scope instanceof Element && scope.matches(selector)) {
|
|
34
|
+
items.push(scope);
|
|
35
|
+
}
|
|
36
|
+
scope.querySelectorAll(selector).forEach((node) => items.push(node));
|
|
37
|
+
return items;
|
|
38
|
+
}
|
|
39
|
+
function closestElement(value, selector) {
|
|
40
|
+
const element = asElement(value);
|
|
41
|
+
if (!element || typeof element.closest !== "function")
|
|
42
|
+
return null;
|
|
43
|
+
return element.closest(selector);
|
|
44
|
+
}
|
|
45
|
+
function cssEscape(value) {
|
|
46
|
+
const text = String(value || "");
|
|
47
|
+
if (typeof CSS !== "undefined" && typeof CSS.escape === "function") {
|
|
48
|
+
return CSS.escape(text);
|
|
49
|
+
}
|
|
50
|
+
return text.replace(/[^a-zA-Z0-9_-]/g, (char) => {
|
|
51
|
+
return `\\${char.charCodeAt(0).toString(16)} `;
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
function resolveDocumentTarget(target) {
|
|
55
|
+
if (target instanceof HTMLElement)
|
|
56
|
+
return target;
|
|
57
|
+
const value = String(target || "").trim();
|
|
58
|
+
if (!value || typeof document === "undefined")
|
|
59
|
+
return null;
|
|
60
|
+
if (value.startsWith("#"))
|
|
61
|
+
return document.getElementById(value.slice(1));
|
|
62
|
+
if (/^[A-Za-z][A-Za-z0-9_-]*$/u.test(value)) {
|
|
63
|
+
return document.getElementById(value);
|
|
64
|
+
}
|
|
65
|
+
if (value.startsWith("[data-")) {
|
|
66
|
+
try {
|
|
67
|
+
const match = document.querySelector(value);
|
|
68
|
+
return match instanceof HTMLElement ? match : null;
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
function readJsonScript(id, fallback) {
|
|
77
|
+
const element = typeof document !== "undefined" ? document.getElementById(id) : null;
|
|
78
|
+
if (!element)
|
|
79
|
+
return fallback;
|
|
80
|
+
return parseJsonText(element.textContent || "", fallback);
|
|
81
|
+
}
|
|
82
|
+
function parseJsonText(text, fallback) {
|
|
83
|
+
try {
|
|
84
|
+
const parsed = JSON.parse(String(text || ""));
|
|
85
|
+
return parsed == null ? fallback : parsed;
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
return fallback;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
function readElementJson(host, selector, fallback) {
|
|
92
|
+
if (!host || typeof host.querySelector !== "function")
|
|
93
|
+
return fallback;
|
|
94
|
+
const element = host.querySelector(selector);
|
|
95
|
+
return parseJsonText(element?.textContent || "", fallback);
|
|
96
|
+
}
|
|
97
|
+
function readDataJson(host, attrName, fallback) {
|
|
98
|
+
const value = host && typeof host.getAttribute === "function"
|
|
99
|
+
? host.getAttribute(attrName)
|
|
100
|
+
: "";
|
|
101
|
+
return value ? parseJsonText(value, fallback) : fallback;
|
|
102
|
+
}
|
|
103
|
+
function escapeHtml(value) {
|
|
104
|
+
return String(value == null ? "" : value)
|
|
105
|
+
.replace(/&/g, "&")
|
|
106
|
+
.replace(/</g, "<")
|
|
107
|
+
.replace(/>/g, ">")
|
|
108
|
+
.replace(/"/g, """)
|
|
109
|
+
.replace(/'/g, "'");
|
|
110
|
+
}
|
|
111
|
+
function setHidden(element, hidden) {
|
|
112
|
+
if (element instanceof HTMLElement)
|
|
113
|
+
element.hidden = hidden;
|
|
114
|
+
}
|
|
115
|
+
function setAriaExpanded(element, expanded) {
|
|
116
|
+
element?.setAttribute("aria-expanded", expanded ? "true" : "false");
|
|
117
|
+
}
|
|
118
|
+
function dispatchInputChange(input) {
|
|
119
|
+
input?.dispatchEvent(new Event("input", { bubbles: true }));
|
|
120
|
+
input?.dispatchEvent(new Event("change", { bubbles: true }));
|
|
121
|
+
}
|
|
122
|
+
function isInteractiveTarget(target, extraSelector = "") {
|
|
123
|
+
const element = asElement(target);
|
|
124
|
+
if (!element)
|
|
125
|
+
return false;
|
|
126
|
+
const selector = extraSelector
|
|
127
|
+
? `${INTERACTIVE_TARGET_SELECTOR},${extraSelector}`
|
|
128
|
+
: INTERACTIVE_TARGET_SELECTOR;
|
|
129
|
+
return Boolean(element.closest(selector));
|
|
130
|
+
}
|
|
131
|
+
function setControlDisabled(element, disabled) {
|
|
132
|
+
if (!element)
|
|
133
|
+
return;
|
|
134
|
+
if ("disabled" in element) {
|
|
135
|
+
element.disabled = disabled;
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
if (disabled)
|
|
139
|
+
element.setAttribute("disabled", "true");
|
|
140
|
+
else
|
|
141
|
+
element.removeAttribute("disabled");
|
|
142
|
+
}
|
|
143
|
+
function formDataFlatRecord(data) {
|
|
144
|
+
const out = {};
|
|
145
|
+
data.forEach((value, key) => {
|
|
146
|
+
const current = out[key];
|
|
147
|
+
if (current === undefined) {
|
|
148
|
+
out[key] = value;
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
out[key] = Array.isArray(current) ? [...current, value] : [current, value];
|
|
152
|
+
});
|
|
153
|
+
return out;
|
|
154
|
+
}
|
|
155
|
+
function formDataSearchParams(data) {
|
|
156
|
+
const params = new URLSearchParams();
|
|
157
|
+
data.forEach((value, key) => {
|
|
158
|
+
if (typeof value === "string")
|
|
159
|
+
params.append(key, value);
|
|
160
|
+
});
|
|
161
|
+
return params;
|
|
162
|
+
}
|
|
163
|
+
export { INTERACTIVE_TARGET_SELECTOR, asElement, asHTMLElement, bindRoot, closestElement, cssEscape, dispatchInputChange, escapeHtml, formDataFlatRecord, formDataSearchParams, isInteractiveTarget, onReady, parseJsonText, queryAll, readDataJson, readElementJson, readJsonScript, resolveDocumentTarget, setAriaExpanded, setControlDisabled, setHidden, };
|
|
164
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dom/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { ButtonHTMLAttributes, HTMLAttributes, ReactNode } from "react";
|
|
2
|
+
import type { FlashType } from "../../../flash/index.d.ts";
|
|
3
|
+
type FlashStackProps = HTMLAttributes<HTMLDivElement> & {
|
|
4
|
+
expanded?: boolean;
|
|
5
|
+
};
|
|
6
|
+
type FlashShellProps = HTMLAttributes<HTMLElement> & {
|
|
7
|
+
actions?: ReactNode;
|
|
8
|
+
description?: ReactNode;
|
|
9
|
+
dismissLabel?: string;
|
|
10
|
+
id?: string;
|
|
11
|
+
progress?: boolean;
|
|
12
|
+
title: ReactNode;
|
|
13
|
+
type?: FlashType;
|
|
14
|
+
};
|
|
15
|
+
type ConfirmElementProps = ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
16
|
+
confirmDescription?: string;
|
|
17
|
+
confirmMode?: "classic" | "text";
|
|
18
|
+
confirmText?: string;
|
|
19
|
+
confirmTitle: string;
|
|
20
|
+
confirmType?: FlashType;
|
|
21
|
+
};
|
|
22
|
+
declare function FlashStack(props: FlashStackProps): import("react").JSX.Element;
|
|
23
|
+
declare function FlashShell(props: FlashShellProps): import("react").JSX.Element;
|
|
24
|
+
declare function ConfirmElement(props: ConfirmElementProps): import("react").JSX.Element;
|
|
25
|
+
declare function FlashLiveRegion(props: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
|
|
26
|
+
export { ConfirmElement, FlashLiveRegion, FlashShell, FlashStack };
|
|
27
|
+
export type { ConfirmElementProps, FlashShellProps, FlashStackProps };
|
|
28
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/flash/components/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,KAAK,eAAe,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,KAAK,eAAe,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG;IACnD,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB,CAAC;AAEF,KAAK,mBAAmB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,GAAG;IACnE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,SAAS,CAAC;CACzB,CAAC;AAEF,iBAAS,UAAU,CAAC,KAAK,EAAE,eAAe,+BAazC;AAED,iBAAS,UAAU,CAAC,KAAK,EAAE,eAAe,+BAiCzC;AAED,iBAAS,cAAc,CAAC,KAAK,EAAE,mBAAmB,+BA2BjD;AAED,iBAAS,eAAe,CAAC,KAAK,EAAE,cAAc,CAAC,cAAc,CAAC,+BAU7D;AAQD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AACnE,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { classNames } from "../../../components/index.js";
|
|
3
|
+
function FlashStack(props) {
|
|
4
|
+
const { children, className, expanded = false, id = "tbf_flash_stack", ...rest } = props;
|
|
5
|
+
return (_jsx("div", { ...rest, className: classNames("tbf-flash-stack", className), "data-tbf-expanded": expanded ? "true" : "false", "data-tbf-flash-stack": "", id: id, children: children }));
|
|
6
|
+
}
|
|
7
|
+
function FlashShell(props) {
|
|
8
|
+
const { actions, className, description, dismissLabel = "Dismiss", id, progress = true, title, type = "info", ...rest } = props;
|
|
9
|
+
return (_jsxs("section", { ...rest, className: classNames("tbf-flash", className), "data-tbf-flash": "", "data-tbf-flash-id": id, "data-tbf-flash-type": type, role: type === "error" ? "alert" : "status", children: [_jsx("span", { className: "tbf-flash__icon", "aria-hidden": "true", children: iconText(type) }), _jsxs("div", { className: "tbf-flash__body", children: [_jsx("strong", { className: "tbf-flash__title", children: title }), description ? _jsx("span", { className: "tbf-flash__description", children: description }) : null, actions ? _jsx("div", { className: "tbf-flash__actions", children: actions }) : null] }), _jsx("button", { className: "tbf-flash__close", type: "button", "aria-label": dismissLabel, children: dismissLabel }), _jsx("span", { className: "tbf-flash__progress", "aria-hidden": "true", hidden: !progress })] }));
|
|
10
|
+
}
|
|
11
|
+
function ConfirmElement(props) {
|
|
12
|
+
const { children, className, confirmDescription, confirmMode, confirmText, confirmTitle, confirmType, type = "button", ...rest } = props;
|
|
13
|
+
return (_jsx("button", { ...rest, className: classNames("tbf-button", className), "data-tbf-confirm": "", "data-tbf-confirm-description": confirmDescription, "data-tbf-confirm-mode": confirmMode, "data-tbf-confirm-text": confirmText, "data-tbf-confirm-title": confirmTitle, "data-tbf-confirm-type": confirmType, type: type, children: children }));
|
|
14
|
+
}
|
|
15
|
+
function FlashLiveRegion(props) {
|
|
16
|
+
const { className, ...rest } = props;
|
|
17
|
+
return (_jsx("div", { ...rest, className: classNames("tbf-flash-live", className), "aria-live": "polite", "data-tbf-flash-live": "" }));
|
|
18
|
+
}
|
|
19
|
+
function iconText(type) {
|
|
20
|
+
if (type === "success")
|
|
21
|
+
return "OK";
|
|
22
|
+
if (type === "error")
|
|
23
|
+
return "!";
|
|
24
|
+
return "i";
|
|
25
|
+
}
|
|
26
|
+
export { ConfirmElement, FlashLiveRegion, FlashShell, FlashStack };
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/flash/components/index.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAyB3C,SAAS,UAAU,CAAC,KAAsB;IACxC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,EAAE,EAAE,GAAG,iBAAiB,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACzF,OAAO,CACL,iBACM,IAAI,EACR,SAAS,EAAE,UAAU,CAAC,iBAAiB,EAAE,SAAS,CAAC,uBAChC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,0BACzB,EAAE,EACvB,EAAE,EAAE,EAAE,YAEL,QAAQ,GACL,CACP,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAsB;IACxC,MAAM,EACJ,OAAO,EACP,SAAS,EACT,WAAW,EACX,YAAY,GAAG,SAAS,EACxB,EAAE,EACF,QAAQ,GAAG,IAAI,EACf,KAAK,EACL,IAAI,GAAG,MAAM,EACb,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IACV,OAAO,CACL,sBACM,IAAI,EACR,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE,SAAS,CAAC,oBAC9B,EAAE,uBACE,EAAE,yBACA,IAAI,EACzB,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,aAE3C,eAAM,SAAS,EAAC,iBAAiB,iBAAa,MAAM,YAAE,QAAQ,CAAC,IAAI,CAAC,GAAQ,EAC5E,eAAK,SAAS,EAAC,iBAAiB,aAC9B,iBAAQ,SAAS,EAAC,kBAAkB,YAAE,KAAK,GAAU,EACpD,WAAW,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,wBAAwB,YAAE,WAAW,GAAQ,CAAC,CAAC,CAAC,IAAI,EAClF,OAAO,CAAC,CAAC,CAAC,cAAK,SAAS,EAAC,oBAAoB,YAAE,OAAO,GAAO,CAAC,CAAC,CAAC,IAAI,IACjE,EACN,iBAAQ,SAAS,EAAC,kBAAkB,EAAC,IAAI,EAAC,QAAQ,gBAAa,YAAY,YACxE,YAAY,GACN,EACT,eAAM,SAAS,EAAC,qBAAqB,iBAAa,MAAM,EAAC,MAAM,EAAE,CAAC,QAAQ,GAAI,IACtE,CACX,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAA0B;IAChD,MAAM,EACJ,QAAQ,EACR,SAAS,EACT,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,WAAW,EACX,IAAI,GAAG,QAAQ,EACf,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IACV,OAAO,CACL,oBACM,IAAI,EACR,SAAS,EAAE,UAAU,CAAC,YAAY,EAAE,SAAS,CAAC,sBAC7B,EAAE,kCACW,kBAAkB,2BACzB,WAAW,2BACX,WAAW,4BACV,YAAY,2BACb,WAAW,EAClC,IAAI,EAAE,IAAI,YAET,QAAQ,GACF,CACV,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAqC;IAC5D,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACrC,OAAO,CACL,iBACM,IAAI,EACR,SAAS,EAAE,UAAU,CAAC,gBAAgB,EAAE,SAAS,CAAC,eACxC,QAAQ,yBACE,EAAE,GACtB,CACH,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,IAAe;IAC/B,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,GAAG,CAAC;IACjC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ConfirmOptions, PromptOptions } from "./types.js";
|
|
2
|
+
declare function confirm(message: unknown, description?: string, options?: ConfirmOptions): Promise<boolean>;
|
|
3
|
+
declare function prompt(message: unknown, description?: string, options?: PromptOptions): Promise<any>;
|
|
4
|
+
declare function confirmElement(source: Element | null, fallbackSource?: Element | null): Promise<boolean>;
|
|
5
|
+
export { confirm, confirmElement, prompt };
|
|
6
|
+
//# sourceMappingURL=dialogs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialogs.d.ts","sourceRoot":"","sources":["../../../src/flash/dialogs.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAYhE,iBAAS,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,SAAK,EAAE,OAAO,GAAE,cAAmB,oBAmBhF;AAiCD,iBAAS,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,SAAK,EAAE,OAAO,GAAE,aAAkB,gBAY9E;AAoDD,iBAAS,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,EAAE,cAAc,GAAE,OAAO,GAAG,IAAW,oBAWpF;AAED,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { FLASH_CONFIRM_TIMEOUT_MS, FLASH_PROMPT_TIMEOUT_MS, normalizeFlashType, } from "./duration.js";
|
|
2
|
+
import { createDialogFlash, makeButton } from "./elements.js";
|
|
3
|
+
import { ensureFlashStack, hideFlashElement, layoutFlashStack } from "./stack.js";
|
|
4
|
+
function finishDialog(stack, element, resolve, value) {
|
|
5
|
+
hideFlashElement(stack, element);
|
|
6
|
+
resolve(value);
|
|
7
|
+
}
|
|
8
|
+
function confirm(message, description = "", options = {}) {
|
|
9
|
+
const stack = ensureFlashStack();
|
|
10
|
+
if (!stack)
|
|
11
|
+
return Promise.resolve(false);
|
|
12
|
+
return new Promise((resolve) => {
|
|
13
|
+
const controls = createDialogFlash(normalizeFlashType(options.type || "warn"), message, description);
|
|
14
|
+
const body = controls.element.querySelector(".tbf-flash__body");
|
|
15
|
+
const actions = document.createElement("div");
|
|
16
|
+
actions.className = "tbf-flash__actions";
|
|
17
|
+
const cancel = makeButton(options.cancelText || "Cancel", "tbf-button");
|
|
18
|
+
const ok = makeButton(options.confirmText || "OK", "tbf-button tbf-button--strong");
|
|
19
|
+
const input = createConfirmInput(options, ok);
|
|
20
|
+
if (input)
|
|
21
|
+
body?.appendChild(input);
|
|
22
|
+
actions.append(cancel, ok);
|
|
23
|
+
body?.appendChild(actions);
|
|
24
|
+
stack.appendChild(controls.element);
|
|
25
|
+
bindConfirmControls(stack, controls.element, resolve, cancel, ok, controls.close);
|
|
26
|
+
window.setTimeout(() => finishDialog(stack, controls.element, resolve, false), FLASH_CONFIRM_TIMEOUT_MS);
|
|
27
|
+
revealDialog(stack, controls.element, input);
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
function bindConfirmControls(stack, element, resolve, cancel, ok, close) {
|
|
31
|
+
close.addEventListener("click", () => finishDialog(stack, element, resolve, false));
|
|
32
|
+
cancel.addEventListener("click", () => finishDialog(stack, element, resolve, false));
|
|
33
|
+
ok.addEventListener("click", () => finishDialog(stack, element, resolve, true));
|
|
34
|
+
element.addEventListener("keydown", (event) => {
|
|
35
|
+
if (event.key === "Escape")
|
|
36
|
+
finishDialog(stack, element, resolve, false);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
function createConfirmInput(options, ok) {
|
|
40
|
+
const confirmationText = String(options.confirmationText || "").trim();
|
|
41
|
+
if (options.mode !== "text" || !confirmationText)
|
|
42
|
+
return null;
|
|
43
|
+
ok.disabled = true;
|
|
44
|
+
const input = document.createElement("input");
|
|
45
|
+
input.className = "tbf-input";
|
|
46
|
+
input.type = "text";
|
|
47
|
+
input.autocomplete = "off";
|
|
48
|
+
input.placeholder = options.placeholder || confirmationText;
|
|
49
|
+
input.addEventListener("input", () => {
|
|
50
|
+
ok.disabled = input.value.trim().toLowerCase() !== confirmationText.toLowerCase();
|
|
51
|
+
});
|
|
52
|
+
return input;
|
|
53
|
+
}
|
|
54
|
+
function prompt(message, description = "", options = {}) {
|
|
55
|
+
const stack = ensureFlashStack();
|
|
56
|
+
if (!stack)
|
|
57
|
+
return Promise.resolve(null);
|
|
58
|
+
return new Promise((resolve) => {
|
|
59
|
+
const controls = createDialogFlash("info", message, description);
|
|
60
|
+
const form = createPromptForm(options);
|
|
61
|
+
controls.element.querySelector(".tbf-flash__body")?.appendChild(form);
|
|
62
|
+
stack.appendChild(controls.element);
|
|
63
|
+
bindPromptControls(stack, controls.element, resolve, form, controls.close);
|
|
64
|
+
window.setTimeout(() => finishDialog(stack, controls.element, resolve, null), FLASH_PROMPT_TIMEOUT_MS);
|
|
65
|
+
revealDialog(stack, controls.element, form.querySelector("input"));
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
function createPromptForm(options) {
|
|
69
|
+
const form = document.createElement("form");
|
|
70
|
+
form.className = "tbf-flash__form";
|
|
71
|
+
const input = document.createElement("input");
|
|
72
|
+
input.className = "tbf-input";
|
|
73
|
+
input.name = "value";
|
|
74
|
+
input.placeholder = options.placeholder || "";
|
|
75
|
+
input.value = options.value || "";
|
|
76
|
+
const actions = document.createElement("div");
|
|
77
|
+
actions.className = "tbf-flash__actions";
|
|
78
|
+
actions.append(makeButton(options.cancelText || "Cancel", "tbf-button"), submitButton(options.submitText || "OK"));
|
|
79
|
+
form.append(input, actions);
|
|
80
|
+
return form;
|
|
81
|
+
}
|
|
82
|
+
function submitButton(label) {
|
|
83
|
+
const button = makeButton(label, "tbf-button tbf-button--strong");
|
|
84
|
+
button.type = "submit";
|
|
85
|
+
return button;
|
|
86
|
+
}
|
|
87
|
+
function bindPromptControls(stack, element, resolve, form, close) {
|
|
88
|
+
const input = form.querySelector("input");
|
|
89
|
+
const cancel = form.querySelector(".tbf-button:not(.tbf-button--strong)");
|
|
90
|
+
form.addEventListener("submit", (event) => {
|
|
91
|
+
event.preventDefault();
|
|
92
|
+
finishDialog(stack, element, resolve, input?.value.trim() || null);
|
|
93
|
+
});
|
|
94
|
+
cancel?.addEventListener("click", () => finishDialog(stack, element, resolve, null));
|
|
95
|
+
close.addEventListener("click", () => finishDialog(stack, element, resolve, null));
|
|
96
|
+
}
|
|
97
|
+
function revealDialog(stack, element, focusTarget) {
|
|
98
|
+
window.requestAnimationFrame(() => {
|
|
99
|
+
element.setAttribute("data-tbf-visible", "true");
|
|
100
|
+
focusTarget?.focus();
|
|
101
|
+
if (focusTarget instanceof HTMLInputElement)
|
|
102
|
+
focusTarget.select();
|
|
103
|
+
layoutFlashStack(stack);
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
function confirmElement(source, fallbackSource = null) {
|
|
107
|
+
const target = source?.hasAttribute("data-tbf-confirm-title")
|
|
108
|
+
? source
|
|
109
|
+
: fallbackSource || source;
|
|
110
|
+
const title = target?.getAttribute("data-tbf-confirm-title") || "";
|
|
111
|
+
if (!title)
|
|
112
|
+
return Promise.resolve(true);
|
|
113
|
+
return confirm(title, target?.getAttribute("data-tbf-confirm-description") || "", {
|
|
114
|
+
confirmationText: target?.getAttribute("data-tbf-confirm-text") || "",
|
|
115
|
+
mode: target?.getAttribute("data-tbf-confirm-mode") === "text" ? "text" : "classic",
|
|
116
|
+
type: normalizeFlashType(target?.getAttribute("data-tbf-confirm-type") || "warn"),
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
export { confirm, confirmElement, prompt };
|
|
120
|
+
//# sourceMappingURL=dialogs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialogs.js","sourceRoot":"","sources":["../../../src/flash/dialogs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { FlashType } from "./types.js";
|
|
2
|
+
declare const FLASH_CONFIRM_TIMEOUT_MS = 10000;
|
|
3
|
+
declare const FLASH_PROMPT_TIMEOUT_MS = 60000;
|
|
4
|
+
declare function normalizeFlashType(value: unknown): FlashType;
|
|
5
|
+
declare function computeFlashDurationMs(message: unknown, description?: unknown): number;
|
|
6
|
+
declare function flashId(prefix?: string): string;
|
|
7
|
+
export { FLASH_CONFIRM_TIMEOUT_MS, FLASH_PROMPT_TIMEOUT_MS, computeFlashDurationMs, flashId, normalizeFlashType, };
|
|
8
|
+
//# sourceMappingURL=duration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"duration.d.ts","sourceRoot":"","sources":["../../../src/flash/duration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,QAAA,MAAM,wBAAwB,QAAQ,CAAC;AACvC,QAAA,MAAM,uBAAuB,QAAQ,CAAC;AAGtC,iBAAS,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAGrD;AAED,iBAAS,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,GAAE,OAAY,UAI1E;AAED,iBAAS,OAAO,CAAC,MAAM,SAAU,UAKhC;AAED,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,OAAO,EACP,kBAAkB,GACnB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const FLASH_CONFIRM_TIMEOUT_MS = 10000;
|
|
2
|
+
const FLASH_PROMPT_TIMEOUT_MS = 60000;
|
|
3
|
+
const FLASH_TYPES = new Set(["error", "info", "success", "warn"]);
|
|
4
|
+
function normalizeFlashType(value) {
|
|
5
|
+
const text = String(value || "").trim().toLowerCase();
|
|
6
|
+
return FLASH_TYPES.has(text) ? text : "info";
|
|
7
|
+
}
|
|
8
|
+
function computeFlashDurationMs(message, description = "") {
|
|
9
|
+
const text = [message, description].map((value) => String(value || "")).join(" ");
|
|
10
|
+
const ms = 1600 + text.trim().length * 28;
|
|
11
|
+
return Math.max(1800, Math.min(12000, ms));
|
|
12
|
+
}
|
|
13
|
+
function flashId(prefix = "flash") {
|
|
14
|
+
if (typeof crypto !== "undefined" && typeof crypto.randomUUID === "function") {
|
|
15
|
+
return `${prefix}_${crypto.randomUUID().replace(/-/g, "")}`;
|
|
16
|
+
}
|
|
17
|
+
return `${prefix}_${Date.now()}_${Math.random().toString(36).slice(2)}`;
|
|
18
|
+
}
|
|
19
|
+
export { FLASH_CONFIRM_TIMEOUT_MS, FLASH_PROMPT_TIMEOUT_MS, computeFlashDurationMs, flashId, normalizeFlashType, };
|
|
20
|
+
//# sourceMappingURL=duration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"duration.js","sourceRoot":"","sources":["../../../src/flash/duration.ts"],"names":[],"mappings":"AAEA,MAAM,wBAAwB,GAAG,KAAK,CAAC;AACvC,MAAM,uBAAuB,GAAG,KAAK,CAAC;AACtC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AAElE,SAAS,kBAAkB,CAAC,KAAc;IACxC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtD,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,IAAkB,CAAC,CAAC,CAAC,MAAM,CAAC;AAC9D,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAgB,EAAE,cAAuB,EAAE;IACzE,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClF,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC;IAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,OAAO,CAAC,MAAM,GAAG,OAAO;IAC/B,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QAC7E,OAAO,GAAG,MAAM,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;IAC9D,CAAC;IACD,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,OAAO,EACP,kBAAkB,GACnB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { FlashOptions, FlashType } from "./types.js";
|
|
2
|
+
declare function makeButton(label: string, className: string): HTMLButtonElement;
|
|
3
|
+
declare function createFlashElement(type: FlashType, message: unknown, description: unknown, id: string, options: FlashOptions): {
|
|
4
|
+
close: HTMLButtonElement;
|
|
5
|
+
element: HTMLElement;
|
|
6
|
+
progress: HTMLElement;
|
|
7
|
+
};
|
|
8
|
+
declare function createDialogFlash(type: FlashType, titleText: unknown, descriptionText: unknown): {
|
|
9
|
+
close: HTMLButtonElement;
|
|
10
|
+
element: HTMLElement;
|
|
11
|
+
progress: HTMLElement;
|
|
12
|
+
};
|
|
13
|
+
export { createDialogFlash, createFlashElement, makeButton };
|
|
14
|
+
//# sourceMappingURL=elements.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elements.d.ts","sourceRoot":"","sources":["../../../src/flash/elements.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE1D,iBAAS,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,qBAMnD;AAED,iBAAS,kBAAkB,CACzB,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,OAAO,EACpB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,YAAY;;;;EAmBtB;AA0CD,iBAAS,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO;;;;EAOvF;AAED,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
function makeButton(label, className) {
|
|
2
|
+
const button = document.createElement("button");
|
|
3
|
+
button.type = "button";
|
|
4
|
+
button.className = className;
|
|
5
|
+
button.textContent = label;
|
|
6
|
+
return button;
|
|
7
|
+
}
|
|
8
|
+
function createFlashElement(type, message, description, id, options) {
|
|
9
|
+
const element = document.createElement("section");
|
|
10
|
+
element.className = "tbf-flash";
|
|
11
|
+
element.setAttribute("data-tbf-flash", "");
|
|
12
|
+
element.setAttribute("data-tbf-flash-type", type);
|
|
13
|
+
element.setAttribute("data-tbf-flash-id", id);
|
|
14
|
+
element.setAttribute("role", type === "error" ? "alert" : "status");
|
|
15
|
+
element.append(flashIcon(type), flashBody(message, description, options), flashCloseButton(), flashProgress());
|
|
16
|
+
return {
|
|
17
|
+
close: element.querySelector(".tbf-flash__close"),
|
|
18
|
+
element,
|
|
19
|
+
progress: element.querySelector(".tbf-flash__progress"),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function flashIcon(type) {
|
|
23
|
+
const icon = document.createElement("span");
|
|
24
|
+
icon.className = "tbf-flash__icon";
|
|
25
|
+
icon.setAttribute("aria-hidden", "true");
|
|
26
|
+
icon.textContent = type === "success" ? "OK" : type === "error" ? "!" : "i";
|
|
27
|
+
return icon;
|
|
28
|
+
}
|
|
29
|
+
function flashBody(message, description, options) {
|
|
30
|
+
const body = document.createElement("div");
|
|
31
|
+
body.className = "tbf-flash__body";
|
|
32
|
+
const title = document.createElement("strong");
|
|
33
|
+
title.className = "tbf-flash__title";
|
|
34
|
+
title.textContent = String(message || "");
|
|
35
|
+
body.appendChild(title);
|
|
36
|
+
const detail = String(description || options.description || "").trim();
|
|
37
|
+
if (detail)
|
|
38
|
+
body.appendChild(flashDescription(detail));
|
|
39
|
+
return body;
|
|
40
|
+
}
|
|
41
|
+
function flashDescription(text) {
|
|
42
|
+
const desc = document.createElement("span");
|
|
43
|
+
desc.className = "tbf-flash__description";
|
|
44
|
+
desc.textContent = text;
|
|
45
|
+
return desc;
|
|
46
|
+
}
|
|
47
|
+
function flashCloseButton() {
|
|
48
|
+
const close = makeButton("Dismiss", "tbf-flash__close");
|
|
49
|
+
close.setAttribute("aria-label", "Dismiss");
|
|
50
|
+
return close;
|
|
51
|
+
}
|
|
52
|
+
function flashProgress() {
|
|
53
|
+
const progress = document.createElement("span");
|
|
54
|
+
progress.className = "tbf-flash__progress";
|
|
55
|
+
progress.setAttribute("aria-hidden", "true");
|
|
56
|
+
return progress;
|
|
57
|
+
}
|
|
58
|
+
function createDialogFlash(type, titleText, descriptionText) {
|
|
59
|
+
const controls = createFlashElement(type, titleText, descriptionText, "dialog", {
|
|
60
|
+
sticky: true,
|
|
61
|
+
});
|
|
62
|
+
controls.element.classList.add("tbf-flash--dialog");
|
|
63
|
+
controls.progress.hidden = true;
|
|
64
|
+
return controls;
|
|
65
|
+
}
|
|
66
|
+
export { createDialogFlash, createFlashElement, makeButton };
|
|
67
|
+
//# sourceMappingURL=elements.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elements.js","sourceRoot":"","sources":["../../../src/flash/elements.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FLASH_CONFIRM_TIMEOUT_MS, FLASH_PROMPT_TIMEOUT_MS, computeFlashDurationMs } from "./duration.js";
|
|
2
|
+
import { confirm, confirmElement, prompt } from "./dialogs.js";
|
|
3
|
+
import { dismissFlash, liveFlash, showFlash, stickyFlash } from "./toast.js";
|
|
4
|
+
declare const flash: typeof showFlash & Record<string, any>;
|
|
5
|
+
export { FLASH_CONFIRM_TIMEOUT_MS, FLASH_PROMPT_TIMEOUT_MS, computeFlashDurationMs, confirm, confirmElement, dismissFlash, flash, liveFlash, prompt, showFlash, stickyFlash, };
|
|
6
|
+
export type { ConfirmOptions, FlashHandle, FlashOptions, FlashType, PromptOptions, } from "./types.js";
|
|
7
|
+
export default flash;
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/flash/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAiB,WAAW,EAAE,MAAM,YAAY,CAAC;AAkB5F,QAAA,MAAM,KAAK,EAAgB,OAAO,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAElE,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,OAAO,EACP,cAAc,EACd,YAAY,EACZ,KAAK,EACL,SAAS,EACT,MAAM,EACN,SAAS,EACT,WAAW,GACZ,CAAC;AACF,YAAY,EACV,cAAc,EACd,WAAW,EACX,YAAY,EACZ,SAAS,EACT,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,eAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { FLASH_CONFIRM_TIMEOUT_MS, FLASH_PROMPT_TIMEOUT_MS, computeFlashDurationMs, } from "./duration.js";
|
|
2
|
+
import { confirm, confirmElement, prompt } from "./dialogs.js";
|
|
3
|
+
import { dismissFlash, liveFlash, showFlash, showFlashImpl, stickyFlash } from "./toast.js";
|
|
4
|
+
showFlash.info = (message, description = "", options = {}) => showFlashImpl("info", message, description, options);
|
|
5
|
+
showFlash.success = (message, description = "", options = {}) => showFlashImpl("success", message, description, options);
|
|
6
|
+
showFlash.warn = (message, description = "", options = {}) => showFlashImpl("warn", message, description, options);
|
|
7
|
+
showFlash.error = (message, description = "", options = {}) => showFlashImpl("error", message, description, options);
|
|
8
|
+
showFlash.sticky = stickyFlash;
|
|
9
|
+
showFlash.live = liveFlash;
|
|
10
|
+
showFlash.dismiss = dismissFlash;
|
|
11
|
+
showFlash.confirm = confirm;
|
|
12
|
+
showFlash.prompt = prompt;
|
|
13
|
+
showFlash.confirmElement = confirmElement;
|
|
14
|
+
showFlash.computeFlashDurationMs = computeFlashDurationMs;
|
|
15
|
+
const flash = showFlash;
|
|
16
|
+
export { FLASH_CONFIRM_TIMEOUT_MS, FLASH_PROMPT_TIMEOUT_MS, computeFlashDurationMs, confirm, confirmElement, dismissFlash, flash, liveFlash, prompt, showFlash, stickyFlash, };
|
|
17
|
+
export default flash;
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/flash/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE3F,SAAiB,CAAC,IAAI,GAAG,CAAC,OAAgB,EAAE,WAAW,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE,CAC7E,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AACtD,SAAiB,CAAC,OAAO,GAAG,CAAC,OAAgB,EAAE,WAAW,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE,CAChF,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AACzD,SAAiB,CAAC,IAAI,GAAG,CAAC,OAAgB,EAAE,WAAW,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE,CAC7E,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AACtD,SAAiB,CAAC,KAAK,GAAG,CAAC,OAAgB,EAAE,WAAW,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE,CAC9E,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AACvD,SAAiB,CAAC,MAAM,GAAG,WAAW,CAAC;AACvC,SAAiB,CAAC,IAAI,GAAG,SAAS,CAAC;AACnC,SAAiB,CAAC,OAAO,GAAG,YAAY,CAAC;AACzC,SAAiB,CAAC,OAAO,GAAG,OAAO,CAAC;AACpC,SAAiB,CAAC,MAAM,GAAG,MAAM,CAAC;AAClC,SAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;AAClD,SAAiB,CAAC,sBAAsB,GAAG,sBAAsB,CAAC;AAEnE,MAAM,KAAK,GAAG,SAAmD,CAAC;AAElE,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,OAAO,EACP,cAAc,EACd,YAAY,EACZ,KAAK,EACL,SAAS,EACT,MAAM,EACN,SAAS,EACT,WAAW,GACZ,CAAC;AAQF,eAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
declare const FLASH_STACK_ID = "tbf_flash_stack";
|
|
2
|
+
declare function ensureFlashStack(): HTMLElement;
|
|
3
|
+
declare function layoutFlashStack(stack: HTMLElement): void;
|
|
4
|
+
declare function hideFlashElement(stack: HTMLElement, element: HTMLElement): void;
|
|
5
|
+
export { FLASH_STACK_ID, ensureFlashStack, hideFlashElement, layoutFlashStack, };
|
|
6
|
+
//# sourceMappingURL=stack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../../src/flash/stack.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,cAAc,oBAAoB,CAAC;AAGzC,iBAAS,gBAAgB,gBAoBxB;AAMD,iBAAS,gBAAgB,CAAC,KAAK,EAAE,WAAW,QAU3C;AAQD,iBAAS,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,QAMjE;AAED,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { applyZIndex } from "../../layer/index.js";
|
|
2
|
+
const FLASH_STACK_ID = "tbf_flash_stack";
|
|
3
|
+
const FLASH_BASE_Z_INDEX = 1020;
|
|
4
|
+
function ensureFlashStack() {
|
|
5
|
+
if (typeof document === "undefined" || !document.body)
|
|
6
|
+
return null;
|
|
7
|
+
const existing = document.getElementById(FLASH_STACK_ID);
|
|
8
|
+
if (existing instanceof HTMLElement)
|
|
9
|
+
return existing;
|
|
10
|
+
const stack = document.createElement("div");
|
|
11
|
+
stack.id = FLASH_STACK_ID;
|
|
12
|
+
stack.className = "tbf-flash-stack";
|
|
13
|
+
stack.setAttribute("data-tbf-flash-stack", "");
|
|
14
|
+
stack.setAttribute("data-tbf-expanded", "false");
|
|
15
|
+
applyZIndex(stack, { fallback: FLASH_BASE_Z_INDEX });
|
|
16
|
+
document.body.appendChild(stack);
|
|
17
|
+
stack.addEventListener("mouseenter", () => {
|
|
18
|
+
stack.setAttribute("data-tbf-expanded", "true");
|
|
19
|
+
layoutFlashStack(stack);
|
|
20
|
+
});
|
|
21
|
+
stack.addEventListener("mouseleave", () => {
|
|
22
|
+
stack.setAttribute("data-tbf-expanded", "false");
|
|
23
|
+
layoutFlashStack(stack);
|
|
24
|
+
});
|
|
25
|
+
return stack;
|
|
26
|
+
}
|
|
27
|
+
function orderedFlashItems(stack) {
|
|
28
|
+
return Array.from(stack.querySelectorAll("[data-tbf-flash]"));
|
|
29
|
+
}
|
|
30
|
+
function layoutFlashStack(stack) {
|
|
31
|
+
const items = orderedFlashItems(stack);
|
|
32
|
+
const expanded = stack.getAttribute("data-tbf-expanded") === "true";
|
|
33
|
+
let offset = 0;
|
|
34
|
+
items.forEach((item, index) => {
|
|
35
|
+
item.style.zIndex = String(1000 + index + 1);
|
|
36
|
+
item.style.setProperty("--tbf-flash-y", `${expanded ? -offset : -index * 9}px`);
|
|
37
|
+
offset += item.getBoundingClientRect().height + 10;
|
|
38
|
+
});
|
|
39
|
+
stack.style.height = flashStackHeight(items, expanded, offset);
|
|
40
|
+
}
|
|
41
|
+
function flashStackHeight(items, expanded, offset) {
|
|
42
|
+
if (!items.length)
|
|
43
|
+
return "0px";
|
|
44
|
+
if (expanded)
|
|
45
|
+
return `${offset}px`;
|
|
46
|
+
return `${items[0].getBoundingClientRect().height + (items.length - 1) * 9}px`;
|
|
47
|
+
}
|
|
48
|
+
function hideFlashElement(stack, element) {
|
|
49
|
+
element.setAttribute("data-tbf-hiding", "true");
|
|
50
|
+
window.setTimeout(() => {
|
|
51
|
+
element.remove();
|
|
52
|
+
layoutFlashStack(stack);
|
|
53
|
+
}, 220);
|
|
54
|
+
}
|
|
55
|
+
export { FLASH_STACK_ID, ensureFlashStack, hideFlashElement, layoutFlashStack, };
|
|
56
|
+
//# sourceMappingURL=stack.js.map
|