@spaced-out/ui-design-system 0.0.21 → 0.0.23-beta.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 (41) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/design-tokens/color/app-color.json +7 -0
  3. package/design-tokens/size/base-size.json +6 -0
  4. package/lib/components/Button/Button.js +9 -5
  5. package/lib/components/Button/Button.js.flow +11 -3
  6. package/lib/components/Button/Button.module.css +1 -1
  7. package/lib/components/ButtonTabs/ButtonTab/ButtonTab.js +48 -0
  8. package/lib/components/ButtonTabs/ButtonTab/ButtonTab.js.flow +67 -0
  9. package/lib/components/ButtonTabs/ButtonTab/ButtonTab.module.css +75 -0
  10. package/lib/components/ButtonTabs/ButtonTab/index.js +16 -0
  11. package/lib/components/ButtonTabs/ButtonTab/index.js.flow +3 -0
  12. package/lib/components/ButtonTabs/ButtonTabs.js +47 -0
  13. package/lib/components/ButtonTabs/ButtonTabs.js.flow +62 -0
  14. package/lib/components/ButtonTabs/ButtonTabs.module.css +27 -0
  15. package/lib/components/ButtonTabs/index.js +27 -0
  16. package/lib/components/ButtonTabs/index.js.flow +4 -0
  17. package/lib/components/Chip/Chip.js +11 -3
  18. package/lib/components/Chip/Chip.js.flow +12 -2
  19. package/lib/components/Chip/Chip.module.css +31 -0
  20. package/lib/components/Icon/Icon.js.flow +1 -1
  21. package/lib/components/SideMenuLink/SideMenuLink.module.css +1 -0
  22. package/lib/components/StatusIndicator/StatusIndicator.js +36 -0
  23. package/lib/components/StatusIndicator/StatusIndicator.js.flow +47 -0
  24. package/lib/components/StatusIndicator/StatusIndicator.module.css +37 -0
  25. package/lib/components/StatusIndicator/index.js +16 -0
  26. package/lib/components/StatusIndicator/index.js.flow +3 -0
  27. package/lib/components/SubMenu/SubMenu.js +168 -0
  28. package/lib/components/SubMenu/SubMenu.js.flow +243 -0
  29. package/lib/components/SubMenu/SubMenu.module.css +119 -0
  30. package/lib/components/SubMenu/index.js +42 -0
  31. package/lib/components/SubMenu/index.js.flow +11 -0
  32. package/lib/components/Tabs/Tab/Tab.js +2 -2
  33. package/lib/components/Tabs/Tab/Tab.js.flow +24 -19
  34. package/lib/components/Tabs/Tab/Tab.module.css +5 -1
  35. package/lib/styles/variables/_color.css +2 -0
  36. package/lib/styles/variables/_color.js +3 -1
  37. package/lib/styles/variables/_color.js.flow +2 -0
  38. package/lib/styles/variables/_size.css +4 -0
  39. package/lib/styles/variables/_size.js +6 -2
  40. package/lib/styles/variables/_size.js.flow +4 -0
  41. package/package.json +1 -1
