glints-aries 4.0.184 → 4.0.185

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.
@@ -1,16 +1,33 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
1
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
2
- var _excluded = ["children"];
3
+ var _excluded = ["children", "onRemove", "value"];
3
4
  import React from 'react';
5
+ import { Icon } from '../Icon';
4
6
  import { Typography } from '../Typography';
5
7
  import { Neutral } from '../utilities/colors';
6
- import { TagStyle } from './TagStyle';
8
+ import { TagContentStyle, TagIconWrapper, TagRemoveContainerStyle, TagStyle } from './TagStyle';
7
9
  export var Tag = function Tag(_ref) {
8
10
  var children = _ref.children,
11
+ onRemove = _ref.onRemove,
12
+ value = _ref.value,
9
13
  props = _objectWithoutPropertiesLoose(_ref, _excluded);
10
14
  var content = typeof children === 'string' ? /*#__PURE__*/React.createElement(Typography, {
11
15
  variant: "caption",
12
16
  color: Neutral.B18,
13
17
  as: 'span'
14
18
  }, children) : children;
15
- return /*#__PURE__*/React.createElement(TagStyle, props, content);
19
+ var removeButton = onRemove && /*#__PURE__*/React.createElement(TagRemoveContainerStyle, null, /*#__PURE__*/React.createElement(TagIconWrapper, {
20
+ role: "button",
21
+ tabIndex: 0
22
+ }, /*#__PURE__*/React.createElement(Icon, {
23
+ name: "ri-close",
24
+ fill: Neutral.B40,
25
+ height: 20,
26
+ onClick: onRemove
27
+ })));
28
+ return /*#__PURE__*/React.createElement(TagStyle, _extends({}, props, {
29
+ value: value
30
+ }), /*#__PURE__*/React.createElement(TagContentStyle, {
31
+ "data-removeable": !!onRemove
32
+ }, content), removeButton);
16
33
  };
@@ -1,17 +1,63 @@
1
- import React from 'react';
1
+ import React, { useCallback, useState } from 'react';
2
2
  import { BaseContainer } from '../../Layout/GlintsContainer/GlintsContainer';
3
3
  import { Tag } from './Tag';
4
4
  Tag.displayName = 'Tag';
5
- var defaultText = 'Basic Tag';
6
5
  export default {
7
6
  title: '@next/Tag',
8
7
  component: Tag,
9
8
  decorators: [function (Story) {
10
9
  return /*#__PURE__*/React.createElement(BaseContainer, null, Story());
11
- }]
10
+ }],
11
+ argTypes: {
12
+ value: {
13
+ description: 'A value to supply, required when onRemove function is supplied',
14
+ control: {
15
+ type: null
16
+ }
17
+ },
18
+ onRemove: {
19
+ description: 'A function callback to pass in to when the remove icon is pressed',
20
+ control: {
21
+ type: null
22
+ }
23
+ }
24
+ },
25
+ parameters: {
26
+ docs: {
27
+ description: {
28
+ component: 'Tags represent a set of interactive keywords that help label, organize, and categorize objects'
29
+ }
30
+ }
31
+ }
12
32
  };
