@quaffui/quaff 0.1.0-prealpha9 → 1.0.0-alpha1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +47 -14
- package/dist/classes/QContext.svelte.d.ts +42 -0
- package/dist/classes/QContext.svelte.js +63 -0
- package/dist/classes/QScrollObserver.svelte.d.ts +48 -0
- package/dist/classes/QScrollObserver.svelte.js +107 -0
- package/dist/classes/QTheme.svelte.d.ts +13 -0
- package/dist/classes/QTheme.svelte.js +62 -0
- package/dist/classes/Quaff.svelte.d.ts +15 -0
- package/dist/classes/Quaff.svelte.js +45 -0
- package/dist/components/avatar/QAvatar.scss +101 -0
- package/dist/components/avatar/QAvatar.svelte +42 -42
- package/dist/components/avatar/QAvatar.svelte.d.ts +4 -17
- package/dist/components/avatar/docs.d.ts +2 -2
- package/dist/components/avatar/docs.js +3 -8
- package/dist/components/avatar/docs.props.d.ts +3 -8
- package/dist/components/avatar/docs.props.js +68 -15
- package/dist/components/avatar/index.scss +5 -3
- package/dist/components/avatar/props.d.ts +51 -8
- package/dist/components/breadcrumbs/QBreadcrumbs.scss +10 -0
- package/dist/components/breadcrumbs/QBreadcrumbs.svelte +32 -14
- package/dist/components/breadcrumbs/QBreadcrumbs.svelte.d.ts +4 -13
- package/dist/components/breadcrumbs/QBreadcrumbsEl.scss +10 -0
- package/dist/components/breadcrumbs/QBreadcrumbsEl.svelte +65 -48
- package/dist/components/breadcrumbs/QBreadcrumbsEl.svelte.d.ts +4 -16
- package/dist/components/breadcrumbs/docs.d.ts +2 -2
- package/dist/components/breadcrumbs/docs.js +3 -8
- package/dist/components/breadcrumbs/docs.props.d.ts +5 -16
- package/dist/components/breadcrumbs/docs.props.js +105 -45
- package/dist/components/breadcrumbs/props.d.ts +26 -24
- package/dist/components/button/QBtn.scss +136 -0
- package/dist/components/button/QBtn.svelte +156 -52
- package/dist/components/button/QBtn.svelte.d.ts +4 -23
- package/dist/components/button/docs.d.ts +2 -2
- package/dist/components/button/docs.js +3 -8
- package/dist/components/button/docs.props.d.ts +3 -8
- package/dist/components/button/docs.props.js +174 -37
- package/dist/components/button/props.d.ts +48 -11
- package/dist/components/card/QCard.scss +25 -0
- package/dist/components/card/QCard.svelte +34 -19
- package/dist/components/card/QCard.svelte.d.ts +4 -16
- package/dist/components/card/QCardActions.scss +10 -0
- package/dist/components/card/QCardActions.svelte +23 -15
- package/dist/components/card/QCardActions.svelte.d.ts +4 -12
- package/dist/components/card/QCardSection.scss +10 -0
- package/dist/components/card/QCardSection.svelte +15 -11
- package/dist/components/card/QCardSection.svelte.d.ts +4 -13
- package/dist/components/card/docs.d.ts +4 -4
- package/dist/components/card/docs.js +7 -22
- package/dist/components/card/docs.props.d.ts +7 -24
- package/dist/components/card/docs.props.js +57 -30
- package/dist/components/card/props.d.ts +11 -16
- package/dist/components/checkbox/QCheckbox.svelte +15 -9
- package/dist/components/checkbox/QCheckbox.svelte.d.ts +3 -10
- package/dist/components/checkbox/docs.d.ts +2 -2
- package/dist/components/checkbox/docs.js +3 -3
- package/dist/components/checkbox/docs.props.d.ts +3 -8
- package/dist/components/checkbox/docs.props.js +24 -9
- package/dist/components/checkbox/index.scss +3 -1
- package/dist/components/checkbox/props.d.ts +2 -2
- package/dist/components/chip/QChip.scss +179 -0
- package/dist/components/chip/QChip.svelte +130 -60
- package/dist/components/chip/QChip.svelte.d.ts +4 -25
- package/dist/components/chip/docs.d.ts +2 -2
- package/dist/components/chip/docs.js +3 -16
- package/dist/components/chip/docs.props.d.ts +3 -8
- package/dist/components/chip/docs.props.js +96 -49
- package/dist/components/chip/props.d.ts +27 -29
- package/dist/components/codeBlock/QCodeBlock.svelte +90 -44
- package/dist/components/codeBlock/QCodeBlock.svelte.d.ts +3 -10
- package/dist/components/codeBlock/docs.props.d.ts +3 -8
- package/dist/components/codeBlock/docs.props.js +61 -12
- package/dist/components/codeBlock/props.d.ts +12 -2
- package/dist/components/dialog/{index.scss → QDialog.scss} +12 -14
- package/dist/components/dialog/QDialog.svelte +85 -78
- package/dist/components/dialog/QDialog.svelte.d.ts +9 -24
- package/dist/components/dialog/docs.d.ts +2 -2
- package/dist/components/dialog/docs.js +3 -3
- package/dist/components/dialog/docs.props.d.ts +3 -16
- package/dist/components/dialog/docs.props.js +37 -128
- package/dist/components/dialog/props.d.ts +4 -19
- package/dist/components/drawer/QDrawer.scss +39 -0
- package/dist/components/drawer/QDrawer.svelte +138 -90
- package/dist/components/drawer/QDrawer.svelte.d.ts +9 -28
- package/dist/components/drawer/docs.d.ts +2 -2
- package/dist/components/drawer/docs.js +3 -3
- package/dist/components/drawer/docs.props.d.ts +3 -8
- package/dist/components/drawer/docs.props.js +94 -39
- package/dist/components/drawer/props.d.ts +4 -3
- package/dist/components/footer/QFooter.scss +42 -0
- package/dist/components/footer/QFooter.svelte +99 -24
- package/dist/components/footer/QFooter.svelte.d.ts +4 -14
- package/dist/components/footer/docs.d.ts +2 -2
- package/dist/components/footer/docs.js +3 -3
- package/dist/components/footer/docs.props.d.ts +3 -8
- package/dist/components/footer/docs.props.js +47 -16
- package/dist/components/footer/props.d.ts +15 -9
- package/dist/components/header/QHeader.scss +53 -0
- package/dist/components/header/QHeader.svelte +90 -23
- package/dist/components/header/QHeader.svelte.d.ts +4 -14
- package/dist/components/header/docs.d.ts +2 -0
- package/dist/components/header/docs.js +11 -0
- package/dist/components/header/docs.props.d.ts +7 -0
- package/dist/components/header/docs.props.js +131 -0
- package/dist/components/header/props.d.ts +13 -5
- package/dist/components/icon/{index.scss → QIcon.scss} +2 -4
- package/dist/components/icon/QIcon.svelte +44 -28
- package/dist/components/icon/QIcon.svelte.d.ts +4 -18
- package/dist/components/icon/docs.d.ts +2 -2
- package/dist/components/icon/docs.js +3 -3
- package/dist/components/icon/docs.props.d.ts +3 -8
- package/dist/components/icon/docs.props.js +65 -24
- package/dist/components/icon/props.d.ts +9 -8
- package/dist/components/index.d.ts +5 -2
- package/dist/components/index.js +5 -2
- package/dist/components/input/QInput.svelte +106 -72
- package/dist/components/input/QInput.svelte.d.ts +4 -22
- package/dist/components/input/docs.d.ts +2 -2
- package/dist/components/input/docs.js +5 -71
- package/dist/components/input/docs.props.d.ts +3 -8
- package/dist/components/input/docs.props.js +129 -57
- package/dist/components/input/index.scss +1 -3
- package/dist/components/input/props.d.ts +81 -21
- package/dist/components/input/props.js +1 -13
- package/dist/components/layout/QLayout.scss +174 -0
- package/dist/components/layout/QLayout.svelte +178 -79
- package/dist/components/layout/QLayout.svelte.d.ts +12 -45
- package/dist/components/layout/docs.d.ts +2 -2
- package/dist/components/layout/docs.js +3 -3
- package/dist/components/layout/docs.props.d.ts +3 -8
- package/dist/components/layout/docs.props.js +62 -39
- package/dist/components/layout/props.d.ts +29 -21
- package/dist/components/list/QItem.scss +69 -0
- package/dist/components/list/QItem.svelte +99 -51
- package/dist/components/list/QItem.svelte.d.ts +4 -24
- package/dist/components/list/QItemSection.scss +59 -0
- package/dist/components/list/QItemSection.svelte +63 -37
- package/dist/components/list/QItemSection.svelte.d.ts +4 -15
- package/dist/components/list/QList.scss +30 -0
- package/dist/components/list/QList.svelte +43 -20
- package/dist/components/list/QList.svelte.d.ts +4 -26
- package/dist/components/list/docs.d.ts +4 -2
- package/dist/components/list/docs.js +23 -3
- package/dist/components/list/docs.props.d.ts +11 -40
- package/dist/components/list/docs.props.js +344 -136
- package/dist/components/list/props.d.ts +126 -28
- package/dist/components/list/props.js +1 -25
- package/dist/components/private/ContextReseter.svelte +15 -11
- package/dist/components/private/ContextReseter.svelte.d.ts +4 -8
- package/dist/components/private/QApi.svelte +264 -113
- package/dist/components/private/QApi.svelte.d.ts +3 -6
- package/dist/components/private/QDocs.svelte +119 -68
- package/dist/components/private/QDocs.svelte.d.ts +4 -11
- package/dist/components/private/QDocsSection.svelte +48 -18
- package/dist/components/private/QDocsSection.svelte.d.ts +9 -24
- package/dist/components/private/QIconSnippet.svelte +22 -0
- package/dist/components/private/QIconSnippet.svelte.d.ts +14 -0
- package/dist/components/private/index.d.ts +6 -0
- package/dist/components/private/index.js +6 -0
- package/dist/components/progress/QCircularProgress.scss +63 -0
- package/dist/components/progress/QCircularProgress.svelte +134 -21
- package/dist/components/progress/QCircularProgress.svelte.d.ts +3 -11
- package/dist/components/progress/QLinearProgress.scss +75 -0
- package/dist/components/progress/QLinearProgress.svelte +80 -23
- package/dist/components/progress/QLinearProgress.svelte.d.ts +3 -11
- package/dist/components/progress/docs.d.ts +3 -2
- package/dist/components/progress/docs.js +15 -5
- package/dist/components/progress/docs.props.d.ts +5 -16
- package/dist/components/progress/docs.props.js +287 -41
- package/dist/components/progress/props.d.ts +126 -14
- package/dist/components/radio/QRadio.svelte +16 -9
- package/dist/components/radio/QRadio.svelte.d.ts +3 -11
- package/dist/components/radio/docs.d.ts +2 -2
- package/dist/components/radio/docs.js +4 -26
- package/dist/components/radio/docs.props.d.ts +3 -8
- package/dist/components/radio/docs.props.js +39 -20
- package/dist/components/radio/index.scss +3 -1
- package/dist/components/radio/props.d.ts +26 -6
- package/dist/components/radio/props.js +1 -8
- package/dist/components/railbar/QRailbar.scss +54 -0
- package/dist/components/railbar/QRailbar.svelte +71 -65
- package/dist/components/railbar/QRailbar.svelte.d.ts +4 -13
- package/dist/components/railbar/docs.d.ts +2 -2
- package/dist/components/railbar/docs.js +3 -3
- package/dist/components/railbar/docs.props.d.ts +3 -8
- package/dist/components/railbar/docs.props.js +36 -15
- package/dist/components/railbar/props.d.ts +13 -6
- package/dist/components/select/QSelect.svelte +222 -146
- package/dist/components/select/QSelect.svelte.d.ts +4 -24
- package/dist/components/select/docs.d.ts +2 -2
- package/dist/components/select/docs.js +5 -83
- package/dist/components/select/docs.props.d.ts +3 -8
- package/dist/components/select/docs.props.js +156 -64
- package/dist/components/select/index.scss +25 -10
- package/dist/components/select/props.d.ts +100 -20
- package/dist/components/select/props.js +1 -14
- package/dist/components/separator/QSeparator.scss +54 -0
- package/dist/components/separator/QSeparator.svelte +50 -57
- package/dist/components/separator/QSeparator.svelte.d.ts +3 -14
- package/dist/components/separator/docs.d.ts +3 -2
- package/dist/components/separator/docs.js +14 -4
- package/dist/components/separator/docs.props.d.ts +5 -16
- package/dist/components/separator/docs.props.js +152 -72
- package/dist/components/separator/props.d.ts +84 -16
- package/dist/components/separator/props.js +1 -9
- package/dist/components/switch/QSwitch.scss +305 -0
- package/dist/components/switch/QSwitch.svelte +115 -0
- package/dist/components/switch/QSwitch.svelte.d.ts +14 -0
- package/dist/components/switch/docs.d.ts +2 -0
- package/dist/components/switch/docs.js +17 -0
- package/dist/components/switch/docs.props.d.ts +3 -0
- package/dist/components/switch/docs.props.js +119 -0
- package/dist/components/switch/props.d.ts +53 -0
- package/dist/components/switch/props.js +1 -0
- package/dist/components/table/QTable.svelte +133 -97
- package/dist/components/table/QTable.svelte.d.ts +4 -19
- package/dist/components/table/docs.d.ts +2 -2
- package/dist/components/table/docs.js +3 -3
- package/dist/components/table/docs.props.d.ts +3 -8
- package/dist/components/table/docs.props.js +67 -15
- package/dist/components/table/index.scss +3 -1
- package/dist/components/table/props.d.ts +14 -3
- package/dist/components/tabs/QTab.scss +71 -0
- package/dist/components/tabs/QTab.svelte +101 -88
- package/dist/components/tabs/QTab.svelte.d.ts +4 -16
- package/dist/components/tabs/QTabs.scss +53 -0
- package/dist/components/tabs/QTabs.svelte +163 -46
- package/dist/components/tabs/QTabs.svelte.d.ts +9 -13
- package/dist/components/tabs/docs.d.ts +3 -2
- package/dist/components/tabs/docs.js +13 -3
- package/dist/components/tabs/docs.props.d.ts +5 -16
- package/dist/components/tabs/docs.props.js +64 -30
- package/dist/components/tabs/index.scss +36 -24
- package/dist/components/tabs/props.d.ts +38 -9
- package/dist/components/tabs/props.js +1 -13
- package/dist/components/toolbar/{index.scss → QToolbar.scss} +10 -16
- package/dist/components/toolbar/QToolbar.svelte +26 -21
- package/dist/components/toolbar/QToolbar.svelte.d.ts +4 -15
- package/dist/components/toolbar/QToolbarTitle.svelte +10 -7
- package/dist/components/toolbar/QToolbarTitle.svelte.d.ts +4 -12
- package/dist/components/toolbar/docs.d.ts +3 -2
- package/dist/components/toolbar/docs.js +13 -3
- package/dist/components/toolbar/docs.props.d.ts +5 -16
- package/dist/components/toolbar/docs.props.js +55 -15
- package/dist/components/toolbar/props.d.ts +19 -9
- package/dist/components/tooltip/QTooltip.scss +40 -0
- package/dist/components/tooltip/QTooltip.svelte +200 -10
- package/dist/components/tooltip/QTooltip.svelte.d.ts +17 -18
- package/dist/components/tooltip/QTooltipBase.svelte +86 -0
- package/dist/components/tooltip/QTooltipBase.svelte.d.ts +14 -0
- package/dist/components/tooltip/docs.d.ts +2 -2
- package/dist/components/tooltip/docs.js +3 -2
- package/dist/components/tooltip/docs.props.d.ts +3 -8
- package/dist/components/tooltip/docs.props.js +69 -10
- package/dist/components/tooltip/props.d.ts +36 -4
- package/dist/components/tooltip/props.js +1 -6
- package/dist/composables/index.d.ts +3 -0
- package/dist/composables/index.js +3 -1
- package/dist/composables/{use-align.d.ts → useAlign.d.ts} +1 -1
- package/dist/composables/{use-align.js → useAlign.js} +1 -1
- package/dist/composables/{use-router-link.d.ts → useRouterLink.d.ts} +3 -3
- package/dist/composables/{use-router-link.js → useRouterLink.js} +4 -4
- package/dist/composables/useSize.d.ts +10 -0
- package/dist/composables/useSize.js +37 -0
- package/dist/css/_components.scss +31 -0
- package/dist/css/_disabled.scss +18 -0
- package/dist/css/{ripple.scss → _ripple.scss} +10 -3
- package/dist/css/_variables.scss +73 -0
- package/dist/css/classes/_design.scss +57 -0
- package/dist/css/{flex.scss → classes/_flex.scss} +23 -2
- package/dist/css/classes/_grid.scss +35 -0
- package/dist/css/classes/_index.scss +7 -0
- package/dist/css/classes/_overflow.scss +7 -0
- package/dist/css/classes/_position.scss +7 -0
- package/dist/css/classes/_select.scss +6 -0
- package/dist/css/classes/_spaces.scss +23 -0
- package/dist/css/fonts.scss +18 -4
- package/dist/css/index.css +1 -1
- package/dist/css/index.scss +16 -92
- package/dist/css/mixins/_design.scss +64 -0
- package/dist/css/mixins/_field.scss +64 -0
- package/dist/css/mixins/_image.scss +64 -0
- package/dist/css/mixins/_index.scss +10 -0
- package/dist/css/mixins/_layout.scss +20 -0
- package/dist/css/mixins/{menu.scss → _menu.scss} +4 -2
- package/dist/css/mixins/{selection.scss → _selection.scss} +10 -70
- package/dist/css/mixins/_spaces.scss +36 -0
- package/dist/css/mixins/_toolbar.scss +7 -0
- package/dist/css/mixins/_typography.scss +7 -0
- package/dist/css/shared/q-field.scss +348 -0
- package/dist/css/theme/_color-classes.scss +332 -0
- package/dist/css/theme/_colors.scss +205 -0
- package/dist/css/theme/_css-variables.scss +5 -0
- package/dist/css/theme/_index.scss +12 -0
- package/dist/css/theme/_page.scss +17 -0
- package/dist/css/theme/{palette.scss → _palette.scss} +27 -5
- package/dist/css/theme/{reset.scss → _reset.scss} +11 -2
- package/dist/css/theme/_typography-variables.scss +107 -0
- package/dist/global.d.ts +1 -1
- package/dist/helpers/clickOutside.d.ts +2 -2
- package/dist/helpers/clickOutside.js +5 -4
- package/dist/helpers/index.d.ts +2 -1
- package/dist/helpers/index.js +2 -1
- package/dist/helpers/pageTitle.d.ts +1 -0
- package/dist/helpers/pageTitle.js +3 -0
- package/dist/helpers/ripple.d.ts +1 -0
- package/dist/helpers/ripple.js +31 -16
- package/dist/helpers/version.d.ts +1 -1
- package/dist/helpers/version.js +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.js +4 -1
- package/dist/stores/index.d.ts +0 -0
- package/dist/stores/index.js +1 -0
- package/dist/utils/clipboard.d.ts +1 -1
- package/dist/utils/clipboard.js +3 -4
- package/dist/utils/colors.d.ts +69 -0
- package/dist/utils/colors.js +141 -15
- package/dist/utils/context.d.ts +33 -0
- package/dist/utils/context.js +33 -0
- package/dist/utils/dom.d.ts +3 -0
- package/dist/utils/dom.js +14 -4
- package/dist/utils/events.d.ts +24 -0
- package/dist/utils/events.js +24 -0
- package/dist/utils/index.d.ts +11 -0
- package/dist/utils/index.js +11 -1
- package/dist/utils/number.d.ts +2 -0
- package/dist/utils/number.js +9 -0
- package/dist/utils/props.d.ts +4 -4
- package/dist/utils/props.js +8 -6
- package/dist/utils/router.d.ts +16 -0
- package/dist/utils/router.js +20 -0
- package/dist/utils/string.d.ts +2 -0
- package/dist/utils/string.js +12 -1
- package/dist/utils/types.d.ts +12 -18
- package/dist/utils/types.js +0 -3
- package/dist/utils/types.json +31 -1
- package/package.json +44 -39
- package/dist/components/breadcrumbs/index.scss +0 -20
- package/dist/components/button/index.scss +0 -98
- package/dist/components/card/index.scss +0 -56
- package/dist/components/chip/index.scss +0 -86
- package/dist/components/drawer/index.scss +0 -59
- package/dist/components/footer/index.scss +0 -28
- package/dist/components/layout/index.scss +0 -387
- package/dist/components/list/index.scss +0 -121
- package/dist/components/progress/index.scss +0 -65
- package/dist/components/railbar/index.scss +0 -39
- package/dist/components/toggle/QToggle.svelte +0 -35
- package/dist/components/toggle/QToggle.svelte.d.ts +0 -23
- package/dist/components/toggle/docs.d.ts +0 -2
- package/dist/components/toggle/docs.js +0 -47
- package/dist/components/toggle/docs.props.d.ts +0 -8
- package/dist/components/toggle/docs.props.js +0 -42
- package/dist/components/toggle/index.scss +0 -31
- package/dist/components/toggle/props.d.ts +0 -9
- package/dist/components/toggle/props.js +0 -9
- package/dist/components/tooltip/index.scss +0 -82
- package/dist/composables/use-index.d.ts +0 -2
- package/dist/composables/use-index.js +0 -17
- package/dist/composables/use-size.d.ts +0 -9
- package/dist/composables/use-size.js +0 -25
- package/dist/css/grid.scss +0 -50
- package/dist/css/mixins/field.scss +0 -432
- package/dist/css/mixins.scss +0 -136
- package/dist/css/states.scss +0 -75
- package/dist/css/theme/bridge.scss +0 -15
- package/dist/css/theme/colors.module.scss +0 -180
- package/dist/css/theme/page.scss +0 -16
- package/dist/css/theme/theme.dark.scss +0 -37
- package/dist/css/theme/theme.light.scss +0 -37
- package/dist/css/theme/theme.scss +0 -11
- package/dist/css/theme/tokens.scss +0 -266
- package/dist/css/variables-sass.scss +0 -16
- package/dist/helpers/activationHandler.d.ts +0 -9
- package/dist/helpers/activationHandler.js +0 -23
- package/dist/stores/QTheme.d.ts +0 -42
- package/dist/stores/QTheme.js +0 -53
- package/dist/stores/Quaff.d.ts +0 -32
- package/dist/stores/Quaff.js +0 -53
- package/dist/utils/fields.d.ts +0 -1
- package/dist/utils/fields.js +0 -14
- package/dist/utils/watchable.d.ts +0 -3
- package/dist/utils/watchable.js +0 -22
- /package/dist/css/mixins/{table.scss → _table.scss} +0 -0
- /package/dist/css/theme/{elevate.scss → _elevate.scss} +0 -0
- /package/dist/css/theme/{typography.module.scss → _typography-classes.scss} +0 -0
- /package/dist/css/theme/{typography.scss → _typography.scss} +0 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
@use "$css/variables";
|
|
2
|
+
|
|
3
|
+
.q-tooltip {
|
|
4
|
+
--space: -0.5rem;
|
|
5
|
+
display: flex;
|
|
6
|
+
align-items: center;
|
|
7
|
+
justify-content: center;
|
|
8
|
+
cursor: auto;
|
|
9
|
+
gap: 0.5rem;
|
|
10
|
+
background-color: var(--inverse-surface);
|
|
11
|
+
color: var(--inverse-on-surface);
|
|
12
|
+
font-size: 0.75rem;
|
|
13
|
+
text-align: center;
|
|
14
|
+
border-radius: 0.25rem;
|
|
15
|
+
padding: 0.5rem;
|
|
16
|
+
position: fixed;
|
|
17
|
+
bottom: auto;
|
|
18
|
+
right: auto;
|
|
19
|
+
width: auto;
|
|
20
|
+
white-space: nowrap;
|
|
21
|
+
font-weight: 500;
|
|
22
|
+
transition: opacity variables.$speed2;
|
|
23
|
+
z-index: 9999;
|
|
24
|
+
|
|
25
|
+
&__helper {
|
|
26
|
+
// Remove the helper element from the flow so it doesn't affect pre elements
|
|
27
|
+
position: absolute;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&:has(> .q-card) {
|
|
31
|
+
padding: 0;
|
|
32
|
+
overflow: hidden;
|
|
33
|
+
background-color: transparent;
|
|
34
|
+
text-align: unset;
|
|
35
|
+
|
|
36
|
+
& > .q-card {
|
|
37
|
+
box-shadow: none;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -1,13 +1,203 @@
|
|
|
1
|
-
<script
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
<script lang="ts" generics="T extends HTMLElement | string">
|
|
2
|
+
import { mount, onMount, unmount, untrack } from "svelte";
|
|
3
|
+
import { addEventListener } from "../../utils";
|
|
4
|
+
import QTooltipBase from "./QTooltipBase.svelte";
|
|
5
|
+
import type { QTooltipProps } from "./props";
|
|
6
|
+
|
|
7
|
+
let {
|
|
8
|
+
target,
|
|
9
|
+
value = $bindable(false),
|
|
10
|
+
position = "bottom",
|
|
11
|
+
offset = { x: 0, y: 0 },
|
|
12
|
+
delay = 50,
|
|
13
|
+
hideDelay = 50,
|
|
14
|
+
children,
|
|
15
|
+
...props
|
|
16
|
+
}: QTooltipProps<T> = $props();
|
|
17
|
+
|
|
18
|
+
let tooltipHelperEl = $state<HTMLDivElement>();
|
|
19
|
+
let tooltipEl = $state<HTMLDivElement>();
|
|
20
|
+
|
|
21
|
+
let realTarget = $state<HTMLElement>();
|
|
22
|
+
|
|
23
|
+
let timerShow = $state<ReturnType<typeof setTimeout> | null>(null);
|
|
24
|
+
let timerHide = $state<ReturnType<typeof setTimeout> | null>(null);
|
|
25
|
+
|
|
26
|
+
let mountedTooltip: ReturnType<typeof mountTooltip> | null = null;
|
|
27
|
+
|
|
28
|
+
let targetMouseEnterListener: ReturnType<typeof addEventListener> | null =
|
|
29
|
+
null;
|
|
30
|
+
let targetMouseLeaveListener: ReturnType<typeof addEventListener> | null =
|
|
31
|
+
null;
|
|
32
|
+
let tooltipMouseEnterListener: ReturnType<typeof addEventListener> | null =
|
|
33
|
+
null;
|
|
34
|
+
let tooltipMouseLeaveListener: ReturnType<typeof addEventListener> | null =
|
|
35
|
+
null;
|
|
36
|
+
let windowWheelListener: ReturnType<typeof addEventListener> | null = null;
|
|
37
|
+
|
|
38
|
+
const id = Date.now();
|
|
39
|
+
|
|
40
|
+
$effect(() => {
|
|
41
|
+
value ? untrack(show) : untrack(hide);
|
|
8
42
|
});
|
|
43
|
+
|
|
44
|
+
onMount(() => {
|
|
45
|
+
if (target) {
|
|
46
|
+
realTarget =
|
|
47
|
+
typeof target === "string"
|
|
48
|
+
? document.querySelector<HTMLElement>(target) || undefined
|
|
49
|
+
: target;
|
|
50
|
+
} else {
|
|
51
|
+
let parent = tooltipHelperEl?.parentElement || null;
|
|
52
|
+
|
|
53
|
+
while (parent) {
|
|
54
|
+
if (parent.attributes.getNamedItem("data-quaff")) {
|
|
55
|
+
realTarget = parent;
|
|
56
|
+
break;
|
|
57
|
+
} else {
|
|
58
|
+
parent = parent.parentElement;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
targetMouseEnterListener = addEventListener(realTarget, "mouseenter", show);
|
|
64
|
+
targetMouseLeaveListener = addEventListener(realTarget, "mouseleave", hide);
|
|
65
|
+
|
|
66
|
+
return () => {
|
|
67
|
+
targetMouseEnterListener?.remove();
|
|
68
|
+
targetMouseLeaveListener?.remove();
|
|
69
|
+
|
|
70
|
+
tooltipMouseEnterListener?.remove();
|
|
71
|
+
tooltipMouseLeaveListener?.remove();
|
|
72
|
+
|
|
73
|
+
windowWheelListener?.remove();
|
|
74
|
+
|
|
75
|
+
if (mountedTooltip) {
|
|
76
|
+
unmount(mountedTooltip);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
if (timerShow) {
|
|
80
|
+
clearTimeout(timerShow);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (timerHide) {
|
|
84
|
+
clearTimeout(timerHide);
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
export function show() {
|
|
90
|
+
if (timerHide) {
|
|
91
|
+
clearTimeout(timerHide);
|
|
92
|
+
timerHide = null;
|
|
93
|
+
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
if (mountedTooltip) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
if (timerShow) {
|
|
102
|
+
clearTimeout(timerShow);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
timerShow = setTimeout(() => {
|
|
106
|
+
timerShow = null;
|
|
107
|
+
mountedTooltip = mountTooltip();
|
|
108
|
+
|
|
109
|
+
tooltipEl =
|
|
110
|
+
(document.getElementById(`qtooltip-${id}`) as HTMLDivElement) ||
|
|
111
|
+
undefined;
|
|
112
|
+
tooltipMouseEnterListener = addEventListener(
|
|
113
|
+
tooltipEl,
|
|
114
|
+
"mouseenter",
|
|
115
|
+
abortHide,
|
|
116
|
+
);
|
|
117
|
+
tooltipMouseLeaveListener = addEventListener(
|
|
118
|
+
tooltipEl,
|
|
119
|
+
"mouseleave",
|
|
120
|
+
hide,
|
|
121
|
+
);
|
|
122
|
+
|
|
123
|
+
windowWheelListener = addEventListener(window, "wheel", hide);
|
|
124
|
+
|
|
125
|
+
if (!value) {
|
|
126
|
+
value = true;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
return;
|
|
130
|
+
}, delay);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
export function hide() {
|
|
134
|
+
if (timerShow) {
|
|
135
|
+
clearTimeout(timerShow);
|
|
136
|
+
timerShow = null;
|
|
137
|
+
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
if (!mountedTooltip) {
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
if (timerHide) {
|
|
146
|
+
clearTimeout(timerHide);
|
|
147
|
+
timerHide = null;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
timerHide = setTimeout(() => {
|
|
151
|
+
tooltipMouseEnterListener?.remove();
|
|
152
|
+
|
|
153
|
+
if (!mountedTooltip) {
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
unmount(mountedTooltip);
|
|
158
|
+
|
|
159
|
+
windowWheelListener?.remove();
|
|
160
|
+
|
|
161
|
+
mountedTooltip = null;
|
|
162
|
+
timerHide = null;
|
|
163
|
+
|
|
164
|
+
if (value) {
|
|
165
|
+
value = false;
|
|
166
|
+
}
|
|
167
|
+
}, hideDelay);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
export function toggle() {
|
|
171
|
+
value = !value;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
function abortHide() {
|
|
175
|
+
if (timerHide) {
|
|
176
|
+
clearTimeout(timerHide);
|
|
177
|
+
timerHide = null;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
function mountTooltip() {
|
|
182
|
+
if (!realTarget) {
|
|
183
|
+
return null;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
return mount(QTooltipBase, {
|
|
187
|
+
target: document.body,
|
|
188
|
+
props: {
|
|
189
|
+
target: realTarget,
|
|
190
|
+
value: true,
|
|
191
|
+
position,
|
|
192
|
+
offset,
|
|
193
|
+
children,
|
|
194
|
+
id: `qtooltip-${id}`,
|
|
195
|
+
...props,
|
|
196
|
+
},
|
|
197
|
+
});
|
|
198
|
+
}
|
|
9
199
|
</script>
|
|
10
200
|
|
|
11
|
-
|
|
12
|
-
<
|
|
13
|
-
|
|
201
|
+
{#if !target}
|
|
202
|
+
<div bind:this={tooltipHelperEl} class="q-tooltip__helper"></div>
|
|
203
|
+
{/if}
|
|
@@ -1,22 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
position?: "top" | "bottom" | "left" | "right" | undefined;
|
|
8
|
-
class?: string | undefined;
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare class __sveltets_Render<T extends HTMLElement | string> {
|
|
3
|
+
props(): {
|
|
4
|
+
show?: (() => void) | undefined;
|
|
5
|
+
hide?: (() => void) | undefined;
|
|
6
|
+
toggle?: (() => void) | undefined;
|
|
9
7
|
};
|
|
10
|
-
events: {
|
|
8
|
+
events(): {} & {
|
|
11
9
|
[evt: string]: CustomEvent<any>;
|
|
12
10
|
};
|
|
13
|
-
slots: {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
type
|
|
18
|
-
export
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
11
|
+
slots(): {};
|
|
12
|
+
}
|
|
13
|
+
export type QTooltipProps_<T extends HTMLElement | string> = ReturnType<__sveltets_Render<T>['props']>;
|
|
14
|
+
export type QTooltipEvents<T extends HTMLElement | string> = ReturnType<__sveltets_Render<T>['events']>;
|
|
15
|
+
export type QTooltipSlots<T extends HTMLElement | string> = ReturnType<__sveltets_Render<T>['slots']>;
|
|
16
|
+
export default class QTooltip<T extends HTMLElement | string> extends SvelteComponentTyped<QTooltipProps_<T>, QTooltipEvents<T>, QTooltipSlots<T>> {
|
|
17
|
+
get show(): () => void;
|
|
18
|
+
get hide(): () => void;
|
|
19
|
+
get toggle(): () => void;
|
|
22
20
|
}
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { onMount } from "svelte";
|
|
3
|
+
import { scale } from "svelte/transition";
|
|
4
|
+
import type { QTooltipProps } from "./props";
|
|
5
|
+
|
|
6
|
+
let {
|
|
7
|
+
// At this point, target should be guaranteed to be a DOM element
|
|
8
|
+
target,
|
|
9
|
+
position = "bottom",
|
|
10
|
+
offset = { x: 0, y: 0 },
|
|
11
|
+
children,
|
|
12
|
+
...props
|
|
13
|
+
}: QTooltipProps<HTMLElement> = $props();
|
|
14
|
+
|
|
15
|
+
let tooltipEl = $state<HTMLDivElement>();
|
|
16
|
+
|
|
17
|
+
onMount(() => {
|
|
18
|
+
setTimeout(() => {
|
|
19
|
+
if (tooltipEl) {
|
|
20
|
+
tooltipEl.style.opacity = "1";
|
|
21
|
+
}
|
|
22
|
+
}, 50);
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
const tooltipPosition: Record<"top" | "left", number> | undefined =
|
|
26
|
+
$derived.by(() => {
|
|
27
|
+
if (!target || !tooltipEl) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
const top = calculatePosition(target, tooltipEl, "y");
|
|
32
|
+
const left = calculatePosition(target, tooltipEl, "x");
|
|
33
|
+
|
|
34
|
+
return { top, left };
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
const styles = $derived(
|
|
38
|
+
tooltipPosition && {
|
|
39
|
+
top: `${tooltipPosition.top}px`,
|
|
40
|
+
left: `${tooltipPosition.left}px`,
|
|
41
|
+
},
|
|
42
|
+
);
|
|
43
|
+
|
|
44
|
+
function calculatePosition(
|
|
45
|
+
anchor: HTMLElement,
|
|
46
|
+
tooltip: HTMLElement,
|
|
47
|
+
axis: "x" | "y",
|
|
48
|
+
) {
|
|
49
|
+
const anchorRect = anchor.getBoundingClientRect();
|
|
50
|
+
|
|
51
|
+
const anchorPosition = {
|
|
52
|
+
start: axis === "x" ? "left" : "top",
|
|
53
|
+
end: axis === "x" ? "right" : "bottom",
|
|
54
|
+
} as const;
|
|
55
|
+
const anchorDimension = axis === "x" ? "width" : "height";
|
|
56
|
+
const tooltipDimension = axis === "x" ? "offsetWidth" : "offsetHeight";
|
|
57
|
+
|
|
58
|
+
const offsetToUse = offset[axis];
|
|
59
|
+
// 0.5rem offset so the tooltip is not stuck to the anchor
|
|
60
|
+
const defaultOffset = position.includes("-") ? 0 : 8;
|
|
61
|
+
|
|
62
|
+
return position.includes(anchorPosition.start)
|
|
63
|
+
? anchorRect[anchorPosition.start] -
|
|
64
|
+
tooltip[tooltipDimension] +
|
|
65
|
+
(offsetToUse || 0) -
|
|
66
|
+
defaultOffset
|
|
67
|
+
: position.includes(anchorPosition.end)
|
|
68
|
+
? anchorRect[anchorPosition.end] + (offsetToUse || 0) + defaultOffset
|
|
69
|
+
: anchorRect[anchorPosition.start] +
|
|
70
|
+
anchorRect[anchorDimension] / 2 -
|
|
71
|
+
tooltip[tooltipDimension] / 2 +
|
|
72
|
+
(offsetToUse || 0);
|
|
73
|
+
}
|
|
74
|
+
</script>
|
|
75
|
+
|
|
76
|
+
<div
|
|
77
|
+
bind:this={tooltipEl}
|
|
78
|
+
{...props}
|
|
79
|
+
class={["q-tooltip", props.class]}
|
|
80
|
+
style:top={styles?.top}
|
|
81
|
+
style:left={styles?.left}
|
|
82
|
+
style:transform="unset"
|
|
83
|
+
transition:scale|global={{ duration: 100 }}
|
|
84
|
+
>
|
|
85
|
+
{@render children?.()}
|
|
86
|
+
</div>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: Record<string, never>;
|
|
4
|
+
events: {
|
|
5
|
+
[evt: string]: CustomEvent<any>;
|
|
6
|
+
};
|
|
7
|
+
slots: {};
|
|
8
|
+
};
|
|
9
|
+
export type QTooltipBaseProps = typeof __propDef.props;
|
|
10
|
+
export type QTooltipBaseEvents = typeof __propDef.events;
|
|
11
|
+
export type QTooltipBaseSlots = typeof __propDef.slots;
|
|
12
|
+
export default class QTooltipBase extends SvelteComponentTyped<QTooltipBaseProps, QTooltipBaseEvents, QTooltipBaseSlots> {
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { QComponentDocs } from "../../utils
|
|
2
|
-
export declare
|
|
1
|
+
import type { QComponentDocs } from "../../utils";
|
|
2
|
+
export declare const QTooltipDocs: QComponentDocs;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import { QToolbarDocsSnippets } from "../header/docs.props";
|
|
1
2
|
import { QTooltipDocsProps } from "./docs.props";
|
|
2
|
-
export
|
|
3
|
+
export const QTooltipDocs = {
|
|
3
4
|
name: "QTooltip",
|
|
4
5
|
description: "The Tooltip component displays informative text on hover or focus, providing additional context.",
|
|
5
6
|
docs: {
|
|
6
7
|
props: QTooltipDocsProps,
|
|
7
|
-
|
|
8
|
+
snippets: QToolbarDocsSnippets,
|
|
8
9
|
methods: [],
|
|
9
10
|
events: [],
|
|
10
11
|
},
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
optional: boolean;
|
|
5
|
-
clickableType: boolean;
|
|
6
|
-
description: string;
|
|
7
|
-
default: string;
|
|
8
|
-
}[];
|
|
1
|
+
import { ParsedProp, ParsedSnippet } from "../../../../docgen/props/parseInterface";
|
|
2
|
+
export declare const QTooltipDocsProps: ParsedProp[];
|
|
3
|
+
export declare const QTooltipDocsSnippets: ParsedSnippet[];
|
|
@@ -1,18 +1,77 @@
|
|
|
1
|
+
// AUTO GENERATED FILE - DO NOT MODIFY OR DELETE
|
|
2
|
+
// @quaffHash 444819e2121eccfade83b2988db64474
|
|
1
3
|
export const QTooltipDocsProps = [
|
|
2
4
|
{
|
|
3
|
-
|
|
4
|
-
|
|
5
|
+
isArray: false,
|
|
6
|
+
optional: true,
|
|
7
|
+
isSnippet: false,
|
|
8
|
+
name: "target",
|
|
9
|
+
type: {
|
|
10
|
+
name: "T",
|
|
11
|
+
isClickable: true,
|
|
12
|
+
},
|
|
13
|
+
description: "The target element the tooltip should be attached to. Can be an HTML element or a CSS selector. If not specified, the tooltip will be attached to the nearest Quaff component in the parent tree.",
|
|
14
|
+
default: "undefined",
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
isArray: false,
|
|
5
18
|
optional: true,
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
19
|
+
isSnippet: false,
|
|
20
|
+
name: "value",
|
|
21
|
+
type: {
|
|
22
|
+
name: "boolean",
|
|
23
|
+
isClickable: false,
|
|
24
|
+
},
|
|
25
|
+
description: "Defines the show/hide state of the tooltip. By default, the tooltip will be be shown on mouseenter and hidden on mouseleave.",
|
|
26
|
+
default: "false",
|
|
9
27
|
},
|
|
10
28
|
{
|
|
29
|
+
isArray: false,
|
|
30
|
+
optional: true,
|
|
31
|
+
isSnippet: false,
|
|
11
32
|
name: "position",
|
|
12
|
-
type:
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
33
|
+
type: {
|
|
34
|
+
name: "QTooltipPosition",
|
|
35
|
+
isClickable: true,
|
|
36
|
+
},
|
|
37
|
+
description: "Defines the position of the tooltip.",
|
|
38
|
+
default: '"bottom"',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
isArray: false,
|
|
42
|
+
optional: true,
|
|
43
|
+
isSnippet: false,
|
|
44
|
+
name: "offset",
|
|
45
|
+
type: {
|
|
46
|
+
name: "QTooltipOffset",
|
|
47
|
+
isClickable: true,
|
|
48
|
+
},
|
|
49
|
+
description: "Offset of the tooltip in pixels. Positive values move the tooltip down/right, negative values move the tooltip up/left.",
|
|
50
|
+
default: "{ x: 0, y: 0 }",
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
isArray: false,
|
|
54
|
+
optional: true,
|
|
55
|
+
isSnippet: false,
|
|
56
|
+
name: "delay",
|
|
57
|
+
type: {
|
|
58
|
+
name: "number",
|
|
59
|
+
isClickable: false,
|
|
60
|
+
},
|
|
61
|
+
description: "Delay in milliseconds before the tooltip appears.",
|
|
62
|
+
default: "0",
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
isArray: false,
|
|
66
|
+
optional: true,
|
|
67
|
+
isSnippet: false,
|
|
68
|
+
name: "hideDelay",
|
|
69
|
+
type: {
|
|
70
|
+
name: "number",
|
|
71
|
+
isClickable: false,
|
|
72
|
+
},
|
|
73
|
+
description: "Delay in milliseconds before the tooltip is hidden.",
|
|
74
|
+
default: "0",
|
|
17
75
|
},
|
|
18
76
|
];
|
|
77
|
+
export const QTooltipDocsSnippets = [];
|
|
@@ -1,6 +1,38 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export
|
|
1
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
2
|
+
export type QTooltipPosition = "top-left" | "top" | "top-right" | "right" | "bottom-right" | "bottom" | "bottom-left" | "left";
|
|
3
|
+
export type QTooltipOffset = {
|
|
4
|
+
x?: number;
|
|
5
|
+
y?: number;
|
|
6
|
+
};
|
|
7
|
+
export interface QTooltipProps<T extends Element | string> extends HTMLAttributes<HTMLDivElement> {
|
|
8
|
+
/**
|
|
9
|
+
* The target element the tooltip should be attached to. Can be an HTML element or a CSS selector. If not specified, the tooltip will be attached to the nearest Quaff component in the parent tree.
|
|
10
|
+
* @default undefined
|
|
11
|
+
*/
|
|
12
|
+
target?: T;
|
|
13
|
+
/**
|
|
14
|
+
* Defines the show/hide state of the tooltip. By default, the tooltip will be be shown on mouseenter and hidden on mouseleave.
|
|
15
|
+
* @default false
|
|
16
|
+
*/
|
|
3
17
|
value?: boolean;
|
|
4
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Defines the position of the tooltip.
|
|
20
|
+
* @default "bottom"
|
|
21
|
+
*/
|
|
22
|
+
position?: QTooltipPosition;
|
|
23
|
+
/**
|
|
24
|
+
* Offset of the tooltip in pixels. Positive values move the tooltip down/right, negative values move the tooltip up/left.
|
|
25
|
+
* @default { x: 0, y: 0 }
|
|
26
|
+
*/
|
|
27
|
+
offset?: QTooltipOffset;
|
|
28
|
+
/**
|
|
29
|
+
* Delay in milliseconds before the tooltip appears.
|
|
30
|
+
* @default 0
|
|
31
|
+
*/
|
|
32
|
+
delay?: number;
|
|
33
|
+
/**
|
|
34
|
+
* Delay in milliseconds before the tooltip is hidden.
|
|
35
|
+
* @default 0
|
|
36
|
+
*/
|
|
37
|
+
hideDelay?: number;
|
|
5
38
|
}
|
|
6
|
-
export declare const QTooltipPropsDefaults: QTooltipProps;
|
|
@@ -11,7 +11,7 @@ const alignMap = {
|
|
|
11
11
|
// @todo - justify-stretch isn't possible
|
|
12
12
|
stretch: "stretch",
|
|
13
13
|
};
|
|
14
|
-
export
|
|
14
|
+
export function useAlign(align = "top left") {
|
|
15
15
|
const alignments = align
|
|
16
16
|
.split(" ")
|
|
17
17
|
.map((entry) => {
|
|
@@ -2,13 +2,13 @@ import type { Page } from "@sveltejs/kit";
|
|
|
2
2
|
export interface UseRouterLinkProps {
|
|
3
3
|
href?: string;
|
|
4
4
|
to?: string;
|
|
5
|
-
disable
|
|
5
|
+
disable?: boolean;
|
|
6
6
|
activeClass?: string;
|
|
7
|
-
replace
|
|
7
|
+
replace?: boolean;
|
|
8
8
|
}
|
|
9
9
|
export declare const UseRouterLinkPropsDefaults: UseRouterLinkProps;
|
|
10
10
|
export declare function isRouteActive(router: Page<Record<string, string>, string | null>, to: string | undefined): boolean;
|
|
11
|
-
export
|
|
11
|
+
export declare function useRouterLink<T extends UseRouterLinkProps>(props: T): {
|
|
12
12
|
hasLink: boolean;
|
|
13
13
|
linkAttributes: {
|
|
14
14
|
href: string | undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createClasses } from "../utils
|
|
1
|
+
import { createClasses } from "../utils";
|
|
2
2
|
export const UseRouterLinkPropsDefaults = {
|
|
3
3
|
href: undefined,
|
|
4
4
|
to: undefined,
|
|
@@ -11,12 +11,12 @@ export function isRouteActive(router, to) {
|
|
|
11
11
|
? router.url.pathname === to
|
|
12
12
|
: router.url.pathname.slice(0, (to || "").length) === to;
|
|
13
13
|
}
|
|
14
|
-
export
|
|
15
|
-
const hasLink = props.to
|
|
14
|
+
export function useRouterLink(props) {
|
|
15
|
+
const hasLink = [props.to, props.href].some((entry) => typeof entry !== "undefined");
|
|
16
16
|
const linkClasses = createClasses([hasLink && "q-link", props.disable && "disable"]);
|
|
17
17
|
const linkAttributes = {
|
|
18
18
|
href: props.to || props.href,
|
|
19
|
-
"data-sveltkit-reload": props.replace
|
|
19
|
+
"data-sveltkit-reload": props.replace ? "" : undefined,
|
|
20
20
|
};
|
|
21
21
|
return {
|
|
22
22
|
hasLink,
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const sizes: Q.Size[];
|
|
2
|
+
export declare const CssUnits: Q.CssUnit[];
|
|
3
|
+
/**
|
|
4
|
+
* Checks wether the input is a size like "sm" or "lg"
|
|
5
|
+
*/
|
|
6
|
+
export declare function isQuaffSize(size: number | string): size is Q.Size;
|
|
7
|
+
export declare function useSize(size: number | string, component?: `q-${string}`): {
|
|
8
|
+
class: string;
|
|
9
|
+
style: string | undefined;
|
|
10
|
+
};
|