@@ -0,0 +1,119 @@
1
+ @value ( size34, size60, sizeFluid, sizeFullViewportHeight) from '../../styles/variables/_size.css';
2
+
3
+ @value (
4
+ colorNeutralDarkest,
5
+ colorTextInverseSecondary,
6
+ colorTextInversePrimary,
7
+ colorSubMenuBackgroundDefault
8
+ ) from '../../styles/variables/_color.css';
9
+ @value ( spaceNone, spaceXSmall, spaceSmall, spaceMedium ) from '../../styles/variables/_space.css';
10
+
11
+ @value ( borderRadiusSmall, borderWidthPrimary) from '../../styles/variables/_border.css';
12
+
13
+ .subMenuWrapper {
14
+ background: colorSubMenuBackgroundDefault;
15
+ width: sizeFluid;
16
+ min-height: sizeFullViewportHeight;
17
+ cursor: default;
18
+ display: flex;
19
+ flex-direction: column;
20
+ user-select: none;
21
+ }
22
+
23
+ .subMenuHeader {
24
+ height: size60;
25
+ display: flex;
26
+ flex-direction: row;
27
+ align-items: center;
28
+ padding: spaceMedium;
29
+ border-bottom: borderWidthPrimary solid colorNeutralDarkest;
30
+ }
31
+
32
+ .menuChildWrap {
33
+ margin: spaceNone spaceSmall;
34
+ border-bottom: borderWidthPrimary solid colorNeutralDarkest;
35
+ }
36
+
37
+ .menuChildWrap:last-child {
38
+ border-bottom: none;
39
+ }
40
+
41
+ .subMenuGroupWrapper {
42
+ display: flex;
43
+ flex-direction: column;
44
+ padding: spaceMedium spaceNone;
45
+ flex: auto;
46
+ }
47
+
48
+ .subMenuGroupHeader {
49
+ display: flex;
50
+ flex-direction: row;
51
+ justify-content: space-between;
52
+ cursor: pointer;
53
+ padding: spaceNone spaceXSmall spaceNone spaceXSmall;
54
+ }
55
+
56
+ .groupTitle {
57
+ text-transform: uppercase;
58
+ }
59
+
60
+ .subMenuGroup {
61
+ display: flex;
62
+ flex-direction: column;
63
+ margin-top: spaceXSmall;
64
+ }
65
+
66
+ .subMenuGroup.collapsed {
67
+ display: none !important;
68
+ }
69
+
70
+ .menuItem {
71
+ display: flex;
72
+ flex-direction: row;
73
+ background: colorSubMenuBackgroundDefault;
74
+ color: colorTextInverseSecondary;
75
+ flex-direction: row;
76
+ gap: spaceXSmall;
77
+ justify-content: space-between;
78
+ align-items: center;
79
+ flex: auto;
80
+ height: size34;
81
+ min-height: size34;
82
+ border-radius: borderRadiusSmall;
83
+ width: sizeFluid;
84
+ cursor: pointer;
85
+ padding: spaceXSmall;
86
+ }
87
+
88
+ .menuItem:not(.selected):hover {
89
+ color: colorTextInversePrimary;
90
+ }
91
+
92
+ .menuIcon {
93
+ color: inherit;
94
+ }
95
+
96
+ .menuItem.selected {
97
+ background: colorNeutralDarkest;
98
+ color: colorTextInversePrimary;
99
+ }
100
+
101
+ .menuItem.disabled {
102
+ pointer-events: none;
103
+ }
104
+
105
+ .menuIconName {
106
+ display: flex;
107
+ flex-direction: row;
108
+ gap: spaceSmall;
109
+ }
110
+
111
+ .subMenuItemText {
112
+ color: inherit;
113
+ margin-right: spaceSmall;
114
+ }
115
+
116
+ .subMenuItemAction {
117
+ display: flex;
118
+ flex-direction: row;
119
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "SubMenu", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _SubMenu.SubMenu;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "SubMenuGroup", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _SubMenu.SubMenuGroup;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "SubMenuItem", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _SubMenu.SubMenuItem;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "SubMenuItemAction", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _SubMenu.SubMenuItemAction;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "SubMenuItemIcon", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _SubMenu.SubMenuItemIcon;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "SubMenuItemText", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _SubMenu.SubMenuItemText;
40
+ }
41
+ });
42
+ var _SubMenu = require("./SubMenu");
@@ -0,0 +1,11 @@
1
+ // @flow strict
2
+
3
+ export type {SubMenuProps} from './SubMenu';
4
+ export {
5
+ SubMenu,
6
+ SubMenuGroup,
7
+ SubMenuItem,
8
+ SubMenuItemAction,
9
+ SubMenuItemIcon,
10
+ SubMenuItemText,
11
+ } from './SubMenu';
@@ -76,7 +76,7 @@ const Tab = _ref => {
76
76
  className: (0, _classify.classify)(_TabModule.default.icon, {
77
77
  [_TabModule.default.disabled]: disabled === true
78
78
  })
79
- }) : null, size === TAB_SIZE.medium ? /*#__PURE__*/React.createElement(_Text.ButtonTextMedium, {
79
+ }) : null, label && /*#__PURE__*/React.createElement(React.Fragment, null, size === TAB_SIZE.medium ? /*#__PURE__*/React.createElement(_Text.ButtonTextMedium, {
80
80
  color: _typography.TEXT_COLORS.secondary,
81
81
  className: (0, _classify.classify)(_TabModule.default.tabContainer, {
82
82
  [_TabModule.default.disabled]: disabled === true
@@ -87,7 +87,7 @@ const Tab = _ref => {
87
87
  [_TabModule.default.selected]: selected === true,
88
88
  [_TabModule.default.disabled]: disabled === true
89
89
  })
90
- }, label)));
90
+ }, label))));
91
91
  };