13
- var Template = function Template(args) {
14
- return /*#__PURE__*/React.createElement(Tag, args, defaultText);
33
+ var DefaultTemplate = function DefaultTemplate() {
34
+ return /*#__PURE__*/React.createElement(Tag, null, "Basic Tag");
15
35
  };
16
- export var Interactive = Template.bind({});
17
- Interactive.args = {};
36
+ var RemoveableTemplate = function RemoveableTemplate() {
37
+ var _useState = useState(['Years of Experience: 0 to 3 Years, 3 to 5 Years', 'Expected Salary: $1.000.000 to $3.000.000', 'Current Location: Agats, Indonesia']),
38
+ selectedTags = _useState[0],
39
+ setSelectedTags = _useState[1];
40
+ var removeTag = useCallback(function (tag) {
41
+ return function () {
42
+ setSelectedTags(function (previousTags) {
43
+ return previousTags.filter(function (previousTag) {
44
+ return previousTag !== tag;
45
+ });
46
+ });
47
+ };
48
+ }, []);
49
+ var tagMarkup = selectedTags.map(function (option) {
50
+ return /*#__PURE__*/React.createElement(Tag, {
51
+ style: {
52
+ marginRight: '4px'
53
+ },
54
+ key: option,
55
+ onRemove: removeTag(option)
56
+ }, option);
57
+ });
58
+ return /*#__PURE__*/React.createElement(React.Fragment, null, tagMarkup);
59
+ };
60
+ export var Default = DefaultTemplate.bind({});
61
+ Default.args = {};
62
+ export var Removeable = RemoveableTemplate.bind({});
63
+ Removeable.args = {};
@@ -1,9 +1,21 @@
1
1
  import styled from 'styled-components';
2
2
  import { Breakpoints } from '..';
3
- import { borderRadius4 } from '../utilities/borderRadius';
4
- import { Blue } from '../utilities/colors';
3
+ import { borderRadius4, borderRadiusHalf } from '../utilities/borderRadius';
4
+ import { Blue, Neutral } from '../utilities/colors';
5
5
  import { space4, space8 } from '../utilities/spacing';
6
+ export var TagContentStyle = styled.span.withConfig({
7
+ displayName: "TagStyle__TagContentStyle",
8
+ componentId: "sc-r1wv7a-0"
9
+ })(["padding:", " ", ";&[data-removeable='true']{padding-right:0;}"], space4, space8);
10
+ export var TagRemoveContainerStyle = styled.div.withConfig({
11
+ displayName: "TagStyle__TagRemoveContainerStyle",
12
+ componentId: "sc-r1wv7a-1"
13
+ })(["padding:", ";display:flex;"], space4);
14
+ export var TagIconWrapper = styled.div.withConfig({
15
+ displayName: "TagStyle__TagIconWrapper",
16
+ componentId: "sc-r1wv7a-2"
17
+ })(["display:flex;justify-content:center;align-items:center;&:focus-visible{margin:-2px;outline:none;border:2px solid ", ";border-radius:", ";}"], Blue.S100, borderRadius4);
6
18
  export var TagStyle = styled.div.withConfig({
7
19
  displayName: "TagStyle",
8
- componentId: "sc-r1wv7a-0"
9
- })(["display:inline-flex;background-color:", ";width:fit-content;padding:", " ", ";border-radius:", ";@media (max-width:", "){font-size:12px;}"], Blue.S08, space4, space8, borderRadius4, Breakpoints.large);
20
+ componentId: "sc-r1wv7a-3"
21
+ })(["display:inline-flex;align-items:center;background-color:", ";border-radius:", ";width:fit-content;@media (max-width:", "){font-size:12px;}& svg{padding:0;}& svg:hover{cursor:pointer;background-color:", ";border-radius:", ";}& svg:active{cursor:pointer;background-color:", ";fill:", ";border-radius:", ";}"], Blue.S08, borderRadius4, Breakpoints.large, Neutral.B95, borderRadiusHalf, Neutral.B40, Neutral.B100, borderRadiusHalf);
@@ -1,5 +1,9 @@
1
1
  import React from 'react';
2
2
  export interface TagProps extends React.HTMLAttributes<HTMLDivElement> {
3
3
  children?: React.ReactNode;
4
+ value?: string;
5
+ onRemove?: (() => void) | null;
4
6
  }
5
- export declare const Tag: ({ children, ...props }: TagProps) => JSX.Element;
7
+ export declare type TagRemoveContainerProps = React.HTMLAttributes<HTMLDivElement>;
8
+ export declare type TagContentProps = React.HTMLAttributes<HTMLSpanElement> & TagProps;
9
+ export declare const Tag: ({ children, onRemove, value, ...props }: TagProps) => JSX.Element;
@@ -1,4 +1,5 @@
1
1
  import { Meta } from '@storybook/react';
2
2
  declare const _default: Meta<import("@storybook/react").Args>;
3
3
  export default _default;
4
- export declare const Interactive: any;
4
+ export declare const Default: any;
5
+ export declare const Removeable: any;
@@ -1,2 +1,6 @@
1
- import { TagProps } from './Tag';
1
+ /// <reference types="react" />
2
+ import { TagProps, TagRemoveContainerProps } from './Tag';
3
+ export declare const TagContentStyle: import("styled-components").StyledComponent<"span", any, import("react").HTMLAttributes<HTMLSpanElement> & TagProps, never>;
4
+ export declare const TagRemoveContainerStyle: import("styled-components").StyledComponent<"div", any, TagRemoveContainerProps, never>;
5
+ export declare const TagIconWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
2
6
  export declare const TagStyle: import("styled-components").StyledComponent<"div", any, TagProps, never>;
@@ -3,20 +3,37 @@
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
  exports.__esModule = true;
5
5
  exports.Tag = void 0;
6
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
6
7
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
7
8
  var _react = _interopRequireDefault(require("react"));
9
+ var _Icon = require("../Icon");
8
10
  var _Typography = require("../Typography");
9
11
  var _colors = require("../utilities/colors");
10
12
  var _TagStyle = require("./TagStyle");
