glints-aries 4.0.207 → 4.0.209

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 (37) hide show
  1. package/es/@next/Banner/Banner.js +2 -2
  2. package/es/@next/Banner/BannerStyle.d.ts +1 -0
  3. package/es/@next/Banner/BannerStyle.js +6 -1
  4. package/es/@next/Card/Card.js +3 -1
  5. package/es/@next/Card/CardStyle.js +2 -2
  6. package/es/@next/InlineError/InlineErrorStyle.d.ts +1 -1
  7. package/es/@next/InlineError/InlineErrorStyle.js +2 -1
  8. package/es/@next/Menu/Menu.d.ts +17 -0
  9. package/es/@next/Menu/Menu.js +45 -0
  10. package/es/@next/Menu/Menu.stories.d.ts +4 -0
  11. package/es/@next/Menu/MenuStyle.d.ts +4 -0
  12. package/es/@next/Menu/MenuStyle.js +16 -0
  13. package/es/@next/Menu/index.d.ts +1 -0
  14. package/es/@next/Menu/index.js +1 -0
  15. package/es/@next/Modal/Modal.d.ts +2 -2
  16. package/es/@next/Modal/Modal.js +7 -3
  17. package/es/@next/index.d.ts +1 -0
  18. package/es/@next/index.js +1 -0
  19. package/lib/@next/Banner/Banner.js +1 -1
  20. package/lib/@next/Banner/BannerStyle.d.ts +1 -0
  21. package/lib/@next/Banner/BannerStyle.js +8 -2
  22. package/lib/@next/Card/Card.js +3 -1
  23. package/lib/@next/Card/CardStyle.js +2 -2
  24. package/lib/@next/InlineError/InlineErrorStyle.d.ts +1 -1
  25. package/lib/@next/InlineError/InlineErrorStyle.js +2 -1
  26. package/lib/@next/Menu/Menu.d.ts +17 -0
  27. package/lib/@next/Menu/Menu.js +51 -0
  28. package/lib/@next/Menu/Menu.stories.d.ts +4 -0
  29. package/lib/@next/Menu/MenuStyle.d.ts +4 -0
  30. package/lib/@next/Menu/MenuStyle.js +24 -0
  31. package/lib/@next/Menu/index.d.ts +1 -0
  32. package/lib/@next/Menu/index.js +9 -0
  33. package/lib/@next/Modal/Modal.d.ts +2 -2
  34. package/lib/@next/Modal/Modal.js +7 -3
  35. package/lib/@next/index.d.ts +1 -0
  36. package/lib/@next/index.js +4 -1
  37. package/package.json +1 -1
@@ -5,7 +5,7 @@ import React from 'react';
5
5
  import { ButtonGroup } from '../ButtonGroup';
6
6
  import { Icon } from '../Icon';
7
7
  import { Typography } from '../Typography';
