@orangesk/orange-design-system 3.3.1 → 3.5.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.
Files changed (87) hide show
  1. package/build/apple--dark.svg +4 -0
  2. package/build/apple--white.svg +5 -0
  3. package/build/apple.svg +4 -0
  4. package/build/components/BodyBanner/style.css +1 -1
  5. package/build/components/BodyBanner/style.css.map +1 -1
  6. package/build/components/Carousel/style.css +1 -1
  7. package/build/components/Carousel/style.css.map +1 -1
  8. package/build/components/FeatureAccordion/style.css +1 -1
  9. package/build/components/FeatureAccordion/style.css.map +1 -1
  10. package/build/components/Footer/style.css +1 -1
  11. package/build/components/Footer/style.css.map +1 -1
  12. package/build/components/Megamenu/style.css +1 -1
  13. package/build/components/Megamenu/style.css.map +1 -1
  14. package/build/components/PromoBanner/style.css +1 -1
  15. package/build/components/PromoBanner/style.css.map +1 -1
  16. package/build/components/Table/style.css +1 -1
  17. package/build/components/Table/style.css.map +1 -1
  18. package/build/components/Tooltip/style.css +1 -1
  19. package/build/components/Tooltip/style.css.map +1 -1
  20. package/build/components/index.js +1 -1
  21. package/build/components/index.js.map +1 -1
  22. package/build/components/tsconfig.tsbuildinfo +1 -1
  23. package/build/components/types/index.d.ts +23 -4
  24. package/build/components/types/src/components/Carousel/Carousel.d.ts +3 -1
  25. package/build/components/types/src/components/Carousel/Carousel.static.d.ts +1 -0
  26. package/build/components/types/src/components/Carousel/constants.d.ts +1 -0
  27. package/build/components/types/src/components/Megamenu/Megamenu.d.ts +12 -2
  28. package/build/components/types/src/components/Megamenu/MegamenuBlog.d.ts +1 -1
  29. package/build/components/types/src/components/Megamenu/MyOrangeMobilePanel.d.ts +3 -1
  30. package/build/components/types/src/components/Megamenu/constants.d.ts +19 -2
  31. package/build/components/types/src/components/Megamenu/data.d.ts +8 -0
  32. package/build/components/types/src/components/Megamenu/shared.d.ts +40 -0
  33. package/build/huawei--dark.svg +4 -0
  34. package/build/huawei--white.svg +5 -0
  35. package/build/huawei.svg +4 -0
  36. package/build/images/phones.png +0 -0
  37. package/build/lib/base.css +1 -1
  38. package/build/lib/base.css.map +1 -1
  39. package/build/lib/components.css +1 -1
  40. package/build/lib/components.css.map +1 -1
  41. package/build/lib/footer.css +1 -1
  42. package/build/lib/footer.css.map +1 -1
  43. package/build/lib/megamenu.css +1 -1
  44. package/build/lib/megamenu.css.map +1 -1
  45. package/build/lib/megamenu.js +1 -1
  46. package/build/lib/megamenu.js.map +1 -1
  47. package/build/lib/scripts.js +1 -1
  48. package/build/lib/scripts.js.map +1 -1
  49. package/build/lib/style.css +1 -1
  50. package/build/lib/style.css.map +1 -1
  51. package/build/lib/utilities.css +1 -1
  52. package/build/lib/utilities.css.map +1 -1
  53. package/build/play--dark.svg +7 -0
  54. package/build/play--white.svg +7 -0
  55. package/build/play.svg +7 -0
  56. package/package.json +15 -15
  57. package/src/components/BodyBanner/styles/mixins.scss +6 -0
  58. package/src/components/Carousel/Carousel.static.ts +25 -9
  59. package/src/components/Carousel/Carousel.tsx +5 -0
  60. package/src/components/Carousel/constants.ts +1 -0
  61. package/src/components/Carousel/styles/style.scss +2 -1
  62. package/src/components/Carousel/tests/Carousel.static.test.jsx +85 -0
  63. package/src/components/Carousel/tests/Carousel.unit.test.jsx +9 -0
  64. package/src/components/FeatureAccordion/styles/mixins.scss +6 -0
  65. package/src/components/Footer/styles/style.scss +2 -0
  66. package/src/components/Megamenu/LogoJeTu.tsx +12 -7
  67. package/src/components/Megamenu/Megamenu.static.ts +1 -1
  68. package/src/components/Megamenu/Megamenu.tsx +432 -316
  69. package/src/components/Megamenu/MegamenuBlog.tsx +90 -123
  70. package/src/components/Megamenu/MyOrangeMobilePanel.tsx +129 -84
  71. package/src/components/Megamenu/constants.ts +19 -2
  72. package/src/components/Megamenu/data.ts +53 -15
  73. package/src/components/Megamenu/shared.tsx +154 -0
  74. package/src/components/Megamenu/styles/mixins.scss +313 -29
  75. package/src/components/Megamenu/styles/style.scss +91 -8
  76. package/src/components/Megamenu/tests/Megamenu.unit.test.jsx +108 -4
  77. package/src/components/PromoBanner/PromoBanner.tsx +0 -2
  78. package/src/components/PromoBanner/styles/mixins.scss +3 -4
  79. package/src/components/PromoBanner/tests/PromoBanner.unit.test.jsx +3 -3
  80. package/src/components/Table/styles/config.scss +1 -0
  81. package/src/components/Table/styles/style.scss +6 -0
  82. package/src/components/Tooltip/styles/style.scss +5 -0
  83. package/src/styles/base/globals.scss +5 -5
  84. package/src/styles/base/styleguide.scss +1 -1
  85. package/src/styles/export/color.js +1 -1
  86. package/src/styles/shame.scss +1 -1
  87. package/src/styles/tokens/color.scss +1 -1
