@rio-cloud/rio-uikit 0.15.1 → 0.16.0-beta-3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -3
- package/lib/components/actionBarItem/ActionBarItem.js +4 -4
- package/lib/components/actionBarItem/ActionBarItemPopoverContent.js +43 -0
- package/lib/components/actionBarItem/ActionBarOverlay.js +8 -3
- package/lib/components/applicationHeader/AppMenuDropdown.js +9 -13
- package/lib/components/applicationLayout/ApplicationLayout.js +2 -0
- package/lib/components/applicationLayout/ApplicationLayoutBody.js +5 -3
- package/lib/components/assetTree/AssetTree.js +1 -1
- package/lib/components/assetTree/Tree.js +2 -2
- package/lib/components/assetTree/TreeLeaf.js +9 -9
- package/lib/components/bottomSheet/BottomSheet.js +11 -7
- package/lib/components/browserWarning/BrowserIcons.js +76 -0
- package/lib/components/browserWarning/BrowserWarning.js +4 -4
- package/lib/components/browserWarning/BrowserWarningMessageDE.js +20 -22
- package/lib/components/browserWarning/BrowserWarningMessageEN.js +20 -22
- package/lib/components/carousel/Carousel.js +7 -426
- package/lib/components/checkbox/Checkbox.js +4 -4
- package/lib/components/datepicker/DatePicker.js +15 -6
- package/lib/components/dialog/ConfirmationDialog.js +8 -6
- package/lib/components/dialog/SaveDialog.js +3 -1
- package/lib/components/dropdown/ButtonDropdown.js +8 -11
- package/lib/components/filepicker/FilePicker.js +65 -96
- package/lib/components/listMenu/ListMenu.js +40 -23
- package/lib/components/map/components/features/old/MapSettings.js +5 -5
- package/lib/components/map/components/features/old/settings/MapClusterSettings.js +13 -13
- package/lib/components/map/components/features/old/settings/MapLayerSettings.js +15 -15
- package/lib/components/map/components/features/old/settings/MapTypeSettings.js +20 -20
- package/lib/components/map/components/features/settings/ZoomButtons.js +10 -10
- package/lib/components/map/components/features/settings/builtinSettings/MapClusterSettings.js +20 -18
- package/lib/components/map/components/features/settings/builtinSettings/MapLayerSettings.js +8 -8
- package/lib/components/map/components/features/settings/builtinSettings/MapTypeSettings.js +42 -32
- package/lib/components/map/components/features/settings/buttons/MapBoundingBoxButton.js +8 -8
- package/lib/components/map/components/features/settings/buttons/MapCenterMarkerButton.js +8 -8
- package/lib/components/map/components/features/settings/buttons/MapLockMarkerButton.js +8 -8
- package/lib/components/map/components/features/settings/items/MapCustomerPoiSettingsItem.js +8 -8
- package/lib/components/map/components/features/settings/items/MapLayerIncidentsItem.js +8 -6
- package/lib/components/map/components/features/settings/items/MapLayerRoadRestrictionsItem.js +8 -6
- package/lib/components/map/components/features/settings/items/MapLayerTrafficItem.js +8 -6
- package/lib/components/map/components/features/settings/items/MapWorkshopPoiSettingsItem.js +8 -8
- package/lib/components/map/icons/MapIcon.js +500 -0
- package/lib/components/numberInput/NumberInput.js +6 -6
- package/lib/components/onboarding/OnboardingTip.js +9 -9
- package/lib/components/states/NotBookedState.js +2 -2
- package/lib/components/table/TableSettingsDialogFooter.js +1 -1
- package/lib/components/teaser/Teaser.js +1 -1
- package/lib/components/teaser/TeaserContainer.js +8 -8
- package/lib/components/tooltip/Tooltip.js +5 -5
- package/lib/es/DeviceUtils.d.ts +4 -2
- package/lib/es/deviceUtils.js +12 -0
- package/lib/es/useFullscreen.d.ts +4 -0
- package/lib/es/useFullscreen.js +15 -0
- package/lib/hooks/useClipboard.js +2 -2
- package/lib/hooks/useFullscreen.js +242 -0
- package/lib/style/css/_exports/man-uikit.less +7 -5
- package/lib/style/css/_exports/rio-buyButton.less +30 -41
- package/lib/style/css/_exports/rio-uikit-core.less +106 -127
- package/lib/style/css/_exports/rio-uikit-print-utilities.less +6 -11
- package/lib/style/css/_exports/rio-uikit-responsive-utilities.less +6 -11
- package/lib/style/css/_exports/rio-uikit.less +5 -4
- package/lib/style/css/_exports/rio-website.less +41 -15
- package/lib/style/css/_exports/vw-uikit.less +10 -8
- package/lib/style/css/animations/_imports.less +9 -0
- package/lib/style/css/animations/collapse.less +16 -0
- package/lib/style/css/animations/fade.less +28 -0
- package/lib/style/css/animations/pinging.less +7 -0
- package/lib/style/css/animations/rotate.less +52 -0
- package/lib/style/css/animations/scale.less +35 -0
- package/lib/style/css/animations/slide.less +39 -0
- package/lib/style/css/animations/spinning.less +4 -0
- package/lib/style/css/animations/transition.less +129 -0
- package/lib/style/css/animations/translate.less +28 -0
- package/lib/style/css/components/Activity.less +93 -0
- package/lib/style/css/components/ApplicationHeader.less +438 -0
- package/lib/style/css/components/ApplicationLayout.less +236 -0
- package/lib/style/css/components/AssetTree.less +443 -0
- package/lib/style/css/components/AutoSuggest.less +22 -0
- package/lib/style/css/components/BottomSheet.less +14 -0
- package/lib/style/css/components/Carousel.less +212 -0
- package/lib/style/css/components/Checkbox.less +224 -0
- package/lib/style/css/components/ClearableInput.less +115 -0
- package/lib/style/css/components/Counter.less +142 -0
- package/lib/style/css/components/DataTabs.less +100 -0
- package/lib/style/css/components/DatePicker.less +391 -0
- package/lib/style/css/components/Dialog.less +482 -0
- package/lib/style/css/components/Dropdown.less +186 -0
- package/lib/style/css/components/Expander.less +196 -0
- package/lib/style/css/components/FilePicker.less +8 -0
- package/lib/style/css/components/ListMenu.less +77 -0
- package/lib/style/css/components/MapHere.less +91 -0
- package/lib/style/css/components/MapMarker.less +347 -0
- package/lib/style/css/components/MapSettings.less +140 -0
- package/lib/style/css/components/NoData.less +8 -0
- package/lib/style/css/components/Notification.less +234 -0
- package/lib/style/css/components/RadioButton.less +173 -0
- package/lib/style/css/components/Resizer.less +43 -0
- package/lib/style/css/components/Select.less +286 -0
- package/lib/style/css/components/Sidebar.less +157 -0
- package/lib/style/css/components/Slider.less +278 -0
- package/lib/style/css/components/Spinner.less +49 -0
- package/lib/style/css/components/StatsWidget.less +111 -0
- package/lib/style/css/components/SteppedProgressBar.less +323 -0
- package/lib/style/css/components/SupportMarker.less +34 -0
- package/lib/style/css/components/Switch.less +145 -0
- package/lib/style/css/components/TableSettingsDialog.less +96 -0
- package/lib/style/css/components/TableSortArrows.less +54 -0
- package/lib/style/css/components/TableToolbar.less +121 -0
- package/lib/style/css/components/Tag.less +246 -0
- package/lib/style/css/components/TagManager.less +4 -0
- package/lib/style/css/components/Teaser.less +12 -0
- package/lib/style/css/components/Timeline.less +69 -0
- package/lib/style/css/components/Tooltip.less +261 -0
- package/lib/style/css/design/alerts.less +55 -0
- package/lib/style/css/design/aspect-ratio.less +23 -0
- package/lib/style/css/design/badges.less +120 -0
- package/lib/style/css/design/blockquote.less +49 -0
- package/lib/style/css/design/border.less +192 -0
- package/lib/style/css/design/breadcrumbs.less +20 -0
- package/lib/style/css/design/button-groups.less +194 -0
- package/lib/style/css/design/buttons.less +540 -0
- package/lib/style/css/design/callouts.less +27 -0
- package/lib/style/css/design/caret.less +28 -0
- package/lib/style/css/design/close.less +12 -0
- package/lib/style/css/design/code.less +45 -0
- package/lib/style/css/design/colors.less +202 -0
- package/lib/style/css/design/cols.less +56 -0
- package/lib/style/css/design/container.less +29 -0
- package/lib/style/css/design/cursors.less +19 -0
- package/lib/style/css/design/custom.less +20 -0
- package/lib/style/css/design/ellipsis.less +46 -0
- package/lib/style/css/design/flexgrid.less +7 -0
- package/lib/style/css/design/fonts.less +318 -0
- package/lib/style/css/design/form-input-groups.less +245 -0
- package/lib/style/css/design/form-inputs.less +655 -0
- package/lib/style/css/design/iframe.less +80 -0
- package/lib/style/css/design/images.less +47 -0
- package/lib/style/css/design/labels.less +66 -0
- package/lib/style/css/design/list-group.less +95 -0
- package/lib/style/css/design/navs.less +254 -0
- package/lib/style/css/design/normalize.less +436 -0
- package/lib/style/css/design/opacity.less +26 -0
- package/lib/style/css/design/overflow.less +1 -0
- package/lib/style/css/design/pagination.less +161 -0
- package/lib/style/css/design/panels.less +105 -0
- package/lib/style/css/design/popovers.less +117 -0
- package/lib/style/css/design/position.less +16 -0
- package/lib/style/css/design/progress-bars.less +131 -0
- package/lib/style/css/design/responsive/_imports.less +68 -0
- package/lib/style/css/design/responsive/backgrounds.less +32 -0
- package/lib/style/css/design/responsive/display.less +9 -0
- package/lib/style/css/design/responsive/flexgrid.less +75 -0
- package/lib/style/css/design/responsive/floating.less +4 -0
- package/lib/style/css/design/responsive/gap.less +41 -0
- package/lib/style/css/design/responsive/hyphens.less +14 -0
- package/lib/style/css/design/responsive/margin.less +127 -0
- package/lib/style/css/design/responsive/overflow.less +16 -0
- package/lib/style/css/design/responsive/padding.less +71 -0
- package/lib/style/css/design/responsive/position.less +102 -0
- package/lib/style/css/design/responsive/sizing.less +115 -0
- package/lib/style/css/design/responsive/text.less +71 -0
- package/lib/style/css/design/responsive/visibility.less +115 -0
- package/lib/style/css/design/responsive-embed.less +31 -0
- package/lib/style/css/design/responsive-video.less +22 -0
- package/lib/style/css/design/rioglyph.less +24 -0
- package/lib/style/css/design/rounded.less +44 -0
- package/lib/style/css/design/shadows.less +65 -0
- package/lib/style/css/design/tables.less +854 -0
- package/lib/style/css/design/text.less +201 -0
- package/lib/style/css/design/theme.less +200 -0
- package/lib/style/css/design/thumbnails.less +29 -0
- package/lib/style/css/design/transition.less +33 -0
- package/lib/style/css/design/type.less +159 -0
- package/lib/style/css/design/utilities.less +75 -0
- package/lib/style/css/design/visibilty.less +38 -0
- package/lib/style/css/design/wells.less +17 -0
- package/lib/style/css/design/z-index.less +21 -0
- package/lib/style/css/mapping/breakpoint-map.less +44 -0
- package/lib/style/css/mapping/color-map.less +200 -0
- package/lib/style/css/mapping/cols-map.less +15 -0
- package/lib/style/css/mapping/numbers-map.less +16 -0
- package/lib/style/css/mapping/positions-map.less +21 -0
- package/lib/style/css/mapping/sizes-map.less +129 -0
- package/lib/style/css/mapping/spacings-map.less +28 -0
- package/lib/style/css/mixins/_mixins.less +13 -0
- package/lib/style/css/mixins/alerts.less +13 -0
- package/lib/style/css/mixins/border-radius.less +16 -0
- package/lib/style/css/mixins/buttons.less +117 -0
- package/lib/style/css/mixins/clearfix.less +9 -0
- package/lib/style/css/mixins/cols.less +59 -0
- package/lib/style/css/mixins/forms.less +61 -0
- package/lib/style/css/mixins/panels.less +27 -0
- package/lib/style/css/mixins/placeholder.less +17 -0
- package/lib/style/css/mixins/reset.less +27 -0
- package/lib/style/css/mixins/sizings.less +21 -0
- package/lib/style/css/mixins/spinner.less +30 -0
- package/lib/style/css/mixins/table.less +26 -0
- package/lib/style/css/mixins/tabs.less +4 -0
- package/lib/style/css/mixins/text.less +5 -0
- package/lib/style/css/print/print.less +1 -4
- package/lib/style/css/rio-theme/alerts.less +23 -61
- package/lib/style/css/rio-theme/badges.less +16 -28
- package/lib/style/css/rio-theme/blockquote.less +14 -97
- package/lib/style/css/rio-theme/mixins/alerts.less +13 -1
- package/lib/style/css/shared/colors.json +1 -1
- package/lib/style/css/shared/colors.less +11 -8
- package/lib/style/css/shared/text.less +6 -5
- package/lib/style/css/utils/responsive/grid.less +15 -6
- package/lib/style/css/variables.less +179 -0
- package/lib/style/fonts/rioglyph/rioglyph.less +6 -11
- package/lib/style/fonts/rioglyph/rioglyph.woff +0 -0
- package/lib/types.ts +70 -59
- package/lib/utils/buttonEffect.js +3 -1
- package/lib/utils/deviceUtils.js +40 -3
- package/lib/utils/init.js +22 -7
- package/lib/version.json +1 -1
- package/package.json +47 -31
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
// Color - Text
|
|
1
2
|
@color-white: #ffffff;
|
|
2
3
|
@color-black: #000000;
|
|
3
4
|
|
|
@@ -10,15 +11,17 @@
|
|
|
10
11
|
@gray-lighter: #E5EBF0;
|
|
11
12
|
@gray-lightest: #f6f8f9;
|
|
12
13
|
|
|
13
|
-
// Color - Brand
|
|
14
|
+
// Color - Brand
|
|
14
15
|
@brand-primary: #30b4c0;
|
|
15
16
|
@brand-secondary: #b23672;
|
|
17
|
+
|
|
18
|
+
// Color - Status
|
|
19
|
+
@brand-info: #4B80A6;
|
|
16
20
|
@brand-success: #5cb85c;
|
|
17
21
|
@brand-warning: #ff8e3c;
|
|
18
22
|
@brand-danger: #d90000;
|
|
19
|
-
@brand-info: #4B80A6;
|
|
20
23
|
|
|
21
|
-
// Color -
|
|
24
|
+
// Color - Driving Status
|
|
22
25
|
@color-status-available: #239b7d;
|
|
23
26
|
@color-status-driving: #3690ae;
|
|
24
27
|
@color-status-resting: #626b72;
|
|
@@ -30,14 +33,14 @@
|
|
|
30
33
|
@color-map-marker-geofence: #5a4876;
|
|
31
34
|
@color-map-marker-route: #3690ae;
|
|
32
35
|
|
|
33
|
-
// Color - Rating
|
|
36
|
+
// Color - Rating
|
|
34
37
|
@color-rating-1: #d90000;
|
|
35
38
|
@color-rating-2: #ff8e3c;
|
|
36
39
|
@color-rating-3: #f8c575;
|
|
37
40
|
@color-rating-4: #5cb85c;
|
|
38
41
|
@color-rating-5: #4b924c;
|
|
39
42
|
|
|
40
|
-
// Color -
|
|
43
|
+
// Color - Highlight
|
|
41
44
|
@color-highlight-darkest: #114146; //darken(@brand-primary, 30%);
|
|
42
45
|
@color-highlight-darker: #1c686e; //darken(@brand-primary, 20%);
|
|
43
46
|
@color-highlight-dark: #268e97; //darken(@brand-primary, 10%);
|
|
@@ -47,7 +50,7 @@
|
|
|
47
50
|
@color-highlight-lightest: #ebf9fa; //lighten(@brand-primary, 48%);
|
|
48
51
|
@color-highlight-decent: #f3fbfc; //lighten(@brand-primary, 50%);
|
|
49
52
|
|
|
50
|
-
// Color - Coldplay
|
|
53
|
+
// Color - RIO Coldplay
|
|
51
54
|
@color-coldplay-wine:#520D4E;
|
|
52
55
|
@color-coldplay-aubergine: #5a4876;
|
|
53
56
|
@color-coldplay-kashmir:#536E8B;
|
|
@@ -58,7 +61,7 @@
|
|
|
58
61
|
@color-coldplay-primrose: #C7E291;
|
|
59
62
|
@color-coldplay-khaki: #F0EB83;
|
|
60
63
|
|
|
61
|
-
// Color - Warmup
|
|
64
|
+
// Color - RIO Warmup
|
|
62
65
|
@color-warmup-crimson: #31144F;
|
|
63
66
|
@color-warmup-victoria: #493D6D;
|
|
64
67
|
@color-warmup-cadillac: #7E3E72;
|
|
@@ -67,4 +70,4 @@
|
|
|
67
70
|
@color-warmup-charm: #C9778D;
|
|
68
71
|
@color-warmup-salmon: #F19588;
|
|
69
72
|
@color-warmup-cherokee: #F5BB89;
|
|
70
|
-
@color-warmup-corn: #FDE082;
|
|
73
|
+
@color-warmup-corn: #FDE082;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
// Fonts - Font Weights
|
|
2
|
-
@
|
|
3
|
-
@
|
|
4
|
-
@
|
|
5
|
-
@
|
|
6
|
-
@
|
|
2
|
+
@font-thin: 200;
|
|
3
|
+
@font-light: 300;
|
|
4
|
+
@font-normal: 400;
|
|
5
|
+
@font-medium: 600;
|
|
6
|
+
@font-bold: 700;
|
|
7
7
|
|
|
8
8
|
// Fonts - Font Sizes
|
|
9
9
|
@font-size-10: 10px;
|
|
10
|
+
@font-size-11: 11px;
|
|
10
11
|
@font-size-12: 12px;
|
|
11
12
|
@font-size-14: 14px;
|
|
12
13
|
@font-size-16: 16px;
|
|
@@ -1,6 +1,15 @@
|
|
|
1
|
-
/* Grid
|
|
2
|
-
.grid-
|
|
3
|
-
.grid-
|
|
4
|
-
.grid-
|
|
5
|
-
.grid-
|
|
6
|
-
.grid-
|
|
1
|
+
/* Grid */
|
|
2
|
+
.grid-cols-1@{suffix} { grid-template-columns: repeat(1, minmax(0, 1fr)) !important }
|
|
3
|
+
.grid-cols-2@{suffix} { grid-template-columns: repeat(2, minmax(0, 1fr)) !important }
|
|
4
|
+
.grid-cols-3@{suffix} { grid-template-columns: repeat(3, minmax(0, 1fr)) !important }
|
|
5
|
+
.grid-cols-4@{suffix} { grid-template-columns: repeat(4, minmax(0, 1fr)) !important }
|
|
6
|
+
.grid-cols-5@{suffix} { grid-template-columns: repeat(5, minmax(0, 1fr)) !important }
|
|
7
|
+
.grid-cols-6@{suffix} { grid-template-columns: repeat(6, minmax(0, 1fr)) !important }
|
|
8
|
+
.grid-cols-7@{suffix} { grid-template-columns: repeat(7, minmax(0, 1fr)) !important }
|
|
9
|
+
.grid-cols-8@{suffix} { grid-template-columns: repeat(8, minmax(0, 1fr)) !important }
|
|
10
|
+
.grid-cols-9@{suffix} { grid-template-columns: repeat(9, minmax(0, 1fr)) !important }
|
|
11
|
+
.grid-cols-10@{suffix} { grid-template-columns: repeat(10, minmax(0, 1fr)) !important }
|
|
12
|
+
.grid-cols-11@{suffix} { grid-template-columns: repeat(11, minmax(0, 1fr)) !important }
|
|
13
|
+
.grid-cols-12@{suffix} { grid-template-columns: repeat(12, minmax(0, 1fr)) !important }
|
|
14
|
+
|
|
15
|
+
.grid-cols-none@{suffix} { grid-template-columns: none !important }
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
// RIO cdn
|
|
2
|
+
@cdnBase: "https://cdn.rio.cloud";
|
|
3
|
+
@fontBase: "fonts";
|
|
4
|
+
|
|
5
|
+
// Grid
|
|
6
|
+
@grid-columns: 12;
|
|
7
|
+
@grid-gutter-width: 20px;
|
|
8
|
+
@grid-gutter-height: 20px;
|
|
9
|
+
@grid-float-breakpoint: @screen-sm;
|
|
10
|
+
|
|
11
|
+
// Mapping // must match with the UIKIT demo values
|
|
12
|
+
@import (less) 'mapping/breakpoint-map.less';
|
|
13
|
+
@import (less) 'mapping/color-map.less';
|
|
14
|
+
@import (less) 'mapping/cols-map.less';
|
|
15
|
+
@import (less) 'mapping/numbers-map.less';
|
|
16
|
+
@import (less) 'mapping/positions-map.less';
|
|
17
|
+
@import (less) 'mapping/sizes-map.less';
|
|
18
|
+
@import (less) 'mapping/spacings-map.less';
|
|
19
|
+
|
|
20
|
+
// Screens
|
|
21
|
+
@import (less) "shared/screens.less";
|
|
22
|
+
|
|
23
|
+
@screen-xs-min: @screen-xs;
|
|
24
|
+
@screen-xs-max: (@screen-ls - 0.01);
|
|
25
|
+
@screen-ls-min: @screen-ls;
|
|
26
|
+
@screen-ls-max: (@screen-sm - 0.01);
|
|
27
|
+
@screen-sm-min: @screen-sm;
|
|
28
|
+
@screen-sm-max: (@screen-md - 0.01);
|
|
29
|
+
@screen-md-min: @screen-md;
|
|
30
|
+
@screen-md-max: (@screen-lg - 0.01);
|
|
31
|
+
@screen-lg-min: @screen-lg;
|
|
32
|
+
@screen-lg-max: (@screen-xl - 0.01);
|
|
33
|
+
@screen-xl-min: @screen-xl;
|
|
34
|
+
@screen-xl-max: 10000px;
|
|
35
|
+
|
|
36
|
+
// Container
|
|
37
|
+
@container-ls: @screen-ls - (@grid-gutter-width * 2);
|
|
38
|
+
@container-sm: @screen-sm - (@grid-gutter-width * 2);
|
|
39
|
+
@container-md: @screen-md - (@grid-gutter-width * 2);
|
|
40
|
+
@container-lg: @screen-lg - (@grid-gutter-width * 2);
|
|
41
|
+
@container-xl: @screen-xl - (@grid-gutter-width * 2);
|
|
42
|
+
|
|
43
|
+
// Container Fluid
|
|
44
|
+
// @container-fluid-xs: px;
|
|
45
|
+
@container-fluid-sm: 980px;
|
|
46
|
+
@container-fluid-md: 1280px;
|
|
47
|
+
@container-fluid-lg: 1440px;
|
|
48
|
+
@container-fluid-xl: 1680px;
|
|
49
|
+
@container-fluid-xxl: 1920px;
|
|
50
|
+
|
|
51
|
+
// Padding
|
|
52
|
+
@padding-xs-vertical: 1px;
|
|
53
|
+
@padding-xs-horizontal: 5px;
|
|
54
|
+
@padding-sm-vertical: 5px;
|
|
55
|
+
@padding-sm-horizontal: 10px;
|
|
56
|
+
@padding-default-vertical: 6px;
|
|
57
|
+
@padding-default-horizontal: 12px;
|
|
58
|
+
@padding-lg-vertical: 10px;
|
|
59
|
+
@padding-lg-horizontal: 16px;
|
|
60
|
+
|
|
61
|
+
// Border Radius
|
|
62
|
+
@border-radius-xs: 2px;
|
|
63
|
+
@border-radius-sm: 3px;
|
|
64
|
+
@border-radius-default: 4px;
|
|
65
|
+
@border-radius-lg: 6px;
|
|
66
|
+
@border-radius-xl: 8px;
|
|
67
|
+
@border-radius-round: 1000px;
|
|
68
|
+
|
|
69
|
+
// Colors
|
|
70
|
+
@import (less) "shared/colors.less";
|
|
71
|
+
|
|
72
|
+
// Build Warmup and Coldplay Colors?
|
|
73
|
+
@buildColdplayColors: true;
|
|
74
|
+
@buildWarmupColors: true;
|
|
75
|
+
|
|
76
|
+
// Color - Brand Decent
|
|
77
|
+
@brand-primary-decent: #f4fbfc;
|
|
78
|
+
@brand-secondary-decent: #fbf5f8;
|
|
79
|
+
|
|
80
|
+
// Color - Status Decent
|
|
81
|
+
@brand-info-decent: #f5f8fb;
|
|
82
|
+
@brand-success-decent: #f6fbf5;
|
|
83
|
+
@brand-warning-decent: #fdf5f0;
|
|
84
|
+
@brand-danger-decent: #fdf3f3;
|
|
85
|
+
|
|
86
|
+
// Button Sizes
|
|
87
|
+
@btn-size-xs: 22px;
|
|
88
|
+
@btn-size-sm: 30px;
|
|
89
|
+
@btn-size-default: 34px;
|
|
90
|
+
@btn-size-lg: 45px;
|
|
91
|
+
|
|
92
|
+
// Text
|
|
93
|
+
@import (less) "shared/text.less";
|
|
94
|
+
|
|
95
|
+
// Text - Sizes
|
|
96
|
+
@font-size-xs: @font-size-12; // only used in buttons and 10px is too small
|
|
97
|
+
@font-size-sm: @font-size-12;
|
|
98
|
+
@font-size-default: @font-size-14;
|
|
99
|
+
@font-size-lg: @font-size-16;
|
|
100
|
+
@font-size-xl: 25px;
|
|
101
|
+
@font-size-xxl: 30px;
|
|
102
|
+
|
|
103
|
+
// Text - Headlines - Weights
|
|
104
|
+
@headings-font-family: @font-family-base;
|
|
105
|
+
@headings-font-weight: @font-medium;
|
|
106
|
+
@headings-line-height: 1.1;
|
|
107
|
+
@headings-color: inherit;
|
|
108
|
+
|
|
109
|
+
// Text - Line Heights
|
|
110
|
+
@line-height-xs: 1.5;
|
|
111
|
+
@line-height-sm: 1.5;
|
|
112
|
+
@line-height-default: 1.428571429;
|
|
113
|
+
@line-height-lg: 1.4;
|
|
114
|
+
|
|
115
|
+
// Text - Font Family
|
|
116
|
+
@font-family-base: 'Source Sans Pro', Helvetica, Arial, sans-serif;
|
|
117
|
+
@font-family-monospace: source-code-pro, Menlo, Monaco, Consolas, Courier New, monospace;
|
|
118
|
+
@font-family-ios: 'SF Text', 'Source Sans Pro', Helvetica, Arial, sans-serif;
|
|
119
|
+
@font-family-android: 'Roboto', 'Source Sans Pro', Helvetica, Arial, sans-serif;
|
|
120
|
+
|
|
121
|
+
@font-source-sans: true;
|
|
122
|
+
@font-man: false;
|
|
123
|
+
@font-redring: false;
|
|
124
|
+
@font-san-francisco: false;
|
|
125
|
+
@font-roboto: false;
|
|
126
|
+
@font-vw: false;
|
|
127
|
+
|
|
128
|
+
// Iconfont
|
|
129
|
+
@icon-font-name: "rioglyph";
|
|
130
|
+
|
|
131
|
+
// Variables
|
|
132
|
+
@text-color: @gray-darkest;
|
|
133
|
+
@link-color: @brand-primary;
|
|
134
|
+
@link-hover-color: darken(@brand-primary, 10%);
|
|
135
|
+
|
|
136
|
+
// Media Queries
|
|
137
|
+
@screen-xs-min: @screen-xs;
|
|
138
|
+
@screen-sm-min: @screen-sm;
|
|
139
|
+
@screen-md-min: @screen-md;
|
|
140
|
+
@screen-lg-min: @screen-lg;
|
|
141
|
+
|
|
142
|
+
// ApplicationLayout
|
|
143
|
+
@ApplicationLayoutBodyPadding: 30px;
|
|
144
|
+
@ApplicationLayoutNotResponsiveWidth: 900px;
|
|
145
|
+
|
|
146
|
+
@ApplicationLayoutBodyHeight: 100vh; // --vh fallback
|
|
147
|
+
@ApplicationLayoutBodyHeightAndViewportFix: ~'calc(var(--vh, 1vh) * 100)';
|
|
148
|
+
|
|
149
|
+
@ApplicationLayoutBodyHeightWithoutHeader: ~'calc(100vh - @{navbar-height})'; // --vh fallback
|
|
150
|
+
@ApplicationLayoutBodyHeightWithoutHeaderAndViewportFix: ~'calc(var(--vh, 1vh) * 100 - @{navbar-height})';
|
|
151
|
+
|
|
152
|
+
@ApplicationLayoutBodyHeightWithoutFooter: ~'calc(100vh - (@{footer-height}))'; // --vh fallback
|
|
153
|
+
@ApplicationLayoutBodyHeightWithoutFooterAndViewportFix: ~'calc(var(--vh, 1vh) * 100 - (@{footer-height}))';
|
|
154
|
+
|
|
155
|
+
@ApplicationLayoutBodyHeightWithoutHeaderWithoutFooter: ~'calc(100vh - (@{navbar-height} + @{footer-height}))'; // --vh fallback
|
|
156
|
+
@ApplicationLayoutBodyHeightWithoutHeaderWithoutFooterAndViewportFix: ~'calc(var(--vh, 1vh) * 100 - (@{navbar-height} + @{footer-height}))';
|
|
157
|
+
|
|
158
|
+
// ApplicationHeader
|
|
159
|
+
@navbar-height: 50px;
|
|
160
|
+
@navbar-brand-home-icon: url('https://cdn.rio.cloud/svg/common/ico_home.svg');
|
|
161
|
+
@navbar-brand-icon: url('https://cdn.rio.cloud/svg/common/ico_rio_colored.svg');
|
|
162
|
+
@navbar-height-without-border: @navbar-height - 1;
|
|
163
|
+
@navbar-padding-horizontal: @grid-gutter-width;
|
|
164
|
+
@navbar-padding-vertical: 15px;
|
|
165
|
+
|
|
166
|
+
// ApplicationFooter
|
|
167
|
+
@footer-height: @btn-size-lg + 9px;
|
|
168
|
+
|
|
169
|
+
// Z-index
|
|
170
|
+
@zindex-tooltip: 1060;
|
|
171
|
+
@zindex-modal: 1050;
|
|
172
|
+
@zindex-modal-background: 1040;
|
|
173
|
+
@zindex-popover: 1010;
|
|
174
|
+
@zindex-navbar: 1000;
|
|
175
|
+
@zindex-dropdown: 1000;
|
|
176
|
+
@zindex-sidebar: 990;
|
|
177
|
+
@zindex-tooltip-onboarding: 990;
|
|
178
|
+
@zindex-map-marker-hover: 801;
|
|
179
|
+
@zindex-map-marker-active: 800;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
@font-face {
|
|
4
4
|
font-family: "rioglyph";
|
|
5
|
-
src: url("rioglyph.woff?
|
|
5
|
+
src: url("rioglyph.woff?14b6680c6235c42a26bca0913e1eea27") format("woff");
|
|
6
6
|
font-weight: normal;
|
|
7
7
|
font-style: normal;
|
|
8
8
|
}
|
|
@@ -24,16 +24,6 @@
|
|
|
24
24
|
-moz-osx-font-smoothing: grayscale;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
.rioglyph.spinning:before {
|
|
28
|
-
display: inline-block;
|
|
29
|
-
animation: spinning 1s linear infinite;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
@keyframes spinning {
|
|
33
|
-
from { transform: rotate(0deg) }
|
|
34
|
-
to { transform: rotate(359deg) }
|
|
35
|
-
}
|
|
36
|
-
|
|
37
27
|
@rioglyph-addressbook: "\f16b";
|
|
38
28
|
.rioglyph-addressbook:before,
|
|
39
29
|
.hover-rioglyph-addressbook:hover:before {
|
|
@@ -1104,6 +1094,11 @@
|
|
|
1104
1094
|
.hover-rioglyph-share-alt:hover:before {
|
|
1105
1095
|
content: "\e982";
|
|
1106
1096
|
}
|
|
1097
|
+
@rioglyph-ship: "\f18d";
|
|
1098
|
+
.rioglyph-ship:before,
|
|
1099
|
+
.hover-rioglyph-ship:hover:before {
|
|
1100
|
+
content: "\f18d";
|
|
1101
|
+
}
|
|
1107
1102
|
@rioglyph-shopping-cart: "\e98b";
|
|
1108
1103
|
.rioglyph-shopping-cart:before,
|
|
1109
1104
|
.hover-rioglyph-shopping-cart:hover:before {
|
|
Binary file
|
package/lib/types.ts
CHANGED
|
@@ -505,6 +505,8 @@ export interface DatePickerProps extends DatetimepickerProps {
|
|
|
505
505
|
clearableInput?: boolean;
|
|
506
506
|
minWidth?: number;
|
|
507
507
|
onChange?: (value: Moment | string) => void;
|
|
508
|
+
mandatory?: boolean;
|
|
509
|
+
dateValidation?: (date: Date | string | Moment) => boolean;
|
|
508
510
|
}
|
|
509
511
|
|
|
510
512
|
export interface DateRangePickerCustomPresets {
|
|
@@ -631,14 +633,19 @@ export interface FadeProps {
|
|
|
631
633
|
onExited?: Function;
|
|
632
634
|
}
|
|
633
635
|
|
|
636
|
+
type FilePickerRenderProps = {
|
|
637
|
+
isDragActive: boolean;
|
|
638
|
+
};
|
|
639
|
+
|
|
634
640
|
export interface FilePickerProps {
|
|
635
|
-
displayMode?: 'button';
|
|
641
|
+
displayMode?: 'button' | 'dropzone' | 'full';
|
|
636
642
|
multiple?: boolean; // multi select
|
|
637
643
|
label?: string | React.ReactNode;
|
|
638
644
|
maxSize?: number; // max file size
|
|
639
|
-
onPick: (files: FileList | null) =>
|
|
645
|
+
onPick: (files: FileList | null) => void;
|
|
640
646
|
className?: string;
|
|
641
647
|
accept?: string;
|
|
648
|
+
children?: ({ isDragActive }: FilePickerRenderProps) => any;
|
|
642
649
|
}
|
|
643
650
|
|
|
644
651
|
export interface ForbiddenStateProps extends BaseStateProps {}
|
|
@@ -696,7 +703,20 @@ export interface Line {
|
|
|
696
703
|
dataUnit?: string;
|
|
697
704
|
strokeColor: string;
|
|
698
705
|
legendType: 'line' | 'plainline' | 'square' | 'rect' | 'circle' | 'cross' | 'diamond' | 'star' | 'triangle' | 'wye';
|
|
699
|
-
type:
|
|
706
|
+
type:
|
|
707
|
+
| 'basis'
|
|
708
|
+
| 'basisClosed'
|
|
709
|
+
| 'basisOpen'
|
|
710
|
+
| 'linear'
|
|
711
|
+
| 'linearClosed'
|
|
712
|
+
| 'natural'
|
|
713
|
+
| 'monotoneX'
|
|
714
|
+
| 'monotoneY'
|
|
715
|
+
| 'monotone'
|
|
716
|
+
| 'step'
|
|
717
|
+
| 'stepBefore'
|
|
718
|
+
| 'stepAfter'
|
|
719
|
+
| Function;
|
|
700
720
|
isAnimationActive?: boolean;
|
|
701
721
|
onClick?: Function;
|
|
702
722
|
}
|
|
@@ -723,12 +743,14 @@ export interface ListMenuItems {
|
|
|
723
743
|
group?: string | React.ReactNode;
|
|
724
744
|
groupNavItem?: React.ReactNode;
|
|
725
745
|
navItems: NavItems[];
|
|
746
|
+
isSubItem?: boolean;
|
|
726
747
|
}
|
|
727
748
|
|
|
728
749
|
export interface ListMenuProps {
|
|
729
750
|
menuItems: ListMenuItems[];
|
|
730
751
|
enableFilter?: boolean;
|
|
731
752
|
focusFilter?: boolean;
|
|
753
|
+
filterKey?: string;
|
|
732
754
|
filterPlaceholder?: string;
|
|
733
755
|
notFoundMessage?: string | React.ReactNode;
|
|
734
756
|
groupClassName?: string;
|
|
@@ -1016,7 +1038,7 @@ export interface NotBookedStateProps {
|
|
|
1016
1038
|
headline: string | React.ReactNode;
|
|
1017
1039
|
message: string | React.ReactNode;
|
|
1018
1040
|
buttons?: object[];
|
|
1019
|
-
features?:
|
|
1041
|
+
features?: React.ReactNode[];
|
|
1020
1042
|
condensed?: boolean;
|
|
1021
1043
|
fullWidth?: boolean;
|
|
1022
1044
|
image?: React.ReactNode;
|
|
@@ -1126,7 +1148,7 @@ export interface OnboardingTipProps {
|
|
|
1126
1148
|
children?: any;
|
|
1127
1149
|
width?: tooltipWidth;
|
|
1128
1150
|
preventOverflow?: boolean;
|
|
1129
|
-
popperConfig?:
|
|
1151
|
+
popperConfig?: object;
|
|
1130
1152
|
}
|
|
1131
1153
|
|
|
1132
1154
|
interface delayProp {
|
|
@@ -1286,7 +1308,7 @@ export interface ReleaseNotesProps {
|
|
|
1286
1308
|
releaseNotes: {
|
|
1287
1309
|
[key: string]: {
|
|
1288
1310
|
date: string;
|
|
1289
|
-
content:
|
|
1311
|
+
content: (HTMLElement | React.ReactElement)[];
|
|
1290
1312
|
};
|
|
1291
1313
|
};
|
|
1292
1314
|
}
|
|
@@ -1300,7 +1322,7 @@ export interface ReleaseNotesDialogProps {
|
|
|
1300
1322
|
translatedReleaseNotes: {
|
|
1301
1323
|
[key: string]: {
|
|
1302
1324
|
date: string;
|
|
1303
|
-
content:
|
|
1325
|
+
content: (HTMLElement | React.ReactElement)[];
|
|
1304
1326
|
};
|
|
1305
1327
|
};
|
|
1306
1328
|
currentVersion: string;
|
|
@@ -1475,6 +1497,7 @@ export interface SimpleButtonDropdownProps {
|
|
|
1475
1497
|
onOpen?: Function;
|
|
1476
1498
|
onClose?: Function;
|
|
1477
1499
|
customDropdown?: React.ReactNode;
|
|
1500
|
+
popperConfig?: object;
|
|
1478
1501
|
}
|
|
1479
1502
|
|
|
1480
1503
|
export interface SimpleClusterLayerProps {
|
|
@@ -1603,18 +1626,6 @@ export interface SpinnerProps {
|
|
|
1603
1626
|
text?: string;
|
|
1604
1627
|
}
|
|
1605
1628
|
|
|
1606
|
-
export interface SingleMapMarkerProps {
|
|
1607
|
-
bearing?: number;
|
|
1608
|
-
name?: string | React.ReactNode;
|
|
1609
|
-
warningCount?: number;
|
|
1610
|
-
exceptionCount?: number;
|
|
1611
|
-
active?: boolean;
|
|
1612
|
-
clickable?: boolean;
|
|
1613
|
-
moving?: boolean;
|
|
1614
|
-
iconNames?: string[];
|
|
1615
|
-
markerColor?: markerColor;
|
|
1616
|
-
}
|
|
1617
|
-
|
|
1618
1629
|
export enum SortDirection {
|
|
1619
1630
|
ASCENDING = 'asc',
|
|
1620
1631
|
DESCENDING = 'desc',
|
|
@@ -2004,10 +2015,7 @@ export interface TypeCounterProps {
|
|
|
2004
2015
|
|
|
2005
2016
|
// U --------------------------------------------------------------------------------------------------
|
|
2006
2017
|
|
|
2007
|
-
export type UseAfterMount = (
|
|
2008
|
-
callback: () => void,
|
|
2009
|
-
deps?: any[]
|
|
2010
|
-
) => void;
|
|
2018
|
+
export type UseAfterMount = (callback: () => void, deps?: any[]) => void;
|
|
2011
2019
|
|
|
2012
2020
|
export type UseClickOutside<T extends HTMLElement = any> = (
|
|
2013
2021
|
callback: () => void,
|
|
@@ -2025,19 +2033,15 @@ export type UseDebugInfo = (
|
|
|
2025
2033
|
componentName: string,
|
|
2026
2034
|
props: object
|
|
2027
2035
|
) => {
|
|
2028
|
-
count: number
|
|
2029
|
-
changedProps: any
|
|
2030
|
-
timeSinceLastRender: number
|
|
2031
|
-
lastRenderTimestamp: number
|
|
2036
|
+
count: number;
|
|
2037
|
+
changedProps: any;
|
|
2038
|
+
timeSinceLastRender: number;
|
|
2039
|
+
lastRenderTimestamp: number;
|
|
2032
2040
|
};
|
|
2033
2041
|
|
|
2034
|
-
export type UseEffectOnce = (
|
|
2035
|
-
callback: () => void
|
|
2036
|
-
) => void;
|
|
2042
|
+
export type UseEffectOnce = (callback: () => void) => void;
|
|
2037
2043
|
|
|
2038
|
-
export type UseElementSize = (
|
|
2039
|
-
elementRef: { current: Element; }
|
|
2040
|
-
) => [number, number];
|
|
2044
|
+
export type UseElementSize = (elementRef: { current: Element }) => [number, number];
|
|
2041
2045
|
|
|
2042
2046
|
export type UseEsc<T extends keyof WindowEventMap> = (callback: (event: WindowEventMap[T]) => any) => void;
|
|
2043
2047
|
|
|
@@ -2048,10 +2052,32 @@ export type UseEvent<T extends keyof WindowEventMap> = (
|
|
|
2048
2052
|
target?: HTMLElement
|
|
2049
2053
|
) => void;
|
|
2050
2054
|
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
+
type EventCallback = (this: Document, event_: any) => any;
|
|
2056
|
+
type OnChangeEventCallback = (this: Document, event_: any, isOpen: boolean) => any;
|
|
2057
|
+
|
|
2058
|
+
type RequestFullscreenOptions = {
|
|
2059
|
+
// string will help to ease type casting
|
|
2060
|
+
navigationUI?: string | 'auto' | 'hide' | 'show';
|
|
2061
|
+
};
|
|
2062
|
+
|
|
2063
|
+
type FullScreenOptions = {
|
|
2064
|
+
element?: HTMLElement;
|
|
2065
|
+
onChange?: OnChangeEventCallback;
|
|
2066
|
+
onError?: EventCallback;
|
|
2067
|
+
requestFullscreenOptions?: RequestFullscreenOptions;
|
|
2068
|
+
};
|
|
2069
|
+
|
|
2070
|
+
type FullscreenApi = {
|
|
2071
|
+
requestFullscreen: () => void | ((element?: HTMLElement) => Promise<unknown>);
|
|
2072
|
+
exitFullscreen: () => void | (() => Promise<unknown>);
|
|
2073
|
+
toggleFullscreen: () => void | ((element?: HTMLElement) => Promise<unknown>);
|
|
2074
|
+
isEnabled: boolean;
|
|
2075
|
+
isFullscreen: boolean;
|
|
2076
|
+
};
|
|
2077
|
+
|
|
2078
|
+
export type UseFullscreen = ({}: FullScreenOptions) => FullscreenApi | undefined;
|
|
2079
|
+
|
|
2080
|
+
export type UseInterval = (callback: () => void, delay?: number) => React.MutableRefObject<object>;
|
|
2055
2081
|
|
|
2056
2082
|
export type UseKey<T extends keyof WindowEventMap> = (
|
|
2057
2083
|
callback: (event: WindowEventMap[T]) => any,
|
|
@@ -2064,34 +2090,19 @@ export type UseOnlineStatus = () => boolean;
|
|
|
2064
2090
|
export type UseOnScreen = (
|
|
2065
2091
|
ref: React.MutableRefObject<object>,
|
|
2066
2092
|
options?: {
|
|
2067
|
-
rootMargins?: string
|
|
2068
|
-
threshold?: number | number[]
|
|
2093
|
+
rootMargins?: string;
|
|
2094
|
+
threshold?: number | number[];
|
|
2069
2095
|
}
|
|
2070
2096
|
) => boolean;
|
|
2071
2097
|
|
|
2072
2098
|
export type UseRenderCount = () => number;
|
|
2073
2099
|
|
|
2074
|
-
export type UseStateWithValidation = (
|
|
2075
|
-
validationFn: Function,
|
|
2076
|
-
initialValue: any
|
|
2077
|
-
) => [any, Function, boolean];
|
|
2100
|
+
export type UseStateWithValidation = (validationFn: Function, initialValue: any) => [any, Function, boolean];
|
|
2078
2101
|
|
|
2079
|
-
export type UseLocalStorage = (
|
|
2080
|
-
key: string,
|
|
2081
|
-
defaultValue: any
|
|
2082
|
-
) => [any, Function, Function];
|
|
2102
|
+
export type UseLocalStorage = (key: string, defaultValue: any) => [any, Function, Function];
|
|
2083
2103
|
|
|
2084
|
-
export type UseSessionStorage = (
|
|
2085
|
-
key: string,
|
|
2086
|
-
defaultValue: any
|
|
2087
|
-
) => [any, Function, Function];
|
|
2104
|
+
export type UseSessionStorage = (key: string, defaultValue: any) => [any, Function, Function];
|
|
2088
2105
|
|
|
2089
|
-
export type UseTimeout = (
|
|
2090
|
-
callback: () => void,
|
|
2091
|
-
delay?: number
|
|
2092
|
-
) => React.MutableRefObject<object>;
|
|
2106
|
+
export type UseTimeout = (callback: () => void, delay?: number) => React.MutableRefObject<object>;
|
|
2093
2107
|
|
|
2094
|
-
export type UseWindowResize = (
|
|
2095
|
-
callback: () => void,
|
|
2096
|
-
timeout?: number
|
|
2097
|
-
) => void;
|
|
2108
|
+
export type UseWindowResize = (callback: () => void, timeout?: number) => void;
|
|
@@ -41,8 +41,10 @@ var isTargetEligibleForEffect = function isTargetEligibleForEffect(target) {
|
|
|
41
41
|
if (typeof className === 'string' || typeof className === 'array') {
|
|
42
42
|
var isButton = className.includes('btn ');
|
|
43
43
|
var isNotButtonComponent = !className.includes('btn-component');
|
|
44
|
+
var isNotLinkButton = !className.includes('btn-link');
|
|
45
|
+
var isNotActionButton = !className.includes('btn-action');
|
|
44
46
|
var isNotDisabled = !className.includes('disabled');
|
|
45
|
-
return isButton && isNotButtonComponent && isNotDisabled;
|
|
47
|
+
return isButton && isNotButtonComponent && isNotDisabled && isNotLinkButton && isNotActionButton;
|
|
46
48
|
}
|
|
47
49
|
|
|
48
50
|
return false;
|
package/lib/utils/deviceUtils.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.isDesktop = exports.inIframe = exports.hasTouch = void 0;
|
|
6
|
+
exports.toggleZoomOnMobile = exports.isMobile = exports.isDesktop = exports.inIframe = exports.hasTouch = void 0;
|
|
7
7
|
|
|
8
8
|
// As "cssuseragent" is accessing the html dom object directly without checking whether it exists or not, we need to
|
|
9
9
|
// use old shool require() to have a conditional import only when html really exists. This avoids issues when
|
|
@@ -38,6 +38,12 @@ var hasTouch = function hasTouch() {
|
|
|
38
38
|
|
|
39
39
|
exports.hasTouch = hasTouch;
|
|
40
40
|
|
|
41
|
+
var isMobile = function isMobile() {
|
|
42
|
+
return document && document.documentElement.classList.contains('ua-mobile');
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
exports.isMobile = isMobile;
|
|
46
|
+
|
|
41
47
|
var isDesktop = function isDesktop() {
|
|
42
48
|
return document && document.documentElement.classList.contains('ua-desktop');
|
|
43
49
|
};
|
|
@@ -47,9 +53,40 @@ exports.isDesktop = isDesktop;
|
|
|
47
53
|
var inIframe = function inIframe() {
|
|
48
54
|
try {
|
|
49
55
|
return window.self !== window.top;
|
|
50
|
-
} catch (
|
|
56
|
+
} catch (_) {
|
|
51
57
|
return true;
|
|
52
58
|
}
|
|
59
|
+
}; // Disables the Zoom for the mobile devices.
|
|
60
|
+
// This is not good for accessibility but makes the webpage feel more like a native app.
|
|
61
|
+
// <meta name="viewport" content="user-scalable=0 ..." />
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
exports.inIframe = inIframe;
|
|
65
|
+
var USER_SCALABLE = 'user-scalable=0 maximum-scale=1';
|
|
66
|
+
|
|
67
|
+
var toggleZoomOnMobile = function toggleZoomOnMobile() {
|
|
68
|
+
if (!document) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
var viewportMeta = document.head.querySelector('[name="viewport"]');
|
|
73
|
+
|
|
74
|
+
if (!viewportMeta) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
var isScalable = viewportMeta.content.includes(USER_SCALABLE); // Restrict the zoom for mobile if not yet set
|
|
79
|
+
|
|
80
|
+
if (isMobile() && !isScalable) {
|
|
81
|
+
viewportMeta.content += " ".concat(USER_SCALABLE);
|
|
82
|
+
return;
|
|
83
|
+
} // Remove the setting, for non mobile cases
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
if (!isMobile() && isScalable) {
|
|
87
|
+
viewportMeta.content = viewportMeta.content.replace(USER_SCALABLE, '').trim();
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
53
90
|
};
|
|
54
91
|
|
|
55
|
-
exports.
|
|
92
|
+
exports.toggleZoomOnMobile = toggleZoomOnMobile;
|