11
- var _excluded = ["children"];
13
+ var _excluded = ["children", "onRemove", "value"];
12
14
  var Tag = function Tag(_ref) {
13
15
  var children = _ref.children,
16
+ onRemove = _ref.onRemove,
17
+ value = _ref.value,
14
18
  props = (0, _objectWithoutPropertiesLoose2["default"])(_ref, _excluded);
15
19
  var content = typeof children === 'string' ? /*#__PURE__*/_react["default"].createElement(_Typography.Typography, {
16
20
  variant: "caption",
17
21
  color: _colors.Neutral.B18,
18
22
  as: 'span'
19
23
  }, children) : children;
20
- return /*#__PURE__*/_react["default"].createElement(_TagStyle.TagStyle, props, content);
24
+ var removeButton = onRemove && /*#__PURE__*/_react["default"].createElement(_TagStyle.TagRemoveContainerStyle, null, /*#__PURE__*/_react["default"].createElement(_TagStyle.TagIconWrapper, {
25
+ role: "button",
26
+ tabIndex: 0
27
+ }, /*#__PURE__*/_react["default"].createElement(_Icon.Icon, {
28
+ name: "ri-close",
29
+ fill: _colors.Neutral.B40,
30
+ height: 20,
31
+ onClick: onRemove
32
+ })));
33
+ return /*#__PURE__*/_react["default"].createElement(_TagStyle.TagStyle, (0, _extends2["default"])({}, props, {
34
+ value: value
35
+ }), /*#__PURE__*/_react["default"].createElement(_TagStyle.TagContentStyle, {
36
+ "data-removeable": !!onRemove
37
+ }, content), removeButton);
21
38
  };
22
39
  exports.Tag = Tag;
@@ -1,24 +1,72 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  exports.__esModule = true;
5
- exports["default"] = exports.Interactive = void 0;
6
- var _react = _interopRequireDefault(require("react"));
4
+ exports["default"] = exports.Removeable = exports.Default = void 0;
5
+ var _react = _interopRequireWildcard(require("react"));
7
6
  var _GlintsContainer = require("../../Layout/GlintsContainer/GlintsContainer");
8
7
  var _Tag = require("./Tag");
8
+ 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); }
9
+ 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; }
9
10
  _Tag.Tag.displayName = 'Tag';
10
- var defaultText = 'Basic Tag';
11
11
  var _default = {
12
12
  title: '@next/Tag',
13
13
  component: _Tag.Tag,
14
14
  decorators: [function (Story) {
15
15
  return /*#__PURE__*/_react["default"].createElement(_GlintsContainer.BaseContainer, null, Story());
16
- }]
16
+ }],
17
+ argTypes: {
18
+ value: {
19
+ description: 'A value to supply, required when onRemove function is supplied',
20
+ control: {
21
+ type: null
22
+ }
23
+ },
24
+ onRemove: {
25
+ description: 'A function callback to pass in to when the remove icon is pressed',
26
+ control: {
27
+ type: null
28
+ }
29
+ }
30
+ },
31
+ parameters: {
32
+ docs: {
33
+ description: {
34
+ component: 'Tags represent a set of interactive keywords that help label, organize, and categorize objects'
35
+ }
36
+ }
37
+ }
17
38
  };
18
39
  exports["default"] = _default;
19
- var Template = function Template(args) {
20
- return /*#__PURE__*/_react["default"].createElement(_Tag.Tag, args, defaultText);
40
+ var DefaultTemplate = function DefaultTemplate() {
41
+ return /*#__PURE__*/_react["default"].createElement(_Tag.Tag, null, "Basic Tag");
21
42
  };
22
- var Interactive = Template.bind({});
23
- exports.Interactive = Interactive;
24
- Interactive.args = {};
43
+ var RemoveableTemplate = function RemoveableTemplate() {
44
+ var _useState = (0, _react.useState)(['Years of Experience: 0 to 3 Years, 3 to 5 Years', 'Expected Salary: $1.000.000 to $3.000.000', 'Current Location: Agats, Indonesia']),
45
+ selectedTags = _useState[0],
46
+ setSelectedTags = _useState[1];
47
+ var removeTag = (0, _react.useCallback)(function (tag) {
48
+ return function () {
49
+ setSelectedTags(function (previousTags) {
50
+ return previousTags.filter(function (previousTag) {
51
+ return previousTag !== tag;
52
+ });
53
+ });
54
+ };
55
+ }, []);
56
+ var tagMarkup = selectedTags.map(function (option) {
57
+ return /*#__PURE__*/_react["default"].createElement(_Tag.Tag, {
58
+ style: {
59
+ marginRight: '4px'
60
+ },
61
+ key: option,
62
+ onRemove: removeTag(option)
63
+ }, option);
64
+ });
65
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, tagMarkup);
66
+ };
67
+ var Default = DefaultTemplate.bind({});
68
+ exports.Default = Default;
69
+ Default.args = {};
70
+ var Removeable = RemoveableTemplate.bind({});
71
+ exports.Removeable = Removeable;
72
+ Removeable.args = {};
@@ -2,14 +2,29 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
  exports.__esModule = true;
