@eleventheye/asui 2.5.5 → 2.7.1

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 (148) hide show
  1. package/dist/apptypes/ASUI.types.d.ts +42 -3
  2. package/dist/apptypes/ASUI.types.d.ts.map +1 -1
  3. package/dist/apptypes/ASUI.types.js +18 -1
  4. package/dist/apptypes/index.d.ts +1 -1
  5. package/dist/apptypes/index.d.ts.map +1 -1
  6. package/dist/apptypes/index.js +5 -1
  7. package/dist/asdropdown/ASDropdown.js +1 -1
  8. package/dist/asiconbutton/ASIconButton.d.ts +5 -0
  9. package/dist/asiconbutton/ASIconButton.d.ts.map +1 -0
  10. package/dist/asiconbutton/ASIconButton.js +31 -0
  11. package/dist/asiconbutton/ASIconButton.types.d.ts +17 -0
  12. package/dist/asiconbutton/ASIconButton.types.d.ts.map +1 -0
  13. package/dist/asiconbutton/ASIconButton.types.js +2 -0
  14. package/dist/asiconbutton/index.d.ts +3 -0
  15. package/dist/asiconbutton/index.d.ts.map +1 -0
  16. package/dist/asiconbutton/index.js +6 -0
  17. package/dist/asiconbutton/styles.d.ts +6 -0
  18. package/dist/asiconbutton/styles.d.ts.map +1 -0
  19. package/dist/asiconbutton/styles.js +179 -0
  20. package/dist/asmodal/ASModal.d.ts +5 -0
  21. package/dist/asmodal/ASModal.d.ts.map +1 -0
  22. package/dist/asmodal/ASModal.js +31 -0
  23. package/dist/asmodal/ASModal.types.d.ts +8 -0
  24. package/dist/asmodal/ASModal.types.d.ts.map +1 -0
  25. package/dist/asmodal/ASModal.types.js +2 -0
  26. package/dist/asmodal/index.d.ts +3 -0
  27. package/dist/asmodal/index.d.ts.map +1 -0
  28. package/dist/asmodal/index.js +6 -0
  29. package/dist/asmodal/styles.d.ts +2 -0
  30. package/dist/asmodal/styles.d.ts.map +1 -0
  31. package/dist/asmodal/styles.js +14 -0
  32. package/dist/asnavbar/ASNavBar.d.ts +5 -1
  33. package/dist/asnavbar/ASNavBar.d.ts.map +1 -1
  34. package/dist/asnavbar/ASNavBar.js +76 -45
  35. package/dist/asnavbar/ASNavBar.types.d.ts +8 -3
  36. package/dist/asnavbar/ASNavBar.types.d.ts.map +1 -1
  37. package/dist/asnavbar/desktop/ASNavBarDW.d.ts +5 -0
  38. package/dist/asnavbar/desktop/ASNavBarDW.d.ts.map +1 -0
  39. package/dist/asnavbar/desktop/ASNavBarDW.js +87 -0
  40. package/dist/asnavbar/desktop/index.d.ts +3 -0
  41. package/dist/asnavbar/desktop/index.d.ts.map +1 -0
  42. package/dist/asnavbar/desktop/index.js +6 -0
  43. package/dist/asnavbar/desktop/styles.d.ts +37 -0
  44. package/dist/asnavbar/desktop/styles.d.ts.map +1 -0
  45. package/dist/asnavbar/desktop/styles.js +133 -0
  46. package/dist/asnavbar/mobile/ASNavBarMW.d.ts +5 -0
  47. package/dist/asnavbar/mobile/ASNavBarMW.d.ts.map +1 -0
  48. package/dist/asnavbar/mobile/ASNavBarMW.js +98 -0
  49. package/dist/asnavbar/mobile/index.d.ts +3 -0
  50. package/dist/asnavbar/mobile/index.d.ts.map +1 -0
  51. package/dist/asnavbar/mobile/index.js +6 -0
  52. package/dist/asnavbar/mobile/styles.d.ts +62 -0
  53. package/dist/asnavbar/mobile/styles.d.ts.map +1 -0
  54. package/dist/asnavbar/mobile/styles.js +247 -0
  55. package/dist/asnavbar/navbararrowbuttons/ASNavBarArrowButtons.d.ts +7 -0
  56. package/dist/asnavbar/navbararrowbuttons/ASNavBarArrowButtons.d.ts.map +1 -0
  57. package/dist/asnavbar/navbararrowbuttons/ASNavBarArrowButtons.js +23 -0
  58. package/dist/asnavbar/navbararrowbuttons/ASNavBarArrowButtons.types.d.ts +22 -0
  59. package/dist/asnavbar/navbararrowbuttons/ASNavBarArrowButtons.types.d.ts.map +1 -0
  60. package/dist/asnavbar/navbararrowbuttons/ASNavBarArrowButtons.types.js +2 -0
  61. package/dist/asnavbar/navbararrowbuttons/index.d.ts +3 -0
  62. package/dist/asnavbar/navbararrowbuttons/index.d.ts.map +1 -0
  63. package/dist/asnavbar/navbararrowbuttons/index.js +6 -0
  64. package/dist/asnavbar/navbararrowbuttons/styles.d.ts +42 -0
  65. package/dist/asnavbar/navbararrowbuttons/styles.d.ts.map +1 -0
  66. package/dist/asnavbar/navbararrowbuttons/styles.js +76 -0
  67. package/dist/asnavbar/{ASNavBarItem.d.ts → navbaritem/ASNavBarItem.d.ts} +1 -1
  68. package/dist/asnavbar/navbaritem/ASNavBarItem.d.ts.map +1 -0
  69. package/dist/asnavbar/navbaritem/ASNavBarItem.js +49 -0
  70. package/dist/asnavbar/navbaritem/index.d.ts +3 -0
  71. package/dist/asnavbar/navbaritem/index.d.ts.map +1 -0
  72. package/dist/asnavbar/navbaritem/index.js +6 -0
  73. package/dist/asnavbar/navbaritem/styles.d.ts +11 -0
  74. package/dist/asnavbar/navbaritem/styles.d.ts.map +1 -0
  75. package/dist/asnavbar/navbaritem/styles.js +73 -0
  76. package/dist/asnavbar/navbarpickpanel/ASNavBarPickPanel.d.ts +5 -0
  77. package/dist/asnavbar/navbarpickpanel/ASNavBarPickPanel.d.ts.map +1 -0
  78. package/dist/asnavbar/navbarpickpanel/ASNavBarPickPanel.js +27 -0
  79. package/dist/asnavbar/navbarpickpanel/ASNavBarPickPanel.types.d.ts +14 -0
  80. package/dist/asnavbar/navbarpickpanel/ASNavBarPickPanel.types.d.ts.map +1 -0
  81. package/dist/asnavbar/navbarpickpanel/ASNavBarPickPanel.types.js +2 -0
  82. package/dist/asnavbar/navbarpickpanel/index.d.ts +3 -0
  83. package/dist/asnavbar/navbarpickpanel/index.d.ts.map +1 -0
  84. package/dist/asnavbar/navbarpickpanel/index.js +6 -0
  85. package/dist/asnavbar/navbarpickpanel/styles.d.ts +11 -0
  86. package/dist/asnavbar/navbarpickpanel/styles.d.ts.map +1 -0
  87. package/dist/asnavbar/navbarpickpanel/styles.js +59 -0
  88. package/dist/asnavbar/navbarpickpanelitem/ASNavBarPickPanelItem.d.ts +5 -0
  89. package/dist/asnavbar/navbarpickpanelitem/ASNavBarPickPanelItem.d.ts.map +1 -0
  90. package/dist/asnavbar/{ASNavBarItem.js → navbarpickpanelitem/ASNavBarPickPanelItem.js} +8 -6
  91. package/dist/asnavbar/navbarpickpanelitem/index.d.ts +3 -0
  92. package/dist/asnavbar/navbarpickpanelitem/index.d.ts.map +1 -0
  93. package/dist/asnavbar/navbarpickpanelitem/index.js +6 -0
  94. package/dist/asnavbar/navbarpickpanelitem/styles.d.ts +11 -0
  95. package/dist/asnavbar/navbarpickpanelitem/styles.d.ts.map +1 -0
  96. package/dist/asnavbar/navbarpickpanelitem/styles.js +70 -0
  97. package/dist/asnavbar/styles.d.ts +3 -20
  98. package/dist/asnavbar/styles.d.ts.map +1 -1
  99. package/dist/asnavbar/styles.js +69 -96
  100. package/dist/astextfield/ASTextField.js +1 -1
  101. package/dist/astheme/ASThemeDefault.d.ts.map +1 -1
  102. package/dist/astheme/ASThemeDefault.js +6 -0
  103. package/dist/asutils/screenSizeHelpers.d.ts +2 -0
  104. package/dist/asutils/screenSizeHelpers.d.ts.map +1 -0
  105. package/dist/asutils/screenSizeHelpers.js +18 -0
  106. package/dist/icons/ASIcon.d.ts.map +1 -1
  107. package/dist/icons/ASIcon.js +4 -4
  108. package/dist/icons/AddItemIcon.js +1 -1
  109. package/dist/icons/AddUserIcon.js +1 -1
  110. package/dist/icons/ArrowLeftIcon.js +1 -1
  111. package/dist/icons/ArrowRightIcon.js +1 -1
  112. package/dist/icons/CalendarRangeIcon.js +1 -1
  113. package/dist/icons/CheckIcon.js +1 -1
  114. package/dist/icons/CloseIcon.js +1 -1
  115. package/dist/icons/DeleteIcon.d.ts.map +1 -1
  116. package/dist/icons/DeleteIcon.js +2 -2
  117. package/dist/icons/EleventheyeIcon.js +1 -1
  118. package/dist/icons/EmailIcon.js +1 -1
  119. package/dist/icons/ErrorIcon.js +1 -1
  120. package/dist/icons/EyeIcon.js +1 -1
  121. package/dist/icons/EyeSlashIcon.js +1 -1
  122. package/dist/icons/FootballIcon.js +1 -1
  123. package/dist/icons/GamesIcon.js +1 -1
  124. package/dist/icons/GearUserIcon.js +1 -1
  125. package/dist/icons/HeartIcon.js +1 -1
  126. package/dist/icons/HexagonIcon.js +1 -1
  127. package/dist/icons/HomeIcon.js +1 -1
  128. package/dist/icons/Icons.types.d.ts +2 -2
  129. package/dist/icons/Icons.types.d.ts.map +1 -1
  130. package/dist/icons/LockIcon.js +1 -1
  131. package/dist/icons/PasswordIcon.js +1 -1
  132. package/dist/icons/PenIcon.js +1 -1
  133. package/dist/icons/PodiumIcon.js +1 -1
  134. package/dist/icons/ReplayIcon.js +1 -1
  135. package/dist/icons/RulerIcon.js +1 -1
  136. package/dist/icons/SaveIcon.js +1 -1
  137. package/dist/icons/SearchIcon.js +1 -1
  138. package/dist/icons/StatsIcon.js +1 -1
  139. package/dist/icons/TimeLapseIcon.js +1 -1
  140. package/dist/icons/UnlockIcon.js +1 -1
  141. package/dist/icons/UserSettingsIcon.js +1 -1
  142. package/dist/icons/styles.d.ts.map +1 -1
  143. package/dist/icons/styles.js +2 -0
  144. package/dist/index.d.ts +7 -3
  145. package/dist/index.d.ts.map +1 -1
  146. package/dist/index.js +8 -2
  147. package/package.json +1 -1
  148. package/dist/asnavbar/ASNavBarItem.d.ts.map +0 -1