@@ -1,5 +1,4 @@
1
1
  import cx from "classnames";
2
- import { BrandMark } from "./BrandMark";
3
2
  import {
4
3
  CLASS_CAPTION,
5
4
  CLASS_CONTAINER,
@@ -8,11 +7,8 @@ import {
8
7
  CLASS_LIST_GAP_SMALL,
9
8
  CLASS_LIST_INLINE,
10
9
  CLASS_MAIN,
11
- CLASS_MOBILE,
12
10
  CLASS_MOBILE_BODY,
13
11
  CLASS_MOBILE_HEADER,
14
- CLASS_MOBILE_OVERLAY,
15
- CLASS_MOBILE_WRAPPER,
16
12
  CLASS_NAV,
17
13
  CLASS_NAV_BUTTON,
18
14
  CLASS_NAV_DROPDOWN,
@@ -22,7 +18,6 @@ import {
22
18
  CLASS_NAV_ITEM_MAIN,
23
19
  CLASS_NAV_LINK,
24
20
  CLASS_NAV_LINK_NO_LINE,
25
- CLASS_NAV_LOGO,
26
21
  CLASS_NAV_SPACE_SMALL,
27
22
  CLASS_NAV_SPACER,
28
23
  CLASS_NAV_VERTICAL,
@@ -35,11 +30,17 @@ import {
35
30
  CLASS_TAG_TRANSPARENT,
36
31
  } from "./constants";
37
32
  import { getMegamenuIds } from "./ids";
38
- import { Logo } from "./Logo";
39
33
  import { MegamenuIcon } from "./MegaMenuIcon";
40
34
  import { MegamenuProps } from "./Megamenu";
41
35
  import { MegamenuSearchContent } from "./MegamenuSearchContent";
42
36
  import { MyOrangeMobilePanel } from "./MyOrangeMobilePanel";
37
+ import {
38
+ getMegamenuSearchState,
39
+ MegamenuCloseButton,
40
+ MegamenuLogoLink,
41
+ MegamenuMobilePanel,
42
+ MegamenuSearchDropdown,
43
+ } from "./shared";
43
44
 
44
45
  const blogCategories = [
45
46
  "Kategória 1",
@@ -52,22 +53,21 @@ const blogCategories = [
52
53
  export const MegamenuBlog = ({
53
54
  className,
54
55
  title = "Človek",
55
- isSticky = true,
56
+ notSticky = false,
56
57
  searchEmpty,
57
58
  searchFilled,
58
59
  compactLogoOnly = false,
60
+ isB2B = false,
59
61
  }: MegamenuProps) => {
60
62
  const ids = getMegamenuIds("blog");
61
- const hasSearchEmpty = Boolean(searchEmpty);
62
- const hasSearchFilled = Boolean(searchFilled);
63
- const showSearchState = hasSearchEmpty || hasSearchFilled;
64
- const searchValue = hasSearchEmpty ? "" : hasSearchFilled ? "apple" : "";
63
+ const { hasSearchEmpty, hasSearchFilled, showSearchState, searchValue } =
64
+ getMegamenuSearchState(searchEmpty, searchFilled);
65
65
 
66
66
  return (
67
67
  <header>
68
68
  <nav
69
69
  className={cx(CLASS_ROOT, className, {
70
- "is-sticky": isSticky,
70
+ "non-sticky": notSticky,
71
71
  })}
72
72
  data-megamenu
73
73
  aria-label="Main navigation"
@@ -76,14 +76,12 @@ export const MegamenuBlog = ({
76
76
  <div className={CLASS_CONTAINER}>
77
77
  <ul className={CLASS_NAV} aria-label="Hlavné menu">
78
78
  <li className={cx(CLASS_NAV_ITEM, CLASS_NAV_ITEM_MAIN)}>
79
- <a
80
- href="/"
81
- className={CLASS_NAV_LOGO}
82
- aria-label={`${title} - Domovská stránka`}
79
+ <MegamenuLogoLink
80
+ compactLogoOnly={compactLogoOnly}
81
+ title={title}
83
82
  >
84
- {compactLogoOnly ? <Logo /> : <BrandMark />}
85
83
  <span>{title}</span>
86
- </a>
84
+ </MegamenuLogoLink>
87
85
  </li>
88
86
 
89
87
  <li
@@ -120,20 +118,14 @@ export const MegamenuBlog = ({
120
118
  />
121
119
  </button>
122
120
 
123
- <div
124
- className={cx(CLASS_NAV_DROPDOWN, "is-spaced")}
125
- id={ids.searchDropdownId}
126
- >
127
- <div className={CLASS_CONTAINER}>
128
- <MegamenuSearchContent
129
- inputId={ids.searchInputDesktopId}
130
- inputLabel="Vyhľadávanie v blog menu"
131
- searchValue={searchValue}
132
- hasSearchEmpty={hasSearchEmpty}
133
- hasSearchFilled={hasSearchFilled}
134
- />
135
- </div>
136
- </div>
121
+ <MegamenuSearchDropdown
122
+ dropdownId={ids.searchDropdownId}
123
+ inputId={ids.searchInputDesktopId}
124
+ inputLabel="Vyhľadávanie v blog menu"
125
+ searchValue={searchValue}
126
+ hasSearchEmpty={hasSearchEmpty}
127
+ hasSearchFilled={hasSearchFilled}
128
+ />
137
129
  </li>
138
130
  <li className={CLASS_NAV_ITEM}>
139
131
  <button
@@ -307,110 +299,85 @@ export const MegamenuBlog = ({
307
299
 
308
300
  {/* MOBILE MENU */}
309
301
 
310
- <div
311
- // className={cx(CLASS_MOBILE, "is-active")}
312
- className={cx(CLASS_MOBILE)}
313
- data-megamenu-mobile-panel="main"
314
- id={ids.mobileMainPanelId}
315
- role="dialog"
316
- aria-modal="true"
317
- aria-labelledby={ids.mobileMainTitleId}
318
- aria-hidden="true"
302
+ <MegamenuMobilePanel
303
+ panelId={ids.mobileMainPanelId}
304
+ titleId={ids.mobileMainTitleId}
305
+ target="main"
306
+ title="Hlavné menu"
307
+ overlayAriaLabel="Zatvoriť menu"
319
308
  >
320
- <span id={ids.mobileMainTitleId} className="sr-only">
321
- Hlavné menu
322
- </span>
323
- <button
324
- aria-label="Zatvoriť menu"
325
- className={CLASS_MOBILE_OVERLAY}
326
- type="button"
327
- />
328
-
329
- <div className={CLASS_MOBILE_WRAPPER}>
330
- <div className={CLASS_MOBILE_HEADER}>
331
- <div className={CLASS_CONTAINER}>
332
- <ul className={cx(CLASS_NAV, CLASS_NAV_SPACE_SMALL)}>
333
- <li className={CLASS_NAV_ITEM}>
334
- <a
335
- href="/"
336
- className={CLASS_NAV_LOGO}
337
- aria-label={`${title} - Domovská stránka`}
338
- >
339
- {compactLogoOnly ? <Logo /> : <BrandMark />}
340
- <span>{title}</span>
341
- </a>
342
- </li>
309
+ <div className={CLASS_MOBILE_HEADER}>
310
+ <div className={CLASS_CONTAINER}>
311
+ <ul className={cx(CLASS_NAV, CLASS_NAV_SPACE_SMALL)}>
312
+ <li className={CLASS_NAV_ITEM}>
313
+ <MegamenuLogoLink
314
+ compactLogoOnly={compactLogoOnly}
315
+ title={title}
316
+ >
317
+ <span>{title}</span>
318
+ </MegamenuLogoLink>
319
+ </li>
343
320
 
344
- <li className={CLASS_NAV_SPACER} aria-hidden="true"></li>
321
+ <li className={CLASS_NAV_SPACER} aria-hidden="true"></li>
345
322
 
346
- <li className={CLASS_NAV_ITEM}>
347
- <button
348
- type="button"
349
- data-megamenu-close-button
350
- data-megamenu-mobile-target="main"
351
- className={CLASS_NAV_BUTTON}
352
- aria-label="Zatvoriť menu"
353
- >
354
- <MegamenuIcon
355
- name="close"
356
- width={20}
357
- height={20}
358
- aria-hidden="true"
359
- />
360
- </button>
361
- </li>
362
- </ul>
363
- </div>
323
+ <li className={CLASS_NAV_ITEM}>
324
+ <MegamenuCloseButton
325
+ ariaLabel="Zatvoriť menu"
326
+ target="main"
327
+ />
328
+ </li>
329
+ </ul>
364
330
  </div>
365
- <div className={CLASS_MOBILE_BODY}>
366
- <div className={CLASS_CONTAINER}>
367
- <MegamenuSearchContent
368
- inputId={ids.searchInputMobileId}
369
- inputLabel="Vyhľadávanie v mobilnom blog menu"
370
- searchValue={searchValue}
371
- hasSearchEmpty={hasSearchEmpty}
372
- hasSearchFilled={hasSearchFilled}
373
- />
374
-
375
- {!showSearchState ? (
376
- <>
377
- <p className={CLASS_CAPTION}>Kategórie</p>
378
- <ul className={cx(CLASS_SUBNAV, CLASS_LIST_GAP_SMALL)}>
379
- {blogCategories.map((category) => (
380
- <li key={category}>
381
- <a
382
- href="/"
383
- className={cx(
384
- CLASS_TAG,
385
- CLASS_TAG_TRANSPARENT,
386
- CLASS_TAG_LARGE,
387
- )}
388
- >
389
- {category}
390
- </a>
391
- </li>
392
- ))}
393
- </ul>
394
-
395
- <hr className="mt-none" />
331
+ </div>
332
+ <div className={CLASS_MOBILE_BODY}>
333
+ <div className={CLASS_CONTAINER}>
334
+ <MegamenuSearchContent
335
+ inputId={ids.searchInputMobileId}
336
+ inputLabel="Vyhľadávanie v mobilnom blog menu"
337
+ searchValue={searchValue}
338
+ hasSearchEmpty={hasSearchEmpty}
339
+ hasSearchFilled={hasSearchFilled}
340
+ />
396
341
 
397
- <ul className={cx(CLASS_NAV, CLASS_NAV_VERTICAL)}>
398
- <li className={CLASS_NAV_ITEM}>
399
- <a href="/" className={CLASS_NAV_BUTTON}>
400
- Naspať na Orange
342
+ {!showSearchState ? (
343
+ <>
344
+ <p className={CLASS_CAPTION}>Kategórie</p>
345
+ <ul className={cx(CLASS_SUBNAV, CLASS_LIST_GAP_SMALL)}>
346
+ {blogCategories.map((category) => (
347
+ <li key={category}>
348
+ <a
349
+ href="/"
350
+ className={cx(
351
+ CLASS_TAG,
352
+ CLASS_TAG_TRANSPARENT,
353
+ CLASS_TAG_LARGE,
354
+ )}
355
+ >
356
+ {category}
401
357
  </a>
402
358
  </li>
403
- </ul>
404
- </>
405
- ) : null}
406
- </div>
359
+ ))}
360
+ </ul>
361
+
362
+ <hr className="mt-none" />
363
+
364
+ <ul className={cx(CLASS_NAV, CLASS_NAV_VERTICAL)}>
365
+ <li className={CLASS_NAV_ITEM}>
366
+ <a href="/" className={CLASS_NAV_BUTTON}>
367
+ Naspať na Orange
368
+ </a>
369
+ </li>
370
+ </ul>
371
+ </>
372
+ ) : null}
407
373
  </div>
408
374
  </div>
409
- </div>
375
+ </MegamenuMobilePanel>
410
376
 
411
377
  <MyOrangeMobilePanel
412
378
  panelId={ids.myOrangePanelId}
413
379
  titleId={ids.myOrangeTitleId}
380
+ isB2B={isB2B}
414
381
  />
415
382
 
416
383
  <button
@@ -1,21 +1,23 @@
1
1
  import cx from "classnames";
2
2
  import {
3
+ CLASS_BUTTON,
4
+ CLASS_BUTTON_SECONDARY,
3
5
  CLASS_CONTAINER,
4
- CLASS_MOBILE,
5
6
  CLASS_MOBILE_ACCOUNT,
6
7
  CLASS_MOBILE_ACCOUNT_AVATAR,
7
- CLASS_MOBILE_ACCOUNT_CTA,
8
8
  CLASS_MOBILE_ACCOUNT_LINK,
9
9
  CLASS_MOBILE_ACCOUNT_LINKS,
10
10
  CLASS_MOBILE_ACCOUNT_LOGOUT,
11
- CLASS_MOBILE_ACCOUNT_NAME,
12
11
  CLASS_MOBILE_ACCOUNT_PHONE,
12
+ CLASS_MOBILE_APP_CARD,
13
+ CLASS_MOBILE_APP_CARD_IMAGE,
14
+ CLASS_MOBILE_APP_CARD_SECTION,
15
+ CLASS_MOBILE_APP_CARD_STORE,
16
+ CLASS_MOBILE_APP_CARD_STORES,
17
+ CLASS_MOBILE_APP_CARD_TITLE,
13
18
  CLASS_MOBILE_BODY,
14
19
  CLASS_MOBILE_HEADER,
15
- CLASS_MOBILE_OVERLAY,
16
- CLASS_MOBILE_WRAPPER,
17
20
  CLASS_NAV,
18
- CLASS_NAV_BUTTON,
19
21
  CLASS_NAV_ITEM,
20
22
  CLASS_NAV_SPACE_SMALL,
21
23
  CLASS_NAV_SPACER,
@@ -23,104 +25,147 @@ import {
23
25
  CLASS_SUBNAV_ITEM,
24
26
  } from "./constants";
25
27
  import { MegamenuIcon } from "./MegaMenuIcon";
28
+ import { MegamenuCloseButton, MegamenuMobilePanel } from "./shared";
26
29
 
27
30
  type MyOrangeMobilePanelProps = {
28
31
  titleId: string;
29
32
  panelId?: string;
33
+ isB2B?: boolean;
34
+ isLoggedIn?: boolean;
30
35
  };
31
36
 
32
37
  export const MyOrangeMobilePanel = ({
33
38
  titleId,
34
39
  panelId,
40
+ isB2B = false,
41
+ isLoggedIn = true,
35
42
  }: MyOrangeMobilePanelProps) => {
36
43
  return (
37
- <div
38
- className={cx(CLASS_MOBILE)}
39
- data-megamenu-mobile-panel="my-orange"
40
- id={panelId}
41
- role="dialog"
42
- aria-modal="true"
43
- aria-labelledby={titleId}
44
- aria-hidden="true"
44
+ <MegamenuMobilePanel
45
+ titleId={titleId}
46
+ panelId={panelId}
47
+ target="my-orange"
48
+ title="Môj Orange"
49
+ overlayAriaLabel="Zatvoriť panel Môj Orange"
45
50
  >
46
- <h2 id={titleId} className="sr-only">
47
- Môj Orange
48
- </h2>
49
- <button
50
- aria-label="Zatvoriť panel Môj Orange"
51
- className={CLASS_MOBILE_OVERLAY}
52
- type="button"
53
- data-megamenu-close-button
54
- data-megamenu-mobile-target="my-orange"
55
- />
51
+ <div className={CLASS_MOBILE_HEADER}>
52
+ <div className={CLASS_CONTAINER}>
53
+ <ul className={cx(CLASS_NAV, CLASS_NAV_SPACE_SMALL)}>
54
+ <li className={CLASS_NAV_SPACER} aria-hidden="true"></li>
55
+ <li className={CLASS_NAV_ITEM}>
56
+ <MegamenuCloseButton
57
+ ariaLabel="Zatvoriť panel Môj Orange"
58
+ target="my-orange"
59
+ />
60
+ </li>
61
+ </ul>
62
+ </div>
63
+ </div>
64
+ <div className={CLASS_MOBILE_BODY}>
65
+ <div className={CLASS_CONTAINER}>
66
+ <div className={CLASS_MOBILE_ACCOUNT}>
67
+ <div className={CLASS_MOBILE_ACCOUNT_AVATAR} aria-hidden="true">
68
+ <MegamenuIcon name="user" width={72} height={72} />
69
+ </div>
70
+ {isLoggedIn ? (
71
+ <>
72
+ <p className={CLASS_MOBILE_ACCOUNT_PHONE}>0905 123 456</p>
73
+ <a href="#" className={CLASS_MOBILE_ACCOUNT_LOGOUT}>
74
+ Odhlásiť
75
+ </a>
76
+ <a href="#" className={CLASS_BUTTON}>
77
+ Orange Business
78
+ </a>
79
+ {isB2B ? (
80
+ <a
81
+ href="#"
82
+ className={cx(CLASS_BUTTON, CLASS_BUTTON_SECONDARY)}
83
+ >
84
+ My Orange
85
+ </a>
86
+ ) : null}
87
+ </>
88
+ ) : (
89
+ <a href="#" className={CLASS_BUTTON}>
90
+ Prihlásenie
91
+ </a>
92
+ )}
93
+ </div>
94
+ </div>
56
95
 
57
- <div className={CLASS_MOBILE_WRAPPER}>
58
- <div className={CLASS_MOBILE_HEADER}>
59
- <div className={CLASS_CONTAINER}>
60
- <ul className={cx(CLASS_NAV, CLASS_NAV_SPACE_SMALL)}>
61
- <li className={CLASS_NAV_SPACER} aria-hidden="true"></li>
62
- <li className={CLASS_NAV_ITEM}>
63
- <button
64
- type="button"
65
- data-megamenu-close-button
66
- data-megamenu-mobile-target="my-orange"
67
- className={CLASS_NAV_BUTTON}
68
- aria-label="Zatvoriť panel Môj Orange"
69
- >
70
- <MegamenuIcon
71
- name="close"
72
- width={20}
73
- height={20}
74
- aria-hidden="true"
75
- />
76
- </button>
96
+ <div className={CLASS_CONTAINER}>
97
+ <nav aria-label="Môj Orange rýchle akcie">
98
+ <ul className={cx(CLASS_SUBNAV, CLASS_MOBILE_ACCOUNT_LINKS)}>
99
+ <li className={CLASS_SUBNAV_ITEM}>
100
+ <a href="#" className={CLASS_MOBILE_ACCOUNT_LINK}>
101
+ Zaplatiť faktúru
102
+ </a>
103
+ </li>
104
+ <li className={CLASS_SUBNAV_ITEM}>
105
+ <a href="#" className={CLASS_MOBILE_ACCOUNT_LINK}>
106
+ Pozrieť spotrebu
107
+ </a>
108
+ </li>
109
+ <li className={CLASS_SUBNAV_ITEM}>
110
+ <a href="#" className={CLASS_MOBILE_ACCOUNT_LINK}>
111
+ Aktivovať služby
112
+ </a>
113
+ </li>
114
+ <li className={CLASS_SUBNAV_ITEM}>
115
+ <a href="#" className={CLASS_MOBILE_ACCOUNT_LINK}>
116
+ Dobiť kredit
117
+ </a>
77
118
  </li>
78
119
  </ul>
79
- </div>
120
+ </nav>
80
121
  </div>
81
- <div className={CLASS_MOBILE_BODY}>
82
- <div className={CLASS_CONTAINER}>
83
- <div className={CLASS_MOBILE_ACCOUNT}>
84
- <div className={CLASS_MOBILE_ACCOUNT_AVATAR} aria-hidden="true">
85
- <MegamenuIcon name="user" width={72} height={72} />
122
+
123
+ <div className={CLASS_CONTAINER}>
124
+ <div className={cx(CLASS_MOBILE_APP_CARD)}>
125
+ <div className={CLASS_MOBILE_APP_CARD_SECTION}>
126
+ <h2 className={CLASS_MOBILE_APP_CARD_TITLE}>
127
+ Stiahnite si aplikáciu
128
+ <br />
129
+ Môj Orange
130
+ </h2>
131
+ <div className={CLASS_MOBILE_APP_CARD_STORES}>
132
+ <a
133
+ href="#"
134
+ className={CLASS_MOBILE_APP_CARD_STORE}
135
+ aria-label="Stiahnuť aplikáciu z App Store"
136
+ >
137
+ <img
138
+ src={isB2B ? "/apple--white.svg" : "/apple.svg"}
139
+ alt=""
140
+ />
141
+ </a>
142
+ <a
143
+ href="#"
144
+ className={CLASS_MOBILE_APP_CARD_STORE}
145
+ aria-label="Stiahnuť aplikáciu z Google Play"
146
+ >
147
+ <img src={isB2B ? "/play--white.svg" : "/play.svg"} alt="" />
148
+ </a>
149
+ <a
150
+ href="#"
151
+ className={CLASS_MOBILE_APP_CARD_STORE}
152
+ aria-label="Stiahnuť aplikáciu z Huawei AppGallery"
153
+ >
154
+ <img
155
+ src={isB2B ? "/huawei--white.svg" : "/huawei.svg"}
156
+ alt=""
157
+ />
158
+ </a>
86
159
  </div>
87
- <p className={CLASS_MOBILE_ACCOUNT_NAME}>Martin Prihlásený</p>
88
- <p className={CLASS_MOBILE_ACCOUNT_PHONE}>0905 123 456</p>
89
- <a href="#" className={CLASS_MOBILE_ACCOUNT_LOGOUT}>
90
- Odhlásiť
91
- </a>
92
- <a href="#" className={CLASS_MOBILE_ACCOUNT_CTA}>
93
- My Orange
94
- </a>
95
160
  </div>
96
-
97
- <nav aria-label="Môj Orange rýchle akcie">
98
- <ul className={cx(CLASS_SUBNAV, CLASS_MOBILE_ACCOUNT_LINKS)}>
99
- <li className={CLASS_SUBNAV_ITEM}>
100
- <a href="#" className={CLASS_MOBILE_ACCOUNT_LINK}>
101
- Zaplatiť faktúru
102
- </a>
103
- </li>
104
- <li className={CLASS_SUBNAV_ITEM}>
105
- <a href="#" className={CLASS_MOBILE_ACCOUNT_LINK}>
106
- Pozrieť spotrebu
107
- </a>
108
- </li>
109
- <li className={CLASS_SUBNAV_ITEM}>
110
- <a href="#" className={CLASS_MOBILE_ACCOUNT_LINK}>
111
- Aktivovať služby
112
- </a>
113
- </li>
114
- <li className={CLASS_SUBNAV_ITEM}>
115
- <a href="#" className={CLASS_MOBILE_ACCOUNT_LINK}>
116
- Dobiť kredit
117
- </a>
118
- </li>
119
- </ul>
120
- </nav>
161
+ <img
162
+ className={CLASS_MOBILE_APP_CARD_IMAGE}
163
+ src="/images/phones.png"
164
+ alt=""
165
+ />
121
166
  </div>
122
167
  </div>
123
168
  </div>
124
- </div>
169
+ </MegamenuMobilePanel>
125
170
  );
126
171
  };
@@ -6,6 +6,11 @@ export const CLASS_SUBMAIN = `${CLASS_ROOT}__submain`;
6
6
  export const CLASS_CONTAINER = `${CLASS_ROOT}__container`;
7
7
  export const CLASS_GRID = `${CLASS_ROOT}__grid`;
8
8
  export const CLASS_CARD = `${CLASS_ROOT}__card`;
9
+ export const CLASS_TILES = `${CLASS_ROOT}__tiles`;
10
+ export const CLASS_TILE = `${CLASS_ROOT}__tile`;
11
+ export const CLASS_TILE_BODY = `${CLASS_ROOT}__tile-body`;
12
+ export const CLASS_TILE_CONTENT = `${CLASS_ROOT}__tile-content`;
13
+ export const CLASS_TILE_LABEL = `${CLASS_ROOT}__tile-label`;
9
14
  export const CLASS_NAV = `${CLASS_ROOT}__nav`;
10
15
  export const CLASS_NAV_VERTICAL = `${CLASS_ROOT}__nav--vertical`;
11
16
  export const CLASS_NAV_SPACE_SMALL = `${CLASS_ROOT}__nav--space-small`;
@@ -16,13 +21,17 @@ export const CLASS_NAV_ITEM_MAIN = `${CLASS_ROOT}__nav-item--main`;
16
21
  export const CLASS_NAV_LINK = `${CLASS_ROOT}__nav-link`;
17
22
  export const CLASS_NAV_LINK_LOCALE = `${CLASS_ROOT}__nav-link--locale`;
18
23
  export const CLASS_NAV_LINK_NO_LINE = `${CLASS_ROOT}__nav-link--no-line`;
24
+ export const CLASS_NAV_LINK_CTA = `${CLASS_ROOT}__nav-link--cta`;
25
+ export const CLASS_NAV_SELECT = `${CLASS_ROOT}__nav-select`;
19
26
  export const CLASS_NAV_CART_ICON = `${CLASS_ROOT}__nav-cart-icon`;
20
27
  export const CLASS_NAV_SPACER = `${CLASS_ROOT}__nav-spacer`;
21
28
  export const CLASS_NAV_ICON = `${CLASS_ROOT}__nav-icon`;
22
29
  export const CLASS_NAV_ICON_NO_GAP_MD_DOWN = `${CLASS_NAV_ICON}--no-gap-md-down`;
30
+ export const CLASS_NAV_ICON_CTA = `${CLASS_NAV_ICON}--cta`;
23
31
  export const CLASS_NAV_LOGO = `${CLASS_ROOT}__nav-logo`;
24
32
  export const CLASS_NAV_BUTTON = `${CLASS_ROOT}__nav-button`;
25
33
  export const CLASS_NAV_BUTTON_INDICATOR = `${CLASS_ROOT}__nav-button--indicator`;
34
+ export const CLASS_NAV_SELECT_WRAPPER = `${CLASS_ROOT}__nav-button--select`;
26
35
  export const CLASS_NAV_DROPDOWN = `${CLASS_ROOT}__nav-dropdown`;
27
36
  export const CLASS_SUBNAV = `${CLASS_ROOT}__subnav`;
28
37
  export const CLASS_SUBNAV_ITEM = `${CLASS_ROOT}__subnav-item`;
@@ -34,6 +43,7 @@ export const CLASS_TEXT_LARGE = `${CLASS_ROOT}__text--large`;
34
43
  export const CLASS_CAPTION = `${CLASS_ROOT}__caption`;
35
44
  export const CLASS_CAPTION_LARGE = `${CLASS_ROOT}__caption--large`;
36
45
  export const CLASS_HIDE_MD_DOWN = `${CLASS_ROOT}--hide-md-down`;
46
+ export const CLASS_HIDE_LG_ONLY = `${CLASS_ROOT}--hide-lg-only`;
37
47
  export const CLASS_HIDE_LG_UP = `${CLASS_ROOT}--hide-lg-up`;
38
48
  export const CLASS_ALIGN_CENTER = `${CLASS_ROOT}--align-center`;
39
49
 
@@ -42,14 +52,21 @@ export const CLASS_MOBILE_OVERLAY = `${CLASS_ROOT}__mobile-overlay`;
42
52
  export const CLASS_MOBILE_WRAPPER = `${CLASS_ROOT}__mobile-wrapper`;
43
53
  export const CLASS_MOBILE_HEADER = `${CLASS_ROOT}__mobile-header`;
44
54
  export const CLASS_MOBILE_BODY = `${CLASS_ROOT}__mobile-body`;
55
+ export const CLASS_MOBILE_CTA = `${CLASS_ROOT}__mobile-cta`;
45
56
  export const CLASS_MOBILE_ACCOUNT = `${CLASS_ROOT}__mobile-account`;
46
57
  export const CLASS_MOBILE_ACCOUNT_AVATAR = `${CLASS_ROOT}__mobile-account-avatar`;
47
- export const CLASS_MOBILE_ACCOUNT_NAME = `${CLASS_ROOT}__mobile-account-name`;
48
58
  export const CLASS_MOBILE_ACCOUNT_PHONE = `${CLASS_ROOT}__mobile-account-phone`;
49
59
  export const CLASS_MOBILE_ACCOUNT_LOGOUT = `${CLASS_ROOT}__mobile-account-logout`;
50
- export const CLASS_MOBILE_ACCOUNT_CTA = `${CLASS_ROOT}__mobile-account-cta`;
60
+ export const CLASS_BUTTON = `${CLASS_ROOT}__button`;
61
+ export const CLASS_BUTTON_SECONDARY = `${CLASS_BUTTON}--secondary`;
51
62
  export const CLASS_MOBILE_ACCOUNT_LINKS = `${CLASS_ROOT}__mobile-account-links`;
52
63
  export const CLASS_MOBILE_ACCOUNT_LINK = `${CLASS_ROOT}__mobile-account-link`;
64
+ export const CLASS_MOBILE_APP_CARD = `${CLASS_ROOT}__mobile-app-card`;
65
+ export const CLASS_MOBILE_APP_CARD_SECTION = `${CLASS_MOBILE_APP_CARD}-section`;
66
+ export const CLASS_MOBILE_APP_CARD_TITLE = `${CLASS_MOBILE_APP_CARD}-title`;
67
+ export const CLASS_MOBILE_APP_CARD_STORES = `${CLASS_MOBILE_APP_CARD}-stores`;
68
+ export const CLASS_MOBILE_APP_CARD_STORE = `${CLASS_MOBILE_APP_CARD}-store`;
69
+ export const CLASS_MOBILE_APP_CARD_IMAGE = `${CLASS_MOBILE_APP_CARD}-image`;
53
70
 
54
71
  // Accordion classes for mobile menu
55
72
  export const CLASS_ACCORDION = `${CLASS_ROOT}__accordion`;