5
- exports.TagStyle = void 0;
5
+ exports.TagStyle = exports.TagRemoveContainerStyle = exports.TagIconWrapper = exports.TagContentStyle = void 0;
6
6
  var _styledComponents = _interopRequireDefault(require("styled-components"));
7
7
  var _ = require("..");
8
8
  var _borderRadius = require("../utilities/borderRadius");
9
9
  var _colors = require("../utilities/colors");
10
10
  var _spacing = require("../utilities/spacing");
11
+ var TagContentStyle = _styledComponents["default"].span.withConfig({
12
+ displayName: "TagStyle__TagContentStyle",
13
+ componentId: "sc-r1wv7a-0"
14
+ })(["padding:", " ", ";&[data-removeable='true']{padding-right:0;}"], _spacing.space4, _spacing.space8);
15
+ exports.TagContentStyle = TagContentStyle;
16
+ var TagRemoveContainerStyle = _styledComponents["default"].div.withConfig({
17
+ displayName: "TagStyle__TagRemoveContainerStyle",
18
+ componentId: "sc-r1wv7a-1"
19
+ })(["padding:", ";display:flex;"], _spacing.space4);
20
+ exports.TagRemoveContainerStyle = TagRemoveContainerStyle;
21
+ var TagIconWrapper = _styledComponents["default"].div.withConfig({
22
+ displayName: "TagStyle__TagIconWrapper",
23
+ componentId: "sc-r1wv7a-2"
24
+ })(["display:flex;justify-content:center;align-items:center;&:focus-visible{margin:-2px;outline:none;border:2px solid ", ";border-radius:", ";}"], _colors.Blue.S100, _borderRadius.borderRadius4);
25
+ exports.TagIconWrapper = TagIconWrapper;
11
26
  var TagStyle = _styledComponents["default"].div.withConfig({
12
27
  displayName: "TagStyle",
13
- componentId: "sc-r1wv7a-0"
14
- })(["display:inline-flex;background-color:", ";width:fit-content;padding:", " ", ";border-radius:", ";@media (max-width:", "){font-size:12px;}"], _colors.Blue.S08, _spacing.space4, _spacing.space8, _borderRadius.borderRadius4, _.Breakpoints.large);
28
+ componentId: "sc-r1wv7a-3"
29
+ })(["display:inline-flex;align-items:center;background-color:", ";border-radius:", ";width:fit-content;@media (max-width:", "){font-size:12px;}& svg{padding:0;}& svg:hover{cursor:pointer;background-color:", ";border-radius:", ";}& svg:active{cursor:pointer;background-color:", ";fill:", ";border-radius:", ";}"], _colors.Blue.S08, _borderRadius.borderRadius4, _.Breakpoints.large, _colors.Neutral.B95, _borderRadius.borderRadiusHalf, _colors.Neutral.B40, _colors.Neutral.B100, _borderRadius.borderRadiusHalf);
15
30
  exports.TagStyle = TagStyle;
@@ -1,5 +1,9 @@
1
1
  import React from 'react';
2
2
  export interface TagProps extends React.HTMLAttributes<HTMLDivElement> {
3
3
  children?: React.ReactNode;
4
+ value?: string;
5
+ onRemove?: (() => void) | null;
4
6
  }
5
- export declare const Tag: ({ children, ...props }: TagProps) => JSX.Element;
7
+ export declare type TagRemoveContainerProps = React.HTMLAttributes<HTMLDivElement>;
8
+ export declare type TagContentProps = React.HTMLAttributes<HTMLSpanElement> & TagProps;
9
+ export declare const Tag: ({ children, onRemove, value, ...props }: TagProps) => JSX.Element;
@@ -1,4 +1,5 @@
1
1
  import { Meta } from '@storybook/react';
2
2
  declare const _default: Meta<import("@storybook/react").Args>;
3
3
  export default _default;
4
- export declare const Interactive: any;
4
+ export declare const Default: any;
5
+ export declare const Removeable: any;
@@ -1,2 +1,6 @@
1
- import { TagProps } from './Tag';
1
+ /// <reference types="react" />
2
+ import { TagProps, TagRemoveContainerProps } from './Tag';
3
+ export declare const TagContentStyle: import("styled-components").StyledComponent<"span", any, import("react").HTMLAttributes<HTMLSpanElement> & TagProps, never>;
4
+ export declare const TagRemoveContainerStyle: import("styled-components").StyledComponent<"div", any, TagRemoveContainerProps, never>;
5
+ export declare const TagIconWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
2
6
  export declare const TagStyle: import("styled-components").StyledComponent<"div", any, TagProps, never>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "glints-aries",
3
- "version": "4.0.184",
3
+ "version": "4.0.185",
4
4
  "description": "Glints ui-kit for frontend",
5
5
  "main": "./lib/index.js",
6
6
  "module": "./es/index.js",