@@ -0,0 +1,62 @@
1
+ import { ASComponentSize, ASNavBarStyleOptions, ASTheme } from '../../apptypes/ASUI.types';
2
+ interface ASNavBarIconButtonStyledProps {
3
+ theme: ASTheme;
4
+ $mobileMode?: boolean;
5
+ $gap?: number;
6
+ $maxWidth?: number;
7
+ $borderRadius?: number;
8
+ $padding?: string;
9
+ size?: ASComponentSize;
10
+ }
11
+ export declare const ASIconButtonStyled: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<{
12
+ className?: string;
13
+ text?: string;
14
+ selected?: boolean;
15
+ toggle?: boolean;
16
+ size?: ASComponentSize;
17
+ iconSize?: number;
18
+ theme?: ASTheme;
19
+ paddingSize?: import("../../apptypes/ASUI.types").ASPaddingSize;
20
+ isLoading?: boolean;
21
+ icon: import("react").FC<import("react").PropsWithChildren<import("../../icons").IconProps>>;
22
+ } & import("../../icons").IconProps & Omit<import("react").HTMLProps<HTMLDivElement>, "size"> & {
23
+ children?: import("react").ReactNode | undefined;
24
+ }, ASNavBarIconButtonStyledProps>> & string & Omit<import("react").FC<import("../..").ASIconButtonProps>, keyof import("react").Component<any, {}, any>>;
25
+ export declare const NavControlLeftButton: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("../../icons").IconProps, never>> & string & Omit<import("react").FC<import("../../icons").IconProps>, keyof import("react").Component<any, {}, any>>;
26
+ export declare const NavControlRightButton: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("../../icons").IconProps, never>> & string & Omit<import("react").FC<import("../../icons").IconProps>, keyof import("react").Component<any, {}, any>>;
27
+ interface ASNavBarSelectedBoxStyledProps {
28
+ theme: ASTheme;
29
+ $mobileMode?: boolean;
30
+ $height?: number;
31
+ $heightUnit?: string;
32
+ $width?: number;
33
+ $widthUnit?: string;
34
+ $borderRadius?: number;
35
+ }
36
+ export declare const ASSelectedBoxMWStyled: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, ASNavBarSelectedBoxStyledProps>> & string;
37
+ interface ASNavBarStyledProps extends ASNavBarStyleOptions {
38
+ theme: ASTheme;
39
+ $mobileMode?: boolean;
40
+ $gap?: number;
41
+ $maxWidth?: number;
42
+ $borderRadius?: number;
43
+ $padding?: string;
44
+ }
45
+ export declare const NavButtonsContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, ASNavBarStyledProps>> & string;
46
+ interface ASNavBarItemStyledProps {
47
+ theme: ASTheme;
48
+ $mobileMode?: boolean;
49
+ $selected?: boolean;
50
+ $margin?: string;
51
+ $padding?: string;
52
+ }
53
+ export declare const ASNavBarItemMWStyled: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("../ASNavBar.types").ASNavBarItemProps, ASNavBarItemStyledProps>> & string & Omit<import("react").FC<import("../ASNavBar.types").ASNavBarItemProps>, keyof import("react").Component<any, {}, any>>;
54
+ export declare const ScrollableNavBarItems: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
55
+ export declare const ASNavBarMWStyled: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, ASNavBarStyledProps>> & string;
56
+ interface ASNavBarItemPaddingProps {
57
+ theme: ASTheme;
58
+ $selected?: boolean;
59
+ }
60
+ export declare const ASNavBarItemPadding: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, ASNavBarItemPaddingProps>> & string;
61
+ export {};
62
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/asnavbar/mobile/styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,OAAO,EAAiB,MAAM,2BAA2B,CAAC;AA+C1G,UAAU,6BAA6B;IACrC,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,eAAe,CAAC;CACxB;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;wJAM9B,CAAC;AAEF,eAAO,MAAM,oBAAoB,sQAQhC,CAAC;AAEF,eAAO,MAAM,qBAAqB,sQASjC,CAAC;AAEF,UAAU,8BAA8B;IACtC,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AACD,eAAO,MAAM,qBAAqB,qQAgBjC,CAAC;AAEF,UAAU,mBAAoB,SAAQ,oBAAoB;IACxD,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,mBAAmB,wPA0B/B,CAAC;AAEF,UAAU,uBAAuB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AACD,eAAO,MAAM,oBAAoB,iUAuDhC,CAAC;AAEF,eAAO,MAAM,qBAAqB,6NA0BjC,CAAC;AAEF,eAAO,MAAM,gBAAgB,wPA+B5B,CAAC;AAEF,UAAU,wBAAwB;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,mBAAmB,6PAiB/B,CAAC"}
@@ -0,0 +1,247 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ASNavBarItemPadding = exports.ASNavBarMWStyled = exports.ScrollableNavBarItems = exports.ASNavBarItemMWStyled = exports.NavButtonsContainer = exports.ASSelectedBoxMWStyled = exports.NavControlRightButton = exports.NavControlLeftButton = exports.ASIconButtonStyled = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const styled_components_1 = tslib_1.__importStar(require("styled-components"));
6
+ const ASUI_types_1 = require("../../apptypes/ASUI.types");
7
+ const ASIconButton_1 = tslib_1.__importDefault(require("../../asiconbutton/ASIconButton"));
8
+ const astheme_1 = tslib_1.__importDefault(require("../../astheme"));
9
+ const icons_1 = require("../../icons");
10
+ const navbaritem_1 = tslib_1.__importDefault(require("../navbaritem"));
11
+ const getNavControlButtonStyle = (0, styled_components_1.css) `
12
+ pointer-events: all;
13
+ cursor: pointer;
14
+
15
+ &:active {
16
+ svg > path {
17
+ fill: rgb(61, 61, 61);
18
+ }
19
+ }
20
+ > @media (hover) {
21
+ &:hover {
22
+ svg > path {
23
+ // fill: rgb(61, 61, 61);
24
+ stroke: #ffd321;
25
+ strokewidth: 1px;
26
+ stroke-width: 1px;
27
+ }
28
+ }
29
+ }
30
+ `;
31
+ const dimensionsForSizes = (0, styled_components_1.css) `
32
+ &.ASSmall {
33
+ height: 30px;
34
+ font-size: 1.3rem;
35
+ font-weight: 400;
36
+ }
37
+
38
+ &.ASMedium {
39
+ height: 40px;
40
+ font-size: 1.7rem;
41
+ font-weight: 400;
42
+ }
43
+
44
+ &.ASLarge {
45
+ height: 50px;
46
+ font-size: 2.1rem;
47
+ font-weight: 500;
48
+ }
49
+ `;
50
+ exports.ASIconButtonStyled = (0, styled_components_1.default)(ASIconButton_1.default) `
51
+ margin: ${({ size = ASUI_types_1.ComponentSize.Medium }) => size === ASUI_types_1.ComponentSize.Small ? '0 10px' : size === ASUI_types_1.ComponentSize.Large ? '0 -1px' : '0 3px'};
52
+ z-index: 1;
53
+ scale: ${({ size = ASUI_types_1.ComponentSize.Medium }) => size === ASUI_types_1.ComponentSize.Small ? 0.9 : size === ASUI_types_1.ComponentSize.Large ? 0.8 : 0.8};
54
+ `;
55
+ exports.NavControlLeftButton = (0, styled_components_1.default)(icons_1.ArrowLeftIcon) `
56
+ margin-left: 10px;
57
+ ${getNavControlButtonStyle}
58
+ &:hover {
59
+ &:last-child(svg) > path {
60
+ fill: rgb(61, 61, 61);
61
+ }
62
+ }
63
+ `;
64
+ exports.NavControlRightButton = (0, styled_components_1.default)(icons_1.ArrowRightIcon) `
65
+ margin-right: 10px;
66
+ ${getNavControlButtonStyle}
67
+
68
+ &:hover {
69
+ &:last-child(svg) > path {
70
+ fill: rgb(61, 61, 61);
71
+ }
72
+ }
73
+ `;
74
+ exports.ASSelectedBoxMWStyled = styled_components_1.default.span `
75
+ position: absolute;
76
+ height: ${({ $height = 85, $heightUnit = '%' }) => `${$height}${$heightUnit}`};
77
+ width: ${({ $width = 200, $widthUnit = 'px' }) => `${$width}${$widthUnit}`};
78
+ left: 50%;
79
+ top: 50%;
80
+ transform: translate(-50%, -50%);
81
+ border-radius: ${({ $borderRadius = 4 }) => $borderRadius}px;
82
+ background-color: ${({ theme }) => theme.navbar.navBarSelectedBoxBackgroundColor};
83
+ z-index: 0;
84
+ transition: all 0.3s ease-in-out 0.05s allow-discrete;
85
+
86
+ @starting-style {
87
+ z-index: 0;
88
+ left: 0;
89
+ }
90
+ `;
91
+ exports.NavButtonsContainer = styled_components_1.default.div `
92
+ display: flex;
93
+ align-items: center;
94
+ justify-content: space-between;
95
+ width: -webkit-fill-available;
96
+ pointer-events: none;
97
+ user-select: none;
98
+ z-index: 10;
99
+
100
+ &.ASSmall {
101
+ height: 30px;
102
+ > ${exports.ASSelectedBoxMWStyled} {
103
+ height: 80%;
104
+ }
105
+ }
106
+
107
+ &.ASMedium {
108
+ height: 40px;
109
+ }
110
+
111
+ &.ASLarge {
112
+ height: 50px;
113
+ > ${exports.ASSelectedBoxMWStyled} {
114
+ height: 90%;
115
+ }
116
+ }
117
+ `;
118
+ exports.ASNavBarItemMWStyled = (0, styled_components_1.default)(navbaritem_1.default) `
119
+ display: flex;
120
+ align-items: center;
121
+ justify-content: center;
122
+ flex-wrap: nowrap;
123
+ flex-direction: row;
124
+ text-transform: uppercase;
125
+ z-index: 1;
126
+ white-space: nowrap;
127
+ user-select: none;
128
+ max-width: 200px;
129
+ width: -webkit-fill-available;
130
+ background: transparent;
131
+ min-width: 200px;
132
+ padding: 0;
133
+ margin: 0;
134
+
135
+ &.ASSmall {
136
+ font-size: 1.3rem;
137
+ font-weight: 400;
138
+ }
139
+
140
+ &.ASMedium {
141
+ font-size: 1.7rem;
142
+ font-weight: 400;
143
+ }
144
+
145
+ &.ASLarge {
146
+ font-size: 2.1rem;
147
+ font-weight: 500;
148
+ }
149
+
150
+ ${({ $selected = false, theme = astheme_1.default }) => $selected
151
+ ? `
152
+ transition: all 0.3s ease-in-out 0.2s;
153
+ color: ${theme.navbar.navBarItemColorSelected} !important;
154
+ `
155
+ : `color: ${theme.navbar.navBarItemColorSelected};`}
156
+
157
+ @media (hover) {
158
+ &:hover {
159
+ ${({ $selected = false, theme = astheme_1.default }) => $selected
160
+ ? `color: ${theme.navbar.navBarItemColorSelected};`
161
+ : `cursor: pointer;
162
+ transition: color 0.3s ease-in-out;
163
+ color: ${theme.navbar.navBarItemColorSelected};
164
+ & > div > div > svg > path {
165
+ stroke-width: 0.4;
166
+ stroke: ${theme.navbar.navBarItemColorSelected};
167
+ }
168
+ `}
169
+ }
170
+ }
171
+ `;
172
+ exports.ScrollableNavBarItems = styled_components_1.default.div `
173
+ display: flex;
174
+ position: relative;
175
+ align-items: center;
176
+ justify-content: flex-start;
177
+ flex-wrap: nowrap;
178
+ flex-direction: row;
179
+ width: -webkit-fill-available;
180
+ overflow: hidden;
181
+ overflow-x: scroll;
182
+ margin: 0 50px;
183
+ scroll-behavior: smooth;
184
+ scroll-snap-type: x mandatory;
185
+ & > ${exports.ASNavBarItemMWStyled} {
186
+ scroll-snap-stop: always;
187
+ scroll-snap-align: center;
188
+ }
189
+
190
+ /* Hide scrollbar for Chrome, Safari and Opera */
191
+ &::-webkit-scrollbar {
192
+ display: none;
193
+ }
194
+
195
+ /* Hide scrollbar for IE, Edge and Firefox */
196
+ -ms-overflow-style: none; /* IE and Edge */
197
+ scrollbar-width: none; /* Firefox */
198
+ `;
199
+ exports.ASNavBarMWStyled = styled_components_1.default.div `
200
+ display: flex;
201
+ position: relative;
202
+ align-items: center;
203
+ justify-content: flex-start;
204
+ flex-wrap: nowrap;
205
+ flex-direction: row;
206
+ width: 100%;
207
+ @supports (width: -webkit-fill-available) {
208
+ width: -webkit-fill-available;
209
+ }
210
+ max-width: max-width: ${({ $maxWidth = 300, $maxWidthUnit = 'px' }) => `${$maxWidth}${$maxWidthUnit}`};
211
+ border-radius: ${({ $borderRadius = 6 }) => $borderRadius}px;
212
+ background-color: ${({ theme }) => theme.navbar.navBarBackgroundColor};
213
+ padding: ${({ $padding = '0 4px' }) => $padding};
214
+ box-shadow: ${({ theme }) => theme.navbar.navBarBoxShadow};
215
+
216
+ & ${exports.NavButtonsContainer} {
217
+ position: fixed;
218
+ max-width: inherit;
219
+ height: inherit;
220
+
221
+ ${exports.ASSelectedBoxMWStyled} {
222
+ position: absolute;
223
+ left: 50px;
224
+ height: 90%;
225
+ z-index: 0;
226
+ }
227
+ }
228
+
229
+ ${dimensionsForSizes}
230
+ `;
231
+ exports.ASNavBarItemPadding = styled_components_1.default.div `
232
+ padding: 0 4px;
233
+ pointer-events: none;
234
+ user-select: none;
235
+ ${({ $selected = false, theme = astheme_1.default }) => $selected
236
+ ? `
237
+ & > div > svg > path {
238
+ stroke-width: 0.4;
239
+ stroke: ${theme.navbar.navBarItemColorSelected};
240
+ }`
241
+ : `
242
+ & > div > svg > path {
243
+ stroke-width: 0.4;
244
+ stroke: ${theme.navbar.navBarItemColor};
245
+ }
246
+ `};
247
+ `;
@@ -0,0 +1,7 @@
1
+ import React, { PropsWithChildren } from 'react';
2
+ import { ASNavBarArrowButtonsProps } from './ASNavBarArrowButtons.types';
3
+ export declare const ASNavBarArrowButtons: React.FC<PropsWithChildren<ASNavBarArrowButtonsProps>>;
4
+ declare const ASLeftNavBarArrowButton: React.FC<ASNavBarArrowButtonsProps>;
5
+ declare const ASRightNavBarArrowButton: React.FC<ASNavBarArrowButtonsProps>;
6
+ export { ASLeftNavBarArrowButton, ASRightNavBarArrowButton, ASNavBarArrowButtons as default };
7
+ //# sourceMappingURL=ASNavBarArrowButtons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ASNavBarArrowButtons.d.ts","sourceRoot":"","sources":["../../../src/asnavbar/navbararrowbuttons/ASNavBarArrowButtons.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAKjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAGzE,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,CA2BvF,CAAC;AAEF,QAAA,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAmBhE,CAAC;AAEF,QAAA,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAmBjE,CAAC;AAEF,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,oBAAoB,IAAI,OAAO,EAAE,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = exports.ASRightNavBarArrowButton = exports.ASLeftNavBarArrowButton = exports.ASNavBarArrowButtons = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const apptypes_1 = require("../../apptypes");
7
+ const ASNavBar_1 = require("../../asnavbar/ASNavBar");
8
+ const astheme_1 = tslib_1.__importDefault(require("../../astheme"));
9
+ const icons_1 = require("../../icons");
10
+ const styles_1 = require("./styles");
11
+ const ASNavBarArrowButtons = ({ className = '', onArrowButtonClicked = () => undefined, selectedIndex = 0, totalItemCount = 0, size = apptypes_1.ComponentSize.Medium, styleOptions = ASNavBar_1.defaultNavBarStyleOptions, theme = astheme_1.default, }) => {
12
+ return ((0, jsx_runtime_1.jsxs)(styles_1.ASNavBarArrowButtonsStyled, { className: `${className} ${size}`, theme: theme, styleOptions: styleOptions, children: [(0, jsx_runtime_1.jsx)(ASLeftNavBarArrowButton, { onArrowButtonClicked: onArrowButtonClicked, theme: theme, size: size, selectedIndex: selectedIndex, disabled: selectedIndex <= 0 }), (0, jsx_runtime_1.jsx)(ASRightNavBarArrowButton, { onArrowButtonClicked: onArrowButtonClicked, theme: theme, size: size, selectedIndex: selectedIndex, disabled: selectedIndex >= totalItemCount - 1 })] }));
13
+ };
14
+ exports.ASNavBarArrowButtons = ASNavBarArrowButtons;
15
+ exports.default = exports.ASNavBarArrowButtons;
16
+ const ASLeftNavBarArrowButton = ({ size = apptypes_1.ComponentSize.Medium, theme = astheme_1.default, disabled = false, onArrowButtonClicked = () => undefined, }) => {
17
+ return ((0, jsx_runtime_1.jsx)(styles_1.ASIconButtonLeftStyled, { role: "button", icon: icons_1.ArrowLeftIcon, onClick: (e) => onArrowButtonClicked(e, apptypes_1.ArrowButtonDirection.Left), theme: theme, size: size, disabled: disabled, id: "LeftButtonId", iconSize: size === apptypes_1.ComponentSize.Large ? 32 : size === apptypes_1.ComponentSize.Medium ? 28 : 24, fillColor: theme.button.buttonIconColor }));
18
+ };
19
+ exports.ASLeftNavBarArrowButton = ASLeftNavBarArrowButton;
20
+ const ASRightNavBarArrowButton = ({ size = apptypes_1.ComponentSize.Medium, theme = astheme_1.default, onArrowButtonClicked = () => undefined, disabled = false, }) => {
21
+ return ((0, jsx_runtime_1.jsx)(styles_1.ASIconButtonRightStyled, { role: "button", icon: icons_1.ArrowRightIcon, onClick: (e) => onArrowButtonClicked(e, apptypes_1.ArrowButtonDirection.Right), theme: theme, size: size, disabled: disabled, id: "RightButtonId", iconSize: size === apptypes_1.ComponentSize.Large ? 32 : size === apptypes_1.ComponentSize.Medium ? 28 : 24, fillColor: theme.button.buttonIconColor }));
22
+ };
23
+ exports.ASRightNavBarArrowButton = ASRightNavBarArrowButton;
@@ -0,0 +1,22 @@
1
+ import { MouseEvent } from 'react';
2
+ import { ASComponentDirection, ASComponentSize, ASNavBarStyleOptions, ASTheme } from '../../apptypes';
3
+ export interface ASNavBarArrowButtonsStyledProps {
4
+ itemId?: string;
5
+ displayText?: string;
6
+ icon?: React.ReactNode;
7
+ theme?: ASTheme;
8
+ size?: ASComponentSize;
9
+ styleOptions?: ASNavBarStyleOptions;
10
+ }
11
+ export type ASNavBarArrowButtonClickFn = (event: MouseEvent, dir: ASComponentDirection) => void;
12
+ export type ASNavBarArrowButtonsProps = {
13
+ className?: string;
14
+ theme?: ASTheme;
15
+ selectedIndex?: number;
16
+ totalItemCount?: number;
17
+ onArrowButtonClicked?: ASNavBarArrowButtonClickFn;
18
+ size?: ASComponentSize;
19
+ styleOptions?: ASNavBarStyleOptions;
20
+ disabled?: boolean;
21
+ };
22
+ //# sourceMappingURL=ASNavBarArrowButtons.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ASNavBarArrowButtons.types.d.ts","sourceRoot":"","sources":["../../../src/asnavbar/navbararrowbuttons/ASNavBarArrowButtons.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEtG,MAAM,WAAW,+BAA+B;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,YAAY,CAAC,EAAE,oBAAoB,CAAC;CACrC;AAED,MAAM,MAAM,0BAA0B,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,oBAAoB,KAAK,IAAI,CAAC;AAEhG,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;IAClD,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,3 @@
1
+ export { default } from './ASNavBarArrowButtons';
2
+ export type { ASNavBarArrowButtonsProps, ASNavBarArrowButtonsStyledProps } from './ASNavBarArrowButtons.types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/asnavbar/navbararrowbuttons/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,YAAY,EAAE,yBAAyB,EAAE,+BAA+B,EAAE,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = void 0;
4
+ const tslib_1 = require("tslib");
5
+ var ASNavBarArrowButtons_1 = require("./ASNavBarArrowButtons");
6
+ Object.defineProperty(exports, "default", { enumerable: true, get: function () { return tslib_1.__importDefault(ASNavBarArrowButtons_1).default; } });
@@ -0,0 +1,42 @@
1
+ import { ASComponentSize, ASTheme } from '../../apptypes';
2
+ import { ASNavBarArrowButtonsStyledProps } from './ASNavBarArrowButtons.types';
3
+ export declare const ASNavBarArrowButtonsStyled: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, ASNavBarArrowButtonsStyledProps>> & string;
4
+ interface ASNavBarIconButtonStyledProps {
5
+ theme: ASTheme;
6
+ $mobileMode?: boolean;
7
+ $gap?: number;
8
+ $maxWidth?: number;
9
+ $borderRadius?: number;
10
+ $padding?: string;
11
+ size?: ASComponentSize;
12
+ }
13
+ export declare const ASIconButtonRightStyled: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<{
14
+ className?: string;
15
+ text?: string;
16
+ selected?: boolean;
17
+ toggle?: boolean;
18
+ size?: ASComponentSize;
19
+ iconSize?: number;
20
+ theme?: ASTheme;
21
+ paddingSize?: import("../../apptypes").ASPaddingSize;
22
+ isLoading?: boolean;
23
+ icon: import("react").FC<import("react").PropsWithChildren<import("../..").IconProps>>;
24
+ } & import("../..").IconProps & Omit<import("react").HTMLProps<HTMLDivElement>, "size"> & {
25
+ children?: import("react").ReactNode | undefined;
26
+ }, ASNavBarIconButtonStyledProps>> & string & Omit<import("react").FC<import("../../asiconbutton").ASIconButtonProps>, keyof import("react").Component<any, {}, any>>;
27
+ export declare const ASIconButtonLeftStyled: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<{
28
+ className?: string;
29
+ text?: string;
30
+ selected?: boolean;
31
+ toggle?: boolean;
32
+ size?: ASComponentSize;
33
+ iconSize?: number;
34
+ theme?: ASTheme;
35
+ paddingSize?: import("../../apptypes").ASPaddingSize;
36
+ isLoading?: boolean;
37
+ icon: import("react").FC<import("react").PropsWithChildren<import("../..").IconProps>>;
38
+ } & import("../..").IconProps & Omit<import("react").HTMLProps<HTMLDivElement>, "size"> & {
39
+ children?: import("react").ReactNode | undefined;
40
+ }, ASNavBarIconButtonStyledProps>> & string & Omit<import("react").FC<import("../../asiconbutton").ASIconButtonProps>, keyof import("react").Component<any, {}, any>>;
41
+ export {};
42
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/asnavbar/navbararrowbuttons/styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,OAAO,EAAiB,MAAM,gBAAgB,CAAC;AAGzE,OAAO,EAAE,+BAA+B,EAAE,MAAM,8BAA8B,CAAC;AAwC/E,eAAO,MAAM,0BAA0B,oQA2BtC,CAAC;AAEF,UAAU,6BAA6B;IACrC,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,eAAe,CAAC;CACxB;AAED,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;qKAMnC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;qKAMlC,CAAC"}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ASIconButtonLeftStyled = exports.ASIconButtonRightStyled = exports.ASNavBarArrowButtonsStyled = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const styled_components_1 = tslib_1.__importStar(require("styled-components"));
6
+ const apptypes_1 = require("../../apptypes");
7
+ const asiconbutton_1 = tslib_1.__importDefault(require("../../asiconbutton"));
8
+ const ASNavBar_1 = require("../../asnavbar/ASNavBar");
9
+ const dimensionsForSizes = (0, styled_components_1.css) `
10
+ &.ASSmall {
11
+ height: 30px;
12
+ max-height: 30px;
13
+ font-size: 1.3rem;
14
+ font-weight: 400;
15
+ }
16
+
17
+ &.ASMedium {
18
+ height: 40px;
19
+ max-height: 40px;
20
+ font-size: 1.7rem;
21
+ font-weight: 500;
22
+ }
23
+
24
+ &.ASLarge {
25
+ height: 50px;
26
+ max-height: 50px;
27
+ font-size: 2.1rem;
28
+ font-weight: 600;
29
+ }
30
+ `;
31
+ const scrollEdgesCover = (0, styled_components_1.css) `
32
+ content: '';
33
+ background: #333333;
34
+ position: absolute;
35
+ top: 0;
36
+ height: 100%;
37
+ border-radius: 6px;
38
+ `;
39
+ const getWidthBySize = (size) => size === apptypes_1.ComponentSize.Large ? 50 : apptypes_1.ComponentSize.Medium === size ? 40 : 30;
40
+ exports.ASNavBarArrowButtonsStyled = styled_components_1.default.div `
41
+ position: fixed;
42
+ position-anchor: --navbarAnchor;
43
+ left: calc(anchor(left) + 2px);
44
+ right: calc(anchor(right) - 2px);
45
+ display: ${({ styleOptions = ASNavBar_1.defaultNavBarStyleOptions }) => styleOptions.$hideNavArrowButtonsInDW ? 'none' : 'flex'};
46
+ align-items: center;
47
+ justify-content: space-between;
48
+ width: -webkit-fill-available;
49
+ pointer-events: none;
50
+ user-select: none;
51
+ z-index: 10;
52
+
53
+ &:before {
54
+ ${scrollEdgesCover}
55
+ width: ${({ size = apptypes_1.ComponentSize.Medium }) => `calc(${getWidthBySize(size)}px + 8px)`};
56
+ left: -2px;
57
+ }
58
+
59
+ &:after {
60
+ ${scrollEdgesCover}
61
+ width: ${({ size = apptypes_1.ComponentSize.Medium }) => `calc(${getWidthBySize(size)}px + 8px)`};
62
+ right: -2px;
63
+ }
64
+
65
+ ${dimensionsForSizes}
66
+ `;
67
+ exports.ASIconButtonRightStyled = (0, styled_components_1.default)(asiconbutton_1.default) `
68
+ margin: ${({ size = apptypes_1.ComponentSize.Medium }) => size === apptypes_1.ComponentSize.Small ? '0 10px' : size === apptypes_1.ComponentSize.Large ? '0 -1px' : '0 3px'};
69
+ z-index: 1;
70
+ scale: ${({ size = apptypes_1.ComponentSize.Medium }) => size === apptypes_1.ComponentSize.Small ? 0.9 : size === apptypes_1.ComponentSize.Large ? 0.8 : 0.8};
71
+ `;
72
+ exports.ASIconButtonLeftStyled = (0, styled_components_1.default)(asiconbutton_1.default) `
73
+ margin: ${({ size = apptypes_1.ComponentSize.Medium }) => size === apptypes_1.ComponentSize.Small ? '0 10px' : size === apptypes_1.ComponentSize.Large ? '0 -1px' : '0 3px'};
74
+ z-index: 1;
75
+ scale: ${({ size = apptypes_1.ComponentSize.Medium }) => size === apptypes_1.ComponentSize.Small ? 0.9 : size === apptypes_1.ComponentSize.Large ? 0.8 : 0.8};
76
+ `;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { ASNavBarItemProps } from './ASNavBar.types';
2
+ import { ASNavBarItemProps } from '../ASNavBar.types';
3
3
  declare const ASNavBarItem: React.FC<ASNavBarItemProps>;
