@mirai/ui 1.0.171 → 1.0.173
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.
- package/README.md +1 -0
- package/build/components/Button/Button.js +8 -3
- package/build/components/Button/Button.js.map +1 -1
- package/build/components/Button/Button.stories.js +1 -0
- package/build/components/Button/Button.stories.js.map +1 -1
- package/build/components/Button/__tests__/__snapshots__/Button.test.js.snap +12 -0
- package/build/components/Table/Table.Filter.js +8 -3
- package/build/components/Table/Table.Filter.js.map +1 -1
- package/build/components/Table/Table.js +2 -0
- package/build/components/Table/Table.js.map +1 -1
- package/build/components/Tooltip/Tooltip.js +9 -13
- package/build/components/Tooltip/Tooltip.js.map +1 -1
- package/build/components/Tooltip/helpers/index.js +17 -0
- package/build/components/Tooltip/helpers/index.js.map +1 -0
- package/build/components/Tooltip/helpers/isPressableInstance.js +16 -0
- package/build/components/Tooltip/helpers/isPressableInstance.js.map +1 -0
- package/build/primitives/View/View.js +3 -2
- package/build/primitives/View/View.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -414,6 +414,7 @@ A button component that receives the following props:
|
|
|
414
414
|
- `small:boolean` modifying the button size
|
|
415
415
|
- `squared:boolean` if true gives rectangular shape to the button (false by default)
|
|
416
416
|
- `tag:string` html tag of resulting element ('button' by default)
|
|
417
|
+
- `tooltip:string` text it will appears when hover on component.
|
|
417
418
|
- `wide:bool` modifying the button to full-width
|
|
418
419
|
- `onEnter:function` executed when the user hovers over
|
|
419
420
|
- `onLeave:function` executed when the user hovers away
|
|
@@ -9,8 +9,9 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
9
9
|
var _react = _interopRequireDefault(require("react"));
|
|
10
10
|
var _helpers = require("../../helpers");
|
|
11
11
|
var _primitives = require("../../primitives");
|
|
12
|
+
var _Tooltip = require("../Tooltip");
|
|
12
13
|
var _ButtonModule = _interopRequireDefault(require("./Button.module.css"));
|
|
13
|
-
var _excluded = ["busy", "children", "disabled", "large", "rounded", "secondary", "small", "squared", "tag", "wide", "onPress"];
|
|
14
|
+
var _excluded = ["busy", "children", "disabled", "large", "rounded", "secondary", "small", "squared", "tag", "tooltip", "wide", "onPress"];
|
|
14
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
16
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
16
17
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -31,10 +32,13 @@ var Button = function Button(_ref) {
|
|
|
31
32
|
squared = _ref$squared === void 0 ? false : _ref$squared,
|
|
32
33
|
_ref$tag = _ref.tag,
|
|
33
34
|
tag = _ref$tag === void 0 ? 'button' : _ref$tag,
|
|
35
|
+
tooltip = _ref.tooltip,
|
|
34
36
|
wide = _ref.wide,
|
|
35
37
|
onPress = _ref.onPress,
|
|
36
38
|
others = _objectWithoutProperties(_ref, _excluded);
|
|
37
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
39
|
+
return /*#__PURE__*/_react.default.createElement(tooltip ? _Tooltip.Tooltip : _react.default.Fragment, tooltip ? {
|
|
40
|
+
text: tooltip
|
|
41
|
+
} : undefined, /*#__PURE__*/_react.default.createElement(_primitives.Pressable, _objectSpread(_objectSpread({}, others), {}, {
|
|
38
42
|
disabled: disabled || busy,
|
|
39
43
|
role: others.role || 'button',
|
|
40
44
|
tag: tag,
|
|
@@ -47,7 +51,7 @@ var Button = function Button(_ref) {
|
|
|
47
51
|
})), /*#__PURE__*/_react.default.createElement(_primitives.View, {
|
|
48
52
|
row: true,
|
|
49
53
|
className: _ButtonModule.default.children
|
|
50
|
-
}, children)));
|
|
54
|
+
}, children))));
|
|
51
55
|
};
|
|
52
56
|
exports.Button = Button;
|
|
53
57
|
Button.displayName = 'Component:Button';
|
|
@@ -61,6 +65,7 @@ Button.propTypes = {
|
|
|
61
65
|
small: _propTypes.default.bool,
|
|
62
66
|
squared: _propTypes.default.bool,
|
|
63
67
|
tag: _propTypes.default.string,
|
|
68
|
+
tooltip: _propTypes.default.string,
|
|
64
69
|
wide: _propTypes.default.bool,
|
|
65
70
|
onEnter: _propTypes.default.func,
|
|
66
71
|
onLeave: _propTypes.default.func,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","names":["Button","busy","children","disabled","large","rounded","secondary","small","squared","tag","wide","onPress","others","React","createElement","Pressable","role","className","styles","style","button","
|
|
1
|
+
{"version":3,"file":"Button.js","names":["Button","busy","children","disabled","large","rounded","secondary","small","squared","tag","tooltip","wide","onPress","others","React","createElement","Tooltip","Fragment","text","undefined","Pressable","role","className","styles","style","button","busyContainer","active","spinner","displayName","propTypes","PropTypes","bool","oneOfType","string","node","onEnter","func","onLeave"],"sources":["../../../src/components/Button/Button.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { Pressable, View } from '../../primitives';\nimport { Tooltip } from '../Tooltip';\nimport style from './Button.module.css';\n\nconst Button = ({\n busy,\n children,\n disabled,\n large,\n rounded,\n secondary,\n small,\n squared = false,\n tag = 'button',\n tooltip,\n wide,\n onPress,\n ...others\n}) =>\n React.createElement(\n tooltip ? Tooltip : React.Fragment,\n tooltip ? { text: tooltip } : undefined,\n React.createElement(\n Pressable,\n {\n ...others,\n disabled: disabled || busy,\n role: others.role || 'button',\n tag,\n onPress,\n className: styles(\n style.button,\n busy && !disabled && style.busy,\n large && style.large,\n small && style.small,\n rounded && style.rounded,\n squared && style.squared,\n secondary && !disabled && style.secondary,\n (disabled || busy) && style.disabled,\n wide && style.wide,\n others.className,\n ),\n },\n busy === undefined ? (\n children\n ) : (\n <>\n <View className={styles(style.busyContainer, busy && style.active)}>\n <View className={style.spinner} />\n </View>\n <View row className={style.children}>\n {children}\n </View>\n </>\n ),\n ),\n );\n\nButton.displayName = 'Component:Button';\n\nButton.propTypes = {\n busy: PropTypes.bool,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n disabled: PropTypes.bool,\n large: PropTypes.bool,\n rounded: PropTypes.bool,\n secondary: PropTypes.bool,\n small: PropTypes.bool,\n squared: PropTypes.bool,\n tag: PropTypes.string,\n tooltip: PropTypes.string,\n wide: PropTypes.bool,\n onEnter: PropTypes.func,\n onLeave: PropTypes.func,\n onPress: PropTypes.func,\n};\n\nexport { Button };\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.stories.js","names":["title","Story","busyProp","busy","icon","props","useState","setBusy","ICON","storyName","args","children","disabled","undefined","large","rounded","secondary","small","squared","tag","wide","testId","style","marginBottom","argTypes","options","Object","keys","control","type","defaultValue","onEnter","action","onLeave","onPress"],"sources":["../../../src/components/Button/Button.stories.jsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport React, { useState } from 'react';\n\nimport { Icon, ICON, View } from '../../';\nimport { Button } from './Button';\n\nexport default { title: 'Components' };\n\nexport const Story = ({ busy: busyProp, icon, ...props }) => {\n const [busy, setBusy] = useState(busyProp);\n\n return (\n <>\n <Button {...{ ...props, busy }} />\n <Button {...{ ...props, busy }}>\n <Icon value={ICON[icon]} />\n </Button>\n\n <View onClick={() => setBusy(!busy)}>Switch busy</View>\n </>\n );\n};\n\nStory.storyName = 'Button';\n\nStory.args = {\n busy: false,\n children: 'children',\n disabled: false,\n icon: undefined,\n large: false,\n rounded: false,\n secondary: false,\n small: false,\n squared: false,\n tag: 'button',\n wide: false,\n // inherited properties\n testId: 'test-story',\n style: { marginBottom: 'var(--mirai-ui-space-M)' },\n};\n\nStory.argTypes = {\n icon: {\n options: Object.keys(ICON),\n control: { type: 'select' },\n defaultValue: Object.keys(ICON)[0],\n },\n onEnter: { action: 'onEnter' },\n onLeave: { action: 'onLeave' },\n onPress: { action: 'onPress' },\n};\n"],"mappings":";;;;;;;AACA;AAEA;AACA;AAAkC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAEnB;EAAEA,KAAK,EAAE;AAAa,CAAC;AAAA;AAE/B,IAAMC,KAAK,GAAG,SAARA,KAAK,OAA2C;EAAA,IAA/BC,QAAQ,QAAdC,IAAI;IAAYC,IAAI,QAAJA,IAAI;IAAKC,KAAK;EACpD,gBAAwB,IAAAC,eAAQ,EAACJ,QAAQ,CAAC;IAAA;IAAnCC,IAAI;IAAEI,OAAO;EAEpB,oBACE,yEACE,6BAAC,cAAM,kCAAUF,KAAK;IAAEF,IAAI,EAAJA;EAAI,GAAM,eAClC,6BAAC,cAAM,kCAAUE,KAAK;IAAEF,IAAI,EAAJA;EAAI,iBAC1B,6BAAC,MAAI;IAAC,KAAK,EAAEK,MAAI,CAACJ,IAAI;EAAE,EAAG,CACpB,eAET,6BAAC,MAAI;IAAC,OAAO,EAAE;MAAA,OAAMG,OAAO,CAAC,CAACJ,IAAI,CAAC;IAAA;EAAC,iBAAmB,CACtD;AAEP,CAAC;AAAC;AAEFF,KAAK,CAACQ,SAAS,GAAG,QAAQ;AAE1BR,KAAK,CAACS,IAAI,GAAG;EACXP,IAAI,EAAE,KAAK;EACXQ,QAAQ,EAAE,UAAU;EACpBC,QAAQ,EAAE,KAAK;EACfR,IAAI,EAAES,SAAS;EACfC,KAAK,EAAE,KAAK;EACZC,OAAO,EAAE,KAAK;EACdC,SAAS,EAAE,KAAK;EAChBC,KAAK,EAAE,KAAK;EACZC,OAAO,EAAE,KAAK;EACdC,GAAG,EAAE,QAAQ;EACbC,IAAI,EAAE,KAAK;EACX;EACAC,MAAM,EAAE,YAAY;EACpBC,KAAK,EAAE;IAAEC,YAAY,EAAE;EAA0B;AACnD,CAAC;
|
|
1
|
+
{"version":3,"file":"Button.stories.js","names":["title","Story","busyProp","busy","icon","props","useState","setBusy","ICON","storyName","args","children","disabled","undefined","large","rounded","secondary","small","squared","tag","tooltip","wide","testId","style","marginBottom","argTypes","options","Object","keys","control","type","defaultValue","onEnter","action","onLeave","onPress"],"sources":["../../../src/components/Button/Button.stories.jsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport React, { useState } from 'react';\n\nimport { Icon, ICON, View } from '../../';\nimport { Button } from './Button';\n\nexport default { title: 'Components' };\n\nexport const Story = ({ busy: busyProp, icon, ...props }) => {\n const [busy, setBusy] = useState(busyProp);\n\n return (\n <>\n <Button {...{ ...props, busy }} />\n <Button {...{ ...props, busy }}>\n <Icon value={ICON[icon]} />\n </Button>\n\n <View onClick={() => setBusy(!busy)}>Switch busy</View>\n </>\n );\n};\n\nStory.storyName = 'Button';\n\nStory.args = {\n busy: false,\n children: 'children',\n disabled: false,\n icon: undefined,\n large: false,\n rounded: false,\n secondary: false,\n small: false,\n squared: false,\n tag: 'button',\n tooltip: 'tooltip',\n wide: false,\n // inherited properties\n testId: 'test-story',\n style: { marginBottom: 'var(--mirai-ui-space-M)' },\n};\n\nStory.argTypes = {\n icon: {\n options: Object.keys(ICON),\n control: { type: 'select' },\n defaultValue: Object.keys(ICON)[0],\n },\n onEnter: { action: 'onEnter' },\n onLeave: { action: 'onLeave' },\n onPress: { action: 'onPress' },\n};\n"],"mappings":";;;;;;;AACA;AAEA;AACA;AAAkC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAEnB;EAAEA,KAAK,EAAE;AAAa,CAAC;AAAA;AAE/B,IAAMC,KAAK,GAAG,SAARA,KAAK,OAA2C;EAAA,IAA/BC,QAAQ,QAAdC,IAAI;IAAYC,IAAI,QAAJA,IAAI;IAAKC,KAAK;EACpD,gBAAwB,IAAAC,eAAQ,EAACJ,QAAQ,CAAC;IAAA;IAAnCC,IAAI;IAAEI,OAAO;EAEpB,oBACE,yEACE,6BAAC,cAAM,kCAAUF,KAAK;IAAEF,IAAI,EAAJA;EAAI,GAAM,eAClC,6BAAC,cAAM,kCAAUE,KAAK;IAAEF,IAAI,EAAJA;EAAI,iBAC1B,6BAAC,MAAI;IAAC,KAAK,EAAEK,MAAI,CAACJ,IAAI;EAAE,EAAG,CACpB,eAET,6BAAC,MAAI;IAAC,OAAO,EAAE;MAAA,OAAMG,OAAO,CAAC,CAACJ,IAAI,CAAC;IAAA;EAAC,iBAAmB,CACtD;AAEP,CAAC;AAAC;AAEFF,KAAK,CAACQ,SAAS,GAAG,QAAQ;AAE1BR,KAAK,CAACS,IAAI,GAAG;EACXP,IAAI,EAAE,KAAK;EACXQ,QAAQ,EAAE,UAAU;EACpBC,QAAQ,EAAE,KAAK;EACfR,IAAI,EAAES,SAAS;EACfC,KAAK,EAAE,KAAK;EACZC,OAAO,EAAE,KAAK;EACdC,SAAS,EAAE,KAAK;EAChBC,KAAK,EAAE,KAAK;EACZC,OAAO,EAAE,KAAK;EACdC,GAAG,EAAE,QAAQ;EACbC,OAAO,EAAE,SAAS;EAClBC,IAAI,EAAE,KAAK;EACX;EACAC,MAAM,EAAE,YAAY;EACpBC,KAAK,EAAE;IAAEC,YAAY,EAAE;EAA0B;AACnD,CAAC;AAEDvB,KAAK,CAACwB,QAAQ,GAAG;EACfrB,IAAI,EAAE;IACJsB,OAAO,EAAEC,MAAM,CAACC,IAAI,CAACpB,MAAI,CAAC;IAC1BqB,OAAO,EAAE;MAAEC,IAAI,EAAE;IAAS,CAAC;IAC3BC,YAAY,EAAEJ,MAAM,CAACC,IAAI,CAACpB,MAAI,CAAC,CAAC,CAAC;EACnC,CAAC;EACDwB,OAAO,EAAE;IAAEC,MAAM,EAAE;EAAU,CAAC;EAC9BC,OAAO,EAAE;IAAED,MAAM,EAAE;EAAU,CAAC;EAC9BE,OAAO,EAAE;IAAEF,MAAM,EAAE;EAAU;AAC/B,CAAC"}
|
|
@@ -115,6 +115,18 @@ exports[`component:<Button> prop:tag 1`] = `
|
|
|
115
115
|
</DocumentFragment>
|
|
116
116
|
`;
|
|
117
117
|
|
|
118
|
+
exports[`component:<Button> prop:tooltip 1`] = `
|
|
119
|
+
<DocumentFragment>
|
|
120
|
+
<span>
|
|
121
|
+
<button
|
|
122
|
+
class="pressable dispatcher button"
|
|
123
|
+
>
|
|
124
|
+
children
|
|
125
|
+
</button>
|
|
126
|
+
</span>
|
|
127
|
+
</DocumentFragment>
|
|
128
|
+
`;
|
|
129
|
+
|
|
118
130
|
exports[`component:<Button> prop:wide 1`] = `
|
|
119
131
|
<DocumentFragment>
|
|
120
132
|
<button
|
|
@@ -8,17 +8,22 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
var _primitives = require("../../primitives");
|
|
10
10
|
var _TableModule = _interopRequireDefault(require("./Table.module.css"));
|
|
11
|
+
var _excluded = ["filter", "onRemove"];
|
|
11
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
14
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
15
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
12
16
|
var Filter = function Filter(_ref) {
|
|
13
17
|
var _ref$filter = _ref.filter,
|
|
14
18
|
filter = _ref$filter === void 0 ? [] : _ref$filter,
|
|
15
19
|
_ref$onRemove = _ref.onRemove,
|
|
16
|
-
onRemove = _ref$onRemove === void 0 ? function () {} : _ref$onRemove
|
|
17
|
-
|
|
20
|
+
onRemove = _ref$onRemove === void 0 ? function () {} : _ref$onRemove,
|
|
21
|
+
others = _objectWithoutProperties(_ref, _excluded);
|
|
22
|
+
return /*#__PURE__*/_react.default.createElement(_primitives.View, _extends({}, others, {
|
|
18
23
|
row: true,
|
|
19
24
|
wide: true,
|
|
20
25
|
className: _TableModule.default.filters
|
|
21
|
-
}, filter.map(function (_ref2, index) {
|
|
26
|
+
}), filter.map(function (_ref2, index) {
|
|
22
27
|
var field = _ref2.field,
|
|
23
28
|
value = _ref2.value,
|
|
24
29
|
min = _ref2.min,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.Filter.js","names":["Filter","filter","onRemove","style","filters","map","index","field","value","min","max","ICON","CLOSE","displayName","propTypes","PropTypes","arrayOf","shape","func","isRequired"],"sources":["../../../src/components/Table/Table.Filter.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Icon, ICON, Pressable, Text, View } from '../../primitives';\nimport style from './Table.module.css';\n\nconst Filter = ({ filter = [], onRemove = () => {} }) => (\n <View row wide className={style.filters}>\n {filter.map(({ field, value, min, max }, index) => (\n <View row key={index} className={style.filter}>\n <Text small>{field}</Text>\n {value && (\n <Text bold small>\n {value}\n </Text>\n )}\n {min && (\n <Text bold small>\n {`${max ? '' : '≥ '}${min}`}\n </Text>\n )}\n {max && (\n <Text bold small>\n {`${min ? ' - ' : '≤ '}${max}`}\n </Text>\n )}\n <Pressable onPress={() => onRemove(index)}>\n <Icon action value={ICON.CLOSE} />\n </Pressable>\n </View>\n ))}\n </View>\n);\n\nFilter.displayName = 'Component:Table:Filter';\n\nFilter.propTypes = {\n filter: PropTypes.arrayOf(PropTypes.shape({})),\n onRemove: PropTypes.func.isRequired,\n};\n\nexport { Filter };\n"],"mappings":";;;;;;AAAA;AACA;AAEA;AACA;AAAuC;AAEvC,IAAMA,MAAM,GAAG,SAATA,MAAM;EAAA,uBAAMC,MAAM;IAANA,MAAM,4BAAG,EAAE;IAAA,qBAAEC,QAAQ;IAARA,QAAQ,8BAAG,YAAM,CAAC,CAAC;EAAA,
|
|
1
|
+
{"version":3,"file":"Table.Filter.js","names":["Filter","filter","onRemove","others","style","filters","map","index","field","value","min","max","ICON","CLOSE","displayName","propTypes","PropTypes","arrayOf","shape","func","isRequired"],"sources":["../../../src/components/Table/Table.Filter.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Icon, ICON, Pressable, Text, View } from '../../primitives';\nimport style from './Table.module.css';\n\nconst Filter = ({ filter = [], onRemove = () => {}, ...others }) => (\n <View {...others} row wide className={style.filters}>\n {filter.map(({ field, value, min, max }, index) => (\n <View row key={index} className={style.filter}>\n <Text small>{field}</Text>\n {value && (\n <Text bold small>\n {value}\n </Text>\n )}\n {min && (\n <Text bold small>\n {`${max ? '' : '≥ '}${min}`}\n </Text>\n )}\n {max && (\n <Text bold small>\n {`${min ? ' - ' : '≤ '}${max}`}\n </Text>\n )}\n <Pressable onPress={() => onRemove(index)}>\n <Icon action value={ICON.CLOSE} />\n </Pressable>\n </View>\n ))}\n </View>\n);\n\nFilter.displayName = 'Component:Table:Filter';\n\nFilter.propTypes = {\n filter: PropTypes.arrayOf(PropTypes.shape({})),\n onRemove: PropTypes.func.isRequired,\n};\n\nexport { Filter };\n"],"mappings":";;;;;;AAAA;AACA;AAEA;AACA;AAAuC;AAAA;AAAA;AAAA;AAAA;AAEvC,IAAMA,MAAM,GAAG,SAATA,MAAM;EAAA,uBAAMC,MAAM;IAANA,MAAM,4BAAG,EAAE;IAAA,qBAAEC,QAAQ;IAARA,QAAQ,8BAAG,YAAM,CAAC,CAAC;IAAKC,MAAM;EAAA,oBAC3D,6BAAC,gBAAI,eAAKA,MAAM;IAAE,GAAG;IAAC,IAAI;IAAC,SAAS,EAAEC,oBAAK,CAACC;EAAQ,IACjDJ,MAAM,CAACK,GAAG,CAAC,iBAA6BC,KAAK;IAAA,IAA/BC,KAAK,SAALA,KAAK;MAAEC,KAAK,SAALA,KAAK;MAAEC,GAAG,SAAHA,GAAG;MAAEC,GAAG,SAAHA,GAAG;IAAA,oBACnC,6BAAC,gBAAI;MAAC,GAAG;MAAC,GAAG,EAAEJ,KAAM;MAAC,SAAS,EAAEH,oBAAK,CAACH;IAAO,gBAC5C,6BAAC,gBAAI;MAAC,KAAK;IAAA,GAAEO,KAAK,CAAQ,EACzBC,KAAK,iBACJ,6BAAC,gBAAI;MAAC,IAAI;MAAC,KAAK;IAAA,GACbA,KAAK,CAET,EACAC,GAAG,iBACF,6BAAC,gBAAI;MAAC,IAAI;MAAC,KAAK;IAAA,aACVC,GAAG,GAAG,EAAE,GAAG,IAAI,SAAGD,GAAG,EAE5B,EACAC,GAAG,iBACF,6BAAC,gBAAI;MAAC,IAAI;MAAC,KAAK;IAAA,aACVD,GAAG,GAAG,KAAK,GAAG,IAAI,SAAGC,GAAG,EAE/B,eACD,6BAAC,qBAAS;MAAC,OAAO,EAAE;QAAA,OAAMT,QAAQ,CAACK,KAAK,CAAC;MAAA;IAAC,gBACxC,6BAAC,gBAAI;MAAC,MAAM;MAAC,KAAK,EAAEK,gBAAI,CAACC;IAAM,EAAG,CACxB,CACP;EAAA,CACR,CAAC,CACG;AAAA,CACR;AAAC;AAEFb,MAAM,CAACc,WAAW,GAAG,wBAAwB;AAE7Cd,MAAM,CAACe,SAAS,GAAG;EACjBd,MAAM,EAAEe,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;EAC9ChB,QAAQ,EAAEc,kBAAS,CAACG,IAAI,CAACC;AAC3B,CAAC"}
|
|
@@ -101,10 +101,12 @@ var Table = function Table(_ref) {
|
|
|
101
101
|
className: (0, _helpers.styles)(!inline && _TableModule.default.outlined, others.className)
|
|
102
102
|
}) : undefined, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, filter.length > 0 && /*#__PURE__*/_react.default.createElement(_Table.Filter, {
|
|
103
103
|
filter: filter,
|
|
104
|
+
role: "table-filter",
|
|
104
105
|
onRemove: function onRemove(index) {
|
|
105
106
|
return handleRemoveFilter(index);
|
|
106
107
|
}
|
|
107
108
|
}), /*#__PURE__*/_react.default.createElement(_primitives.Primitive, _extends({
|
|
109
|
+
role: "table",
|
|
108
110
|
tag: "table"
|
|
109
111
|
}, !onScroll ? others : undefined, {
|
|
110
112
|
className: (0, _helpers.styles)(_TableModule.default.table, !onScroll && !inline && others.className)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.js","names":["Table","dataSource","filter","propFilter","inline","schema","search","selected","propSelected","onPress","onScroll","onSelect","others","useState","setFilter","setSelected","sort","setSort","useEffect","JSON","stringify","handleAddFilter","item","handleRemoveFilter","index","splice","handleHeadSelect","row","event","next","length","handleSelect","exists","includes","push","handleSort","field","undefined","testId","React","createElement","ScrollView","View","Fragment","role","className","styles","style","outlined","table","useMemo","select","map","find","displayName","propTypes","PropTypes","arrayOf","shape","bool","isRequired","string","func"],"sources":["../../../src/components/Table/Table.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { Fragment, useEffect, useMemo, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { Primitive, ScrollView, View } from '../../primitives';\nimport { select } from './helpers';\nimport { Filter } from './Table.Filter';\nimport style from './Table.module.css';\nimport { Row } from './Table.Row';\n\nexport const Table = ({\n dataSource = [],\n filter: propFilter = [],\n inline = true,\n schema,\n search,\n selected: propSelected = [],\n onPress,\n onScroll,\n onSelect,\n ...others\n}) => {\n const [filter, setFilter] = useState(propFilter);\n const [selected, setSelected] = useState(propSelected);\n const [sort, setSort] = useState({});\n\n useEffect(() => {\n if (JSON.stringify(filter) !== JSON.stringify(propFilter)) setFilter(propFilter);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [propFilter]);\n\n const handleAddFilter = (item) => {\n setFilter([...filter, item]);\n };\n\n const handleRemoveFilter = (index) => {\n filter.splice(index, 1);\n setFilter([...filter]);\n };\n\n const handleHeadSelect = (row, event) => {\n setSelected(() => {\n const next = selected.length !== dataSource.length ? dataSource : [];\n onSelect(next, event);\n\n return next;\n });\n };\n\n const handleSelect = (row, event) => {\n setSelected(() => {\n const exists = selected.includes(row);\n const next = selected.filter((item) => item !== row);\n if (!exists) next.push(row);\n onSelect(next, event);\n\n return next;\n });\n };\n\n const handleSort = (field) => {\n setSort(sort[field] === undefined ? { [field]: true } : sort[field] ? { [field]: false } : {});\n };\n\n const { testId } = others;\n\n return React.createElement(\n onScroll ? ScrollView : !inline ? View : Fragment,\n onScroll || !inline\n ? {\n ...others,\n role: others.role || 'table',\n onScroll,\n className: styles(!inline && style.outlined, others.className),\n }\n : undefined,\n <>\n {filter.length > 0 && <Filter filter={filter} onRemove={(index) => handleRemoveFilter(index)}
|
|
1
|
+
{"version":3,"file":"Table.js","names":["Table","dataSource","filter","propFilter","inline","schema","search","selected","propSelected","onPress","onScroll","onSelect","others","useState","setFilter","setSelected","sort","setSort","useEffect","JSON","stringify","handleAddFilter","item","handleRemoveFilter","index","splice","handleHeadSelect","row","event","next","length","handleSelect","exists","includes","push","handleSort","field","undefined","testId","React","createElement","ScrollView","View","Fragment","role","className","styles","style","outlined","table","useMemo","select","map","find","displayName","propTypes","PropTypes","arrayOf","shape","bool","isRequired","string","func"],"sources":["../../../src/components/Table/Table.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { Fragment, useEffect, useMemo, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { Primitive, ScrollView, View } from '../../primitives';\nimport { select } from './helpers';\nimport { Filter } from './Table.Filter';\nimport style from './Table.module.css';\nimport { Row } from './Table.Row';\n\nexport const Table = ({\n dataSource = [],\n filter: propFilter = [],\n inline = true,\n schema,\n search,\n selected: propSelected = [],\n onPress,\n onScroll,\n onSelect,\n ...others\n}) => {\n const [filter, setFilter] = useState(propFilter);\n const [selected, setSelected] = useState(propSelected);\n const [sort, setSort] = useState({});\n\n useEffect(() => {\n if (JSON.stringify(filter) !== JSON.stringify(propFilter)) setFilter(propFilter);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [propFilter]);\n\n const handleAddFilter = (item) => {\n setFilter([...filter, item]);\n };\n\n const handleRemoveFilter = (index) => {\n filter.splice(index, 1);\n setFilter([...filter]);\n };\n\n const handleHeadSelect = (row, event) => {\n setSelected(() => {\n const next = selected.length !== dataSource.length ? dataSource : [];\n onSelect(next, event);\n\n return next;\n });\n };\n\n const handleSelect = (row, event) => {\n setSelected(() => {\n const exists = selected.includes(row);\n const next = selected.filter((item) => item !== row);\n if (!exists) next.push(row);\n onSelect(next, event);\n\n return next;\n });\n };\n\n const handleSort = (field) => {\n setSort(sort[field] === undefined ? { [field]: true } : sort[field] ? { [field]: false } : {});\n };\n\n const { testId } = others;\n\n return React.createElement(\n onScroll ? ScrollView : !inline ? View : Fragment,\n onScroll || !inline\n ? {\n ...others,\n role: others.role || 'table',\n onScroll,\n className: styles(!inline && style.outlined, others.className),\n }\n : undefined,\n <>\n {filter.length > 0 && (\n <Filter filter={filter} role=\"table-filter\" onRemove={(index) => handleRemoveFilter(index)} />\n )}\n <Primitive\n role=\"table\"\n tag=\"table\"\n {...(!onScroll ? others : undefined)}\n className={styles(style.table, !onScroll && !inline && others.className)}\n >\n <Primitive tag=\"thead\">\n <Row\n checked={selected.length === dataSource.length}\n indeterminate={selected.length > 0}\n schema={schema}\n sort={sort}\n onFilter={handleAddFilter}\n onSelect={onSelect ? handleHeadSelect : undefined}\n onSort={handleSort}\n testId={testId ? `${testId}-head` : undefined}\n />\n </Primitive>\n <Primitive tag=\"tbody\">\n {useMemo(\n () => select({ dataSource, filter, schema, search, sort }),\n [dataSource, filter, schema, search, sort],\n ).map((row, index) => (\n <Row\n checked={!!selected.find((item) => JSON.stringify(item) === JSON.stringify(row))}\n dataSource={row}\n key={index}\n schema={schema}\n onPress={onPress}\n onSelect={onSelect ? handleSelect : undefined}\n testId={testId ? `${testId}-${index}` : undefined}\n />\n ))}\n </Primitive>\n </Primitive>\n </>,\n );\n};\n\nTable.displayName = 'Component:Table';\n\nTable.propTypes = {\n dataSource: PropTypes.arrayOf(PropTypes.shape({})),\n filter: PropTypes.arrayOf(PropTypes.shape({})),\n inline: PropTypes.bool,\n schema: PropTypes.shape({}).isRequired,\n search: PropTypes.string,\n selected: PropTypes.arrayOf(PropTypes.shape()),\n onPress: PropTypes.func,\n onScroll: PropTypes.func,\n onSelect: PropTypes.func,\n};\n"],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _helpers = require("../../helpers");
|
|
11
11
|
var _primitives = require("../../primitives");
|
|
12
|
+
var _helpers2 = require("./helpers");
|
|
12
13
|
var _TooltipModule = _interopRequireDefault(require("./Tooltip.module.css"));
|
|
13
14
|
var _excluded = ["children", "left", "pressable", "right", "Template", "text", "timestamp", "top", "visible"],
|
|
14
15
|
_excluded2 = ["testId"];
|
|
@@ -68,21 +69,16 @@ var Tooltip = function Tooltip(_ref) {
|
|
|
68
69
|
onPosition: setPosition,
|
|
69
70
|
testId: testId
|
|
70
71
|
}, _react.default.Children.map(children, function (child, index) {
|
|
72
|
+
var _objectSpread2;
|
|
71
73
|
return /*#__PURE__*/_react.default.cloneElement(child, _objectSpread(_objectSpread({
|
|
72
74
|
key: index
|
|
73
|
-
}, child.props), {}, {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
onMouseLeave: function onMouseLeave() {
|
|
81
|
-
return setVisible(false);
|
|
82
|
-
},
|
|
83
|
-
className: (0, _helpers.styles)(_TooltipModule.default.dispatcher, child.props.className),
|
|
84
|
-
testId: testId ? "".concat(testId, "-dispatcher") : undefined
|
|
85
|
-
}));
|
|
75
|
+
}, child.props), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, (0, _helpers2.isPressableInstance)(child) ? 'onPress' : 'onClick', pressable ? function () {
|
|
76
|
+
return setVisible(!visible);
|
|
77
|
+
} : undefined), _defineProperty(_objectSpread2, (0, _helpers2.isPressableInstance)(child) ? 'onEnter' : 'onMouseEnter', !pressable ? function () {
|
|
78
|
+
return setVisible(true);
|
|
79
|
+
} : undefined), _defineProperty(_objectSpread2, (0, _helpers2.isPressableInstance)(child) ? 'onLeave' : 'onMouseLeave', function () {
|
|
80
|
+
return setVisible(false);
|
|
81
|
+
}), _defineProperty(_objectSpread2, "className", (0, _helpers.styles)(_TooltipModule.default.dispatcher, child.props.className)), _defineProperty(_objectSpread2, "testId", testId ? "".concat(testId, "-dispatcher") : undefined), _objectSpread2)));
|
|
86
82
|
}), /*#__PURE__*/_react.default.createElement(_primitives.LayerContent, null, /*#__PURE__*/_react.default.createElement(_primitives.View, _extends({}, rest, {
|
|
87
83
|
className: (0, _helpers.styles)(_TooltipModule.default.tooltip, (propLeft || propRight) && _TooltipModule.default.aline, left && _TooltipModule.default.left, right && _TooltipModule.default.right, top ? _TooltipModule.default.top : _TooltipModule.default.bottom, rest.className)
|
|
88
84
|
}), Template ? /*#__PURE__*/_react.default.createElement(Template, null) : /*#__PURE__*/_react.default.createElement(_primitives.Text, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","names":["Tooltip","children","propLeft","left","pressable","propRight","right","Template","text","timestamp","propTop","top","visible","propVisible","others","useState","setVisible","position","setPosition","testId","rest","role","React","Children","map","child","index","cloneElement","key","props","
|
|
1
|
+
{"version":3,"file":"Tooltip.js","names":["Tooltip","children","propLeft","left","pressable","propRight","right","Template","text","timestamp","propTop","top","visible","propVisible","others","useState","setVisible","position","setPosition","testId","rest","role","React","Children","map","child","index","cloneElement","key","props","isPressableInstance","undefined","styles","style","dispatcher","className","tooltip","aline","bottom","propTypes","PropTypes","node","isRequired","bool","oneOfType","func","string","number"],"sources":["../../../src/components/Tooltip/Tooltip.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { Layer, LayerContent, Text, View } from '../../primitives';\nimport { isPressableInstance } from './helpers';\nimport style from './Tooltip.module.css';\n\nconst Tooltip = ({\n children,\n left: propLeft,\n pressable = false,\n right: propRight,\n Template,\n text,\n timestamp,\n top: propTop,\n visible: propVisible = false,\n ...others\n}) => {\n const [visible, setVisible] = useState(propVisible);\n const [position, setPosition] = useState({});\n\n const { testId, ...rest } = others;\n\n const { left, right, top = propTop } = position;\n\n return text || Template ? (\n <Layer\n centered\n forceRender={false}\n left={propLeft}\n right={propRight}\n role={others.role || 'tooltip'}\n timestamp={timestamp}\n top={top}\n visible={visible}\n onPosition={setPosition}\n testId={testId}\n >\n {React.Children.map(children, (child, index) =>\n React.cloneElement(child, {\n key: index,\n ...child.props,\n [isPressableInstance(child) ? 'onPress' : 'onClick']: pressable ? () => setVisible(!visible) : undefined,\n [isPressableInstance(child) ? 'onEnter' : 'onMouseEnter']: !pressable ? () => setVisible(true) : undefined,\n [isPressableInstance(child) ? 'onLeave' : 'onMouseLeave']: () => setVisible(false),\n className: styles(style.dispatcher, child.props.className),\n testId: testId ? `${testId}-dispatcher` : undefined,\n }),\n )}\n\n <LayerContent>\n <View\n {...rest}\n className={styles(\n style.tooltip,\n (propLeft || propRight) && style.aline,\n left && style.left,\n right && style.right,\n top ? style.top : style.bottom,\n rest.className,\n )}\n >\n {Template ? (\n <Template />\n ) : (\n <Text bold small className={style.text}>\n {text}\n </Text>\n )}\n </View>\n </LayerContent>\n </Layer>\n ) : (\n <>{children}</>\n );\n};\n\nTooltip.propTypes = {\n children: PropTypes.node.isRequired,\n left: PropTypes.bool,\n pressable: PropTypes.bool,\n right: PropTypes.bool,\n Template: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n text: PropTypes.string,\n timestamp: PropTypes.number,\n top: PropTypes.bool,\n visible: PropTypes.bool,\n};\n\nexport { Tooltip };\n"],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _isPressableInstance = require("./isPressableInstance");
|
|
7
|
+
Object.keys(_isPressableInstance).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _isPressableInstance[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function get() {
|
|
13
|
+
return _isPressableInstance[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/Tooltip/helpers/index.js"],"sourcesContent":["export * from './isPressableInstance';\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.isPressableInstance = void 0;
|
|
7
|
+
var _primitives = require("../../../primitives");
|
|
8
|
+
var isPressableInstance = function isPressableInstance() {
|
|
9
|
+
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
10
|
+
_ref$type = _ref.type;
|
|
11
|
+
_ref$type = _ref$type === void 0 ? {} : _ref$type;
|
|
12
|
+
var displayName = _ref$type.displayName;
|
|
13
|
+
return displayName === _primitives.Pressable.displayName;
|
|
14
|
+
};
|
|
15
|
+
exports.isPressableInstance = isPressableInstance;
|
|
16
|
+
//# sourceMappingURL=isPressableInstance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isPressableInstance.js","names":["isPressableInstance","type","displayName","Pressable"],"sources":["../../../../src/components/Tooltip/helpers/isPressableInstance.js"],"sourcesContent":["import { Pressable } from '../../../primitives';\n\nexport const isPressableInstance = ({ type: { displayName } = {} } = {}) => displayName === Pressable.displayName;\n"],"mappings":";;;;;;AAAA;AAEO,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAmB;EAAA,+EAAqC,CAAC,CAAC;IAAA,iBAAjCC,IAAI;EAAA,mCAAoB,CAAC,CAAC;EAAA,IAAlBC,WAAW,aAAXA,WAAW;EAAA,OAAmBA,WAAW,KAAKC,qBAAS,CAACD,WAAW;AAAA;AAAC"}
|
|
@@ -19,7 +19,7 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _ty
|
|
|
19
19
|
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
20
20
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
21
21
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
22
|
-
var View = function
|
|
22
|
+
var View = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
23
23
|
var children = _ref.children,
|
|
24
24
|
fit = _ref.fit,
|
|
25
25
|
_ref$forceRow = _ref.forceRow,
|
|
@@ -30,11 +30,12 @@ var View = function View(_ref) {
|
|
|
30
30
|
wide = _ref.wide,
|
|
31
31
|
others = _objectWithoutProperties(_ref, _excluded);
|
|
32
32
|
return /*#__PURE__*/_react.default.createElement(_Primitive.Primitive, _objectSpread(_objectSpread({}, others), {}, {
|
|
33
|
+
ref: ref,
|
|
33
34
|
role: others.role || 'view',
|
|
34
35
|
tag: tag,
|
|
35
36
|
className: (0, _helpers.styles)(_ViewModule.default.view, fit && _ViewModule.default.fit, row && !forceRow && _ViewModule.default.row, forceRow && _ViewModule.default.forceRow, wide && _ViewModule.default.wide, others.className)
|
|
36
37
|
}), children);
|
|
37
|
-
};
|
|
38
|
+
});
|
|
38
39
|
exports.View = View;
|
|
39
40
|
View.displayName = 'Primitive:View';
|
|
40
41
|
View.propTypes = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"View.js","names":["View","children","fit","forceRow","row","tag","wide","others","
|
|
1
|
+
{"version":3,"file":"View.js","names":["View","React","forwardRef","ref","children","fit","forceRow","row","tag","wide","others","createElement","Primitive","role","className","styles","style","view","displayName","propTypes","PropTypes","node","bool","string"],"sources":["../../../src/primitives/View/View.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { Primitive } from '../Primitive';\nimport style from './View.module.css';\n\nconst View = React.forwardRef(({ children, fit, forceRow = false, row, tag = 'div', wide, ...others }, ref) =>\n React.createElement(\n Primitive,\n {\n ...others,\n ref,\n role: others.role || 'view',\n tag,\n className: styles(\n style.view,\n fit && style.fit,\n row && !forceRow && style.row,\n forceRow && style.forceRow,\n wide && style.wide,\n others.className,\n ),\n },\n children,\n ),\n);\n\nView.displayName = 'Primitive:View';\n\nView.propTypes = {\n children: PropTypes.node,\n fit: PropTypes.bool,\n forceRow: PropTypes.bool,\n row: PropTypes.bool,\n tag: PropTypes.string,\n wide: PropTypes.bool,\n};\n\nexport { View };\n"],"mappings":";;;;;;;AAAA;AACA;AAEA;AACA;AACA;AAAsC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEtC,IAAMA,IAAI,gBAAGC,cAAK,CAACC,UAAU,CAAC,gBAAyEC,GAAG;EAAA,IAAzEC,QAAQ,QAARA,QAAQ;IAAEC,GAAG,QAAHA,GAAG;IAAA,qBAAEC,QAAQ;IAARA,QAAQ,8BAAG,KAAK;IAAEC,GAAG,QAAHA,GAAG;IAAA,gBAAEC,GAAG;IAAHA,GAAG,yBAAG,KAAK;IAAEC,IAAI,QAAJA,IAAI;IAAKC,MAAM;EAAA,oBACjGT,cAAK,CAACU,aAAa,CACjBC,oBAAS,kCAEJF,MAAM;IACTP,GAAG,EAAHA,GAAG;IACHU,IAAI,EAAEH,MAAM,CAACG,IAAI,IAAI,MAAM;IAC3BL,GAAG,EAAHA,GAAG;IACHM,SAAS,EAAE,IAAAC,eAAM,EACfC,mBAAK,CAACC,IAAI,EACVZ,GAAG,IAAIW,mBAAK,CAACX,GAAG,EAChBE,GAAG,IAAI,CAACD,QAAQ,IAAIU,mBAAK,CAACT,GAAG,EAC7BD,QAAQ,IAAIU,mBAAK,CAACV,QAAQ,EAC1BG,IAAI,IAAIO,mBAAK,CAACP,IAAI,EAClBC,MAAM,CAACI,SAAS;EACjB,IAEHV,QAAQ,CACT;AAAA,EACF;AAAC;AAEFJ,IAAI,CAACkB,WAAW,GAAG,gBAAgB;AAEnClB,IAAI,CAACmB,SAAS,GAAG;EACff,QAAQ,EAAEgB,kBAAS,CAACC,IAAI;EACxBhB,GAAG,EAAEe,kBAAS,CAACE,IAAI;EACnBhB,QAAQ,EAAEc,kBAAS,CAACE,IAAI;EACxBf,GAAG,EAAEa,kBAAS,CAACE,IAAI;EACnBd,GAAG,EAAEY,kBAAS,CAACG,MAAM;EACrBd,IAAI,EAAEW,kBAAS,CAACE;AAClB,CAAC"}
|