8
- import { StyledBanner, StyledBannerContentContainer, StyledBannerTitleContainer, StyledCloseIconWrapper } from './BannerStyle';
8
+ import { StyledBanner, StyledBannerContentContainer, StyledBannerTitle, StyledBannerTitleContainer, StyledCloseIconWrapper } from './BannerStyle';
9
9
  var iconNameStatusMap = {
10
10
  success: 'ri-checkbox-circle-fill',
11
11
  info: 'ri-information-fill',
@@ -34,7 +34,7 @@ export var Banner = /*#__PURE__*/React.forwardRef(function Banner(_ref, ref) {
34
34
  "data-status": status
35
35
  }, props), /*#__PURE__*/React.createElement(StyledBannerTitleContainer, null, /*#__PURE__*/React.createElement(Icon, {
36
36
  name: iconNameValue
37
- }), /*#__PURE__*/React.createElement(StyledBannerContentContainer, null, /*#__PURE__*/React.createElement(Typography, {
37
+ }), title && /*#__PURE__*/React.createElement(StyledBannerTitle, null, /*#__PURE__*/React.createElement(Typography, {
38
38
  as: "span",
39
39
  variant: "subtitle1"
40
40
  }, title)), dismissable && /*#__PURE__*/React.createElement(StyledCloseIconWrapper, {
@@ -2,3 +2,4 @@ export declare const StyledCloseIconWrapper: import("styled-components").StyledC
2
2
  export declare const StyledBanner: import("styled-components").StyledComponent<"div", any, {}, never>;
3
3
  export declare const StyledBannerContentContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
4
4
  export declare const StyledBannerTitleContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
5
+ export declare const StyledBannerTitle: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -2,6 +2,7 @@ import styled from 'styled-components';
2
2
  import * as Breakpoints from '../utilities/breakpoints';
3
3
  import { borderRadius8 } from '../utilities/borderRadius';
4
4
  import { Blue, Green, Neutral, Orange, Red } from '../utilities/colors';
5
+ import { space4 } from '../utilities/spacing';
5
6
  export var StyledCloseIconWrapper = styled.div.withConfig({
6
7
  displayName: "BannerStyle__StyledCloseIconWrapper",
7
8
  componentId: "sc-1suv683-0"
@@ -17,4 +18,8 @@ export var StyledBannerContentContainer = styled.div.withConfig({
17
18
  export var StyledBannerTitleContainer = styled.div.withConfig({
18
19
  displayName: "BannerStyle__StyledBannerTitleContainer",
19
20
  componentId: "sc-1suv683-3"
20
- })(["position:relative;"]);
21
+ })(["position:relative;"]);
22
+ export var StyledBannerTitle = styled.div.withConfig({
23
+ displayName: "BannerStyle__StyledBannerTitle",
24
+ componentId: "sc-1suv683-4"
25
+ })(["margin-bottom:", ";padding-left:40px;button{margin-top:10px;}"], space4);
@@ -33,7 +33,9 @@ var CardComponent = /*#__PURE__*/React.forwardRef(function Card(_ref, ref) {
33
33
  var showActions = !!primaryAction || !!secondaryAction;
34
34
  return /*#__PURE__*/React.createElement(StyledCardContainer, {
35
35
  ref: ref
36
- }, showHeader && /*#__PURE__*/React.createElement(StyledCardHeaderWrapper, null, headerMarkup(), " "), /*#__PURE__*/React.createElement(StyledCardContentWrapper, null, children), showActions && /*#__PURE__*/React.createElement(StyledCardActionWrapper, {
36
+ }, showHeader && /*#__PURE__*/React.createElement(StyledCardHeaderWrapper, null, headerMarkup(), " "), /*#__PURE__*/React.createElement(StyledCardContentWrapper, {
37
+ "data-actions": showActions
38
+ }, children), showActions && /*#__PURE__*/React.createElement(StyledCardActionWrapper, {
37
39
  "data-align": actionsAlignment
38
40
  }, /*#__PURE__*/React.createElement(ButtonGroup, null, secondaryAction && /*#__PURE__*/React.createElement(Button, {
39
41
  onClick: secondaryAction.action
@@ -22,11 +22,11 @@ export var StyledCardHeaderSectionHalf = styled.div.withConfig({
22
22
  export var StyledCardContentWrapper = styled.div.withConfig({
23
23
  displayName: "CardStyle__StyledCardContentWrapper",
24
24
  componentId: "sc-tpku8j-4"
25
- })(["padding-left:", ";"], space4);
25
+ })(["padding-bottom:", ";@media (max-width:", "){padding-bottom:0px;}&[data-actions='true']{padding-bottom:0px;}"], space4, Breakpoints.large);
26
26
  export var StyledCardSection = styled.div.withConfig({
27
27
  displayName: "CardStyle__StyledCardSection",
28
28
  componentId: "sc-tpku8j-5"
29
- })(["padding:", " 20px;.section + .section{border-top:solid 1px ", ";}@media (max-width:", "){padding:", " ", ";}"], space16, Neutral.B85, Breakpoints.large, space16, space12);
29
+ })(["padding:20px ", ";.section{padding:", " ", ";&:last-child{padding-bottom:0;}}.section + .section{border-top:solid 1px ", ";}@media (max-width:", "){padding:", " ", ";.section{padding:", " ", ";}}"], space24, space16, space24, Neutral.B85, Breakpoints.large, space12, space16, space12, space16);
30
30
  export var StyledCardActionWrapper = styled.div.withConfig({
31
31
  displayName: "CardStyle__StyledCardActionWrapper",
32
32
  componentId: "sc-tpku8j-6"
@@ -1,3 +1,3 @@
1
1
  /// <reference types="react" />
2
2
  export declare const StyledWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
3
- export declare const StyledText: import("styled-components").StyledComponent<({ as, children, variant, style, ...props }: import("../Typography").TypographyProps) => JSX.Element, any, {}, never>;
3
+ export declare const StyledText: import("styled-components").StyledComponent<({ as, children, variant, style, ...props }: import("..").TypographyProps) => JSX.Element, any, {}, never>;
@@ -2,10 +2,11 @@ import styled from 'styled-components';
2
2
  import { space4 } from '../utilities/spacing';
3
3
  import { Typography } from '../Typography';
4
4
  import { Red } from '../utilities/colors';
5
+ import { Breakpoints } from '..';
5
6
  export var StyledWrapper = styled.div.withConfig({
6
7
  displayName: "InlineErrorStyle__StyledWrapper",
7
8
  componentId: "sc-gvg32i-0"
8
- })(["display:flex;align-items:center;gap:", ";"], space4);
9
+ })(["display:flex;align-items:flex-start;gap:", ";svg{flex-shrink:0;}@media (max-width:", "){svg{height:18px;width:18px;}}"], space4, Breakpoints.large);
9
10
  export var StyledText = styled(Typography).withConfig({
10
11
  displayName: "InlineErrorStyle__StyledText",
11
12
  componentId: "sc-gvg32i-1"
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ interface Option {
3
+ disabled?: boolean;
4
+ id?: string;
5
+ label: React.ReactNode;
6
+ value: string;
7
+ }
8
+ export interface MenuProps {
9
+ id?: string;
10
+ onChange?: (selected: string[]) => void;
11
+ options?: Option[];
12
+ /** Selected value based on Option.value */
13
+ selectedValues?: string[];
14
+ title?: string;
15
+ }
16
+ export declare const Menu: ({ id, onChange, options, selectedValues, title, }: MenuProps) => JSX.Element;
17
+ export {};
@@ -0,0 +1,45 @@
1
+ import React from 'react';
2
+ import nextId from 'react-id-generator';
3
+ import { Typography } from '../Typography';
4
+ import { Neutral } from '../utilities/colors';
5
+ import { ListContainer, StyledMenu, TitleContainer } from './MenuStyle';
6
+ export var Menu = function Menu(_ref) {
7
+ var id = _ref.id,
8
+ onChange = _ref.onChange,
9
+ options = _ref.options,
10
+ selectedValues = _ref.selectedValues,
11
+ title = _ref.title;
12
+ var randomId = nextId('glints-menu');
13
+ var menuId = id ? id : randomId;
14
+ var handleClick = function handleClick(value) {
15
+ onChange([value]);
16
+ };
17
+ return /*#__PURE__*/React.createElement(StyledMenu, {
18
+ id: menuId
19
+ }, /*#__PURE__*/React.createElement(TitleContainer, null, /*#__PURE__*/React.createElement(Typography, {
20
+ variant: "subtitle2",
21
+ as: "span",
22
+ color: Neutral.B40
23
+ }, title)), options.map(function (option) {
24
+ var value = option.value,
25
+ label = option.label,
26
+ disabled = option.disabled,
27
+ id = option.id;
28
+ var isSelected = selectedValues == null ? void 0 : selectedValues.includes(value);
29
+ return /*#__PURE__*/React.createElement(ListContainer, {
30
+ key: id
31
+ }, /*#__PURE__*/React.createElement("li", {
32
+ key: id,
33
+ "aria-disabled": disabled,
34
+ "data-active": isSelected,
35
+ value: value,
36
+ onClick: function onClick() {
37
+ return handleClick(value);
38
+ }
39
+ }, /*#__PURE__*/React.createElement(Typography, {
40
+ as: "span",
41
+ variant: "body1",
42
+ color: Neutral.B18
43
+ }, label)));
44
+ }));
45
+ };
@@ -0,0 +1,4 @@
1
+ import { Meta } from '@storybook/react';
2
+ declare const _default: Meta<import("@storybook/react").Args>;
3
+ export default _default;
4
+ export declare const Basic: any;
@@ -0,0 +1,4 @@
1
+ import { MenuProps } from './Menu';
2
+ export declare const StyledMenu: import("styled-components").StyledComponent<"ul", any, MenuProps, never>;
3
+ export declare const TitleContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
4
+ export declare const ListContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -0,0 +1,16 @@
1
+ import styled from 'styled-components';
2
+ import { borderRadius4 } from '../utilities/borderRadius';
3
+ import { Blue, Neutral } from '../utilities/colors';
4
+ import { space16, space4, space8 } from '../utilities/spacing';
5
+ export var StyledMenu = styled.ul.withConfig({
6
+ displayName: "MenuStyle__StyledMenu",
7
+ componentId: "sc-zm0l1a-0"
8
+ })(["list-style:none;margin:", " 0;padding:0;li{display:flex;height:44px;position:relative;align-items:center;padding:0 ", ";margin-bottom:", ";&:hover{background:", ";border-radius:", ";cursor:pointer;}&:focus{outline:none;background:rgba(255,255,255,0.001);border:2px solid ", ";border-radius:", ";}&[aria-disabled='true']{cursor:default;pointer-events:none;span{color:", ";}}&[data-active='true']{background:", ";border-radius:", ";cursor:default;::before{content:'';display:block;position:absolute;top:0;left:-", ";height:44px;width:3px;background-color:", ";border-radius:0px 4px 4px 0px;}}}"], space8, space8, space4, Neutral.B99, borderRadius4, Blue.S54, space4, Neutral.B85, Blue.S08, borderRadius4, space8, Blue.S99);
9
+ export var TitleContainer = styled.div.withConfig({
10
+ displayName: "MenuStyle__TitleContainer",
11
+ componentId: "sc-zm0l1a-1"
12
+ })(["padding:", " ", ";span{text-transform:uppercase;}"], space8, space16);
13
+ export var ListContainer = styled.div.withConfig({
14
+ displayName: "MenuStyle__ListContainer",
15
+ componentId: "sc-zm0l1a-2"
16
+ })(["padding:0 ", ";"], space8);
@@ -0,0 +1 @@
1
+ export * from './Menu';
@@ -0,0 +1 @@
1
+ export * from './Menu';
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { ComponentAction } from '../../types/componentAction';
3
- export declare type ModalProps = {
3
+ export interface ModalProps extends React.HTMLAttributes<HTMLDivElement> {
4
4
  isOpen?: boolean;
5
5
  header?: string;
6
6
  headerDescription?: string;
@@ -19,5 +19,5 @@ export declare type ModalProps = {
19
19
  closeOnClickOutside?: boolean;
20
20
  onClose?: () => void;
21
21
  onBack?: () => void;
22
- };
22
+ }
23
23
  export declare const Modal: React.ForwardRefExoticComponent<ModalProps & React.RefAttributes<HTMLDivElement>>;
@@ -1,3 +1,6 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
3
+ var _excluded = ["isOpen", "header", "headerDescription", "children", "secondaryAction", "primaryAction", "customActions", "showBackButton", "showCloseButton", "showHeaderBorder", "closeOnClickOutside", "onClose", "onBack"];
1
4
  import React from 'react';
2
5
  import { Button, PrimaryButton } from '../Button';
3
6
  import { ButtonGroup } from '../ButtonGroup';
@@ -20,7 +23,8 @@ export var Modal = /*#__PURE__*/React.forwardRef(function Modal(_ref, ref) {
20
23
  showHeaderBorder = _ref$showHeaderBorder === void 0 ? true : _ref$showHeaderBorder,
21
24
  closeOnClickOutside = _ref.closeOnClickOutside,
22
25
  onClose = _ref.onClose,
23
- onBack = _ref.onBack;
26
+ onBack = _ref.onBack,
27
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
24
28
  if (!isOpen) {
25
29
  return null;
26
30
  }
@@ -49,12 +53,12 @@ export var Modal = /*#__PURE__*/React.forwardRef(function Modal(_ref, ref) {
49
53
  onClick: function onClick() {
50
54
  return handleClickOutside();
51
55
  }
52
- }, /*#__PURE__*/React.createElement(StyledModalContainer, {
56
+ }, /*#__PURE__*/React.createElement(StyledModalContainer, _extends({
53
57
  ref: ref,
54
58
  onClick: function onClick(e) {
55
59
  return e.stopPropagation();
56
60
  }
57
- }, header && /*#__PURE__*/React.createElement(StyledModalHeader, {
61
+ }, props), header && /*#__PURE__*/React.createElement(StyledModalHeader, {
58
62
  "data-show-border": showHeaderBorder
59
63
  }, showBackButton && /*#__PURE__*/React.createElement(StyledButtonContainer, null, /*#__PURE__*/React.createElement(StyledModalBackButton, {
60
64
  "data-testid": "modal-back-btn",
@@ -19,6 +19,7 @@ export { EmptyState } from './EmptyState';
19
19
  export { Icon, IconProps } from './Icon';
20
20
  export { IndexTable, IndexTableProps, useIndexResourceState, } from './IndexTable';
21
21
  export { Link, LinkProps } from './Link';
22
+ export { Menu, MenuProps } from './Menu';
22
23
  export { Modal, ModalContext, ModalProps, ModalProvider, useModal, } from './Modal';
23
24
  export { NumberInput, NumberInputProps } from './NumberInput';
24
25
  export { Pagination, PaginationProps, SimplePagination } from './Pagination';
package/es/@next/index.js CHANGED
@@ -20,6 +20,7 @@ export { EmptyState } from './EmptyState';
20
20
  export { Icon, IconProps } from './Icon';
21
21
  export { IndexTable, IndexTableProps, useIndexResourceState } from './IndexTable';
22
22
  export { Link, LinkProps } from './Link';
23
+ export { Menu, MenuProps } from './Menu';
23
24
  export { Modal, ModalContext, ModalProps, ModalProvider, useModal } from './Modal';
24
25
  export { NumberInput, NumberInputProps } from './NumberInput';
25
26
  export { Pagination, PaginationProps, SimplePagination } from './Pagination';
@@ -39,7 +39,7 @@ var Banner = /*#__PURE__*/_react["default"].forwardRef(function Banner(_ref, ref
39
39
  "data-status": status
40
40
  }, props), /*#__PURE__*/_react["default"].createElement(_BannerStyle.StyledBannerTitleContainer, null, /*#__PURE__*/_react["default"].createElement(_Icon.Icon, {
41
41
  name: iconNameValue
42
- }), /*#__PURE__*/_react["default"].createElement(_BannerStyle.StyledBannerContentContainer, null, /*#__PURE__*/_react["default"].createElement(_Typography.Typography, {
42
+ }), title && /*#__PURE__*/_react["default"].createElement(_BannerStyle.StyledBannerTitle, null, /*#__PURE__*/_react["default"].createElement(_Typography.Typography, {
43
43
  as: "span",
44
44
  variant: "subtitle1"
45
45
  }, title)), dismissable && /*#__PURE__*/_react["default"].createElement(_BannerStyle.StyledCloseIconWrapper, {
@@ -2,3 +2,4 @@ export declare const StyledCloseIconWrapper: import("styled-components").StyledC
2
2
  export declare const StyledBanner: import("styled-components").StyledComponent<"div", any, {}, never>;
3
3
  export declare const StyledBannerContentContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
4
4
  export declare const StyledBannerTitleContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
5
+ export declare const StyledBannerTitle: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -2,11 +2,12 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
  exports.__esModule = true;
5
- exports.StyledCloseIconWrapper = exports.StyledBannerTitleContainer = exports.StyledBannerContentContainer = exports.StyledBanner = void 0;
5
+ exports.StyledCloseIconWrapper = exports.StyledBannerTitleContainer = exports.StyledBannerTitle = exports.StyledBannerContentContainer = exports.StyledBanner = void 0;
6
6
  var _styledComponents = _interopRequireDefault(require("styled-components"));
7
7
  var Breakpoints = _interopRequireWildcard(require("../utilities/breakpoints"));
8
8
  var _borderRadius = require("../utilities/borderRadius");
9
9
  var _colors = require("../utilities/colors");
10
+ var _spacing = require("../utilities/spacing");
10
11
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
11
12
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
12
13
  var StyledCloseIconWrapper = _styledComponents["default"].div.withConfig({
@@ -28,4 +29,9 @@ var StyledBannerTitleContainer = _styledComponents["default"].div.withConfig({
28
29
  displayName: "BannerStyle__StyledBannerTitleContainer",
29
30
  componentId: "sc-1suv683-3"
30
31
  })(["position:relative;"]);
31
- exports.StyledBannerTitleContainer = StyledBannerTitleContainer;
32
+ exports.StyledBannerTitleContainer = StyledBannerTitleContainer;
33
+ var StyledBannerTitle = _styledComponents["default"].div.withConfig({
34
+ displayName: "BannerStyle__StyledBannerTitle",
35
+ componentId: "sc-1suv683-4"
36
+ })(["margin-bottom:", ";padding-left:40px;button{margin-top:10px;}"], _spacing.space4);
37
+ exports.StyledBannerTitle = StyledBannerTitle;
@@ -38,7 +38,9 @@ var CardComponent = /*#__PURE__*/_react["default"].forwardRef(function Card(_ref
38
38
  var showActions = !!primaryAction || !!secondaryAction;
39
39
  return /*#__PURE__*/_react["default"].createElement(_CardStyle.StyledCardContainer, {
40
40
  ref: ref
41
- }, showHeader && /*#__PURE__*/_react["default"].createElement(_CardStyle.StyledCardHeaderWrapper, null, headerMarkup(), " "), /*#__PURE__*/_react["default"].createElement(_CardStyle.StyledCardContentWrapper, null, children), showActions && /*#__PURE__*/_react["default"].createElement(_CardStyle.StyledCardActionWrapper, {
41
+ }, showHeader && /*#__PURE__*/_react["default"].createElement(_CardStyle.StyledCardHeaderWrapper, null, headerMarkup(), " "), /*#__PURE__*/_react["default"].createElement(_CardStyle.StyledCardContentWrapper, {
42
+ "data-actions": showActions
43
+ }, children), showActions && /*#__PURE__*/_react["default"].createElement(_CardStyle.StyledCardActionWrapper, {
42
44
  "data-align": actionsAlignment
43
45
  }, /*#__PURE__*/_react["default"].createElement(_ButtonGroup.ButtonGroup, null, secondaryAction && /*#__PURE__*/_react["default"].createElement(_Button.Button, {
44
46
  onClick: secondaryAction.action
@@ -33,12 +33,12 @@ exports.StyledCardHeaderSectionHalf = StyledCardHeaderSectionHalf;
33
33
  var StyledCardContentWrapper = _styledComponents["default"].div.withConfig({
34
34
  displayName: "CardStyle__StyledCardContentWrapper",
35
35
  componentId: "sc-tpku8j-4"
36
- })(["padding-left:", ";"], _spacing.space4);
36
+ })(["padding-bottom:", ";@media (max-width:", "){padding-bottom:0px;}&[data-actions='true']{padding-bottom:0px;}"], _spacing.space4, Breakpoints.large);
37
37
  exports.StyledCardContentWrapper = StyledCardContentWrapper;
38
38
  var StyledCardSection = _styledComponents["default"].div.withConfig({
39
39
  displayName: "CardStyle__StyledCardSection",
40
40
  componentId: "sc-tpku8j-5"
41
- })(["padding:", " 20px;.section + .section{border-top:solid 1px ", ";}@media (max-width:", "){padding:", " ", ";}"], _spacing.space16, _colors.Neutral.B85, Breakpoints.large, _spacing.space16, _spacing.space12);
41
+ })(["padding:20px ", ";.section{padding:", " ", ";&:last-child{padding-bottom:0;}}.section + .section{border-top:solid 1px ", ";}@media (max-width:", "){padding:", " ", ";.section{padding:", " ", ";}}"], _spacing.space24, _spacing.space16, _spacing.space24, _colors.Neutral.B85, Breakpoints.large, _spacing.space12, _spacing.space16, _spacing.space12, _spacing.space16);
42
42
  exports.StyledCardSection = StyledCardSection;
43
43
  var StyledCardActionWrapper = _styledComponents["default"].div.withConfig({
44
44
  displayName: "CardStyle__StyledCardActionWrapper",
@@ -1,3 +1,3 @@
1
1
  /// <reference types="react" />
2
2
  export declare const StyledWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
3
- export declare const StyledText: import("styled-components").StyledComponent<({ as, children, variant, style, ...props }: import("../Typography").TypographyProps) => JSX.Element, any, {}, never>;
3
+ export declare const StyledText: import("styled-components").StyledComponent<({ as, children, variant, style, ...props }: import("..").TypographyProps) => JSX.Element, any, {}, never>;
@@ -7,10 +7,11 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
7
7
  var _spacing = require("../utilities/spacing");
8
8
  var _Typography = require("../Typography");
9
9
  var _colors = require("../utilities/colors");
10
+ var _ = require("..");
10
11
  var StyledWrapper = _styledComponents["default"].div.withConfig({
11
12
  displayName: "InlineErrorStyle__StyledWrapper",
12
13
  componentId: "sc-gvg32i-0"
13
- })(["display:flex;align-items:center;gap:", ";"], _spacing.space4);
14
+ })(["display:flex;align-items:flex-start;gap:", ";svg{flex-shrink:0;}@media (max-width:", "){svg{height:18px;width:18px;}}"], _spacing.space4, _.Breakpoints.large);
14
15
  exports.StyledWrapper = StyledWrapper;
15
16
  var StyledText = (0, _styledComponents["default"])(_Typography.Typography).withConfig({
16
17
  displayName: "InlineErrorStyle__StyledText",
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ interface Option {
3
+ disabled?: boolean;
4
+ id?: string;
5
+ label: React.ReactNode;
6
+ value: string;
7
+ }
8
+ export interface MenuProps {
9
+ id?: string;
10
+ onChange?: (selected: string[]) => void;
11
+ options?: Option[];
12
+ /** Selected value based on Option.value */
13
+ selectedValues?: string[];
14
+ title?: string;
15
+ }
16
+ export declare const Menu: ({ id, onChange, options, selectedValues, title, }: MenuProps) => JSX.Element;
17
+ export {};
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.Menu = void 0;
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _reactIdGenerator = _interopRequireDefault(require("react-id-generator"));
8
+ var _Typography = require("../Typography");
9
+ var _colors = require("../utilities/colors");
10
+ var _MenuStyle = require("./MenuStyle");
11
+ var Menu = function Menu(_ref) {
12
+ var id = _ref.id,
13
+ onChange = _ref.onChange,
14
+ options = _ref.options,
15
+ selectedValues = _ref.selectedValues,
16
+ title = _ref.title;
17
+ var randomId = (0, _reactIdGenerator["default"])('glints-menu');
18
+ var menuId = id ? id : randomId;
19
+ var handleClick = function handleClick(value) {
20
+ onChange([value]);
21
+ };
22
+ return /*#__PURE__*/_react["default"].createElement(_MenuStyle.StyledMenu, {
23
+ id: menuId
24
+ }, /*#__PURE__*/_react["default"].createElement(_MenuStyle.TitleContainer, null, /*#__PURE__*/_react["default"].createElement(_Typography.Typography, {
25
+ variant: "subtitle2",
26
+ as: "span",
27
+ color: _colors.Neutral.B40
28
+ }, title)), options.map(function (option) {
29
+ var value = option.value,
30
+ label = option.label,
31
+ disabled = option.disabled,
32
+ id = option.id;
33
+ var isSelected = selectedValues == null ? void 0 : selectedValues.includes(value);
34
+ return /*#__PURE__*/_react["default"].createElement(_MenuStyle.ListContainer, {
35
+ key: id
36
+ }, /*#__PURE__*/_react["default"].createElement("li", {
37
+ key: id,
38
+ "aria-disabled": disabled,
39
+ "data-active": isSelected,
40
+ value: value,
41
+ onClick: function onClick() {
42
+ return handleClick(value);
43
+ }
44
+ }, /*#__PURE__*/_react["default"].createElement(_Typography.Typography, {
45
+ as: "span",
46
+ variant: "body1",
47
+ color: _colors.Neutral.B18
48
+ }, label)));
49
+ }));
50
+ };
51
+ exports.Menu = Menu;
@@ -0,0 +1,4 @@
1
+ import { Meta } from '@storybook/react';
2
+ declare const _default: Meta<import("@storybook/react").Args>;
3
+ export default _default;
4
+ export declare const Basic: any;
@@ -0,0 +1,4 @@
1
+ import { MenuProps } from './Menu';
2
+ export declare const StyledMenu: import("styled-components").StyledComponent<"ul", any, MenuProps, never>;
3
+ export declare const TitleContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
4
+ export declare const ListContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.TitleContainer = exports.StyledMenu = exports.ListContainer = void 0;
6
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
7
+ var _borderRadius = require("../utilities/borderRadius");
8
+ var _colors = require("../utilities/colors");
9
+ var _spacing = require("../utilities/spacing");
10
+ var StyledMenu = _styledComponents["default"].ul.withConfig({
11
+ displayName: "MenuStyle__StyledMenu",
12
+ componentId: "sc-zm0l1a-0"
13
+ })(["list-style:none;margin:", " 0;padding:0;li{display:flex;height:44px;position:relative;align-items:center;padding:0 ", ";margin-bottom:", ";&:hover{background:", ";border-radius:", ";cursor:pointer;}&:focus{outline:none;background:rgba(255,255,255,0.001);border:2px solid ", ";border-radius:", ";}&[aria-disabled='true']{cursor:default;pointer-events:none;span{color:", ";}}&[data-active='true']{background:", ";border-radius:", ";cursor:default;::before{content:'';display:block;position:absolute;top:0;left:-", ";height:44px;width:3px;background-color:", ";border-radius:0px 4px 4px 0px;}}}"], _spacing.space8, _spacing.space8, _spacing.space4, _colors.Neutral.B99, _borderRadius.borderRadius4, _colors.Blue.S54, _spacing.space4, _colors.Neutral.B85, _colors.Blue.S08, _borderRadius.borderRadius4, _spacing.space8, _colors.Blue.S99);
14
+ exports.StyledMenu = StyledMenu;
15
+ var TitleContainer = _styledComponents["default"].div.withConfig({
16
+ displayName: "MenuStyle__TitleContainer",
17
+ componentId: "sc-zm0l1a-1"
18
+ })(["padding:", " ", ";span{text-transform:uppercase;}"], _spacing.space8, _spacing.space16);
19
+ exports.TitleContainer = TitleContainer;
20
+ var ListContainer = _styledComponents["default"].div.withConfig({
21
+ displayName: "MenuStyle__ListContainer",
22
+ componentId: "sc-zm0l1a-2"
23
+ })(["padding:0 ", ";"], _spacing.space8);
24
+ exports.ListContainer = ListContainer;
@@ -0,0 +1 @@
1
+ export * from './Menu';
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ var _Menu = require("./Menu");
5
+ Object.keys(_Menu).forEach(function (key) {
6
+ if (key === "default" || key === "__esModule") return;
7
+ if (key in exports && exports[key] === _Menu[key]) return;
8
+ exports[key] = _Menu[key];
9
+ });
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { ComponentAction } from '../../types/componentAction';
3
- export declare type ModalProps = {
3
+ export interface ModalProps extends React.HTMLAttributes<HTMLDivElement> {
4
4
  isOpen?: boolean;
5
5
  header?: string;
6
6
  headerDescription?: string;
@@ -19,5 +19,5 @@ export declare type ModalProps = {
19
19
  closeOnClickOutside?: boolean;
20
20
  onClose?: () => void;
21
21
  onBack?: () => void;
22
- };
22
+ }
23
23
  export declare const Modal: React.ForwardRefExoticComponent<ModalProps & React.RefAttributes<HTMLDivElement>>;
@@ -3,6 +3,8 @@
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
  exports.__esModule = true;
5
5
  exports.Modal = void 0;
6
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
7
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
6
8
  var _react = _interopRequireDefault(require("react"));
7
9
  var _Button = require("../Button");
8
10
  var _ButtonGroup = require("../ButtonGroup");
@@ -10,6 +12,7 @@ var _Icon = require("../Icon");
10
12
  var _Portal = require("../Portal/Portal");
11
13
  var _Typography = require("../Typography");
12
14
  var _ModalStyle = require("./ModalStyle");
15
+ var _excluded = ["isOpen", "header", "headerDescription", "children", "secondaryAction", "primaryAction", "customActions", "showBackButton", "showCloseButton", "showHeaderBorder", "closeOnClickOutside", "onClose", "onBack"];
13
16
  var Modal = /*#__PURE__*/_react["default"].forwardRef(function Modal(_ref, ref) {
14
17
  var isOpen = _ref.isOpen,
15
18
  header = _ref.header,
@@ -25,7 +28,8 @@ var Modal = /*#__PURE__*/_react["default"].forwardRef(function Modal(_ref, ref)
25
28
  showHeaderBorder = _ref$showHeaderBorder === void 0 ? true : _ref$showHeaderBorder,
26
29
  closeOnClickOutside = _ref.closeOnClickOutside,
27
30
  onClose = _ref.onClose,
28
- onBack = _ref.onBack;
31
+ onBack = _ref.onBack,
32
+ props = (0, _objectWithoutPropertiesLoose2["default"])(_ref, _excluded);
29
33
  if (!isOpen) {
30
34
  return null;
31
35
  }
@@ -54,12 +58,12 @@ var Modal = /*#__PURE__*/_react["default"].forwardRef(function Modal(_ref, ref)
54
58
  onClick: function onClick() {
55
59
  return handleClickOutside();
56
60
  }
57
- }, /*#__PURE__*/_react["default"].createElement(_ModalStyle.StyledModalContainer, {
61
+ }, /*#__PURE__*/_react["default"].createElement(_ModalStyle.StyledModalContainer, (0, _extends2["default"])({
58
62
  ref: ref,
59
63
  onClick: function onClick(e) {
60
64
  return e.stopPropagation();
61
65
  }
62
- }, header && /*#__PURE__*/_react["default"].createElement(_ModalStyle.StyledModalHeader, {
66
+ }, props), header && /*#__PURE__*/_react["default"].createElement(_ModalStyle.StyledModalHeader, {
63
67
  "data-show-border": showHeaderBorder
64
68
  }, showBackButton && /*#__PURE__*/_react["default"].createElement(_ModalStyle.StyledButtonContainer, null, /*#__PURE__*/_react["default"].createElement(_ModalStyle.StyledModalBackButton, {
65
69
  "data-testid": "modal-back-btn",
@@ -19,6 +19,7 @@ export { EmptyState } from './EmptyState';
19
19
  export { Icon, IconProps } from './Icon';
20
20
  export { IndexTable, IndexTableProps, useIndexResourceState, } from './IndexTable';
21
21
  export { Link, LinkProps } from './Link';
22
+ export { Menu, MenuProps } from './Menu';
22
23
  export { Modal, ModalContext, ModalProps, ModalProvider, useModal, } from './Modal';
23
24
  export { NumberInput, NumberInputProps } from './NumberInput';
24
25
  export { Pagination, PaginationProps, SimplePagination } from './Pagination';
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.useModal = exports.useIndexResourceState = exports.useAlert = exports.TypographyProps = exports.Typography = exports.TooltipProps = exports.TooltipPosition = exports.Tooltip = exports.TextInputProps = exports.TextInput = exports.TagProps = exports.Tag = exports.TabsProps = exports.Tabs = exports.TableRowProps = exports.TableHeaderProps = exports.TableCellProps = exports.TabProps = exports.TabModel = exports.Tab = exports.Switch = exports.SpinnerProps = exports.Spinner = exports.Spacing = exports.SimplePagination = exports.RadioButtonProps = exports.RadioButton = exports.PrimaryButton = exports.PopoverProps = exports.Popover = exports.PaginationProps = exports.Pagination = exports.OutlineMonochromeButton = exports.OutlineButton = exports.NumberInputProps = exports.NumberInput = exports.ModalProvider = exports.ModalProps = exports.ModalContext = exports.Modal = exports.LinkProps = exports.Link = exports.InlineErrorProps = exports.InlineError = exports.IndexTableProps = exports.IndexTable = exports.IconProps = exports.Icon = exports.Fonts = exports.EmptyState = exports.DropShadow = exports.Divider = exports.DestructiveButton = exports.DataTableProps = exports.DataTable = exports.CurrencyInputProps = exports.CurrencyInput = exports.Colors = exports.CheckboxProps = exports.Checkbox = exports.CardProps = exports.Card = exports.ButtonProps = exports.ButtonGroupProps = exports.ButtonGroup = exports.Button = exports.Breakpoints = exports.BorderRadius = exports.BannerProps = exports.Banner = exports.BadgeProps = exports.Badge = exports.AvatarProps = exports.Avatar = exports.AlertWithProvider = exports.AlertProvider = exports.AlertProps = exports.AlertContextProps = exports.AlertContext = exports.Alert = void 0;
4
+ exports.useModal = exports.useIndexResourceState = exports.useAlert = exports.TypographyProps = exports.Typography = exports.TooltipProps = exports.TooltipPosition = exports.Tooltip = exports.TextInputProps = exports.TextInput = exports.TagProps = exports.Tag = exports.TabsProps = exports.Tabs = exports.TableRowProps = exports.TableHeaderProps = exports.TableCellProps = exports.TabProps = exports.TabModel = exports.Tab = exports.Switch = exports.SpinnerProps = exports.Spinner = exports.Spacing = exports.SimplePagination = exports.RadioButtonProps = exports.RadioButton = exports.PrimaryButton = exports.PopoverProps = exports.Popover = exports.PaginationProps = exports.Pagination = exports.OutlineMonochromeButton = exports.OutlineButton = exports.NumberInputProps = exports.NumberInput = exports.ModalProvider = exports.ModalProps = exports.ModalContext = exports.Modal = exports.MenuProps = exports.Menu = exports.LinkProps = exports.Link = exports.InlineErrorProps = exports.InlineError = exports.IndexTableProps = exports.IndexTable = exports.IconProps = exports.Icon = exports.Fonts = exports.EmptyState = exports.DropShadow = exports.Divider = exports.DestructiveButton = exports.DataTableProps = exports.DataTable = exports.CurrencyInputProps = exports.CurrencyInput = exports.Colors = exports.CheckboxProps = exports.Checkbox = exports.CardProps = exports.Card = exports.ButtonProps = exports.ButtonGroupProps = exports.ButtonGroup = exports.Button = exports.Breakpoints = exports.BorderRadius = exports.BannerProps = exports.Banner = exports.BadgeProps = exports.Badge = exports.AvatarProps = exports.Avatar = exports.AlertWithProvider = exports.AlertProvider = exports.AlertProps = exports.AlertContextProps = exports.AlertContext = exports.Alert = void 0;
5
5
  var BorderRadius = _interopRequireWildcard(require("./utilities/borderRadius"));
6
6
  exports.BorderRadius = BorderRadius;
7
7
  var Breakpoints = _interopRequireWildcard(require("./utilities/breakpoints"));
@@ -70,6 +70,9 @@ exports.useIndexResourceState = _IndexTable.useIndexResourceState;
70
70
  var _Link = require("./Link");
71
71
  exports.Link = _Link.Link;
72
72
  exports.LinkProps = _Link.LinkProps;
73
+ var _Menu = require("./Menu");
74
+ exports.Menu = _Menu.Menu;
75
+ exports.MenuProps = _Menu.MenuProps;
73
76
  var _Modal = require("./Modal");
74
77
  exports.Modal = _Modal.Modal;
75
78
  exports.ModalContext = _Modal.ModalContext;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "glints-aries",
3
- "version": "4.0.207",
3
+ "version": "4.0.209",
4
4
  "description": "Glints ui-kit for frontend",
5
5
  "main": "./lib/index.js",
6
6
  "module": "./es/index.js",