@telefonica/mistica 16.59.0-beta.1 → 16.59.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/css/mistica.css +1 -1
- package/dist/accordion.css-mistica.js +16 -16
- package/dist/align.css-mistica.js +2 -2
- package/dist/autocomplete.css-mistica.js +6 -6
- package/dist/avatar.css-mistica.js +3 -3
- package/dist/badge.css-mistica.js +7 -7
- package/dist/box.css-mistica.js +15 -15
- package/dist/boxed.css-mistica.js +31 -31
- package/dist/button-group.css-mistica.js +10 -10
- package/dist/button-layout.css-mistica.js +21 -21
- package/dist/button.css-mistica.js +51 -51
- package/dist/callout.css-mistica.js +16 -16
- package/dist/card-internal.css-mistica.js +38 -38
- package/dist/carousel.css-mistica.js +18 -18
- package/dist/checkbox.css-mistica.js +21 -21
- package/dist/chip.css-mistica.js +30 -30
- package/dist/circle.css-mistica.js +2 -2
- package/dist/community/advanced-data-card.css-mistica.js +26 -26
- package/dist/community/blocks.css-mistica.js +3 -3
- package/dist/community/example-component.css-mistica.js +2 -2
- package/dist/counter.css-mistica.js +12 -12
- package/dist/cover-hero.css-mistica.js +16 -16
- package/dist/credit-card-number-field.css-mistica.js +6 -6
- package/dist/date-field.css-mistica.js +1 -1
- package/dist/date-time-picker.css-mistica.js +2 -2
- package/dist/dialog.css-mistica.js +15 -15
- package/dist/divider.css-mistica.js +5 -5
- package/dist/double-field.css-mistica.js +4 -4
- package/dist/drawer.css-mistica.js +15 -15
- package/dist/empty-state-card.css-mistica.js +4 -4
- package/dist/empty-state.css-mistica.js +14 -14
- package/dist/fade-in.css-mistica.js +1 -1
- package/dist/feedback.css-mistica.js +14 -14
- package/dist/file-upload.css-mistica.js +14 -14
- package/dist/fixed-footer-layout.css-mistica.js +12 -12
- package/dist/form.css-mistica.js +2 -2
- package/dist/grid-layout.css-mistica.js +9 -9
- package/dist/grid.css-mistica.js +147 -147
- package/dist/header.css-mistica.js +5 -5
- package/dist/hero.css-mistica.js +11 -11
- package/dist/horizontal-scroll.css-mistica.js +3 -3
- package/dist/icon-button.css-mistica.js +66 -66
- package/dist/icons/icon-chevron.css-mistica.js +6 -6
- package/dist/icons/icon-error.css-mistica.js +3 -3
- package/dist/image.css-mistica.js +11 -11
- package/dist/inline.css-mistica.js +16 -16
- package/dist/list.css-mistica.js +15 -15
- package/dist/loading-bar.css-mistica.js +5 -5
- package/dist/loading-screen.css-mistica.js +15 -15
- package/dist/logo.css-mistica.js +9 -9
- package/dist/menu.css-mistica.js +24 -24
- package/dist/mosaic.css-mistica.js +3 -3
- package/dist/navigation-bar.css-mistica.js +45 -45
- package/dist/navigation-breadcrumbs.css-mistica.js +5 -5
- package/dist/package-version.js +2 -2
- package/dist/pin-field.css-mistica.js +10 -10
- package/dist/popover.css-mistica.js +2 -2
- package/dist/progress-bar.css-mistica.js +12 -12
- package/dist/radio-button.css-mistica.js +33 -33
- package/dist/rating.css-mistica.js +12 -12
- package/dist/responsive-layout.css-mistica.js +20 -20
- package/dist/screen-reader-only.css-mistica.js +2 -2
- package/dist/select.css-mistica.js +29 -29
- package/dist/sheet-action-row.css-mistica.js +2 -2
- package/dist/sheet-common.css-mistica.js +16 -16
- package/dist/sheet-info.css-mistica.js +4 -4
- package/dist/skeletons.css-mistica.js +12 -12
- package/dist/skins/skin-contract.css-mistica.js +686 -686
- package/dist/skip-link.css-mistica.js +3 -3
- package/dist/slider.css-mistica.js +28 -28
- package/dist/snackbar.css-mistica.js +16 -16
- package/dist/spinner.css-mistica.js +5 -5
- package/dist/square.css-mistica.js +2 -2
- package/dist/stack.css-mistica.js +9 -9
- package/dist/stacking-group.css-mistica.js +2 -2
- package/dist/stepper.css-mistica.js +16 -16
- package/dist/switch-component.css-mistica.js +53 -53
- package/dist/table.css-mistica.js +24 -24
- package/dist/tabs.css-mistica.js +30 -30
- package/dist/tag.css-mistica.js +5 -5
- package/dist/text-field-base.css-mistica.js +30 -30
- package/dist/text-field-components.css-mistica.js +23 -20
- package/dist/text-field-components.css.d.ts +1 -0
- package/dist/text-field-components.js +31 -25
- package/dist/text-link.css-mistica.js +10 -10
- package/dist/text.css-mistica.js +13 -13
- package/dist/theme-context.css-mistica.js +2 -2
- package/dist/timeline.css-mistica.js +18 -18
- package/dist/timer.css-mistica.js +13 -13
- package/dist/tooltip.css-mistica.js +12 -12
- package/dist/touchable.css-mistica.js +5 -5
- package/dist/utils/aspect-ratio-support.css-mistica.js +7 -7
- package/dist/video.css-mistica.js +2 -2
- package/dist/vivinho-loading-animation/vivinho-loading-animation.css-mistica.js +3 -3
- package/dist-es/accordion.css-mistica.js +7 -7
- package/dist-es/align.css-mistica.js +2 -2
- package/dist-es/autocomplete.css-mistica.js +2 -2
- package/dist-es/avatar.css-mistica.js +2 -2
- package/dist-es/badge.css-mistica.js +2 -2
- package/dist-es/box.css-mistica.js +15 -15
- package/dist-es/boxed.css-mistica.js +25 -25
- package/dist-es/button-group.css-mistica.js +2 -2
- package/dist-es/button-layout.css-mistica.js +16 -16
- package/dist-es/button.css-mistica.js +38 -38
- package/dist-es/callout.css-mistica.js +12 -12
- package/dist-es/card-internal.css-mistica.js +20 -20
- package/dist-es/carousel.css-mistica.js +10 -10
- package/dist-es/checkbox.css-mistica.js +14 -14
- package/dist-es/chip.css-mistica.js +17 -17
- package/dist-es/circle.css-mistica.js +2 -2
- package/dist-es/community/advanced-data-card.css-mistica.js +7 -7
- package/dist-es/community/blocks.css-mistica.js +2 -2
- package/dist-es/community/example-component.css-mistica.js +2 -2
- package/dist-es/counter.css-mistica.js +2 -2
- package/dist-es/cover-hero.css-mistica.js +4 -4
- package/dist-es/credit-card-number-field.css-mistica.js +4 -4
- package/dist-es/date-field.css-mistica.js +1 -1
- package/dist-es/date-time-picker.css-mistica.js +2 -2
- package/dist-es/dialog.css-mistica.js +5 -5
- package/dist-es/divider.css-mistica.js +5 -5
- package/dist-es/double-field.css-mistica.js +4 -4
- package/dist-es/drawer.css-mistica.js +2 -2
- package/dist-es/empty-state-card.css-mistica.js +2 -2
- package/dist-es/empty-state.css-mistica.js +7 -7
- package/dist-es/fade-in.css-mistica.js +1 -1
- package/dist-es/feedback.css-mistica.js +2 -2
- package/dist-es/file-upload.css-mistica.js +8 -8
- package/dist-es/fixed-footer-layout.css-mistica.js +4 -4
- package/dist-es/form.css-mistica.js +2 -2
- package/dist-es/grid-layout.css-mistica.js +4 -4
- package/dist-es/grid.css-mistica.js +127 -127
- package/dist-es/header.css-mistica.js +2 -2
- package/dist-es/hero.css-mistica.js +4 -4
- package/dist-es/horizontal-scroll.css-mistica.js +2 -2
- package/dist-es/icon-button.css-mistica.js +56 -56
- package/dist-es/icons/icon-chevron.css-mistica.js +4 -4
- package/dist-es/icons/icon-error.css-mistica.js +2 -2
- package/dist-es/image.css-mistica.js +4 -4
- package/dist-es/inline.css-mistica.js +10 -10
- package/dist-es/list.css-mistica.js +2 -2
- package/dist-es/loading-bar.css-mistica.js +2 -2
- package/dist-es/loading-screen.css-mistica.js +5 -5
- package/dist-es/logo.css-mistica.js +7 -7
- package/dist-es/menu.css-mistica.js +15 -15
- package/dist-es/mosaic.css-mistica.js +2 -2
- package/dist-es/navigation-bar.css-mistica.js +20 -20
- package/dist-es/navigation-breadcrumbs.css-mistica.js +2 -2
- package/dist-es/package-version.js +2 -2
- package/dist-es/pin-field.css-mistica.js +2 -2
- package/dist-es/popover.css-mistica.js +2 -2
- package/dist-es/progress-bar.css-mistica.js +8 -8
- package/dist-es/radio-button.css-mistica.js +25 -25
- package/dist-es/rating.css-mistica.js +4 -4
- package/dist-es/responsive-layout.css-mistica.js +7 -7
- package/dist-es/screen-reader-only.css-mistica.js +2 -2
- package/dist-es/select.css-mistica.js +20 -20
- package/dist-es/sheet-action-row.css-mistica.js +2 -2
- package/dist-es/sheet-common.css-mistica.js +2 -2
- package/dist-es/sheet-info.css-mistica.js +2 -2
- package/dist-es/skeletons.css-mistica.js +8 -8
- package/dist-es/skins/skin-contract.css-mistica.js +686 -686
- package/dist-es/skip-link.css-mistica.js +2 -2
- package/dist-es/slider.css-mistica.js +20 -20
- package/dist-es/snackbar.css-mistica.js +5 -5
- package/dist-es/spinner.css-mistica.js +2 -2
- package/dist-es/square.css-mistica.js +2 -2
- package/dist-es/stack.css-mistica.js +7 -7
- package/dist-es/stacking-group.css-mistica.js +2 -2
- package/dist-es/stepper.css-mistica.js +4 -4
- package/dist-es/style.css +1 -1
- package/dist-es/switch-component.css-mistica.js +41 -41
- package/dist-es/table.css-mistica.js +11 -11
- package/dist-es/tabs.css-mistica.js +21 -21
- package/dist-es/tag.css-mistica.js +2 -2
- package/dist-es/text-field-base.css-mistica.js +17 -17
- package/dist-es/text-field-components.css-mistica.js +4 -4
- package/dist-es/text-field-components.js +52 -46
- package/dist-es/text-link.css-mistica.js +9 -9
- package/dist-es/text.css-mistica.js +8 -8
- package/dist-es/theme-context.css-mistica.js +2 -2
- package/dist-es/timeline.css-mistica.js +11 -11
- package/dist-es/timer.css-mistica.js +7 -7
- package/dist-es/tooltip.css-mistica.js +3 -3
- package/dist-es/touchable.css-mistica.js +2 -2
- package/dist-es/utils/aspect-ratio-support.css-mistica.js +4 -4
- package/dist-es/video.css-mistica.js +2 -2
- package/dist-es/vivinho-loading-animation/vivinho-loading-animation.css-mistica.js +2 -2
- package/doc/llms.md +0 -24
- package/package.json +1 -13
- package/src/accordion.css.ts +0 -121
- package/src/accordion.tsx +0 -366
- package/src/align.css.ts +0 -7
- package/src/align.tsx +0 -32
- package/src/autocomplete.css.ts +0 -62
- package/src/autocomplete.tsx +0 -239
- package/src/avatar.css.ts +0 -14
- package/src/avatar.tsx +0 -120
- package/src/badge.css.ts +0 -51
- package/src/badge.tsx +0 -79
- package/src/box.css.ts +0 -51
- package/src/box.tsx +0 -114
- package/src/boxed.css.ts +0 -132
- package/src/boxed.tsx +0 -153
- package/src/button-fixed-footer-layout.tsx +0 -62
- package/src/button-group.css.ts +0 -75
- package/src/button-group.tsx +0 -91
- package/src/button-layout.css.ts +0 -162
- package/src/button-layout.tsx +0 -91
- package/src/button.css.ts +0 -758
- package/src/button.tsx +0 -632
- package/src/callout.css.ts +0 -50
- package/src/callout.tsx +0 -147
- package/src/card-cover.tsx +0 -242
- package/src/card-data.tsx +0 -152
- package/src/card-internal.css.ts +0 -271
- package/src/card-internal.tsx +0 -1724
- package/src/card-media.tsx +0 -157
- package/src/card-naked.tsx +0 -63
- package/src/carousel.css.ts +0 -522
- package/src/carousel.tsx +0 -1300
- package/src/checkbox.css.ts +0 -94
- package/src/checkbox.tsx +0 -192
- package/src/chip.css.ts +0 -204
- package/src/chip.tsx +0 -191
- package/src/circle.css.ts +0 -14
- package/src/circle.tsx +0 -52
- package/src/community/__screenshot_tests__/__image_snapshots__/advanced-data-card-screenshot-test-tsx-advanced-data-card-actions-button-and-link-footer-image-false-1-snap.png +0 -0
- package/src/community/__screenshot_tests__/__image_snapshots__/advanced-data-card-screenshot-test-tsx-advanced-data-card-actions-button-and-link-footer-image-true-1-snap.png +0 -0
- package/src/community/__screenshot_tests__/__image_snapshots__/advanced-data-card-screenshot-test-tsx-advanced-data-card-actions-button-footer-image-false-1-snap.png +0 -0
- package/src/community/__screenshot_tests__/__image_snapshots__/advanced-data-card-screenshot-test-tsx-advanced-data-card-actions-button-footer-image-true-1-snap.png +0 -0
- package/src/community/__screenshot_tests__/__image_snapshots__/advanced-data-card-screenshot-test-tsx-advanced-data-card-actions-link-footer-image-false-1-snap.png +0 -0
- package/src/community/__screenshot_tests__/__image_snapshots__/advanced-data-card-screenshot-test-tsx-advanced-data-card-actions-link-footer-image-true-1-snap.png +0 -0
- package/src/community/__screenshot_tests__/__image_snapshots__/advanced-data-card-screenshot-test-tsx-advanced-data-card-actions-none-footer-image-false-1-snap.png +0 -0
- package/src/community/__screenshot_tests__/__image_snapshots__/advanced-data-card-screenshot-test-tsx-advanced-data-card-actions-none-footer-image-true-1-snap.png +0 -0
- package/src/community/__screenshot_tests__/__image_snapshots__/advanced-data-card-screenshot-test-tsx-advanced-data-card-extras-0-1-snap.png +0 -0
- package/src/community/__screenshot_tests__/__image_snapshots__/advanced-data-card-screenshot-test-tsx-advanced-data-card-extras-1-1-snap.png +0 -0
- package/src/community/__screenshot_tests__/__image_snapshots__/advanced-data-card-screenshot-test-tsx-advanced-data-card-extras-3-1-snap.png +0 -0
- package/src/community/__screenshot_tests__/__image_snapshots__/advanced-data-card-screenshot-test-tsx-advanced-data-card-extras-3-no-divider-1-snap.png +0 -0
- package/src/community/__screenshot_tests__/__image_snapshots__/advanced-data-card-screenshot-test-tsx-advanced-data-card-inside-carousel-1-snap.png +0 -0
- package/src/community/__screenshot_tests__/__image_snapshots__/advanced-data-card-screenshot-test-tsx-advanced-data-card-without-stacking-group-with-top-actions-and-too-long-title-1-snap.png +0 -0
- package/src/community/__screenshot_tests__/__image_snapshots__/blocks-screenshot-test-tsx-blocks-highlighted-value-block-1-snap.png +0 -0
- package/src/community/__screenshot_tests__/__image_snapshots__/blocks-screenshot-test-tsx-blocks-information-block-1-snap.png +0 -0
- package/src/community/__screenshot_tests__/__image_snapshots__/blocks-screenshot-test-tsx-blocks-progress-block-1-snap.png +0 -0
- package/src/community/__screenshot_tests__/__image_snapshots__/blocks-screenshot-test-tsx-blocks-progress-block-2-snap.png +0 -0
- package/src/community/__screenshot_tests__/__image_snapshots__/blocks-screenshot-test-tsx-blocks-row-block-1-snap.png +0 -0
- package/src/community/__screenshot_tests__/__image_snapshots__/blocks-screenshot-test-tsx-blocks-simple-block-1-snap.png +0 -0
- package/src/community/__screenshot_tests__/__image_snapshots__/blocks-screenshot-test-tsx-blocks-value-block-1-snap.png +0 -0
- package/src/community/__screenshot_tests__/advanced-data-card-screenshot-test.tsx +0 -84
- package/src/community/__screenshot_tests__/blocks-screenshot-test.tsx +0 -72
- package/src/community/__stories__/advanced-data-card-carousel-story.tsx +0 -66
- package/src/community/__stories__/advanced-data-card-story.tsx +0 -158
- package/src/community/__stories__/blocks-story.tsx +0 -272
- package/src/community/__stories__/example-component-story.tsx +0 -15
- package/src/community/__stories__/index-story.tsx +0 -154
- package/src/community/__type_tests__/advanced-data-card-type-test.tsx +0 -40
- package/src/community/advanced-data-card.css.ts +0 -271
- package/src/community/advanced-data-card.tsx +0 -431
- package/src/community/blocks.css.ts +0 -12
- package/src/community/blocks.tsx +0 -290
- package/src/community/example-component.css.ts +0 -7
- package/src/community/example-component.tsx +0 -17
- package/src/community/index.tsx +0 -10
- package/src/counter.css.ts +0 -150
- package/src/counter.tsx +0 -215
- package/src/cover-hero-media.tsx +0 -39
- package/src/cover-hero.css.ts +0 -133
- package/src/cover-hero.tsx +0 -262
- package/src/credit-card-expiration-field.tsx +0 -187
- package/src/credit-card-fields.tsx +0 -56
- package/src/credit-card-number-field.css.ts +0 -47
- package/src/credit-card-number-field.tsx +0 -245
- package/src/cvv-field.tsx +0 -169
- package/src/date-field.css.ts +0 -14
- package/src/date-field.tsx +0 -130
- package/src/date-time-field.tsx +0 -141
- package/src/date-time-picker.css.ts +0 -126
- package/src/date-time-picker.tsx +0 -188
- package/src/decimal-field.tsx +0 -160
- package/src/desktop-container-type-context.tsx +0 -15
- package/src/dialog-context.tsx +0 -81
- package/src/dialog.css.ts +0 -155
- package/src/dialog.tsx +0 -423
- package/src/divider.css.ts +0 -10
- package/src/divider.tsx +0 -11
- package/src/double-field.css.ts +0 -33
- package/src/double-field.tsx +0 -71
- package/src/drawer.css.ts +0 -123
- package/src/drawer.tsx +0 -304
- package/src/email-field.tsx +0 -76
- package/src/empty-state-card.css.ts +0 -40
- package/src/empty-state-card.tsx +0 -92
- package/src/empty-state.css.ts +0 -119
- package/src/empty-state.tsx +0 -141
- package/src/fade-in.css.ts +0 -12
- package/src/fade-in.tsx +0 -40
- package/src/feedback.css.ts +0 -119
- package/src/feedback.tsx +0 -432
- package/src/file-upload.css.ts +0 -156
- package/src/file-upload.tsx +0 -612
- package/src/fixed-footer-layout.css.ts +0 -96
- package/src/fixed-footer-layout.tsx +0 -215
- package/src/fixed-to-top.tsx +0 -21
- package/src/focus-trap.tsx +0 -17
- package/src/form-context.tsx +0 -198
- package/src/form.css.ts +0 -5
- package/src/form.tsx +0 -287
- package/src/grid-layout.css.ts +0 -68
- package/src/grid-layout.tsx +0 -201
- package/src/grid.css.ts +0 -203
- package/src/grid.tsx +0 -241
- package/src/header.css.ts +0 -30
- package/src/header.tsx +0 -319
- package/src/hero.css.ts +0 -71
- package/src/hero.tsx +0 -318
- package/src/hooks.tsx +0 -313
- package/src/horizontal-scroll.css.ts +0 -43
- package/src/horizontal-scroll.tsx +0 -18
- package/src/iban-field.tsx +0 -218
- package/src/icon-button.css.ts +0 -561
- package/src/icon-button.tsx +0 -221
- package/src/icons/__stories__/mistica-icons-story.tsx +0 -192
- package/src/icons/icon-amex.tsx +0 -40
- package/src/icons/icon-chevron.css.ts +0 -23
- package/src/icons/icon-chevron.tsx +0 -150
- package/src/icons/icon-cvv-amex.tsx +0 -31
- package/src/icons/icon-cvv-visa-mc.tsx +0 -31
- package/src/icons/icon-error.css.ts +0 -27
- package/src/icons/icon-error.tsx +0 -207
- package/src/icons/icon-info.tsx +0 -86
- package/src/icons/icon-mastercard.tsx +0 -36
- package/src/icons/icon-success-vivo-new.tsx +0 -51
- package/src/icons/icon-success-vivo.tsx +0 -36
- package/src/icons/icon-success.tsx +0 -211
- package/src/icons/icon-visa.tsx +0 -32
- package/src/image.css.ts +0 -48
- package/src/image.tsx +0 -345
- package/src/index.tsx +0 -2466
- package/src/inline.css.ts +0 -131
- package/src/inline.tsx +0 -135
- package/src/integer-field.tsx +0 -93
- package/src/list.css.ts +0 -281
- package/src/list.tsx +0 -963
- package/src/loading-bar.css.ts +0 -69
- package/src/loading-bar.tsx +0 -25
- package/src/loading-screen.css.ts +0 -114
- package/src/loading-screen.tsx +0 -376
- package/src/logo-blau-shell.tsx +0 -30
- package/src/logo-blau.tsx +0 -60
- package/src/logo-common.tsx +0 -29
- package/src/logo-esimflag-shell.tsx +0 -30
- package/src/logo-esimflag.tsx +0 -56
- package/src/logo-movistar-new-shell.tsx +0 -30
- package/src/logo-movistar-new.tsx +0 -85
- package/src/logo-movistar-shell.tsx +0 -30
- package/src/logo-movistar.tsx +0 -63
- package/src/logo-o2-new-shell.tsx +0 -26
- package/src/logo-o2-new.tsx +0 -27
- package/src/logo-o2-shell.tsx +0 -26
- package/src/logo-o2.tsx +0 -27
- package/src/logo-telefonica-shell.tsx +0 -30
- package/src/logo-telefonica.tsx +0 -95
- package/src/logo-tu-shell.tsx +0 -26
- package/src/logo-tu.tsx +0 -28
- package/src/logo-vivo-shell.tsx +0 -30
- package/src/logo-vivo.tsx +0 -53
- package/src/logo.css.ts +0 -33
- package/src/logo.tsx +0 -313
- package/src/master-detail-layout.tsx +0 -28
- package/src/maybe-dismissable.css.ts +0 -37
- package/src/maybe-dismissable.tsx +0 -58
- package/src/media-queries.css.ts +0 -67
- package/src/menu.css.ts +0 -132
- package/src/menu.tsx +0 -468
- package/src/meter.tsx +0 -516
- package/src/modal-context-provider.tsx +0 -45
- package/src/month-field.tsx +0 -124
- package/src/mosaic.css.ts +0 -73
- package/src/mosaic.tsx +0 -205
- package/src/navigation-bar.css.ts +0 -558
- package/src/navigation-bar.tsx +0 -1637
- package/src/navigation-breadcrumbs.css.ts +0 -22
- package/src/navigation-breadcrumbs.tsx +0 -69
- package/src/negative-box.tsx +0 -15
- package/src/nestable-context.tsx +0 -139
- package/src/overlay.tsx +0 -86
- package/src/overscroll-color-context.tsx +0 -141
- package/src/package-version.tsx +0 -2
- package/src/password-field.tsx +0 -126
- package/src/phone-number-field-lite.tsx +0 -265
- package/src/phone-number-field.tsx +0 -171
- package/src/pin-field.css.ts +0 -90
- package/src/pin-field.tsx +0 -346
- package/src/placeholder.tsx +0 -41
- package/src/popover.css.ts +0 -8
- package/src/popover.tsx +0 -85
- package/src/portal.tsx +0 -43
- package/src/progress-bar.css.ts +0 -61
- package/src/progress-bar.tsx +0 -174
- package/src/radio-button.css.ts +0 -174
- package/src/radio-button.tsx +0 -322
- package/src/rating.css.ts +0 -128
- package/src/rating.tsx +0 -351
- package/src/responsive-layout.css.ts +0 -162
- package/src/responsive-layout.tsx +0 -106
- package/src/screen-reader-only.css.ts +0 -27
- package/src/screen-reader-only.tsx +0 -33
- package/src/screen-size-context-provider.tsx +0 -96
- package/src/screen-size-context.tsx +0 -23
- package/src/search-field.tsx +0 -126
- package/src/select.css.ts +0 -226
- package/src/select.tsx +0 -513
- package/src/sheet-action-row.css.ts +0 -33
- package/src/sheet-actions-list.tsx +0 -113
- package/src/sheet-actions.tsx +0 -95
- package/src/sheet-common.css.ts +0 -254
- package/src/sheet-common.tsx +0 -402
- package/src/sheet-info.css.ts +0 -19
- package/src/sheet-info.tsx +0 -127
- package/src/sheet-native.tsx +0 -189
- package/src/sheet-radio-list.tsx +0 -118
- package/src/sheet-root.tsx +0 -127
- package/src/sheet-types.tsx +0 -94
- package/src/sheet-web.tsx +0 -140
- package/src/skeleton-base.tsx +0 -38
- package/src/skeletons.css.ts +0 -56
- package/src/skeletons.tsx +0 -133
- package/src/skins/blau.tsx +0 -724
- package/src/skins/constants.tsx +0 -10
- package/src/skins/defaults.tsx +0 -104
- package/src/skins/esimflag.tsx +0 -728
- package/src/skins/movistar-new.tsx +0 -735
- package/src/skins/movistar.tsx +0 -740
- package/src/skins/o2-new.tsx +0 -731
- package/src/skins/o2.tsx +0 -727
- package/src/skins/skin-contract.css.ts +0 -380
- package/src/skins/telefonica.tsx +0 -768
- package/src/skins/tu.tsx +0 -741
- package/src/skins/types/colors.tsx +0 -286
- package/src/skins/types/index.tsx +0 -153
- package/src/skins/utils.tsx +0 -66
- package/src/skins/vivo-new.tsx +0 -745
- package/src/skins/vivo.tsx +0 -720
- package/src/skip-link.css.ts +0 -34
- package/src/skip-link.tsx +0 -52
- package/src/slider.css.ts +0 -181
- package/src/slider.tsx +0 -384
- package/src/snackbar-context.tsx +0 -98
- package/src/snackbar-native.ts +0 -37
- package/src/snackbar.css.ts +0 -176
- package/src/snackbar.tsx +0 -258
- package/src/spinner.css.ts +0 -66
- package/src/spinner.tsx +0 -136
- package/src/sprinkles.css.ts +0 -83
- package/src/square.css.ts +0 -15
- package/src/square.tsx +0 -55
- package/src/stack.css.ts +0 -44
- package/src/stack.tsx +0 -79
- package/src/stacking-group.css.ts +0 -15
- package/src/stacking-group.tsx +0 -82
- package/src/stepper.css.ts +0 -233
- package/src/stepper.tsx +0 -156
- package/src/switch-component.css.ts +0 -181
- package/src/switch-component.tsx +0 -187
- package/src/tab-focus.tsx +0 -68
- package/src/table-actions-header.tsx +0 -21
- package/src/table-cell-text.tsx +0 -35
- package/src/table.css.ts +0 -297
- package/src/table.tsx +0 -398
- package/src/tabs.css.ts +0 -212
- package/src/tabs.tsx +0 -263
- package/src/tag.css.ts +0 -42
- package/src/tag.tsx +0 -161
- package/src/test-utils/environment/setup-ssr.tsx +0 -10
- package/src/test-utils/fail-test-on-console-error.tsx +0 -22
- package/src/test-utils/index.tsx +0 -341
- package/src/test-utils/setup-ssr-test-env.tsx +0 -13
- package/src/test-utils/ssr.tsx +0 -197
- package/src/text-field-base.css.ts +0 -416
- package/src/text-field-base.tsx +0 -628
- package/src/text-field-components.css.ts +0 -159
- package/src/text-field-components.tsx +0 -225
- package/src/text-field.tsx +0 -118
- package/src/text-link.css.ts +0 -83
- package/src/text-link.tsx +0 -85
- package/src/text-tokens.tsx +0 -708
- package/src/text.css.ts +0 -60
- package/src/text.tsx +0 -516
- package/src/theme-context-provider.tsx +0 -370
- package/src/theme-context.css.ts +0 -3
- package/src/theme-context.tsx +0 -8
- package/src/theme-variant-context.tsx +0 -51
- package/src/theme.tsx +0 -184
- package/src/time-field.tsx +0 -99
- package/src/timeline.css.ts +0 -135
- package/src/timeline.tsx +0 -250
- package/src/timer.css.ts +0 -99
- package/src/timer.tsx +0 -420
- package/src/title.tsx +0 -119
- package/src/tooltip-context-provider.tsx +0 -57
- package/src/tooltip.css.ts +0 -106
- package/src/tooltip.tsx +0 -649
- package/src/touchable.css.ts +0 -56
- package/src/touchable.tsx +0 -355
- package/src/types/font-face.d.ts +0 -47
- package/src/types/libs.d.ts +0 -3
- package/src/utils/__tests__/analytics-test.tsx +0 -35
- package/src/utils/__tests__/browser-test.tsx +0 -28
- package/src/utils/__tests__/dom-test.tsx +0 -23
- package/src/utils/__tests__/helpers-test.tsx +0 -166
- package/src/utils/analytics.tsx +0 -28
- package/src/utils/animation.tsx +0 -201
- package/src/utils/aspect-ratio-support.css.ts +0 -28
- package/src/utils/aspect-ratio-support.tsx +0 -141
- package/src/utils/browser.tsx +0 -9
- package/src/utils/color.tsx +0 -46
- package/src/utils/common.tsx +0 -27
- package/src/utils/credit-card.tsx +0 -46
- package/src/utils/css.tsx +0 -25
- package/src/utils/document-visibility.tsx +0 -52
- package/src/utils/dom.tsx +0 -155
- package/src/utils/environment.tsx +0 -6
- package/src/utils/headings.tsx +0 -18
- package/src/utils/helpers.tsx +0 -182
- package/src/utils/keys.tsx +0 -8
- package/src/utils/locale.tsx +0 -27
- package/src/utils/platform.tsx +0 -94
- package/src/utils/region-code.tsx +0 -1
- package/src/utils/renders-element.tsx +0 -6
- package/src/utils/time.tsx +0 -22
- package/src/utils/types.tsx +0 -19
- package/src/utils/utility-types.tsx +0 -8
- package/src/video.css.ts +0 -11
- package/src/video.tsx +0 -355
- package/src/vivinho-loading-animation/in-lottie.json +0 -402
- package/src/vivinho-loading-animation/index.tsx +0 -90
- package/src/vivinho-loading-animation/out-lottie.json +0 -575
- package/src/vivinho-loading-animation/pulse-lottie.json +0 -551
- package/src/vivinho-loading-animation/vivinho-loading-animation.css.ts +0 -15
- package/src/vivinho-loading-animation/wave-lottie.json +0 -2829
package/src/utils/dom.tsx
DELETED
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
import {isServerSide} from './environment';
|
|
2
|
-
|
|
3
|
-
import type {DataAttributes} from './types';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Returns true if provided type is supported <input> type
|
|
7
|
-
*/
|
|
8
|
-
export const isInputTypeSupported = (type: string): boolean => {
|
|
9
|
-
if (isServerSide()) {
|
|
10
|
-
return false;
|
|
11
|
-
}
|
|
12
|
-
const input = document.createElement('input');
|
|
13
|
-
input.setAttribute('type', type);
|
|
14
|
-
return input.type === type;
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
export const cancelEvent = (event: Event | React.SyntheticEvent): void => {
|
|
18
|
-
event.stopPropagation();
|
|
19
|
-
event.preventDefault();
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
export const createChangeEvent = (
|
|
23
|
-
target: HTMLInputElement,
|
|
24
|
-
value: string
|
|
25
|
-
): React.ChangeEvent<HTMLInputElement> => {
|
|
26
|
-
const event = new Event('change') as any;
|
|
27
|
-
target.value = value;
|
|
28
|
-
return {...event, target, currentTarget: target};
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Detect passive event listeners support
|
|
33
|
-
* See passiveeventlisteners.js at https://github.com/Modernizr/Modernizr/
|
|
34
|
-
*/
|
|
35
|
-
let supportsPassive = false;
|
|
36
|
-
try {
|
|
37
|
-
const options = Object.defineProperty({}, 'passive', {
|
|
38
|
-
get() {
|
|
39
|
-
supportsPassive = true;
|
|
40
|
-
return undefined;
|
|
41
|
-
},
|
|
42
|
-
});
|
|
43
|
-
window.addEventListener('test' as any, () => {}, options);
|
|
44
|
-
} catch (e) {
|
|
45
|
-
// does not support passive event listeners :(
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
export const addPassiveEventListener = (
|
|
49
|
-
el: EventTarget,
|
|
50
|
-
eventName: string,
|
|
51
|
-
listener: (e: any) => void
|
|
52
|
-
): void => el.addEventListener(eventName, listener, supportsPassive ? {passive: true} : false);
|
|
53
|
-
|
|
54
|
-
export const removePassiveEventListener = (
|
|
55
|
-
el: EventTarget,
|
|
56
|
-
eventName: string,
|
|
57
|
-
listener: (e: any) => void
|
|
58
|
-
): void => el.removeEventListener(eventName, listener, false);
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Prefixes given attributes with `data-`
|
|
62
|
-
*
|
|
63
|
-
* For example: `{foo: 'bar'}` => `{data-foo: 'bar'}`
|
|
64
|
-
*/
|
|
65
|
-
export const getPrefixedDataAttributes = (attrs?: DataAttributes, componentName?: string): DataAttributes => {
|
|
66
|
-
const result: DataAttributes = componentName
|
|
67
|
-
? // TODO: remove deprecated component-name in next major release
|
|
68
|
-
{'data-component-name': componentName, 'data-testid': componentName}
|
|
69
|
-
: {};
|
|
70
|
-
if (attrs) {
|
|
71
|
-
Object.keys(attrs).forEach((key) => {
|
|
72
|
-
result['data-' + key] = attrs[key];
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
return result;
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
type ScrollAxis = 'X' | 'Y';
|
|
79
|
-
|
|
80
|
-
const isScrollable = (el: Element, axis: ScrollAxis): boolean => {
|
|
81
|
-
const overflowKey: 'overflowX' | 'overflowY' = `overflow${axis}`;
|
|
82
|
-
const overflowValue = window.getComputedStyle(el)[overflowKey];
|
|
83
|
-
return ['auto', 'scroll', 'overlay'].includes(overflowValue);
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
export const getScrollableParentElement = (el?: HTMLElement | null, axis: ScrollAxis = 'Y'): HTMLElement => {
|
|
87
|
-
let result = el?.parentElement;
|
|
88
|
-
while (result && !isScrollable(result, axis)) {
|
|
89
|
-
result = result.parentElement;
|
|
90
|
-
}
|
|
91
|
-
return result || document.documentElement;
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
export const getScrollDistanceToBottom = (el: HTMLElement): number =>
|
|
95
|
-
el.scrollHeight - el.scrollTop - el.clientHeight;
|
|
96
|
-
|
|
97
|
-
export const hasScroll = (el: HTMLElement): boolean => el.scrollHeight > el.clientHeight;
|
|
98
|
-
|
|
99
|
-
type ResizeListener = (entries: Array<ResizeObserverEntry>, observer: ResizeObserver) => void;
|
|
100
|
-
export const listenResize = (element: Element, handler: ResizeListener): (() => void) => {
|
|
101
|
-
const getResizeObserverPromise = (): Promise<typeof window.ResizeObserver | null> => {
|
|
102
|
-
if (isServerSide()) {
|
|
103
|
-
return Promise.resolve(null);
|
|
104
|
-
}
|
|
105
|
-
return window.ResizeObserver
|
|
106
|
-
? Promise.resolve(ResizeObserver)
|
|
107
|
-
: import(/* webpackChunkName: "@juggle/resize-observer" */ '@juggle/resize-observer').then(
|
|
108
|
-
(m: any) => m.ResizeObserver
|
|
109
|
-
);
|
|
110
|
-
};
|
|
111
|
-
let cancelled = false;
|
|
112
|
-
let resizeObserver: ResizeObserver | null = null;
|
|
113
|
-
getResizeObserverPromise().then((ResizeObserver) => {
|
|
114
|
-
if (!cancelled && ResizeObserver) {
|
|
115
|
-
resizeObserver = new ResizeObserver(handler);
|
|
116
|
-
resizeObserver.observe(element);
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
|
|
120
|
-
return () => {
|
|
121
|
-
cancelled = true;
|
|
122
|
-
if (resizeObserver) {
|
|
123
|
-
resizeObserver.disconnect();
|
|
124
|
-
}
|
|
125
|
-
};
|
|
126
|
-
};
|
|
127
|
-
|
|
128
|
-
const parseVarCall = (cssVar: string) => {
|
|
129
|
-
const [varName, fallback] = cssVar
|
|
130
|
-
.replace(/^var\(/, '')
|
|
131
|
-
.replace(/\)$/, '')
|
|
132
|
-
.split(/\s*,\s*(.*)/);
|
|
133
|
-
return {varName, fallback};
|
|
134
|
-
};
|
|
135
|
-
|
|
136
|
-
export const isCssVar = (cssVar: string): boolean => cssVar.startsWith('var(') || cssVar.startsWith('--');
|
|
137
|
-
|
|
138
|
-
export const getCssVarValue = (cssVar: string, element?: Element): string => {
|
|
139
|
-
if (!isCssVar(cssVar)) {
|
|
140
|
-
throw new Error(`Invalid css var: ${cssVar}`);
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
if (cssVar.startsWith('var(')) {
|
|
144
|
-
const {varName, fallback} = parseVarCall(cssVar);
|
|
145
|
-
const value = getCssVarValue(varName, element);
|
|
146
|
-
if (!value && fallback) {
|
|
147
|
-
if (!isCssVar(fallback)) {
|
|
148
|
-
return fallback;
|
|
149
|
-
}
|
|
150
|
-
return getCssVarValue(fallback, element);
|
|
151
|
-
}
|
|
152
|
-
return value;
|
|
153
|
-
}
|
|
154
|
-
return getComputedStyle(element ?? document.documentElement).getPropertyValue(cssVar);
|
|
155
|
-
};
|
package/src/utils/headings.tsx
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type {HeadingType} from './types';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @returns {boolean} - Returns true if the first heading is bigger, false otherwise.
|
|
5
|
-
*/
|
|
6
|
-
export const isBiggerHeading = (heading: HeadingType, otherHeading?: HeadingType): boolean => {
|
|
7
|
-
// In case headings are equal, we consider that the first one has more priority
|
|
8
|
-
if (!otherHeading || heading === otherHeading) {
|
|
9
|
-
return true;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
if (heading === 'span') {
|
|
13
|
-
return false;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
// Both are header tags
|
|
17
|
-
return heading < otherHeading;
|
|
18
|
-
};
|
package/src/utils/helpers.tsx
DELETED
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
/** These functions are copies of the ones located in webapp packages */
|
|
2
|
-
|
|
3
|
-
type Debounced<T> = T & {cancel: () => void; flush: () => void};
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Creates a debounced function that delays invoking func until after wait milliseconds
|
|
7
|
-
* have elapsed since the last time the debounced function was invoked. The debounced function
|
|
8
|
-
* comes with a cancel method to cancel delayed func invocations and a flush method to immediately
|
|
9
|
-
* invoke them. The func is invoked with the last arguments provided to the debounced function.
|
|
10
|
-
* Subsequent calls to the debounced function return the result of the last func invocation.
|
|
11
|
-
*/
|
|
12
|
-
export const debounce = <T extends (...args: Array<any>) => any>(
|
|
13
|
-
func: T,
|
|
14
|
-
wait: number,
|
|
15
|
-
options: {
|
|
16
|
-
leading?: boolean;
|
|
17
|
-
trailing?: boolean;
|
|
18
|
-
maxWait?: number;
|
|
19
|
-
} = {}
|
|
20
|
-
): Debounced<T> => {
|
|
21
|
-
const waitTime = wait;
|
|
22
|
-
const leading = options.leading ?? false;
|
|
23
|
-
const trailing = options.trailing ?? true;
|
|
24
|
-
const maxWait = options.maxWait !== undefined ? Math.max(options.maxWait, waitTime) : undefined;
|
|
25
|
-
|
|
26
|
-
let currentArgs: Parameters<T> | undefined;
|
|
27
|
-
let lastInvokeTime = 0;
|
|
28
|
-
let lastCallTime = -1;
|
|
29
|
-
let result: any;
|
|
30
|
-
|
|
31
|
-
let timerId: ReturnType<typeof setTimeout> | undefined;
|
|
32
|
-
|
|
33
|
-
const invokeFunction = (time: number): any => {
|
|
34
|
-
lastInvokeTime = time;
|
|
35
|
-
if (currentArgs) {
|
|
36
|
-
result = func(...currentArgs);
|
|
37
|
-
}
|
|
38
|
-
currentArgs = undefined;
|
|
39
|
-
return result;
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
const shouldInvoke = (time: number): boolean => {
|
|
43
|
-
const timeSinceLastCall = time - lastCallTime;
|
|
44
|
-
const timeSinceLastInvoke = time - lastInvokeTime;
|
|
45
|
-
|
|
46
|
-
return (
|
|
47
|
-
lastCallTime < 0 ||
|
|
48
|
-
timeSinceLastCall >= wait ||
|
|
49
|
-
timeSinceLastCall < 0 ||
|
|
50
|
-
(maxWait !== undefined && timeSinceLastInvoke >= maxWait)
|
|
51
|
-
);
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
const remainingWait = (time: number): number => {
|
|
55
|
-
const timeSinceLastCall = time - lastCallTime;
|
|
56
|
-
const timeSinceLastInvoke = time - lastInvokeTime;
|
|
57
|
-
const timeWaiting = wait - timeSinceLastCall;
|
|
58
|
-
return maxWait !== undefined ? Math.min(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
const trailingEdge = (time: number): any => {
|
|
62
|
-
timerId = undefined;
|
|
63
|
-
|
|
64
|
-
if (trailing && currentArgs) {
|
|
65
|
-
return invokeFunction(time);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
currentArgs = undefined;
|
|
69
|
-
return result;
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
const timerExpired = (): any => {
|
|
73
|
-
const time = Date.now();
|
|
74
|
-
if (shouldInvoke(time)) {
|
|
75
|
-
return trailingEdge(time);
|
|
76
|
-
}
|
|
77
|
-
timerId = setTimeout(timerExpired, remainingWait(time));
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
const leadingEdge = (time: number): any => {
|
|
81
|
-
lastInvokeTime = time;
|
|
82
|
-
|
|
83
|
-
timerId = setTimeout(timerExpired, waitTime);
|
|
84
|
-
return leading ? invokeFunction(time) : result;
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
const debounced = (...args: Parameters<T>) => {
|
|
88
|
-
const time = Date.now();
|
|
89
|
-
const isInvoking = shouldInvoke(time);
|
|
90
|
-
|
|
91
|
-
currentArgs = args;
|
|
92
|
-
lastCallTime = time;
|
|
93
|
-
|
|
94
|
-
if (isInvoking) {
|
|
95
|
-
if (timerId === undefined) {
|
|
96
|
-
return leadingEdge(lastCallTime);
|
|
97
|
-
}
|
|
98
|
-
if (maxWait !== undefined) {
|
|
99
|
-
timerId = setTimeout(timerExpired, waitTime);
|
|
100
|
-
return invokeFunction(lastCallTime);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
if (timerId === undefined) {
|
|
104
|
-
timerId = setTimeout(timerExpired, waitTime);
|
|
105
|
-
}
|
|
106
|
-
return result;
|
|
107
|
-
};
|
|
108
|
-
|
|
109
|
-
debounced.cancel = (): void => {
|
|
110
|
-
if (timerId !== undefined) {
|
|
111
|
-
clearTimeout(timerId);
|
|
112
|
-
timerId = undefined;
|
|
113
|
-
}
|
|
114
|
-
lastInvokeTime = 0;
|
|
115
|
-
lastCallTime = -1;
|
|
116
|
-
currentArgs = undefined;
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
debounced.flush = (): any => {
|
|
120
|
-
return timerId === undefined ? result : trailingEdge(Date.now());
|
|
121
|
-
};
|
|
122
|
-
|
|
123
|
-
return debounced as Debounced<T>;
|
|
124
|
-
};
|
|
125
|
-
|
|
126
|
-
const isPrimitive = (v: unknown): v is string | number | undefined | null | boolean | symbol => {
|
|
127
|
-
if (v === null) {
|
|
128
|
-
return true;
|
|
129
|
-
}
|
|
130
|
-
if (typeof v === 'object' || typeof v === 'function') {
|
|
131
|
-
return false;
|
|
132
|
-
}
|
|
133
|
-
return true;
|
|
134
|
-
};
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* Performs a deep comparison between two values to determine if they are equivalent.
|
|
138
|
-
*/
|
|
139
|
-
export const isEqual = (a: unknown, b: unknown): boolean => {
|
|
140
|
-
if (a === b) {
|
|
141
|
-
return true;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
if (typeof a === 'number' && typeof b === 'number' && isNaN(a) && isNaN(b)) {
|
|
145
|
-
return true;
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
if (isPrimitive(a) || isPrimitive(b)) {
|
|
149
|
-
return false;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
if (typeof a !== typeof b) {
|
|
153
|
-
return false;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
if (typeof a === 'function') {
|
|
157
|
-
// no need to check typeof b === 'function' because of the previous check
|
|
158
|
-
return false;
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
if (Array.isArray(a) || Array.isArray(b)) {
|
|
162
|
-
if (Array.isArray(a) && Array.isArray(b)) {
|
|
163
|
-
return a.length === b.length && a.every((value, index) => isEqual(value, b[index]));
|
|
164
|
-
}
|
|
165
|
-
return false;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
if (a instanceof Date || b instanceof Date) {
|
|
169
|
-
if (a instanceof Date && b instanceof Date) {
|
|
170
|
-
return a.getTime() === b.getTime();
|
|
171
|
-
}
|
|
172
|
-
return false;
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
const keysA = Object.keys(a as any);
|
|
176
|
-
const keysB = Object.keys(b as any);
|
|
177
|
-
if (keysA.length === keysB.length) {
|
|
178
|
-
return keysA.every((key) => isEqual((a as any)[key], (b as any)[key]));
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
return false;
|
|
182
|
-
};
|
package/src/utils/keys.tsx
DELETED
package/src/utils/locale.tsx
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
export type Locale =
|
|
2
|
-
| 'ca-ES'
|
|
3
|
-
| 'en-US'
|
|
4
|
-
| 'en-GB'
|
|
5
|
-
| 'de-DE'
|
|
6
|
-
| 'es-AR'
|
|
7
|
-
| 'es-CO'
|
|
8
|
-
| 'es-EC'
|
|
9
|
-
| 'es-ES'
|
|
10
|
-
| 'es-MX'
|
|
11
|
-
| 'es-PE'
|
|
12
|
-
| 'es-UY'
|
|
13
|
-
| 'eu-ES'
|
|
14
|
-
| 'gl-ES'
|
|
15
|
-
| 'pt-BR';
|
|
16
|
-
|
|
17
|
-
const SUPPORTED_LANGUAGES = ['en', 'es', 'pt', 'de'] as const;
|
|
18
|
-
|
|
19
|
-
export type Language = (typeof SUPPORTED_LANGUAGES)[number];
|
|
20
|
-
|
|
21
|
-
export const localeToLanguage = (locale: Locale): Language => {
|
|
22
|
-
const lang = locale.split('-')[0] as Language;
|
|
23
|
-
if (SUPPORTED_LANGUAGES.includes(lang)) {
|
|
24
|
-
return lang;
|
|
25
|
-
}
|
|
26
|
-
return 'en';
|
|
27
|
-
};
|
package/src/utils/platform.tsx
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import {isWebViewBridgeAvailable} from '@tef-novum/webview-bridge';
|
|
2
|
-
|
|
3
|
-
import type {Theme} from '../theme';
|
|
4
|
-
|
|
5
|
-
const getUserAgent = (platformOverrides: Theme['platformOverrides'] = {}): string => {
|
|
6
|
-
if (typeof self === 'undefined') {
|
|
7
|
-
return platformOverrides.userAgent ?? '';
|
|
8
|
-
}
|
|
9
|
-
return self.navigator?.userAgent ?? '';
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
export const isInsideNovumNativeApp = (platformOverrides: Theme['platformOverrides'] = {}): boolean => {
|
|
13
|
-
if (typeof platformOverrides.insideNovumNativeApp !== 'undefined') {
|
|
14
|
-
return platformOverrides.insideNovumNativeApp;
|
|
15
|
-
}
|
|
16
|
-
return isWebViewBridgeAvailable();
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
export const isRunningAcceptanceTest = (platformOverrides: Theme['platformOverrides'] = {}): boolean =>
|
|
20
|
-
getUserAgent(platformOverrides).includes('acceptance-test') && !process.env.SSR_TEST;
|
|
21
|
-
|
|
22
|
-
const isEdgeOrIE = Boolean(typeof self !== 'undefined' && (self as any).MSStream);
|
|
23
|
-
|
|
24
|
-
export const isAndroid = (platformOverrides: Theme['platformOverrides']): boolean => {
|
|
25
|
-
if (platformOverrides.platform === 'android') {
|
|
26
|
-
return true;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
return getUserAgent(platformOverrides).toLowerCase().includes('android') && !isEdgeOrIE;
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
export const isIos = (platformOverrides: Theme['platformOverrides']): boolean => {
|
|
33
|
-
if (platformOverrides.platform === 'ios') {
|
|
34
|
-
return true;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
// IE and Edge mobile browsers includes Android and iPhone in the user agent
|
|
38
|
-
if (/iPad|iPhone|iPod/.test(getUserAgent(platformOverrides)) && !isEdgeOrIE) {
|
|
39
|
-
return true;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
// In iOS13, iPad uses the Mac OS user-agent, but we know it's an iOS device when it runs inside our
|
|
43
|
-
// native app and is not Android
|
|
44
|
-
if (isInsideNovumNativeApp(platformOverrides) && !isAndroid(platformOverrides)) {
|
|
45
|
-
return true;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
return false;
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Returns true if the browser is a safari browser:
|
|
53
|
-
* webview, mobile, desktop or a browser like Chrome for iOS which is just a safari with a skin
|
|
54
|
-
*
|
|
55
|
-
* Note that this function checks the navigator vendor. It doesn't use platformOverrides or userAgent.
|
|
56
|
-
*/
|
|
57
|
-
export const isSafari = (): boolean => {
|
|
58
|
-
return navigator.vendor.includes('Apple');
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
export const isFirefox = (platformOverrides?: Theme['platformOverrides']): boolean =>
|
|
62
|
-
!!getUserAgent(platformOverrides).match(/Firefox\/([0-9]+)\./);
|
|
63
|
-
|
|
64
|
-
export const isChrome = (platformOverrides: Theme['platformOverrides']): boolean =>
|
|
65
|
-
!!getUserAgent(platformOverrides).match(/Chrom(e|ium)\/([0-9]+)\./);
|
|
66
|
-
|
|
67
|
-
const SEMVER_ZERO = '0.0.0';
|
|
68
|
-
export const getIosVersion = (platformOverrides: Theme['platformOverrides']): string => {
|
|
69
|
-
if (!isIos(platformOverrides)) {
|
|
70
|
-
return SEMVER_ZERO;
|
|
71
|
-
}
|
|
72
|
-
const raw = getUserAgent(platformOverrides).match(/OS ((\d+_?){1,3})[\s_]/);
|
|
73
|
-
if (!raw || !raw[1]) {
|
|
74
|
-
return SEMVER_ZERO;
|
|
75
|
-
}
|
|
76
|
-
const [major, minor = '0', patch = '0'] = raw[1].split('_');
|
|
77
|
-
return [major, minor, patch].join('.');
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
export const getPlatform = (
|
|
81
|
-
platformOverrides: Theme['platformOverrides'] = {}
|
|
82
|
-
): 'ios' | 'android' | 'desktop' => {
|
|
83
|
-
const overridenPlatform = platformOverrides.platform;
|
|
84
|
-
if (overridenPlatform) {
|
|
85
|
-
return overridenPlatform;
|
|
86
|
-
}
|
|
87
|
-
if (isIos(platformOverrides)) {
|
|
88
|
-
return 'ios';
|
|
89
|
-
}
|
|
90
|
-
if (isAndroid(platformOverrides)) {
|
|
91
|
-
return 'android';
|
|
92
|
-
}
|
|
93
|
-
return 'desktop';
|
|
94
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type RegionCode = 'AR' | 'BR' | 'CO' | 'DE' | 'EC' | 'ES' | 'GB' | 'MX' | 'PE' | 'UY';
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type * as React from 'react';
|
|
2
|
-
|
|
3
|
-
export type RendersElement<T extends keyof JSX.IntrinsicElements | React.JSXElementConstructor<any>> =
|
|
4
|
-
React.ReactComponentElement<T>;
|
|
5
|
-
export type RendersNullableElement<T extends keyof JSX.IntrinsicElements | React.JSXElementConstructor<any>> =
|
|
6
|
-
React.ReactComponentElement<T> | null;
|
package/src/utils/time.tsx
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
export const getLocalDateString = (date: Date): string => {
|
|
2
|
-
const yyyy = date.getFullYear();
|
|
3
|
-
const mm = String(date.getMonth() + 1).padStart(2, '0');
|
|
4
|
-
const dd = String(date.getDate()).padStart(2, '0');
|
|
5
|
-
return `${yyyy}-${mm}-${dd}`;
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
export const getLocalYearMonthString = (date: Date): string => {
|
|
9
|
-
const yyyy = date.getFullYear();
|
|
10
|
-
const mm = String(date.getMonth() + 1).padStart(2, '0');
|
|
11
|
-
return `${yyyy}-${mm}`;
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
export const getLocalTimeString = (date: Date): string => {
|
|
15
|
-
const h = String(date.getHours()).padStart(2, '0');
|
|
16
|
-
const m = String(date.getMinutes()).padStart(2, '0');
|
|
17
|
-
return `${h}:${m}`;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
export const getLocalDateTimeString = (date: Date): string => {
|
|
21
|
-
return `${getLocalDateString(date)}T${getLocalTimeString(date)}`;
|
|
22
|
-
};
|
package/src/utils/types.tsx
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export type {RendersElement, RendersNullableElement} from './renders-element';
|
|
2
|
-
|
|
3
|
-
export type {TrackingEvent} from '@tef-novum/webview-bridge';
|
|
4
|
-
|
|
5
|
-
export type DataAttributes = {
|
|
6
|
-
[name: string]: string | number | boolean | undefined;
|
|
7
|
-
testid?: string;
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
export type IconProps = {
|
|
11
|
-
color?: string;
|
|
12
|
-
size?: string | number;
|
|
13
|
-
className?: string;
|
|
14
|
-
style?: React.CSSProperties;
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
export type ByBreakpoint<T> = T | {mobile: T; tablet?: T; desktop: T};
|
|
18
|
-
|
|
19
|
-
export type HeadingType = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'span';
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
type AllKeys<T> = T extends unknown ? keyof T : never;
|
|
2
|
-
export type Id<T> = T extends infer U ? {[K in keyof U]: U[K]} : never;
|
|
3
|
-
type _ExclusifyUnion<T, K extends PropertyKey> = T extends unknown
|
|
4
|
-
? Id<T & Partial<Record<Exclude<K, keyof T>, never>>>
|
|
5
|
-
: never;
|
|
6
|
-
|
|
7
|
-
// https://juhanajauhiainen.com/posts/how-to-type-an-object-with-exclusive-or-properties-in-typescript
|
|
8
|
-
export type ExclusifyUnion<T> = _ExclusifyUnion<T, AllKeys<T>>;
|