92
92
  exports.Tab = Tab;
93
93
  Tab.displayName = 'Tab';
@@ -100,25 +100,30 @@ export const Tab = ({
100
100
  })}
101
101
  />
102
102
  ) : null}
103
- {size === TAB_SIZE.medium ? (
104
- <ButtonTextMedium
105
- color={TEXT_COLORS.secondary}
106
- className={classify(css.tabContainer, {
107
- [css.disabled]: disabled === true,
108
- })}
109
- >
110
- {label}
111
- </ButtonTextMedium>
112
- ) : (
113
- <ButtonTextSmall
114
- color={TEXT_COLORS.secondary}
115
- className={classify(css.tabContainer, {
116
- [css.selected]: selected === true,
117
- [css.disabled]: disabled === true,
118
- })}
119
- >
120
- {label}
121
- </ButtonTextSmall>
103
+
104
+ {label && (
105
+ <>
106
+ {size === TAB_SIZE.medium ? (
107
+ <ButtonTextMedium
108
+ color={TEXT_COLORS.secondary}
109
+ className={classify(css.tabContainer, {
110
+ [css.disabled]: disabled === true,
111
+ })}
112
+ >
113
+ {label}
114
+ </ButtonTextMedium>
115
+ ) : (
116
+ <ButtonTextSmall
117
+ color={TEXT_COLORS.secondary}
118
+ className={classify(css.tabContainer, {
119
+ [css.selected]: selected === true,
120
+ [css.disabled]: disabled === true,
121
+ })}
122
+ >
123
+ {label}
124
+ </ButtonTextSmall>
125
+ )}
126
+ </>
122
127
  )}
123
128
  </span>
124
129
  </UnstyledButton>
@@ -25,7 +25,7 @@
25
25
  border: borderWidthTertiary solid colorFocusPrimary;
26
26
  }
27
27
 
28
- .button:focus .tabContainer {
28
+ .button:focus .iconTextWrap {
29
29
  color: colorTextPrimary;
30
30
  }
31
31
 
@@ -55,6 +55,10 @@
55
55
  border-bottom: borderWidthTertiary solid colorFillNone;
56
56
  }
57
57
 
58
+ .iconTextWrap:hover {
59
+ color: colorTextPrimary;
60
+ }
61
+
58
62
  .icon {
59
63
  color: inherit;
60
64
  }
@@ -86,6 +86,8 @@
86
86
 
87
87
  @value colorSideMenuIconActive: #ffffff;
88
88
 
89
+ @value colorSubMenuBackgroundDefault: #1F1F36;
90
+
89
91
  @value colorGrayLightest: #EBEBEB;
90
92
 
91
93
  @value colorNeutral: #706F9B;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.colorWarningLightest = exports.colorWarningLight = exports.colorWarningDarkest = exports.colorWarningDark = exports.colorWarning = exports.colorTooltipFill = exports.colorTextWarning = exports.colorTextTertiary = exports.colorTextSuccess = exports.colorTextSecondary = exports.colorTextPrimary = exports.colorTextNeutral = exports.colorTextInverseSecondary = exports.colorTextInversePrimary = exports.colorTextInformation = exports.colorTextDisabled = exports.colorTextDanger = exports.colorTextClickable = exports.colorSuccessLightest = exports.colorSuccessLight = exports.colorSuccessDarkest = exports.colorSuccessDark = exports.colorSuccess = exports.colorSideMenuIconDefault = exports.colorSideMenuIconActive = exports.colorNeutralLightest = exports.colorNeutralLight = exports.colorNeutralDarkest = exports.colorNeutralDark = exports.colorNeutral = exports.colorInformationLightest = exports.colorInformationLight = exports.colorInformationDarkest = exports.colorInformationDark = exports.colorInformation = exports.colorGrayLightest = exports.colorFocusPrimary = exports.colorFocusDanger = exports.colorFillSecondary = exports.colorFillPrimary = exports.colorFillNone = exports.colorFillInversePrimary = exports.colorFillDisabled = exports.colorDangerLightest = exports.colorDangerLight = exports.colorDangerDarkest = exports.colorDangerDark = exports.colorDanger = exports.colorButtonFillTertiaryPressed = exports.colorButtonFillTertiaryHovered = exports.colorButtonFillTertiaryEnabled = exports.colorButtonFillSecondaryPressed = exports.colorButtonFillSecondaryHovered = exports.colorButtonFillSecondaryEnabled = exports.colorButtonFillPrimaryPressed = exports.colorButtonFillPrimaryHovered = exports.colorButtonFillPrimaryEnabled = exports.colorButtonFillGhostPressed = exports.colorButtonFillGhostHovered = exports.colorButtonFillGhostEnabled = exports.colorButtonFillDangerPressed = exports.colorButtonFillDangerHovered = exports.colorButtonFillDangerEnabled = exports.colorBorderSecondary = exports.colorBorderPrimary = exports.colorBorderDanger = exports.colorBackgroundTertiary = exports.colorBackgroundSecondary = exports.colorBackgroundPrimary = exports.colorBackdropFill = void 0;
6
+ exports.colorWarningLightest = exports.colorWarningLight = exports.colorWarningDarkest = exports.colorWarningDark = exports.colorWarning = exports.colorTooltipFill = exports.colorTextWarning = exports.colorTextTertiary = exports.colorTextSuccess = exports.colorTextSecondary = exports.colorTextPrimary = exports.colorTextNeutral = exports.colorTextInverseSecondary = exports.colorTextInversePrimary = exports.colorTextInformation = exports.colorTextDisabled = exports.colorTextDanger = exports.colorTextClickable = exports.colorSuccessLightest = exports.colorSuccessLight = exports.colorSuccessDarkest = exports.colorSuccessDark = exports.colorSuccess = exports.colorSubMenuBackgroundDefault = exports.colorSideMenuIconDefault = exports.colorSideMenuIconActive = exports.colorNeutralLightest = exports.colorNeutralLight = exports.colorNeutralDarkest = exports.colorNeutralDark = exports.colorNeutral = exports.colorInformationLightest = exports.colorInformationLight = exports.colorInformationDarkest = exports.colorInformationDark = exports.colorInformation = exports.colorGrayLightest = exports.colorFocusPrimary = exports.colorFocusDanger = exports.colorFillSecondary = exports.colorFillPrimary = exports.colorFillNone = exports.colorFillInversePrimary = exports.colorFillDisabled = exports.colorDangerLightest = exports.colorDangerLight = exports.colorDangerDarkest = exports.colorDangerDark = exports.colorDanger = exports.colorButtonFillTertiaryPressed = exports.colorButtonFillTertiaryHovered = exports.colorButtonFillTertiaryEnabled = exports.colorButtonFillSecondaryPressed = exports.colorButtonFillSecondaryHovered = exports.colorButtonFillSecondaryEnabled = exports.colorButtonFillPrimaryPressed = exports.colorButtonFillPrimaryHovered = exports.colorButtonFillPrimaryEnabled = exports.colorButtonFillGhostPressed = exports.colorButtonFillGhostHovered = exports.colorButtonFillGhostEnabled = exports.colorButtonFillDangerPressed = exports.colorButtonFillDangerHovered = exports.colorButtonFillDangerEnabled = exports.colorBorderSecondary = exports.colorBorderPrimary = exports.colorBorderDanger = exports.colorBackgroundTertiary = exports.colorBackgroundSecondary = exports.colorBackgroundPrimary = exports.colorBackdropFill = void 0;
7
7
 
8
8
  const colorTextPrimary = '#17172A';
9
9
  exports.colorTextPrimary = colorTextPrimary;
@@ -93,6 +93,8 @@ const colorSideMenuIconDefault = '#9F9FBC';
93
93
  exports.colorSideMenuIconDefault = colorSideMenuIconDefault;
94
94
  const colorSideMenuIconActive = '#ffffff';
95
95
  exports.colorSideMenuIconActive = colorSideMenuIconActive;
96
+ const colorSubMenuBackgroundDefault = '#1F1F36';
97
+ exports.colorSubMenuBackgroundDefault = colorSubMenuBackgroundDefault;
96
98
  const colorGrayLightest = '#EBEBEB';
97
99
  exports.colorGrayLightest = colorGrayLightest;
98
100
  const colorNeutral = '#706F9B';
@@ -88,6 +88,8 @@ export const colorSideMenuIconDefault = '#9F9FBC';
88
88
 
89
89
  export const colorSideMenuIconActive = '#ffffff';
90
90
 
91
+ export const colorSubMenuBackgroundDefault = '#1F1F36';
92
+
91
93
  export const colorGrayLightest = '#EBEBEB';
92
94
 
93
95
  export const colorNeutral = '#706F9B';
@@ -44,6 +44,8 @@
44
44
 
45
45
  @value size240: 240px;
46
46
 
47
+ @value size260: 260px;
48
+
47
49
  @value size276: 276px;
48
50
 
49
51
  @value size300: 300px;
@@ -63,3 +65,5 @@
63
65
  @value size960: 960px;
64
66
 
65
67
  @value sizeFluid: 100%;
68
+
69
+ @value sizeFullViewportHeight: 100vh;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.sizeFluid = exports.size960 = exports.size8 = exports.size720 = exports.size60 = exports.size580 = exports.size500 = exports.size5 = exports.size480 = exports.size42 = exports.size400 = exports.size40 = exports.size4 = exports.size380 = exports.size38 = exports.size36 = exports.size34 = exports.size300 = exports.size30 = exports.size276 = exports.size240 = exports.size24 = exports.size228 = exports.size22 = exports.size20 = exports.size2 = exports.size18 = exports.size160 = exports.size140 = exports.size12 = exports.size110 = exports.size100 = exports.size10 = void 0;
6
+ exports.sizeFullViewportHeight = exports.sizeFluid = exports.size960 = exports.size8 = exports.size720 = exports.size60 = exports.size580 = exports.size500 = exports.size5 = exports.size480 = exports.size42 = exports.size400 = exports.size40 = exports.size4 = exports.size380 = exports.size38 = exports.size36 = exports.size34 = exports.size300 = exports.size30 = exports.size276 = exports.size260 = exports.size240 = exports.size24 = exports.size228 = exports.size22 = exports.size20 = exports.size2 = exports.size18 = exports.size160 = exports.size140 = exports.size12 = exports.size110 = exports.size100 = exports.size10 = void 0;
7
7
 
8
8
  const size2 = '2px';
9
9
  exports.size2 = size2;
@@ -51,6 +51,8 @@ const size228 = '228px';
51
51
  exports.size228 = size228;
52
52
  const size240 = '240px';
53
53
  exports.size240 = size240;
54
+ const size260 = '260px';
55
+ exports.size260 = size260;
54
56
  const size276 = '276px';
55
57
  exports.size276 = size276;
56
58
  const size300 = '300px';
@@ -70,4 +72,6 @@ exports.size720 = size720;
70
72
  const size960 = '960px';
71
73
  exports.size960 = size960;
72
74
  const sizeFluid = '100%';
73
- exports.sizeFluid = sizeFluid;
75
+ exports.sizeFluid = sizeFluid;
76
+ const sizeFullViewportHeight = '100vh';
77
+ exports.sizeFullViewportHeight = sizeFullViewportHeight;
@@ -46,6 +46,8 @@ export const size228 = '228px';
46
46
 
47
47
  export const size240 = '240px';
48
48
 
49
+ export const size260 = '260px';
50
+
49
51
  export const size276 = '276px';
50
52
 
51
53
  export const size300 = '300px';
@@ -65,3 +67,5 @@ export const size720 = '720px';
65
67
  export const size960 = '960px';
66
68
 
67
69
  export const sizeFluid = '100%';
70
+
71
+ export const sizeFullViewportHeight = '100vh';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spaced-out/ui-design-system",
3
- "version": "0.0.21",
3
+ "version": "0.0.23-beta.0",
4
4
  "main": "index.js",
5
5
  "description": "Sense UI components library",
6
6
  "author": {