glints-aries 4.0.165 → 4.0.167

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 (89) hide show
  1. package/es/@next/Checkbox/Checkbox.js +4 -8
  2. package/es/@next/Checkbox/CheckboxStyle.js +2 -2
  3. package/es/@next/CurrencyInput/CurrencyInput.d.ts +8 -0
  4. package/es/@next/CurrencyInput/CurrencyInput.js +46 -0
  5. package/es/@next/CurrencyInput/CurrencyInput.stories.d.ts +4 -0
  6. package/es/@next/CurrencyInput/CurrencyInput.stories.js +25 -0
  7. package/es/@next/CurrencyInput/CurrencyInput.test.d.ts +1 -0
  8. package/es/@next/CurrencyInput/CurrencyStyles.d.ts +2 -0
  9. package/es/@next/CurrencyInput/CurrencyStyles.js +7 -0
  10. package/es/@next/Icon/components/RiCheckboxIndeterminateFill.js +0 -1
  11. package/es/@next/Icon/components/RiCheckboxIndeterminateLine.js +0 -1
  12. package/es/@next/Icon/components/RiSearch.d.ts +3 -0
  13. package/es/@next/Icon/components/RiSearch.js +11 -0
  14. package/es/@next/Icon/components/index.d.ts +1 -0
  15. package/es/@next/Icon/components/index.js +1 -0
  16. package/es/@next/Icon/icons/icons.d.ts +1 -1
  17. package/es/@next/Icon/icons/icons.js +2 -2
  18. package/es/@next/Input/Input.d.ts +7 -0
  19. package/es/@next/Input/Input.js +27 -0
  20. package/es/@next/Input/InputStyle.d.ts +5 -0
  21. package/es/@next/Input/InputStyle.js +19 -0
  22. package/es/@next/NumberInput/NumberInput.d.ts +4 -0
  23. package/es/@next/NumberInput/NumberInput.js +13 -0
  24. package/es/@next/NumberInput/NumberInput.stories.d.ts +4 -0
  25. package/es/@next/NumberInput/NumberInput.stories.js +20 -0
  26. package/es/@next/Tabs/Tab.d.ts +8 -0
  27. package/es/@next/Tabs/Tab.js +19 -0
  28. package/es/@next/Tabs/TabStyle.d.ts +6 -0
  29. package/es/@next/Tabs/TabStyle.js +28 -0
  30. package/es/@next/Tabs/Tabs.d.ts +21 -0
  31. package/es/@next/Tabs/Tabs.js +43 -0
  32. package/es/@next/Tabs/Tabs.stories.d.ts +4 -0
  33. package/es/@next/Tabs/Tabs.stories.js +51 -0
  34. package/es/@next/Tabs/TabsStoriesStyle.d.ts +4 -0
  35. package/es/@next/Tabs/TabsStoriesStyle.js +18 -0
  36. package/es/@next/Tabs/index.d.ts +2 -0
  37. package/es/@next/Tabs/index.js +2 -0
  38. package/es/@next/TextInput/TextInput.d.ts +6 -0
  39. package/es/@next/TextInput/TextInput.js +47 -0
  40. package/es/@next/TextInput/TextInput.stories.d.ts +5 -0
  41. package/es/@next/TextInput/TextInput.stories.js +35 -0
  42. package/es/@next/Typography/Typography.test.d.ts +0 -1
  43. package/es/@next/index.d.ts +1 -0
  44. package/es/@next/index.js +1 -0
  45. package/lib/@next/Checkbox/Checkbox.js +4 -8
  46. package/lib/@next/Checkbox/CheckboxStyle.js +1 -1
  47. package/lib/@next/CurrencyInput/CurrencyInput.d.ts +8 -0
  48. package/lib/@next/CurrencyInput/CurrencyInput.js +54 -0
  49. package/lib/@next/CurrencyInput/CurrencyInput.stories.d.ts +4 -0
  50. package/lib/@next/CurrencyInput/CurrencyInput.stories.js +32 -0
  51. package/lib/@next/CurrencyInput/CurrencyInput.test.d.ts +1 -0
  52. package/lib/@next/CurrencyInput/CurrencyStyles.d.ts +2 -0
  53. package/lib/@next/CurrencyInput/CurrencyStyles.js +13 -0
  54. package/lib/@next/Icon/components/RiCheckboxIndeterminateFill.js +0 -1
  55. package/lib/@next/Icon/components/RiCheckboxIndeterminateLine.js +0 -1
  56. package/lib/@next/Icon/components/RiSearch.d.ts +3 -0
  57. package/lib/@next/Icon/components/RiSearch.js +19 -0
  58. package/lib/@next/Icon/components/index.d.ts +1 -0
  59. package/lib/@next/Icon/components/index.js +3 -1
  60. package/lib/@next/Icon/icons/icons.d.ts +1 -1
  61. package/lib/@next/Icon/icons/icons.js +2 -2
  62. package/lib/@next/Input/Input.d.ts +7 -0
  63. package/lib/@next/Input/Input.js +33 -0
  64. package/lib/@next/Input/InputStyle.d.ts +5 -0
  65. package/lib/@next/Input/InputStyle.js +28 -0
  66. package/lib/@next/NumberInput/NumberInput.d.ts +4 -0
  67. package/lib/@next/NumberInput/NumberInput.js +19 -0
  68. package/lib/@next/NumberInput/NumberInput.stories.d.ts +4 -0
  69. package/lib/@next/NumberInput/NumberInput.stories.js +27 -0
  70. package/lib/@next/Tabs/Tab.d.ts +8 -0
  71. package/lib/@next/Tabs/Tab.js +25 -0
  72. package/lib/@next/Tabs/TabStyle.d.ts +6 -0
  73. package/lib/@next/Tabs/TabStyle.js +41 -0
  74. package/lib/@next/Tabs/Tabs.d.ts +21 -0
  75. package/lib/@next/Tabs/Tabs.js +51 -0
  76. package/lib/@next/Tabs/Tabs.stories.d.ts +4 -0
  77. package/lib/@next/Tabs/Tabs.stories.js +60 -0
  78. package/lib/@next/Tabs/TabsStoriesStyle.d.ts +4 -0
  79. package/lib/@next/Tabs/TabsStoriesStyle.js +28 -0
  80. package/lib/@next/Tabs/index.d.ts +2 -0
  81. package/lib/@next/Tabs/index.js +15 -0
  82. package/lib/@next/TextInput/TextInput.d.ts +6 -0
  83. package/lib/@next/TextInput/TextInput.js +55 -0
  84. package/lib/@next/TextInput/TextInput.stories.d.ts +5 -0
  85. package/lib/@next/TextInput/TextInput.stories.js +43 -0
  86. package/lib/@next/Typography/Typography.test.d.ts +0 -1
  87. package/lib/@next/index.d.ts +1 -0
  88. package/lib/@next/index.js +6 -1
  89. package/package.json +4 -2