4
4
  export default ASNavBarItem;
5
5
  //# sourceMappingURL=ASNavBarItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ASNavBarItem.d.ts","sourceRoot":"","sources":["../../../src/asnavbar/navbaritem/ASNavBarItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAGvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAItD,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAyE7C,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const apptypes_1 = require("../../apptypes");
7
+ const astheme_1 = tslib_1.__importDefault(require("../../astheme"));
8
+ const styles_1 = require("../styles");
9
+ const styles_2 = require("./styles");
10
+ const ASNavBarItem = ({ className = '', theme = astheme_1.default, displayText = '---', icon, selected = false, itemId, itemIndex = 0, size = apptypes_1.ComponentSize.Medium, onItemClick = () => undefined, onItemResized = () => undefined, }) => {
11
+ const [navItemSizeInitialized, setNavSizeInitialized] = (0, react_1.useState)(false);
12
+ const navItemWidthRef = (0, react_1.useRef)(0);
13
+ const navBarItemRef = (0, react_1.useRef)(null);
14
+ const isNavBarItemSelected = (0, react_1.useRef)(selected);
15
+ const onItemClickHandler = (e) => {
16
+ e.preventDefault();
17
+ e.stopPropagation();
18
+ onItemClick(e, itemId, itemIndex);
19
+ };
20
+ (0, react_1.useEffect)(() => {
21
+ if (navBarItemRef.current) {
22
+ navItemWidthRef.current = navBarItemRef.current.getBoundingClientRect().width;
23
+ setNavSizeInitialized(true);
24
+ }
25
+ }, []);
26
+ (0, react_1.useEffect)(() => {
27
+ if (navItemSizeInitialized && navBarItemRef.current) {
28
+ const resizeObserver = new ResizeObserver((entries) => {
29
+ if (isNavBarItemSelected.current) {
30
+ const width = navBarItemRef.current?.getBoundingClientRect().width;
31
+ if (navBarItemRef.current && typeof width === 'number' && navItemWidthRef.current !== width) {
32
+ navItemWidthRef.current = width;
33
+ onItemResized(itemId, navBarItemRef.current);
34
+ }
35
+ }
36
+ });
37
+ resizeObserver.observe(navBarItemRef.current);
38
+ return () => {
39
+ if (navBarItemRef.current)
40
+ resizeObserver.unobserve(navBarItemRef.current);
41
+ };
42
+ }
43
+ }, [navItemSizeInitialized]);
44
+ (0, react_1.useEffect)(() => {
45
+ isNavBarItemSelected.current = selected;
46
+ }, [selected]);
47
+ return ((0, jsx_runtime_1.jsxs)(styles_2.ASNavBarItemStyled, { id: itemId, theme: theme, title: displayText, ref: navBarItemRef, className: `${className} ${size}`, "$selected": selected, onClick: onItemClickHandler, children: [icon && ((0, jsx_runtime_1.jsx)(styles_1.ASNavBarLeadingIconPadding, { theme: theme, "$selected": selected, "aria-invalid": true, "aria-hidden": true, children: icon })), displayText] }));
48
+ };
49
+ exports.default = ASNavBarItem;
@@ -0,0 +1,3 @@
1
+ export type { ASNavBarItemType, ASNavBarOwnProps, ASNavBarProps } from '../ASNavBar.types';
2
+ export { default } from './ASNavBarItem';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/asnavbar/navbaritem/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = void 0;
4
+ const tslib_1 = require("tslib");
5
+ var ASNavBarItem_1 = require("./ASNavBarItem");
6
+ Object.defineProperty(exports, "default", { enumerable: true, get: function () { return tslib_1.__importDefault(ASNavBarItem_1).default; } });
@@ -0,0 +1,11 @@
1
+ import { ASTheme } from '../../apptypes/ASUI.types';
2
+ interface ASNavBarItemStyledProps {
3
+ theme: ASTheme;
4
+ $mobileMode?: boolean;
5
+ $selected?: boolean;
6
+ $margin?: string;
7
+ $padding?: string;
8
+ }
9
+ export declare const ASNavBarItemStyled: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, ASNavBarItemStyledProps>> & string;
10
+ export {};
11
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/asnavbar/navbaritem/styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAIpD,UAAU,uBAAuB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AACD,eAAO,MAAM,kBAAkB,4PAmE9B,CAAC"}