@@ -7,8 +7,6 @@ import { StyledCheckbox, StyledCheckboxContainer, StyledColumn, StyledContainer,
7
7
  import { noop } from 'lodash-es';
8
8
  import { Icon } from '../Icon';
9
9
  import { Typography } from '../Typography';
10
- import { Neutral, Red, Blue } from '../utilities/colors';
11
- var randomId = nanoid();
12
10
  export var Checkbox = function Checkbox(_ref) {
13
11
  var label = _ref.label,
14
12
  id = _ref.id,
@@ -19,6 +17,7 @@ export var Checkbox = function Checkbox(_ref) {
19
17
  hasError = _ref.hasError,
20
18
  helpText = _ref.helpText,
21
19
  otherProps = _objectWithoutPropertiesLoose(_ref, _excluded);
20
+ var randomId = nanoid();
22
21
  var checkBoxId = id ? id : randomId;
23
22
  var labelId = "label-" + checkBoxId;
24
23
  var inputNode = useRef(null);
@@ -29,7 +28,6 @@ export var Checkbox = function Checkbox(_ref) {
29
28
  isFocused = _useState2[0],
30
29
  setIsFocused = _useState2[1];
31
30
  var checkedIcon = indeterminate ? 'ri-checkbox-indeterminate-fill' : 'ri-checkbox-fill';
32
- var iconFill = disabled ? Neutral.B95 : hasError ? Red.B93 : Blue.S99;
33
31
  useEffect(function () {
34
32
  var value = indeterminate ? 'mixed' : checked;
35
33
  setCheckedState(value);
@@ -43,7 +41,8 @@ export var Checkbox = function Checkbox(_ref) {
43
41
  onChange(checkedValue, checkBoxId);
44
42
  };
45
43
  return /*#__PURE__*/React.createElement(StyledContainer, {
46
- "aria-disabled": disabled
44
+ "aria-disabled": disabled,
45
+ "data-error": hasError
47
46
  }, /*#__PURE__*/React.createElement(StyledRow, null, /*#__PURE__*/React.createElement(StyledLeftColumn, null, /*#__PURE__*/React.createElement(StyledCheckboxContainer, null, /*#__PURE__*/React.createElement(StyledCheckbox, {
48
47
  role: "checkbox",
49
48
  "aria-labelledby": labelId,
@@ -73,10 +72,7 @@ export var Checkbox = function Checkbox(_ref) {
73
72
  return setIsFocused(false);
74
73
  }
75
74
  }, otherProps))), /*#__PURE__*/React.createElement(Icon, {
76
- name: checkedIcon,
77
- height: "20px",
78
- width: "20px",
79
- fill: iconFill
75
+ name: checkedIcon
80
76
  }))), /*#__PURE__*/React.createElement(StyledColumn, null, /*#__PURE__*/React.createElement("label", {
81
77
  id: labelId,
82
78
  htmlFor: checkBoxId,
@@ -1,12 +1,12 @@
1
1
  import styled from 'styled-components';
2
2
  import { Breakpoints } from '../..';
3
3
  import { borderRadius4 } from '../utilities/borderRadius';
4
- import { Neutral, Red } from '../utilities/colors';
4
+ import { Blue, Neutral, Red } from '../utilities/colors';
5
5
  import { space4 } from '../utilities/spacing';
6
6
  export var StyledContainer = styled.div.withConfig({
7
7
  displayName: "CheckboxStyle__StyledContainer",
8
8
  componentId: "sc-a9bf1h-0"
9
- })(["flex-direction:row;align-items:flex-start;padding:", " 0px;gap:8px;color:", ";label{cursor:pointer;margin-top:-1px;}svg{border-radius:4px;position:absolute;top:0;left:0;opacity:0;pointer-events:none;}&[aria-disabled='true'],&[aria-disabled='true'] .help-text{color:", ";}&[aria-disabled='true'] div[role='checkbox']{border-color:", ";background:", ";}&[aria-disabled='true'] svg{background:", ";}"], space4, Neutral.B18, Neutral.B68, Neutral.B85, Neutral.B95, Neutral.B68);
9
+ })(["flex-direction:row;align-items:flex-start;padding:", " 0px;gap:8px;color:", ";label{cursor:pointer;margin-top:-1px;}svg{border-radius:4px;position:absolute;height:20px;width:20px;top:0;left:0;opacity:0;pointer-events:none;fill:", ";}&[aria-disabled='true'],&[aria-disabled='true'] .help-text{color:", ";}&[aria-disabled='true'] div[role='checkbox']{border-color:", ";background:", ";}&[aria-disabled='true'] svg{background:", ";fill:", ";}&[data-error='true'] svg{fill:", ";}"], space4, Neutral.B18, Blue.S99, Neutral.B68, Neutral.B85, Neutral.B95, Neutral.B68, Neutral.B95, Red.B93);
10
10
  export var StyledCheckboxContainer = styled.div.withConfig({
11
11
  displayName: "CheckboxStyle__StyledCheckboxContainer",
12
12
  componentId: "sc-a9bf1h-1"
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { InputProps } from '../Input/Input';
3
+ export declare type CurrencyInputProps = Omit<InputProps, 'type' | 'prefix' | 'onChange' | 'value'> & {
4
+ locale?: string;
5
+ value?: number;
6
+ onChange?: (value: number) => void;
7
+ };
8
+ export declare const CurrencyInput: ({ locale, value, onChange, ...props }: CurrencyInputProps) => JSX.Element;
@@ -0,0 +1,46 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
3
+ var _excluded = ["locale", "value", "onChange"];
4
+ import React, { useState } from 'react';
5
+ import { StyledCurrency } from './CurrencyStyles';
6
+ export var CurrencyInput = function CurrencyInput(_ref) {
7
+ var _ref$locale = _ref.locale,
8
+ locale = _ref$locale === void 0 ? 'en' : _ref$locale,
9
+ _ref$value = _ref.value,
10
+ value = _ref$value === void 0 ? 0 : _ref$value,
11
+ onChange = _ref.onChange,
12
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
13
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
14
+ // @ts-ignore
15
+ var supportedLocale = Intl.ListFormat.supportedLocalesOf(locale);
16
+ var localeValue = supportedLocale.length > 0 ? supportedLocale[0] : 'en';
17
+ if (supportedLocale.length === 0) {
18
+ console.warn("Locale value of " + locale + " is unsupported, \"en\" will be used");
19
+ }
20
+ var formatter = new Intl.NumberFormat(localeValue);
21
+ var getRawNumber = function getRawNumber(value) {
22
+ if (typeof value === 'number') {
23
+ return value;
24
+ }
25
+ var parts = formatter.formatToParts(1000.1);
26
+ var thousandSeparator = parts[1].value;
27
+ var decimalSeparator = parts[3].value;
28
+ var cleanedValue = parseFloat(value.replace(new RegExp('\\' + thousandSeparator, 'g'), '').replace(new RegExp('\\' + decimalSeparator), '.'));
29
+ return Number.isNaN(cleanedValue) ? 0 : cleanedValue;
30
+ };
31
+ var _useState = useState(formatter.format(getRawNumber(value.toString()))),
32
+ formattedValue = _useState[0],
33
+ setFormattedValue = _useState[1];
34
+ var handleChange = function handleChange(e) {
35
+ var rawValue = getRawNumber(e.currentTarget.value);
36
+ onChange(rawValue);
37
+ setFormattedValue(formatter.format(rawValue));
38
+ };
39
+ return /*#__PURE__*/React.createElement(StyledCurrency, _extends({
40
+ type: "text",
41
+ prefix: /*#__PURE__*/React.createElement("div", null, "$")
42
+ }, props, {
43
+ value: formattedValue === '0' ? '' : formattedValue,
44
+ onChange: handleChange
45
+ }));
46
+ };
@@ -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 Interactive: any;
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ import { BaseContainer } from '../../Layout/GlintsContainer/GlintsContainer';
3
+ import { CurrencyInput } from './CurrencyInput';
4
+ CurrencyInput.displayName = 'Currency';
5
+ export default {
6
+ title: '@next/CurrencyInput',
7
+ component: CurrencyInput,
8
+ decorators: [function (Story) {
9
+ return /*#__PURE__*/React.createElement(BaseContainer, null, Story());
10
+ }],
11
+ argTypes: {}
12
+ };
13
+ var Template = function Template(args) {
14
+ return /*#__PURE__*/React.createElement(CurrencyInput, args);
15
+ };
16
+ export var Interactive = Template.bind({});
17
+ Interactive.args = {
18
+ placeholder: '0.0',
19
+ disabled: false,
20
+ locale: 'en',
21
+ value: 10000,
22
+ onChange: function onChange(value) {
23
+ console.log('Currency on changed value: ', value);
24
+ }
25
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const StyledCurrency: import("styled-components").StyledComponent<({ error, disabled, prefix, suffix, ...props }: import("../Input/Input").InputProps) => JSX.Element, any, {}, never>;
@@ -0,0 +1,7 @@
1
+ import styled from 'styled-components';
2
+ import { Input } from '../Input/Input';
3
+ import { space24 } from '../utilities/spacing';
4
+ export var StyledCurrency = styled(Input).withConfig({
5
+ displayName: "CurrencyStyles__StyledCurrency",
6
+ componentId: "sc-lcby3l-0"
7
+ })(["padding-left:", " !important;"], space24);
@@ -3,7 +3,6 @@ import * as React from 'react';
3
3
  var SvgRiCheckboxIndeterminateFill = function SvgRiCheckboxIndeterminateFill(props) {
4
4
  return /*#__PURE__*/React.createElement("svg", _extends({
5
5
  viewBox: "0 0 18 18",
6
- fill: "none",
7
6
  xmlns: "http://www.w3.org/2000/svg"
8
7
  }, props), /*#__PURE__*/React.createElement("path", {
9
8
  d: "M1 0h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V1a1 1 0 0 1 1-1Zm3 8v2h10V8H4Z"
@@ -3,7 +3,6 @@ import * as React from 'react';
3
3
  var SvgRiCheckboxIndeterminateLine = function SvgRiCheckboxIndeterminateLine(props) {
4
4
  return /*#__PURE__*/React.createElement("svg", _extends({
5
5
  viewBox: "0 0 18 18",
6
- fill: "none",
7
6
  xmlns: "http://www.w3.org/2000/svg"
8
7
  }, props), /*#__PURE__*/React.createElement("path", {
9
8
  d: "M1 0h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V1a1 1 0 0 1 1-1Zm1 2v14h14V2H2Zm2 6h10v2H4V8Z"
@@ -0,0 +1,3 @@
1
+ import { SVGProps } from 'react';
2
+ declare const SvgRiSearch: (props: SVGProps<SVGSVGElement>) => JSX.Element;
3
+ export default SvgRiSearch;
@@ -0,0 +1,11 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import * as React from 'react';
3
+ var SvgRiSearch = function SvgRiSearch(props) {
4
+ return /*#__PURE__*/React.createElement("svg", _extends({
5
+ viewBox: "0 0 24 24",
6
+ xmlns: "http://www.w3.org/2000/svg"
7
+ }, props), /*#__PURE__*/React.createElement("path", {
8
+ d: "m18.031 16.617 4.283 4.282-1.415 1.415-4.282-4.283A8.96 8.96 0 0 1 11 20c-4.968 0-9-4.032-9-9s4.032-9 9-9 9 4.032 9 9a8.96 8.96 0 0 1-1.969 5.617Zm-2.006-.742A6.977 6.977 0 0 0 18 11c0-3.868-3.133-7-7-7-3.868 0-7 3.132-7 7 0 3.867 3.132 7 7 7a6.977 6.977 0 0 0 4.875-1.975l.15-.15Z"
9
+ }));
10
+ };
11
+ export default SvgRiSearch;
@@ -55,6 +55,7 @@ export { default as RiQuestionFill } from './RiQuestionFill';
55
55
  export { default as RiQuestionLine } from './RiQuestionLine';
56
56
  export { default as RiReplyFill } from './RiReplyFill';
57
57
  export { default as RiReplyLine } from './RiReplyLine';
58
+ export { default as RiSearch } from './RiSearch';
58
59
  export { default as RiSendPlaneFill } from './RiSendPlaneFill';
59
60
  export { default as RiSendPlaneLine } from './RiSendPlaneLine';
60
61
  export { default as RiSettingsFill } from './RiSettingsFill';
@@ -55,6 +55,7 @@ export { default as RiQuestionFill } from './RiQuestionFill';
55
55
  export { default as RiQuestionLine } from './RiQuestionLine';
56
56
  export { default as RiReplyFill } from './RiReplyFill';
57
57
  export { default as RiReplyLine } from './RiReplyLine';
58
+ export { default as RiSearch } from './RiSearch';
58
59
  export { default as RiSendPlaneFill } from './RiSendPlaneFill';
59
60
  export { default as RiSendPlaneLine } from './RiSendPlaneLine';
60
61
  export { default as RiSettingsFill } from './RiSettingsFill';
@@ -1,5 +1,5 @@
1
1
  import { SVGProps } from 'react';
2
- export declare const iconNames: readonly ["ri-account-circle-fill", "ri-account-circle-line", "ri-add-circle-fill", "ri-add-circle-line", "ri-add", "ri-alarm-warning-fill", "ri-alarm-warning-line", "ri-arrow-down-fill", "ri-arrow-down-line", "ri-arrow-go-back-fill", "ri-arrow-go-back-line", "ri-arrow-go-forward-fill", "ri-arrow-go-forward-line", "ri-arrow-left-fill", "ri-arrow-left-line", "ri-arrow-left-right-fill", "ri-arrow-left-right-line", "ri-arrow-m-down-fill", "ri-arrow-m-down-line", "ri-arrow-m-left-fill", "ri-arrow-m-left-line", "ri-arrow-m-right-fill", "ri-arrow-m-right-line", "ri-arrow-m-up-fill", "ri-arrow-m-up-line", "ri-arrow-right-fill", "ri-arrow-right-line", "ri-arrow-up-down-fill", "ri-arrow-up-down-line", "ri-arrow-up-fill", "ri-arrow-up-line", "ri-arrow-xs-down-fill", "ri-arrow-xs-up-fill", "ri-calendar-fill", "ri-calendar-line", "ri-check", "ri-close-circle-fill", "ri-close-circle-line", "ri-close", "ri-delete-bin-fill", "ri-delete-bin-line", "ri-error-warning-fill", "ri-error-warning-line", "ri-information-fill", "ri-information-line", "ri-message-fill", "ri-message-line", "ri-pencil-fill", "ri-pencil-line", "ri-question-fill", "ri-question-line", "ri-reply-fill", "ri-reply-line", "ri-send-plane-fill", "ri-send-plane-line", "ri-settings-fill", "ri-settings-line", "ri-checkbox-fill", "ri-checkbox-line", "ri-checkbox-indeterminate-fill", "ri-checkbox-indeterminate-line"];
2
+ export declare const iconNames: readonly ["ri-account-circle-fill", "ri-account-circle-line", "ri-add-circle-fill", "ri-add-circle-line", "ri-add", "ri-alarm-warning-fill", "ri-alarm-warning-line", "ri-arrow-down-fill", "ri-arrow-down-line", "ri-arrow-go-back-fill", "ri-arrow-go-back-line", "ri-arrow-go-forward-fill", "ri-arrow-go-forward-line", "ri-arrow-left-fill", "ri-arrow-left-line", "ri-arrow-left-right-fill", "ri-arrow-left-right-line", "ri-arrow-m-down-fill", "ri-arrow-m-down-line", "ri-arrow-m-left-fill", "ri-arrow-m-left-line", "ri-arrow-m-right-fill", "ri-arrow-m-right-line", "ri-arrow-m-up-fill", "ri-arrow-m-up-line", "ri-arrow-right-fill", "ri-arrow-right-line", "ri-arrow-up-down-fill", "ri-arrow-up-down-line", "ri-arrow-up-fill", "ri-arrow-up-line", "ri-arrow-xs-down-fill", "ri-arrow-xs-up-fill", "ri-calendar-fill", "ri-calendar-line", "ri-check", "ri-close-circle-fill", "ri-close-circle-line", "ri-close", "ri-delete-bin-fill", "ri-delete-bin-line", "ri-error-warning-fill", "ri-error-warning-line", "ri-information-fill", "ri-information-line", "ri-message-fill", "ri-message-line", "ri-pencil-fill", "ri-pencil-line", "ri-question-fill", "ri-question-line", "ri-reply-fill", "ri-reply-line", "ri-send-plane-fill", "ri-send-plane-line", "ri-settings-fill", "ri-settings-line", "ri-checkbox-fill", "ri-checkbox-line", "ri-checkbox-indeterminate-fill", "ri-checkbox-indeterminate-line", "ri-search"];
3
3
  export declare type IconNames = typeof iconNames[number];
4
4
  declare type SVGComponent = (props: SVGProps<SVGSVGElement>) => JSX.Element;
5
5
  export declare const iconsMappingComponent: {
@@ -1,4 +1,4 @@
1
1
  var _iconsMappingComponen;
2
2
  import * as Icons from '../components';
3
- export var iconNames = ['ri-account-circle-fill', 'ri-account-circle-line', 'ri-add-circle-fill', 'ri-add-circle-line', 'ri-add', 'ri-alarm-warning-fill', 'ri-alarm-warning-line', 'ri-arrow-down-fill', 'ri-arrow-down-line', 'ri-arrow-go-back-fill', 'ri-arrow-go-back-line', 'ri-arrow-go-forward-fill', 'ri-arrow-go-forward-line', 'ri-arrow-left-fill', 'ri-arrow-left-line', 'ri-arrow-left-right-fill', 'ri-arrow-left-right-line', 'ri-arrow-m-down-fill', 'ri-arrow-m-down-line', 'ri-arrow-m-left-fill', 'ri-arrow-m-left-line', 'ri-arrow-m-right-fill', 'ri-arrow-m-right-line', 'ri-arrow-m-up-fill', 'ri-arrow-m-up-line', 'ri-arrow-right-fill', 'ri-arrow-right-line', 'ri-arrow-up-down-fill', 'ri-arrow-up-down-line', 'ri-arrow-up-fill', 'ri-arrow-up-line', 'ri-arrow-xs-down-fill', 'ri-arrow-xs-up-fill', 'ri-calendar-fill', 'ri-calendar-line', 'ri-check', 'ri-close-circle-fill', 'ri-close-circle-line', 'ri-close', 'ri-delete-bin-fill', 'ri-delete-bin-line', 'ri-error-warning-fill', 'ri-error-warning-line', 'ri-information-fill', 'ri-information-line', 'ri-message-fill', 'ri-message-line', 'ri-pencil-fill', 'ri-pencil-line', 'ri-question-fill', 'ri-question-line', 'ri-reply-fill', 'ri-reply-line', 'ri-send-plane-fill', 'ri-send-plane-line', 'ri-settings-fill', 'ri-settings-line', 'ri-checkbox-fill', 'ri-checkbox-line', 'ri-checkbox-indeterminate-fill', 'ri-checkbox-indeterminate-line'];
4
- export var iconsMappingComponent = (_iconsMappingComponen = {}, _iconsMappingComponen['ri-account-circle-fill'] = Icons.RiAccountCircleFill, _iconsMappingComponen['ri-account-circle-line'] = Icons.RiAccountCircleLine, _iconsMappingComponen['ri-add'] = Icons.RiAdd, _iconsMappingComponen['ri-add-circle-fill'] = Icons.RiAddCircleFill, _iconsMappingComponen['ri-add-circle-line'] = Icons.RiAddCircleLine, _iconsMappingComponen['ri-alarm-warning-fill'] = Icons.RiAlarmWarningFill, _iconsMappingComponen['ri-alarm-warning-line'] = Icons.RiAlarmWarningLine, _iconsMappingComponen['ri-arrow-down-fill'] = Icons.RiArrowDownFill, _iconsMappingComponen['ri-arrow-down-line'] = Icons.RiArrowDownLine, _iconsMappingComponen['ri-arrow-go-back-fill'] = Icons.RiArrowGoBackFill, _iconsMappingComponen['ri-arrow-go-back-line'] = Icons.RiArrowGoBackLine, _iconsMappingComponen['ri-arrow-go-forward-fill'] = Icons.RiArrowGoForwardFill, _iconsMappingComponen['ri-arrow-go-forward-line'] = Icons.RiArrowGoForwardLine, _iconsMappingComponen['ri-arrow-left-fill'] = Icons.RiArrowLeftFill, _iconsMappingComponen['ri-arrow-left-line'] = Icons.RiArrowLeftLine, _iconsMappingComponen['ri-arrow-left-right-fill'] = Icons.RiArrowLeftRightFill, _iconsMappingComponen['ri-arrow-left-right-line'] = Icons.RiArrowLeftRightLine, _iconsMappingComponen['ri-arrow-m-down-fill'] = Icons.RiArrowMDownFill, _iconsMappingComponen['ri-arrow-m-down-line'] = Icons.RiArrowMDownLine, _iconsMappingComponen['ri-arrow-m-left-fill'] = Icons.RiArrowMLeftFill, _iconsMappingComponen['ri-arrow-m-left-line'] = Icons.RiArrowMLeftLine, _iconsMappingComponen['ri-arrow-m-right-fill'] = Icons.RiArrowMRightFill, _iconsMappingComponen['ri-arrow-m-right-line'] = Icons.RiArrowMRightLine, _iconsMappingComponen['ri-arrow-m-up-fill'] = Icons.RiArrowMUpFill, _iconsMappingComponen['ri-arrow-m-up-line'] = Icons.RiArrowMUpLine, _iconsMappingComponen['ri-arrow-right-fill'] = Icons.RiArrowRightFill, _iconsMappingComponen['ri-arrow-right-line'] = Icons.RiArrowRightLine, _iconsMappingComponen['ri-arrow-up-down-fill'] = Icons.RiArrowUpDownFill, _iconsMappingComponen['ri-arrow-up-down-line'] = Icons.RiArrowUpDownLine, _iconsMappingComponen['ri-arrow-up-fill'] = Icons.RiArrowUpFill, _iconsMappingComponen['ri-arrow-up-line'] = Icons.RiArrowUpLine, _iconsMappingComponen['ri-arrow-xs-down-fill'] = Icons.RiArrowXsDownFill, _iconsMappingComponen['ri-arrow-xs-up-fill'] = Icons.RiArrowXsUpFill, _iconsMappingComponen['ri-calendar-fill'] = Icons.RiCalendarFill, _iconsMappingComponen['ri-calendar-line'] = Icons.RiCalendarLine, _iconsMappingComponen['ri-check'] = Icons.RiCheck, _iconsMappingComponen['ri-close-circle-fill'] = Icons.RiCloseCircleFill, _iconsMappingComponen['ri-close-circle-line'] = Icons.RiCloseCircleLine, _iconsMappingComponen['ri-close'] = Icons.RiClose, _iconsMappingComponen['ri-delete-bin-fill'] = Icons.RiDeleteBinFill, _iconsMappingComponen['ri-delete-bin-line'] = Icons.RiDeleteBinLine, _iconsMappingComponen['ri-error-warning-fill'] = Icons.RiErrorWarningFill, _iconsMappingComponen['ri-error-warning-line'] = Icons.RiErrorWarningLine, _iconsMappingComponen['ri-information-fill'] = Icons.RiInformationFill, _iconsMappingComponen['ri-information-line'] = Icons.RiInformationLine, _iconsMappingComponen['ri-message-fill'] = Icons.RiMessageFill, _iconsMappingComponen['ri-message-line'] = Icons.RiMessageLine, _iconsMappingComponen['ri-pencil-fill'] = Icons.RiPencilFill, _iconsMappingComponen['ri-pencil-line'] = Icons.RiPencilLine, _iconsMappingComponen['ri-reply-fill'] = Icons.RiReplyFill, _iconsMappingComponen['ri-reply-line'] = Icons.RiReplyLine, _iconsMappingComponen['ri-question-fill'] = Icons.RiQuestionFill, _iconsMappingComponen['ri-question-line'] = Icons.RiQuestionLine, _iconsMappingComponen['ri-send-plane-fill'] = Icons.RiSendPlaneFill, _iconsMappingComponen['ri-send-plane-line'] = Icons.RiSendPlaneLine, _iconsMappingComponen['ri-settings-fill'] = Icons.RiSettingsFill, _iconsMappingComponen['ri-settings-line'] = Icons.RiSettingsLine, _iconsMappingComponen['ri-checkbox-fill'] = Icons.RiCheckboxFill, _iconsMappingComponen['ri-checkbox-line'] = Icons.RiCheckboxLine, _iconsMappingComponen['ri-checkbox-indeterminate-fill'] = Icons.RiCheckboxIndeterminateFill, _iconsMappingComponen['ri-checkbox-indeterminate-line'] = Icons.RiCheckboxIndeterminateLine, _iconsMappingComponen);
3
+ export var iconNames = ['ri-account-circle-fill', 'ri-account-circle-line', 'ri-add-circle-fill', 'ri-add-circle-line', 'ri-add', 'ri-alarm-warning-fill', 'ri-alarm-warning-line', 'ri-arrow-down-fill', 'ri-arrow-down-line', 'ri-arrow-go-back-fill', 'ri-arrow-go-back-line', 'ri-arrow-go-forward-fill', 'ri-arrow-go-forward-line', 'ri-arrow-left-fill', 'ri-arrow-left-line', 'ri-arrow-left-right-fill', 'ri-arrow-left-right-line', 'ri-arrow-m-down-fill', 'ri-arrow-m-down-line', 'ri-arrow-m-left-fill', 'ri-arrow-m-left-line', 'ri-arrow-m-right-fill', 'ri-arrow-m-right-line', 'ri-arrow-m-up-fill', 'ri-arrow-m-up-line', 'ri-arrow-right-fill', 'ri-arrow-right-line', 'ri-arrow-up-down-fill', 'ri-arrow-up-down-line', 'ri-arrow-up-fill', 'ri-arrow-up-line', 'ri-arrow-xs-down-fill', 'ri-arrow-xs-up-fill', 'ri-calendar-fill', 'ri-calendar-line', 'ri-check', 'ri-close-circle-fill', 'ri-close-circle-line', 'ri-close', 'ri-delete-bin-fill', 'ri-delete-bin-line', 'ri-error-warning-fill', 'ri-error-warning-line', 'ri-information-fill', 'ri-information-line', 'ri-message-fill', 'ri-message-line', 'ri-pencil-fill', 'ri-pencil-line', 'ri-question-fill', 'ri-question-line', 'ri-reply-fill', 'ri-reply-line', 'ri-send-plane-fill', 'ri-send-plane-line', 'ri-settings-fill', 'ri-settings-line', 'ri-checkbox-fill', 'ri-checkbox-line', 'ri-checkbox-indeterminate-fill', 'ri-checkbox-indeterminate-line', 'ri-search'];
4
+ export var iconsMappingComponent = (_iconsMappingComponen = {}, _iconsMappingComponen['ri-account-circle-fill'] = Icons.RiAccountCircleFill, _iconsMappingComponen['ri-account-circle-line'] = Icons.RiAccountCircleLine, _iconsMappingComponen['ri-add'] = Icons.RiAdd, _iconsMappingComponen['ri-add-circle-fill'] = Icons.RiAddCircleFill, _iconsMappingComponen['ri-add-circle-line'] = Icons.RiAddCircleLine, _iconsMappingComponen['ri-alarm-warning-fill'] = Icons.RiAlarmWarningFill, _iconsMappingComponen['ri-alarm-warning-line'] = Icons.RiAlarmWarningLine, _iconsMappingComponen['ri-arrow-down-fill'] = Icons.RiArrowDownFill, _iconsMappingComponen['ri-arrow-down-line'] = Icons.RiArrowDownLine, _iconsMappingComponen['ri-arrow-go-back-fill'] = Icons.RiArrowGoBackFill, _iconsMappingComponen['ri-arrow-go-back-line'] = Icons.RiArrowGoBackLine, _iconsMappingComponen['ri-arrow-go-forward-fill'] = Icons.RiArrowGoForwardFill, _iconsMappingComponen['ri-arrow-go-forward-line'] = Icons.RiArrowGoForwardLine, _iconsMappingComponen['ri-arrow-left-fill'] = Icons.RiArrowLeftFill, _iconsMappingComponen['ri-arrow-left-line'] = Icons.RiArrowLeftLine, _iconsMappingComponen['ri-arrow-left-right-fill'] = Icons.RiArrowLeftRightFill, _iconsMappingComponen['ri-arrow-left-right-line'] = Icons.RiArrowLeftRightLine, _iconsMappingComponen['ri-arrow-m-down-fill'] = Icons.RiArrowMDownFill, _iconsMappingComponen['ri-arrow-m-down-line'] = Icons.RiArrowMDownLine, _iconsMappingComponen['ri-arrow-m-left-fill'] = Icons.RiArrowMLeftFill, _iconsMappingComponen['ri-arrow-m-left-line'] = Icons.RiArrowMLeftLine, _iconsMappingComponen['ri-arrow-m-right-fill'] = Icons.RiArrowMRightFill, _iconsMappingComponen['ri-arrow-m-right-line'] = Icons.RiArrowMRightLine, _iconsMappingComponen['ri-arrow-m-up-fill'] = Icons.RiArrowMUpFill, _iconsMappingComponen['ri-arrow-m-up-line'] = Icons.RiArrowMUpLine, _iconsMappingComponen['ri-arrow-right-fill'] = Icons.RiArrowRightFill, _iconsMappingComponen['ri-arrow-right-line'] = Icons.RiArrowRightLine, _iconsMappingComponen['ri-arrow-up-down-fill'] = Icons.RiArrowUpDownFill, _iconsMappingComponen['ri-arrow-up-down-line'] = Icons.RiArrowUpDownLine, _iconsMappingComponen['ri-arrow-up-fill'] = Icons.RiArrowUpFill, _iconsMappingComponen['ri-arrow-up-line'] = Icons.RiArrowUpLine, _iconsMappingComponen['ri-arrow-xs-down-fill'] = Icons.RiArrowXsDownFill, _iconsMappingComponen['ri-arrow-xs-up-fill'] = Icons.RiArrowXsUpFill, _iconsMappingComponen['ri-calendar-fill'] = Icons.RiCalendarFill, _iconsMappingComponen['ri-calendar-line'] = Icons.RiCalendarLine, _iconsMappingComponen['ri-check'] = Icons.RiCheck, _iconsMappingComponen['ri-close-circle-fill'] = Icons.RiCloseCircleFill, _iconsMappingComponen['ri-close-circle-line'] = Icons.RiCloseCircleLine, _iconsMappingComponen['ri-close'] = Icons.RiClose, _iconsMappingComponen['ri-delete-bin-fill'] = Icons.RiDeleteBinFill, _iconsMappingComponen['ri-delete-bin-line'] = Icons.RiDeleteBinLine, _iconsMappingComponen['ri-error-warning-fill'] = Icons.RiErrorWarningFill, _iconsMappingComponen['ri-error-warning-line'] = Icons.RiErrorWarningLine, _iconsMappingComponen['ri-information-fill'] = Icons.RiInformationFill, _iconsMappingComponen['ri-information-line'] = Icons.RiInformationLine, _iconsMappingComponen['ri-message-fill'] = Icons.RiMessageFill, _iconsMappingComponen['ri-message-line'] = Icons.RiMessageLine, _iconsMappingComponen['ri-pencil-fill'] = Icons.RiPencilFill, _iconsMappingComponen['ri-pencil-line'] = Icons.RiPencilLine, _iconsMappingComponen['ri-reply-fill'] = Icons.RiReplyFill, _iconsMappingComponen['ri-reply-line'] = Icons.RiReplyLine, _iconsMappingComponen['ri-question-fill'] = Icons.RiQuestionFill, _iconsMappingComponen['ri-question-line'] = Icons.RiQuestionLine, _iconsMappingComponen['ri-send-plane-fill'] = Icons.RiSendPlaneFill, _iconsMappingComponen['ri-send-plane-line'] = Icons.RiSendPlaneLine, _iconsMappingComponen['ri-settings-fill'] = Icons.RiSettingsFill, _iconsMappingComponen['ri-settings-line'] = Icons.RiSettingsLine, _iconsMappingComponen['ri-checkbox-fill'] = Icons.RiCheckboxFill, _iconsMappingComponen['ri-checkbox-line'] = Icons.RiCheckboxLine, _iconsMappingComponen['ri-checkbox-indeterminate-fill'] = Icons.RiCheckboxIndeterminateFill, _iconsMappingComponen['ri-checkbox-indeterminate-line'] = Icons.RiCheckboxIndeterminateLine, _iconsMappingComponen['ri-search'] = Icons.RiSearch, _iconsMappingComponen);
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ export interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'prefix'> {
3
+ error?: boolean;
4
+ prefix?: React.ReactNode;
5
+ suffix?: React.ReactNode;
6
+ }
7
+ export declare const Input: ({ error, disabled, prefix, suffix, ...props }: InputProps) => JSX.Element;
@@ -0,0 +1,27 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
3
+ var _excluded = ["error", "disabled", "prefix", "suffix"];
4
+ import React from 'react';
5
+ import { StyledContainer, StyledInput, StyledPrefixContainer, StyledSuffixContainer } from './InputStyle';
6
+ export var Input = function Input(_ref) {
7
+ var error = _ref.error,
8
+ disabled = _ref.disabled,
9
+ prefix = _ref.prefix,
10
+ suffix = _ref.suffix,
11
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
12
+ var hasPrefix = !!prefix;
13
+ var hasSuffix = !!suffix;
14
+ var Prefix = function Prefix() {
15
+ return hasPrefix ? /*#__PURE__*/React.createElement(StyledPrefixContainer, null, prefix) : null;
16
+ };
17
+ var Suffix = function Suffix() {
18
+ return hasSuffix ? /*#__PURE__*/React.createElement(StyledSuffixContainer, null, suffix) : null;
19
+ };
20
+ return /*#__PURE__*/React.createElement(StyledContainer, {
21
+ "data-prefix": hasPrefix,
22
+ "data-error": error,
23
+ "data-disabled": disabled
24
+ }, /*#__PURE__*/React.createElement(Prefix, null), /*#__PURE__*/React.createElement(StyledInput, _extends({
25
+ disabled: disabled
26
+ }, props)), /*#__PURE__*/React.createElement(Suffix, null));
27
+ };
@@ -0,0 +1,5 @@
1
+ import { InputProps } from './Input';
2
+ export declare const StyledContainer: import("styled-components").StyledComponent<"div", any, InputProps, never>;
3
+ export declare const StyledPrefixContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
4
+ export declare const StyledSuffixContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
5
+ export declare const StyledInput: import("styled-components").StyledComponent<"input", any, InputProps, never>;
@@ -0,0 +1,19 @@
1
+ import styled from 'styled-components';
2
+ import { Breakpoints } from '../..';
3
+ import { Neutral, Red } from '../utilities/colors';
4
+ export var StyledContainer = styled.div.withConfig({
5
+ displayName: "InputStyle__StyledContainer",
6
+ componentId: "sc-15z2mnd-0"
7
+ })(["position:relative;display:flex;flex-direction:column;flex:1;flex-basis:100%;font-family:'Noto Sans',sans-serif;font-style:normal;font-weight:400;font-size:16px;line-height:150%;&[data-prefix='true'] input{padding-left:40px;}&[data-error='true'] input{border:1px solid ", ";}&[data-error='true'] input:focus{box-shadow:none;}&[data-disabled='true'] input{border:1px solid ", ";background:", ";color:", ";}&[data-disabled='true'] input::placeholder{color:", ";}&[data-disabled='true'] svg{fill:", ";}&[data-disabled='true'] div{color:", ";}"], Red.B93, Neutral.B85, Neutral.B95, Neutral.B85, Neutral.B85, Neutral.B85, Neutral.B85);
8
+ export var StyledPrefixContainer = styled.div.withConfig({
9
+ displayName: "InputStyle__StyledPrefixContainer",
10
+ componentId: "sc-15z2mnd-1"
11
+ })(["position:absolute;padding:0;left:0;line-height:0;color:", ";svg{height:17px;width:17px;margin:10px 14px;fill:", ";}div{color:", ";margin:18px 12px;}"], Neutral.B40, Neutral.B40, Neutral.B40);
12
+ export var StyledSuffixContainer = styled(StyledPrefixContainer).withConfig({
13
+ displayName: "InputStyle__StyledSuffixContainer",
14
+ componentId: "sc-15z2mnd-2"
15
+ })(["left:auto;right:0;"]);
16
+ export var StyledInput = styled.input.withConfig({
17
+ displayName: "InputStyle__StyledInput",
18
+ componentId: "sc-15z2mnd-3"
19
+ })(["background:", ";box-sizing:border-box;border:1px solid ", ";border-radius:4px;padding:0 12px;font-family:'Noto Sans',sans-serif;font-style:normal;font-weight:400;font-size:16px;line-height:150%;color:", ";flex:none;order:1;align-self:stretch;flex-grow:0;height:36px;&::placeholder{color:", ";}&:focus{outline:none;box-shadow:0px 0px 0px 1px ", ",0px 0px 0px 3px #6ac9ec;}@media (max-width:", "){font-size:14px;}"], Neutral.B100, Neutral.B68, Neutral.B18, Neutral.B40, Neutral.B100, Breakpoints.large);
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { InputProps } from '../Input/Input';
3
+ export declare type NumberInputProps = Omit<InputProps, 'type' | 'prefix'>;
4
+ export declare const NumberInput: (props: NumberInputProps) => JSX.Element;
@@ -0,0 +1,13 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import React from 'react';
3
+ import styled from 'styled-components';
4
+ import { Input } from '../Input/Input';
5
+ var StyledInput = styled(Input).withConfig({
6
+ displayName: "NumberInput__StyledInput",
7
+ componentId: "sc-1f5ws9y-0"
8
+ })(["&[type='number']{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;}&[type='number']::-webkit-inner-spin-button,&[type='number']::-webkit-outer-spin-button{-webkit-appearance:none;}"]);
9
+ export var NumberInput = function NumberInput(props) {
10
+ return /*#__PURE__*/React.createElement(StyledInput, _extends({
11
+ type: "number"
12
+ }, props));
13
+ };
@@ -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 Interactive: any;
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import { BaseContainer } from '../../Layout/GlintsContainer/GlintsContainer';
3
+ import { NumberInput } from './NumberInput';
4
+ NumberInput.displayName = 'Number';
5
+ export default {
6
+ title: '@next/NumberInput',
7
+ component: NumberInput,
8
+ decorators: [function (Story) {
9
+ return /*#__PURE__*/React.createElement(BaseContainer, null, Story());
10
+ }],
11
+ argTypes: {}
12
+ };
13
+ var Template = function Template(args) {
14
+ return /*#__PURE__*/React.createElement(NumberInput, args);
15
+ };
16
+ export var Interactive = Template.bind({});
17
+ Interactive.args = {
18
+ placeholder: '0.0',
19
+ disabled: false
20
+ };
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ export declare type TabProps = {
3
+ content: React.ReactNode;
4
+ id?: string;
5
+ selected?: boolean;
6
+ onSelect: () => void;
7
+ };
8
+ export declare const Tab: ({ content, id, selected, onSelect }: TabProps) => JSX.Element;
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ import { Typography } from '../Typography';
3
+ import { StyledSpan, StyledTabButton } from './TabStyle';
4
+ export var Tab = function Tab(_ref) {
5
+ var content = _ref.content,
6
+ id = _ref.id,
7
+ selected = _ref.selected,
8
+ onSelect = _ref.onSelect;
9
+ return /*#__PURE__*/React.createElement(StyledTabButton, {
10
+ "data-selected": selected,
11
+ id: id,
12
+ onClick: function onClick() {
13
+ return onSelect();
14
+ }
15
+ }, /*#__PURE__*/React.createElement(StyledSpan, null, /*#__PURE__*/React.createElement(Typography, {
16
+ as: "span",
17
+ variant: "body1"
18
+ }, content)));
19
+ };
@@ -0,0 +1,6 @@
1
+ export declare const StyledTabsContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
2
+ export declare const StyledTabHeaderContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
3
+ export declare const StyledUl: import("styled-components").StyledComponent<"ul", any, {}, never>;
4
+ export declare const StyledLi: import("styled-components").StyledComponent<"li", any, {}, never>;
5
+ export declare const StyledSpan: import("styled-components").StyledComponent<"span", any, {}, never>;
6
+ export declare const StyledTabButton: import("styled-components").StyledComponent<"button", any, {}, never>;
@@ -0,0 +1,28 @@
1
+ import styled from 'styled-components';
2
+ import { Blue, Neutral } from '../utilities/colors';
3
+ import { space16, space4, space8 } from '../utilities/spacing';
4
+ import * as Breakpoints from '../utilities/breakpoints';
5
+ export var StyledTabsContainer = styled.div.withConfig({
6
+ displayName: "TabStyle__StyledTabsContainer",
7
+ componentId: "sc-3xj4eu-0"
8
+ })(["display:block;"]);
9
+ export var StyledTabHeaderContainer = styled.div.withConfig({
10
+ displayName: "TabStyle__StyledTabHeaderContainer",
11
+ componentId: "sc-3xj4eu-1"
12
+ })(["box-shadow:inset 0px -1px 0px #e1e3e5;"]);
13
+ export var StyledUl = styled.ul.withConfig({
14
+ displayName: "TabStyle__StyledUl",
15
+ componentId: "sc-3xj4eu-2"
16
+ })(["display:flex;flex-direction:row;align-items:flex-start;padding:0;gap:", ";&[data-fitted='true'] li{flex:1;}"], space8);
17
+ export var StyledLi = styled.li.withConfig({
18
+ displayName: "TabStyle__StyledLi",
19
+ componentId: "sc-3xj4eu-3"
20
+ })(["display:flex;margin:0;padding:0 ", ";"], space4);
21
+ export var StyledSpan = styled.span.withConfig({
22
+ displayName: "TabStyle__StyledSpan",
23
+ componentId: "sc-3xj4eu-4"
24
+ })(["position:relative;display:block;padding:0 ", ";&::before{content:'';position:absolute;bottom:-", ";left:0;right:0;height:3px;border-top-left-radius:", ";border-top-right-radius:", ";}&&::after{content:'';position:absolute;z-index:1;inset:-1px;pointer-events:none;box-shadow:0 0 0 -1px ", ";transition:box-shadow 100ms ease;}@media (max-width:", "){&::before{bottom:-14px;}}"], space16, space16, space4, space4, Blue.S99, Breakpoints.large);
25
+ export var StyledTabButton = styled.button.withConfig({
26
+ displayName: "TabStyle__StyledTabButton",
27
+ componentId: "sc-3xj4eu-5"
28
+ })(["border:0;background:", ";height:56px;cursor:pointer;color:", ";margin-bottom:1px;width:100%;padding:0 ", ";&:hover{color:", ";}&:hover span::before{background:", ";}&[data-selected='true']{color:", ";}&[data-selected='true'] > span::before{background:", ";}@media (max-width:", "){height:48px;}"], Neutral.B100, Neutral.B40, space4, Neutral.B18, Blue.S100, Blue.S99, Blue.S99, Breakpoints.large);
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ export declare type TabModel = {
3
+ /** Id of the tab, a random id will nbe assigned if empty */
4
+ id?: string;
5
+ /** Content of the type header */
6
+ content: React.ReactNode;
7
+ };
8
+ export declare type TabsProps = {
9
+ /** TabModel has 2 properties
10
+ *
11
+ * `id?: string`, id for Tab and will be autogenerated if empty
12
+ *
13
+ * `content: React.ReactNode` component for Tab header
14
+ * */
15
+ tabs: TabModel[];
16
+ selected?: number;
17
+ children?: React.ReactNode;
18
+ fitted?: boolean;
19
+ onSelected?: (index: number) => void;
20
+ };
21
+ export declare const Tabs: ({ tabs, selected: selectedIndex, children, fitted, onSelected, }: TabsProps) => JSX.Element;
@@ -0,0 +1,43 @@
1
+ import nextId from 'react-id-generator';
2
+ import React, { useEffect, useState } from 'react';
3
+ import { Tab } from './Tab';
4
+ import { StyledLi, StyledTabHeaderContainer, StyledTabsContainer, StyledUl } from './TabStyle';
5
+ export var Tabs = function Tabs(_ref) {
6
+ var tabs = _ref.tabs,
7
+ _ref$selected = _ref.selected,
8
+ selectedIndex = _ref$selected === void 0 ? 0 : _ref$selected,
9
+ children = _ref.children,
10
+ fitted = _ref.fitted,
11
+ onSelected = _ref.onSelected;
12
+ var tabLength = tabs.length;
13
+ var _useState = useState(0),
14
+ selectedTabIndex = _useState[0],
15
+ setSelectedTabIndex = _useState[1];
16
+ useEffect(function () {
17
+ if (selectedIndex < 0 || selectedIndex >= tabLength) {
18
+ return;
19
+ }
20
+ setSelectedTabIndex(selectedIndex);
21
+ }, [selectedIndex, tabLength]);
22
+ var handleSelectedIndexChanged = function handleSelectedIndexChanged(index) {
23
+ setSelectedTabIndex(index);
24
+ onSelected == null ? void 0 : onSelected(index);
25
+ };
26
+ var renderTabs = tabs.map(function (tab, index) {
27
+ var tabId = tab.id || nextId();
28
+ return /*#__PURE__*/React.createElement(StyledLi, {
29
+ key: tabId + "-" + index
30
+ }, /*#__PURE__*/React.createElement(Tab, {
31
+ id: tabId,
32
+ key: "tab-" + tabId + "-" + index,
33
+ content: tab.content,
34
+ onSelect: function onSelect() {
35
+ return handleSelectedIndexChanged(index);
36
+ },
37
+ selected: index === selectedTabIndex
38
+ }));
39
+ });
40
+ return /*#__PURE__*/React.createElement(StyledTabsContainer, null, /*#__PURE__*/React.createElement(StyledTabHeaderContainer, null, /*#__PURE__*/React.createElement(StyledUl, {
41
+ "data-fitted": fitted
42
+ }, renderTabs, " ")), /*#__PURE__*/React.createElement("div", null, children));
43
+ };
@@ -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 Interactive: any;
@@ -0,0 +1,51 @@
1
+ /* eslint-disable react/jsx-key */
2
+ import React, { useState } from 'react';
3
+ import { Tabs } from './Tabs';
4
+ import { BaseContainer } from '../../Layout/GlintsContainer/GlintsContainer';
5
+ import { Typography } from '../Typography';
6
+ import { StyledColumn, StyledHeaderColumn, StyledRow, StyledTable } from './TabsStoriesStyle';
7
+ Tabs.displayName = 'Tabs';
8
+ export default {
9
+ title: '@next/Tabs',
10
+ component: Tabs,
11
+ decorators: [function (Story) {
12
+ return /*#__PURE__*/React.createElement(BaseContainer, null, Story());
13
+ }]
14
+ };
15
+ var Template = function Template(args) {
16
+ var _useState = useState(args.selected || 0),
17
+ selected = _useState[0],
18
+ setSelected = _useState[1];
19
+ var tabs = [{
20
+ id: 'id-tab-1',
21
+ content: 'Tab #1'
22
+ }, {
23
+ id: 'id-tab-2',
24
+ content: 'Tab #2'
25
+ }];
26
+ var Table = function Table() {
27
+ return /*#__PURE__*/React.createElement(StyledTable, null, /*#__PURE__*/React.createElement(StyledRow, null, /*#__PURE__*/React.createElement(StyledHeaderColumn, null, "Company"), /*#__PURE__*/React.createElement(StyledHeaderColumn, null, "Contact"), /*#__PURE__*/React.createElement(StyledHeaderColumn, null, "Country")), /*#__PURE__*/React.createElement(StyledRow, null, /*#__PURE__*/React.createElement(StyledColumn, null, "Alfreds Futterkiste"), /*#__PURE__*/React.createElement(StyledColumn, null, "Maria Anders"), /*#__PURE__*/React.createElement(StyledColumn, null, "Germany")), /*#__PURE__*/React.createElement(StyledRow, null, /*#__PURE__*/React.createElement(StyledColumn, null, "Centro comercial Moctezuma"), /*#__PURE__*/React.createElement(StyledColumn, null, "Francisco Chang"), /*#__PURE__*/React.createElement(StyledColumn, null, "Mexico")), /*#__PURE__*/React.createElement(StyledRow, null, /*#__PURE__*/React.createElement(StyledColumn, null, "Ernst Handel"), /*#__PURE__*/React.createElement(StyledColumn, null, "Roland Mendel"), /*#__PURE__*/React.createElement(StyledColumn, null, "Austria")), /*#__PURE__*/React.createElement(StyledRow, null, /*#__PURE__*/React.createElement(StyledColumn, null, "Island Trading"), /*#__PURE__*/React.createElement(StyledColumn, null, "Helen Bennett"), /*#__PURE__*/React.createElement(StyledColumn, null, "UK")));
28
+ };
29
+ var tabContents = [/*#__PURE__*/React.createElement(Table, null), /*#__PURE__*/React.createElement(Typography, {
30
+ variant: "body2"
31
+ }, "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.")];
32
+ return /*#__PURE__*/React.createElement(Tabs, {
33
+ tabs: tabs,
34
+ selected: selected,
35
+ onSelected: function onSelected(i) {
36
+ return setSelected(i);
37
+ },
38
+ fitted: args.fitted
39
+ }, tabContents[selected]);
40
+ };
41
+ export var Interactive = Template.bind({});
42
+ Interactive.args = {};
43
+ Interactive.parameters = {
44
+ docs: {
45
+ source: {
46
+ code: "const [selected, setSelected] = useState(args.selected || 0);\n const tabs: TabModel[] = [\n { id: 'id-tab-1', content: 'Tab #1' },\n { id: 'id-tab-2', content: 'Tab #2' },\n ];\n \n const Table = () => {\n return (\n <StyledTable>\n <StyledRow>\n <StyledHeaderColumn>Company</StyledHeaderColumn>\n <StyledHeaderColumn>Contact</StyledHeaderColumn>\n <StyledHeaderColumn>Country</StyledHeaderColumn>\n </StyledRow>\n <StyledRow>\n <StyledColumn>Alfreds Futterkiste</StyledColumn>\n <StyledColumn>Maria Anders</StyledColumn>\n <StyledColumn>Germany</StyledColumn>\n </StyledRow>\n <StyledRow>\n <StyledColumn>Centro comercial Moctezuma</StyledColumn>\n <StyledColumn>Francisco Chang</StyledColumn>\n <StyledColumn>Mexico</StyledColumn>\n </StyledRow>\n <StyledRow>\n <StyledColumn>Ernst Handel</StyledColumn>\n <StyledColumn>Roland Mendel</StyledColumn>\n <StyledColumn>Austria</StyledColumn>\n </StyledRow>\n <StyledRow>\n <StyledColumn>Island Trading</StyledColumn>\n <StyledColumn>Helen Bennett</StyledColumn>\n <StyledColumn>UK</StyledColumn>\n </StyledRow>\n </StyledTable>\n );\n };\n \n const tabContents = [\n <Table />,\n <Typography variant=\"body2\">\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod\n tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim\n veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea\n commodo consequat. Duis aute irure dolor in reprehenderit in voluptate\n velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat\n cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id\n est laborum.\n </Typography>,\n ];\n \n return (\n <Tabs\n tabs={tabs}\n selected={selected}\n onSelected={i => setSelected(i)}\n fitted={args.fitted}\n >\n {tabContents[selected]}\n </Tabs>\n );\n };",
47
+ language: 'html',
48
+ type: 'auto'
49
+ }
50
+ }
51
+ };
@@ -0,0 +1,4 @@
1
+ export declare const StyledTable: import("styled-components").StyledComponent<"table", any, {}, never>;
2
+ export declare const StyledRow: import("styled-components").StyledComponent<"tr", any, {}, never>;
3
+ export declare const StyledColumn: import("styled-components").StyledComponent<"td", any, {}, never>;
4
+ export declare const StyledHeaderColumn: import("styled-components").StyledComponent<"th", any, {}, never>;
@@ -0,0 +1,18 @@
1
+ /* eslint-disable react/jsx-key */
2
+ import styled from 'styled-components';
3
+ export var StyledTable = styled.table.withConfig({
4
+ displayName: "TabsStoriesStyle__StyledTable",
5
+ componentId: "sc-34eyhb-0"
6
+ })(["font-family:arial,sans-serif;border-collapse:collapse;width:100%;"]);
7
+ export var StyledRow = styled.tr.withConfig({
8
+ displayName: "TabsStoriesStyle__StyledRow",
9
+ componentId: "sc-34eyhb-1"
10
+ })(["&:nth-child(even){background-color:#dddddd;}"]);
11
+ export var StyledColumn = styled.td.withConfig({
12
+ displayName: "TabsStoriesStyle__StyledColumn",
13
+ componentId: "sc-34eyhb-2"
14
+ })(["border:1px solid #dddddd;text-align:left;padding:8px;"]);
15
+ export var StyledHeaderColumn = styled.th.withConfig({
16
+ displayName: "TabsStoriesStyle__StyledHeaderColumn",
17
+ componentId: "sc-34eyhb-3"
18
+ })(["border:1px solid #dddddd;text-align:left;padding:8px;"]);
@@ -0,0 +1,2 @@
1
+ export * from './Tab';
2
+ export * from './Tabs';