@mirai/ui 1.0.137 → 1.0.139-beta
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 +10 -2
- package/build/components/Button/Button.module.css +0 -21
- package/build/components/Calendar/Calendar.js +1 -1
- package/build/components/Calendar/Calendar.js.map +1 -1
- package/build/components/Progress/Progress.module.css +0 -12
- package/build/components/Table/Table.js +4 -2
- package/build/components/Table/Table.js.map +1 -1
- package/build/components/Table/Table.stories.js +12 -5
- package/build/components/Table/Table.stories.js.map +1 -1
- package/build/components/Table/helpers/select.js +17 -10
- package/build/components/Table/helpers/select.js.map +1 -1
- package/build/components/index.js +11 -0
- package/build/components/index.js.map +1 -1
- package/build/theme/default.theme.css +33 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -777,7 +777,13 @@ const dataSource = [
|
|
|
777
777
|
{ username: 'svet', email: 'svet@mirai.com', year: 2021, action: <Button>View</Button> },
|
|
778
778
|
{ username: 'javi', email: 'hi@soyjavi.com', year: 2022, twitter: 'soyjavi' },
|
|
779
779
|
{ username: 'victor', email: 'victor@mirai.com', year: 2021 },
|
|
780
|
-
{
|
|
780
|
+
{
|
|
781
|
+
username: 'mario/2',
|
|
782
|
+
email: 'mario.2@mirai.com',
|
|
783
|
+
year: 2022,
|
|
784
|
+
tags: ['en', 'jp'].map((language) => <Text>{language}</Text>),
|
|
785
|
+
languages: ['en', 'jp'],
|
|
786
|
+
},
|
|
781
787
|
];
|
|
782
788
|
|
|
783
789
|
const schema = {
|
|
@@ -785,7 +791,9 @@ const schema = {
|
|
|
785
791
|
email: { label: 'Email' },
|
|
786
792
|
year: { label: 'Year', type: 'number' },
|
|
787
793
|
twitter: { label: 'Twitter' },
|
|
788
|
-
action: { label: 'Action' },
|
|
794
|
+
action: { label: 'Action', type: 'component' },
|
|
795
|
+
tags: { label: 'Tags', type: 'component', bind: 'languages' },
|
|
796
|
+
languages: { label: 'Languages', type: 'hidden' },
|
|
789
797
|
};
|
|
790
798
|
|
|
791
799
|
const MyComponent = () => {
|
|
@@ -180,27 +180,6 @@ button.button.busy .spinner {
|
|
|
180
180
|
left: calc(var(--mirai-ui-space-S) * 0.75);
|
|
181
181
|
}
|
|
182
182
|
|
|
183
|
-
@keyframes mirai-button-busy {
|
|
184
|
-
0% {
|
|
185
|
-
background-color: var(--mirai-ui-base);
|
|
186
|
-
}
|
|
187
|
-
50%,
|
|
188
|
-
100% {
|
|
189
|
-
background-color: var(--mirai-ui-button-color-active);
|
|
190
|
-
background-color: var();
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
@keyframes mirai-button-secondary-busy {
|
|
195
|
-
0% {
|
|
196
|
-
background-color: var(--mirai-ui-button-background);
|
|
197
|
-
}
|
|
198
|
-
50%,
|
|
199
|
-
100% {
|
|
200
|
-
background-color: var(--mirai-ui-button-secondary-color-active);
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
|
|
204
183
|
@media only screen and (min-width: 600px) {
|
|
205
184
|
.button:not(:disabled).secondary:hover:not(:active) {
|
|
206
185
|
box-shadow: inset 0 0 0 var(--mirai-ui-border-width) var(--mirai-ui-button-color-hover);
|
|
@@ -128,7 +128,7 @@ var Calendar = function Calendar(_ref) {
|
|
|
128
128
|
};
|
|
129
129
|
var handleMonth = function handleMonth(month) {
|
|
130
130
|
setInstance(function () {
|
|
131
|
-
var addMonths = range && value[0] && !value[1] ? 1 : month;
|
|
131
|
+
var addMonths = range && value[0] && !value[1] ? month > 0 ? 1 : -1 : month;
|
|
132
132
|
var next = (0, _helpers2.getFirstDateOfMonth)(new Date(instance.getFullYear(), instance.getMonth() + addMonths));
|
|
133
133
|
onNavigation(next);
|
|
134
134
|
return next;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.js","names":["Calendar","autoscroll","disabledPast","format","from","locale","range","rangeMaxDays","to","value","onChange","onFocus","onNavigation","onScroll","others","useDevice","isDesktop","isMobile","useState","focus","setFocus","getFirstDateOfMonth","getToday","instance","setInstance","scrollTo","setScrollTo","scrolling","setScrolling","undefined","selected","setSelected","timestamp","setTimestamp","useEffect","date","dateFrom","parseDate","dateDiff","days","length","next","diffMonths","months","getScrollTo","UTC","handleChange","getTime","handleMonth","month","addMonths","Date","getFullYear","getMonth","handleScroll","event","now","testID","scrollEventThrottle","className","props","today","instanceTS","todayMonthTS","disabledPrevious","disabledNext","dateCalc","tooltips","styles","style","container","scrollview","Array","empty","index","displayName","propTypes","PropTypes","bool","captions","shape","disabledDates","arrayOf","string","highlights","number","rangeMinDays","oneOfType","func"],"sources":["../../../src/components/Calendar/Calendar.jsx"],"sourcesContent":["import { dateCalc, dateDiff, parseDate, UTC } from '@mirai/locale';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { useDevice } from '../../hooks';\nimport { ScrollView, View } from '../../primitives';\nimport style from './Calendar.module.css';\nimport { Month } from './Calendar.Month';\nimport { Weekdays } from './Calendar.Weekdays';\nimport { getFirstDateOfMonth, getScrollTo, getToday } from './helpers';\n\nexport const Calendar = ({\n autoscroll = false,\n disabledPast = true,\n format = 'YYYY/MM/DD',\n from,\n locale,\n range = false,\n rangeMaxDays,\n to,\n value,\n onChange = () => {},\n onFocus = () => {},\n onNavigation = () => {},\n onScroll = () => {},\n ...others\n}) => {\n const { isDesktop, isMobile } = useDevice();\n\n const [focus, setFocus] = useState();\n const [instance, setInstance] = useState(getFirstDateOfMonth(getToday()));\n const [scrollTo, setScrollTo] = useState();\n const [scrolling, setScrolling] = useState();\n const [selected, setSelected] = useState(range ? [] : undefined);\n const [timestamp, setTimestamp] = useState();\n\n useEffect(() => {\n let date = range ? (value ? value[0] : undefined) : value;\n if (from && !date) {\n const dateFrom = parseDate(from, format);\n const { days } = dateDiff(dateFrom, parseDate(date, format));\n\n setInstance(getFirstDateOfMonth(dateFrom));\n if (days < 0) date = undefined;\n }\n if (!date) return setSelected(range ? [] : undefined);\n\n date = parseDate(date, format);\n if ((range && (selected.length === 0 || value.length === 2)) || !range) {\n const next = getFirstDateOfMonth(date);\n const { months: diffMonths } = dateDiff(instance, date);\n\n if (isDesktop && (diffMonths >= months || diffMonths < 0)) setInstance(next);\n else if (isMobile) {\n autoscroll && setScrollTo(getScrollTo(diffMonths));\n setScrolling(false);\n }\n }\n\n setSelected(range ? [UTC(date), value[1] ? UTC(parseDate(value[1], format)) : undefined] : UTC(date));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [format, from, range, value]);\n\n useEffect(() => {\n onFocus(focus);\n }, [focus, onFocus]);\n\n const handleChange = (date) => {\n setSelected(() => {\n let next;\n\n if (!range) {\n next = date;\n } else if (selected[1] === undefined && date > selected[0]) {\n next = [selected[0], date];\n } else {\n next = [selected[0]?.getTime() === date.getTime() ? undefined : date];\n setFocus(undefined);\n }\n onChange(next);\n\n return next;\n });\n };\n\n const handleMonth = (month) => {\n setInstance(() => {\n const addMonths = range && value[0] && !value[1] ? 1 : month;\n const next = getFirstDateOfMonth(new Date(instance.getFullYear(), instance.getMonth() + addMonths));\n\n onNavigation(next);\n return next;\n });\n };\n\n const handleScroll = (event) => {\n if (isMobile) setScrolling(true);\n\n onScroll(event);\n setTimestamp(Date.now());\n };\n\n const { ['data-testid']: testID, scrollEventThrottle } = others;\n let { className, months = 2, ...props } = others;\n\n const today = getToday();\n const instanceTS = instance.getTime();\n const todayMonthTS = getFirstDateOfMonth(today).getTime();\n const disabledPrevious =\n (disabledPast && instanceTS <= todayMonthTS) ||\n (from && instanceTS <= getFirstDateOfMonth(parseDate(from, format)).getTime());\n\n const disabledNext =\n to && parseDate(to, format).getTime() <= getFirstDateOfMonth(dateCalc(instance, months, 'months')).getTime();\n\n props = {\n ...props,\n disabledPast,\n focus,\n format,\n from: from ? parseDate(from, format) : undefined,\n locale,\n range,\n selected,\n timestamp,\n to:\n range &&\n rangeMaxDays &&\n selected[0] &&\n !selected[1] &&\n (!to || dateCalc(selected[0], rangeMaxDays, 'days') < parseDate(to, format))\n ? dateCalc(selected[0], rangeMaxDays, 'days')\n : to\n ? parseDate(to, format)\n : undefined,\n tooltips: !isMobile || !scrolling ? props.tooltips : {},\n onChange: handleChange,\n onFocus: isDesktop ? setFocus : undefined,\n };\n\n if (isMobile && to) months = dateDiff(today, parseDate(to, format)).months;\n\n return (\n <View className={styles(style.container, className)} data-testid={testID}>\n {isMobile && <Weekdays locale={locale} />}\n <ScrollView\n horizontal={isDesktop}\n scrollTo={scrollTo}\n className={style.scrollview}\n scrollEventThrottle={scrollEventThrottle}\n onScroll={handleScroll}\n >\n {Array.from({ length: months }, (empty, index) => (\n <Month\n data-testid={testID}\n key={index}\n onNext={isDesktop && index === months - 1 && !disabledNext ? () => handleMonth(months) : undefined}\n onPrevious={isDesktop && index === 0 && !disabledPrevious ? () => handleMonth(-months) : undefined}\n instance={new Date(instance.getFullYear(), instance.getMonth() + index, 1)} // ! TODO: calc with mirai/locale\n {...props}\n />\n ))}\n </ScrollView>\n </View>\n );\n};\n\nCalendar.displayName = 'Component:Calendar';\n\nCalendar.propTypes = {\n autoscroll: PropTypes.bool,\n captions: PropTypes.shape({}),\n disabledDates: PropTypes.arrayOf(PropTypes.string),\n disabledPast: PropTypes.bool,\n format: PropTypes.string,\n from: PropTypes.string,\n highlights: PropTypes.arrayOf(PropTypes.string),\n locale: PropTypes.string,\n months: PropTypes.number,\n range: PropTypes.bool,\n rangeMaxDays: PropTypes.number,\n rangeMinDays: PropTypes.number,\n to: PropTypes.string,\n tooltips: PropTypes.shape({}),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n onNavigation: PropTypes.func,\n onScroll: PropTypes.func,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Calendar.js","names":["Calendar","autoscroll","disabledPast","format","from","locale","range","rangeMaxDays","to","value","onChange","onFocus","onNavigation","onScroll","others","useDevice","isDesktop","isMobile","useState","focus","setFocus","getFirstDateOfMonth","getToday","instance","setInstance","scrollTo","setScrollTo","scrolling","setScrolling","undefined","selected","setSelected","timestamp","setTimestamp","useEffect","date","dateFrom","parseDate","dateDiff","days","length","next","diffMonths","months","getScrollTo","UTC","handleChange","getTime","handleMonth","month","addMonths","Date","getFullYear","getMonth","handleScroll","event","now","testID","scrollEventThrottle","className","props","today","instanceTS","todayMonthTS","disabledPrevious","disabledNext","dateCalc","tooltips","styles","style","container","scrollview","Array","empty","index","displayName","propTypes","PropTypes","bool","captions","shape","disabledDates","arrayOf","string","highlights","number","rangeMinDays","oneOfType","func"],"sources":["../../../src/components/Calendar/Calendar.jsx"],"sourcesContent":["import { dateCalc, dateDiff, parseDate, UTC } from '@mirai/locale';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { useDevice } from '../../hooks';\nimport { ScrollView, View } from '../../primitives';\nimport style from './Calendar.module.css';\nimport { Month } from './Calendar.Month';\nimport { Weekdays } from './Calendar.Weekdays';\nimport { getFirstDateOfMonth, getScrollTo, getToday } from './helpers';\n\nexport const Calendar = ({\n autoscroll = false,\n disabledPast = true,\n format = 'YYYY/MM/DD',\n from,\n locale,\n range = false,\n rangeMaxDays,\n to,\n value,\n onChange = () => {},\n onFocus = () => {},\n onNavigation = () => {},\n onScroll = () => {},\n ...others\n}) => {\n const { isDesktop, isMobile } = useDevice();\n\n const [focus, setFocus] = useState();\n const [instance, setInstance] = useState(getFirstDateOfMonth(getToday()));\n const [scrollTo, setScrollTo] = useState();\n const [scrolling, setScrolling] = useState();\n const [selected, setSelected] = useState(range ? [] : undefined);\n const [timestamp, setTimestamp] = useState();\n\n useEffect(() => {\n let date = range ? (value ? value[0] : undefined) : value;\n if (from && !date) {\n const dateFrom = parseDate(from, format);\n const { days } = dateDiff(dateFrom, parseDate(date, format));\n\n setInstance(getFirstDateOfMonth(dateFrom));\n if (days < 0) date = undefined;\n }\n if (!date) return setSelected(range ? [] : undefined);\n\n date = parseDate(date, format);\n if ((range && (selected.length === 0 || value.length === 2)) || !range) {\n const next = getFirstDateOfMonth(date);\n const { months: diffMonths } = dateDiff(instance, date);\n\n if (isDesktop && (diffMonths >= months || diffMonths < 0)) setInstance(next);\n else if (isMobile) {\n autoscroll && setScrollTo(getScrollTo(diffMonths));\n setScrolling(false);\n }\n }\n\n setSelected(range ? [UTC(date), value[1] ? UTC(parseDate(value[1], format)) : undefined] : UTC(date));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [format, from, range, value]);\n\n useEffect(() => {\n onFocus(focus);\n }, [focus, onFocus]);\n\n const handleChange = (date) => {\n setSelected(() => {\n let next;\n\n if (!range) {\n next = date;\n } else if (selected[1] === undefined && date > selected[0]) {\n next = [selected[0], date];\n } else {\n next = [selected[0]?.getTime() === date.getTime() ? undefined : date];\n setFocus(undefined);\n }\n onChange(next);\n\n return next;\n });\n };\n\n const handleMonth = (month) => {\n setInstance(() => {\n const addMonths = range && value[0] && !value[1] ? (month > 0 ? 1 : -1) : month;\n const next = getFirstDateOfMonth(new Date(instance.getFullYear(), instance.getMonth() + addMonths));\n\n onNavigation(next);\n return next;\n });\n };\n\n const handleScroll = (event) => {\n if (isMobile) setScrolling(true);\n\n onScroll(event);\n setTimestamp(Date.now());\n };\n\n const { ['data-testid']: testID, scrollEventThrottle } = others;\n let { className, months = 2, ...props } = others;\n\n const today = getToday();\n const instanceTS = instance.getTime();\n const todayMonthTS = getFirstDateOfMonth(today).getTime();\n const disabledPrevious =\n (disabledPast && instanceTS <= todayMonthTS) ||\n (from && instanceTS <= getFirstDateOfMonth(parseDate(from, format)).getTime());\n\n const disabledNext =\n to && parseDate(to, format).getTime() <= getFirstDateOfMonth(dateCalc(instance, months, 'months')).getTime();\n\n props = {\n ...props,\n disabledPast,\n focus,\n format,\n from: from ? parseDate(from, format) : undefined,\n locale,\n range,\n selected,\n timestamp,\n to:\n range &&\n rangeMaxDays &&\n selected[0] &&\n !selected[1] &&\n (!to || dateCalc(selected[0], rangeMaxDays, 'days') < parseDate(to, format))\n ? dateCalc(selected[0], rangeMaxDays, 'days')\n : to\n ? parseDate(to, format)\n : undefined,\n tooltips: !isMobile || !scrolling ? props.tooltips : {},\n onChange: handleChange,\n onFocus: isDesktop ? setFocus : undefined,\n };\n\n if (isMobile && to) months = dateDiff(today, parseDate(to, format)).months;\n\n return (\n <View className={styles(style.container, className)} data-testid={testID}>\n {isMobile && <Weekdays locale={locale} />}\n <ScrollView\n horizontal={isDesktop}\n scrollTo={scrollTo}\n className={style.scrollview}\n scrollEventThrottle={scrollEventThrottle}\n onScroll={handleScroll}\n >\n {Array.from({ length: months }, (empty, index) => (\n <Month\n data-testid={testID}\n key={index}\n onNext={isDesktop && index === months - 1 && !disabledNext ? () => handleMonth(months) : undefined}\n onPrevious={isDesktop && index === 0 && !disabledPrevious ? () => handleMonth(-months) : undefined}\n instance={new Date(instance.getFullYear(), instance.getMonth() + index, 1)} // ! TODO: calc with mirai/locale\n {...props}\n />\n ))}\n </ScrollView>\n </View>\n );\n};\n\nCalendar.displayName = 'Component:Calendar';\n\nCalendar.propTypes = {\n autoscroll: PropTypes.bool,\n captions: PropTypes.shape({}),\n disabledDates: PropTypes.arrayOf(PropTypes.string),\n disabledPast: PropTypes.bool,\n format: PropTypes.string,\n from: PropTypes.string,\n highlights: PropTypes.arrayOf(PropTypes.string),\n locale: PropTypes.string,\n months: PropTypes.number,\n range: PropTypes.bool,\n rangeMaxDays: PropTypes.number,\n rangeMinDays: PropTypes.number,\n to: PropTypes.string,\n tooltips: PropTypes.shape({}),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n onNavigation: PropTypes.func,\n onScroll: PropTypes.func,\n};\n"],"mappings":"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"}
|
|
@@ -23,15 +23,3 @@
|
|
|
23
23
|
transform-origin: 0% 50%;
|
|
24
24
|
width: 100%;
|
|
25
25
|
}
|
|
26
|
-
|
|
27
|
-
@keyframes mirai-progress-indeterminate {
|
|
28
|
-
0% {
|
|
29
|
-
transform: translateX(0) scaleX(0);
|
|
30
|
-
}
|
|
31
|
-
50% {
|
|
32
|
-
transform: translateX(0) scaleX(1);
|
|
33
|
-
}
|
|
34
|
-
100% {
|
|
35
|
-
transform: translateX(100%) scaleX(0.5);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
@@ -115,12 +115,14 @@ var Table = function Table(_ref) {
|
|
|
115
115
|
onSort: handleSort,
|
|
116
116
|
"data-testid": testId ? "".concat(testId, "-head") : undefined
|
|
117
117
|
})), /*#__PURE__*/_react.default.createElement("tbody", null, (0, _react.useMemo)(function () {
|
|
118
|
-
return (0, _helpers2.select)(
|
|
118
|
+
return (0, _helpers2.select)({
|
|
119
|
+
dataSource: dataSource,
|
|
119
120
|
filter: filter,
|
|
121
|
+
schema: schema,
|
|
120
122
|
search: search,
|
|
121
123
|
sort: sort
|
|
122
124
|
});
|
|
123
|
-
}, [dataSource, filter, search, sort]).map(function (row, index) {
|
|
125
|
+
}, [dataSource, filter, schema, search, sort]).map(function (row, index) {
|
|
124
126
|
return /*#__PURE__*/_react.default.createElement(_Table2.Row, {
|
|
125
127
|
checked: !!selected.find(function (item) {
|
|
126
128
|
return JSON.stringify(item) === JSON.stringify(row);
|
|
@@ -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","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 { 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 { ['data-testid']: testId } = others;\n\n return React.createElement(\n onScroll ? ScrollView : !inline ? View : Fragment,\n onScroll || !inline\n ? { ...others, onScroll, className: styles(!inline && style.outlined, others.className) }\n : undefined,\n <>\n {filter.length > 0 && <Filter filter={filter} onRemove={(index) => handleRemoveFilter(index)} />}\n <table\n {...(!onScroll ? others : undefined)}\n className={styles(style.table, !onScroll && !inline && others.className)}\n >\n <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 data-testid={testId ? `${testId}-head` : undefined}\n />\n </thead>\n <tbody>\n {useMemo(() => select(dataSource,
|
|
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","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 { 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 { ['data-testid']: testId } = others;\n\n return React.createElement(\n onScroll ? ScrollView : !inline ? View : Fragment,\n onScroll || !inline\n ? { ...others, onScroll, className: styles(!inline && style.outlined, others.className) }\n : undefined,\n <>\n {filter.length > 0 && <Filter filter={filter} onRemove={(index) => handleRemoveFilter(index)} />}\n <table\n {...(!onScroll ? others : undefined)}\n className={styles(style.table, !onScroll && !inline && others.className)}\n >\n <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 data-testid={testId ? `${testId}-head` : undefined}\n />\n </thead>\n <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 data-testid={testId ? `${testId}-${index}` : undefined}\n />\n ))}\n </tbody>\n </table>\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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"}
|
|
@@ -104,7 +104,7 @@ var dataSource = [{
|
|
|
104
104
|
}, {
|
|
105
105
|
username: 'svet',
|
|
106
106
|
email: 'svet@mirai.com',
|
|
107
|
-
tags: ['en'].map(function (language) {
|
|
107
|
+
tags: ['en', 'es'].map(function (language) {
|
|
108
108
|
return /*#__PURE__*/_react.default.createElement(_.Text, {
|
|
109
109
|
key: language,
|
|
110
110
|
bold: true,
|
|
@@ -112,12 +112,13 @@ var dataSource = [{
|
|
|
112
112
|
className: _TableStoriesModule.default.tag
|
|
113
113
|
}, language);
|
|
114
114
|
}),
|
|
115
|
-
languages: ['english'],
|
|
115
|
+
languages: ['english', 'spanish'],
|
|
116
116
|
year: 2021,
|
|
117
117
|
twitter: undefined,
|
|
118
118
|
action: /*#__PURE__*/_react.default.createElement(_.Button, {
|
|
119
119
|
small: true
|
|
120
|
-
}, "Click Me")
|
|
120
|
+
}, "Click Me"),
|
|
121
|
+
actionTitle: 'Click Me'
|
|
121
122
|
}, {
|
|
122
123
|
username: 'javi',
|
|
123
124
|
email: 'hi@soyjavi.com',
|
|
@@ -161,7 +162,8 @@ Story.args = (_Story$args = {
|
|
|
161
162
|
},
|
|
162
163
|
tags: {
|
|
163
164
|
label: 'Tags',
|
|
164
|
-
type: 'component'
|
|
165
|
+
type: 'component',
|
|
166
|
+
bind: 'languages'
|
|
165
167
|
},
|
|
166
168
|
languages: {
|
|
167
169
|
label: 'Languages (hidden)',
|
|
@@ -179,7 +181,12 @@ Story.args = (_Story$args = {
|
|
|
179
181
|
},
|
|
180
182
|
action: {
|
|
181
183
|
label: 'Action',
|
|
182
|
-
type: 'component'
|
|
184
|
+
type: 'component',
|
|
185
|
+
bind: 'actionTitle'
|
|
186
|
+
},
|
|
187
|
+
actionTitle: {
|
|
188
|
+
label: 'Action (hidden)',
|
|
189
|
+
type: 'hidden'
|
|
183
190
|
}
|
|
184
191
|
},
|
|
185
192
|
search: ''
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.stories.js","names":["title","Story","props","useState","selected","setSelected","search","setSearch","useEffect","handleScroll","others","console","log","handlePress","handleSelect","style","table","dataSource","username","email","year","tags","map","language","tag","languages","action","twitter","undefined","bio","storyName","args","filter","field","value","min","max","inline","schema","label","type","height","width","background","argTypes"],"sources":["../../../src/components/Table/Table.stories.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport { Button, InputText, Text } from '../../';\nimport { Table } from './Table';\nimport style from './Table.stories.module.css';\n\nexport default { title: 'Components' };\n\nexport const Story = (props) => {\n const [selected, setSelected] = useState();\n const [search, setSearch] = useState();\n\n useEffect(() => {\n setSearch(props.search);\n }, [props.search]);\n\n const handleScroll = (...others) => console.log('<Table>::onScroll', ...others);\n\n const handlePress = (...others) => console.log('<Table>::onPress', ...others);\n\n const handleSelect = (...others) => {\n console.log('<Table>::onSelect', ...others);\n setSelected(...others);\n };\n\n return (\n <>\n <InputText name=\"search\" placeholder=\"search...\" type=\"search\" value={search} onChange={setSearch} />\n\n <Table\n {...props}\n search={search}\n selected={selected}\n onPress={handlePress}\n onScroll={handleScroll}\n onSelect={handleSelect}\n className={style.table}\n />\n </>\n );\n};\n\nconst dataSource = [\n {\n username: 'jose',\n email: 'jose@mirai.com',\n year: 1,\n tags: ['es', 'en', 'ja'].map((language) => (\n <Text key={language} bold small className={style.tag}>\n {language}\n </Text>\n )),\n languages: ['spanish', 'english', 'japanese'],\n action: null,\n },\n { username: 'mario/1', email: 'mario.1@mirai.com', tags: null, year: 2005 },\n { username: 'carlos', email: 'carlos@mirai.com', tags: null, year: 2012 },\n {\n username: 'svet',\n email: 'svet@mirai.com',\n tags: ['en'].map((language) => (\n <Text key={language} bold small className={style.tag}>\n {language}\n </Text>\n )),\n languages: ['english'],\n year: 2021,\n twitter: undefined,\n action: <Button small>Click Me</Button>,\n },\n {\n username: 'javi',\n email: 'hi@soyjavi.com',\n tags: null,\n year: 2022,\n twitter: 'soyjavi',\n bio: \"Hi, I'm Javi. For as long as I can remember, I have always loved build software and helping people through it. I strive to design simple, clean, and beautiful products in the hope that they will make a difference in the world.\",\n },\n { username: 'victor', email: 'victor@mirai.com', tags: null, year: 2021 },\n { username: 'mario/2', email: 'mario.2@mirai.com', tags: null, year: 2022 },\n];\n\nStory.storyName = 'Table';\n\nStory.args = {\n dataSource,\n filter: [\n { field: 'email', value: '@mirai.com' },\n { field: 'email', value: '@soyjavi.com' },\n { field: 'year', min: 2020, max: 2023 },\n ],\n inline: true,\n schema: {\n username: { label: 'User Name', type: 'text' },\n email: { label: 'Email' },\n tags: { label: 'Tags', type: 'component' },\n languages: { label: 'Languages (hidden)', type: 'hidden' },\n year: { label: 'Year', type: 'number' },\n twitter: { label: 'Twitter' },\n bio: { label: 'Biography' },\n action: { label: 'Action', type: 'component' },\n },\n search: '',\n // inherited properties\n ['data-testid']: 'test-story',\n style: { height: '128px !important;', width: 128, background: 'green' },\n};\n\nStory.argTypes = {};\n"],"mappings":";;;;;;;AAAA;AAEA;AACA;AACA;AAA+C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAEhC;EAAEA,KAAK,EAAE;AAAa,CAAC;AAAA;AAE/B,IAAMC,KAAK,GAAG,SAARA,KAAK,CAAIC,KAAK,EAAK;EAC9B,gBAAgC,IAAAC,eAAQ,GAAE;IAAA;IAAnCC,QAAQ;IAAEC,WAAW;EAC5B,iBAA4B,IAAAF,eAAQ,GAAE;IAAA;IAA/BG,MAAM;IAAEC,SAAS;EAExB,IAAAC,gBAAS,EAAC,YAAM;IACdD,SAAS,CAACL,KAAK,CAACI,MAAM,CAAC;EACzB,CAAC,EAAE,CAACJ,KAAK,CAACI,MAAM,CAAC,CAAC;EAElB,IAAMG,YAAY,GAAG,SAAfA,YAAY;IAAA;IAAA,kCAAOC,MAAM;MAANA,MAAM;IAAA;IAAA,OAAK,YAAAC,OAAO,EAACC,GAAG,kBAAC,mBAAmB,SAAKF,MAAM,EAAC;EAAA;EAE/E,IAAMG,WAAW,GAAG,SAAdA,WAAW;IAAA;IAAA,mCAAOH,MAAM;MAANA,MAAM;IAAA;IAAA,OAAK,aAAAC,OAAO,EAACC,GAAG,mBAAC,kBAAkB,SAAKF,MAAM,EAAC;EAAA;EAE7E,IAAMI,YAAY,GAAG,SAAfA,YAAY,GAAkB;IAAA;IAAA,mCAAXJ,MAAM;MAANA,MAAM;IAAA;IAC7B,aAAAC,OAAO,EAACC,GAAG,mBAAC,mBAAmB,SAAKF,MAAM,EAAC;IAC3CL,WAAW,eAAIK,MAAM,CAAC;EACxB,CAAC;EAED,oBACE,yEACE,6BAAC,WAAS;IAAC,IAAI,EAAC,QAAQ;IAAC,WAAW,EAAC,WAAW;IAAC,IAAI,EAAC,QAAQ;IAAC,KAAK,EAAEJ,MAAO;IAAC,QAAQ,EAAEC;EAAU,EAAG,eAErG,6BAAC,YAAK,eACAL,KAAK;IACT,MAAM,EAAEI,MAAO;IACf,QAAQ,EAAEF,QAAS;IACnB,OAAO,EAAES,WAAY;IACrB,QAAQ,EAAEJ,YAAa;IACvB,QAAQ,EAAEK,YAAa;IACvB,SAAS,EAAEC,2BAAK,CAACC;EAAM,GACvB,CACD;AAEP,CAAC;AAAC;AAEF,IAAMC,UAAU,GAAG,CACjB;EACEC,QAAQ,EAAE,MAAM;EAChBC,KAAK,EAAE,gBAAgB;EACvBC,IAAI,EAAE,CAAC;EACPC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAACC,GAAG,CAAC,UAACC,QAAQ;IAAA,oBACpC,6BAAC,MAAI;MAAC,GAAG,EAAEA,QAAS;MAAC,IAAI;MAAC,KAAK;MAAC,SAAS,EAAER,2BAAK,CAACS;IAAI,GAClDD,QAAQ,CACJ;EAAA,CACR,CAAC;EACFE,SAAS,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC;EAC7CC,MAAM,EAAE;AACV,CAAC,EACD;EAAER,QAAQ,EAAE,SAAS;EAAEC,KAAK,EAAE,mBAAmB;EAAEE,IAAI,EAAE,IAAI;EAAED,IAAI,EAAE;AAAK,CAAC,EAC3E;EAAEF,QAAQ,EAAE,QAAQ;EAAEC,KAAK,EAAE,kBAAkB;EAAEE,IAAI,EAAE,IAAI;EAAED,IAAI,EAAE;AAAK,CAAC,EACzE;EACEF,QAAQ,EAAE,MAAM;EAChBC,KAAK,EAAE,gBAAgB;EACvBE,IAAI,EAAE,CAAC,IAAI,CAAC,CAACC,GAAG,CAAC,UAACC,QAAQ;IAAA,
|
|
1
|
+
{"version":3,"file":"Table.stories.js","names":["title","Story","props","useState","selected","setSelected","search","setSearch","useEffect","handleScroll","others","console","log","handlePress","handleSelect","style","table","dataSource","username","email","year","tags","map","language","tag","languages","action","twitter","undefined","actionTitle","bio","storyName","args","filter","field","value","min","max","inline","schema","label","type","bind","height","width","background","argTypes"],"sources":["../../../src/components/Table/Table.stories.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport { Button, InputText, Text } from '../../';\nimport { Table } from './Table';\nimport style from './Table.stories.module.css';\n\nexport default { title: 'Components' };\n\nexport const Story = (props) => {\n const [selected, setSelected] = useState();\n const [search, setSearch] = useState();\n\n useEffect(() => {\n setSearch(props.search);\n }, [props.search]);\n\n const handleScroll = (...others) => console.log('<Table>::onScroll', ...others);\n\n const handlePress = (...others) => console.log('<Table>::onPress', ...others);\n\n const handleSelect = (...others) => {\n console.log('<Table>::onSelect', ...others);\n setSelected(...others);\n };\n\n return (\n <>\n <InputText name=\"search\" placeholder=\"search...\" type=\"search\" value={search} onChange={setSearch} />\n\n <Table\n {...props}\n search={search}\n selected={selected}\n onPress={handlePress}\n onScroll={handleScroll}\n onSelect={handleSelect}\n className={style.table}\n />\n </>\n );\n};\n\nconst dataSource = [\n {\n username: 'jose',\n email: 'jose@mirai.com',\n year: 1,\n tags: ['es', 'en', 'ja'].map((language) => (\n <Text key={language} bold small className={style.tag}>\n {language}\n </Text>\n )),\n languages: ['spanish', 'english', 'japanese'],\n action: null,\n },\n { username: 'mario/1', email: 'mario.1@mirai.com', tags: null, year: 2005 },\n { username: 'carlos', email: 'carlos@mirai.com', tags: null, year: 2012 },\n {\n username: 'svet',\n email: 'svet@mirai.com',\n tags: ['en', 'es'].map((language) => (\n <Text key={language} bold small className={style.tag}>\n {language}\n </Text>\n )),\n languages: ['english', 'spanish'],\n year: 2021,\n twitter: undefined,\n action: <Button small>Click Me</Button>,\n actionTitle: 'Click Me',\n },\n {\n username: 'javi',\n email: 'hi@soyjavi.com',\n tags: null,\n year: 2022,\n twitter: 'soyjavi',\n bio: \"Hi, I'm Javi. For as long as I can remember, I have always loved build software and helping people through it. I strive to design simple, clean, and beautiful products in the hope that they will make a difference in the world.\",\n },\n { username: 'victor', email: 'victor@mirai.com', tags: null, year: 2021 },\n { username: 'mario/2', email: 'mario.2@mirai.com', tags: null, year: 2022 },\n];\n\nStory.storyName = 'Table';\n\nStory.args = {\n dataSource,\n filter: [\n { field: 'email', value: '@mirai.com' },\n { field: 'email', value: '@soyjavi.com' },\n { field: 'year', min: 2020, max: 2023 },\n ],\n inline: true,\n schema: {\n username: { label: 'User Name', type: 'text' },\n email: { label: 'Email' },\n tags: { label: 'Tags', type: 'component', bind: 'languages' },\n languages: { label: 'Languages (hidden)', type: 'hidden' },\n year: { label: 'Year', type: 'number' },\n twitter: { label: 'Twitter' },\n bio: { label: 'Biography' },\n action: { label: 'Action', type: 'component', bind: 'actionTitle' },\n actionTitle: { label: 'Action (hidden)', type: 'hidden' },\n },\n search: '',\n // inherited properties\n ['data-testid']: 'test-story',\n style: { height: '128px !important;', width: 128, background: 'green' },\n};\n\nStory.argTypes = {};\n"],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
7
|
exports.select = void 0;
|
|
7
|
-
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
8
8
|
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; }
|
|
9
9
|
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; }
|
|
10
10
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
@@ -17,9 +17,12 @@ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symb
|
|
|
17
17
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
18
18
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
19
19
|
var select = function select() {
|
|
20
|
-
var
|
|
21
|
-
|
|
20
|
+
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
21
|
+
_ref$dataSource = _ref.dataSource,
|
|
22
|
+
dataSource = _ref$dataSource === void 0 ? [] : _ref$dataSource,
|
|
22
23
|
filter = _ref.filter,
|
|
24
|
+
_ref$schema = _ref.schema,
|
|
25
|
+
schema = _ref$schema === void 0 ? {} : _ref$schema,
|
|
23
26
|
search = _ref.search,
|
|
24
27
|
_ref$sort = _ref.sort,
|
|
25
28
|
sort = _ref$sort === void 0 ? {} : _ref$sort;
|
|
@@ -43,25 +46,29 @@ var select = function select() {
|
|
|
43
46
|
flatten = flatten.filter(function () {
|
|
44
47
|
var row = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
45
48
|
return filterGrouped.every(function (_ref3) {
|
|
46
|
-
var
|
|
49
|
+
var _fieldValue;
|
|
47
50
|
var field = _ref3.field,
|
|
48
51
|
_ref3$max = _ref3.max,
|
|
49
52
|
max = _ref3$max === void 0 ? Infinity : _ref3$max,
|
|
50
53
|
_ref3$min = _ref3.min,
|
|
51
54
|
min = _ref3$min === void 0 ? -Infinity : _ref3$min,
|
|
52
55
|
value = _ref3.value;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
+
var fieldValue = row[schema[field].bind || field];
|
|
57
|
+
if (Array.isArray(fieldValue)) fieldValue = fieldValue.join(' ');
|
|
58
|
+
return value ? !Array.isArray(value) ? (_fieldValue = fieldValue) === null || _fieldValue === void 0 ? void 0 : _fieldValue.toLowerCase().includes(value.toLowerCase()) : value.some(function (item) {
|
|
59
|
+
var _fieldValue2;
|
|
60
|
+
return (_fieldValue2 = fieldValue) === null || _fieldValue2 === void 0 ? void 0 : _fieldValue2.toLowerCase().includes(item.toLowerCase());
|
|
56
61
|
}) : min || max ? row[field] >= min && row[field] <= max : false;
|
|
57
62
|
});
|
|
58
63
|
});
|
|
59
64
|
}
|
|
60
65
|
if (search) {
|
|
61
66
|
flatten.forEach(function (row, index) {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
return
|
|
67
|
+
var rowValues = Object.keys(row).filter(function (key) {
|
|
68
|
+
var _schema$key;
|
|
69
|
+
return ((_schema$key = schema[key]) === null || _schema$key === void 0 ? void 0 : _schema$key.type) !== 'component';
|
|
70
|
+
}).map(function (key) {
|
|
71
|
+
return row[key];
|
|
65
72
|
});
|
|
66
73
|
if (JSON.stringify(rowValues).toLowerCase().includes(search.toLowerCase())) values.push(flatten[index]);
|
|
67
74
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","names":["select","dataSource","filter","search","sort","flatten","values","length","filterGrouped","reduce","group","item","itemFound","find","field","value","Array","isArray","push","row","every","max","Infinity","min","toLowerCase","includes","some","forEach","index","rowValues","Object","
|
|
1
|
+
{"version":3,"file":"select.js","names":["select","dataSource","filter","schema","search","sort","flatten","values","length","filterGrouped","reduce","group","item","itemFound","find","field","value","Array","isArray","push","row","every","max","Infinity","min","fieldValue","bind","join","toLowerCase","includes","some","forEach","index","rowValues","Object","keys","key","type","map","JSON","stringify","order","a","b"],"sources":["../../../../src/components/Table/helpers/select.js"],"sourcesContent":["export const select = ({ dataSource = [], filter, schema = {}, search, sort = {} } = {}) => {\n let flatten = [...dataSource];\n let values = [];\n\n if (filter?.length > 0) {\n const filterGrouped = [...filter].reduce((group, item = {}) => {\n const itemFound = group.find(({ field }) => item.field === field);\n\n if (itemFound && item.value) {\n if (!Array.isArray(itemFound.value)) itemFound.value = [itemFound.value];\n itemFound.value.push(item.value);\n } else {\n group.push({ ...item });\n }\n\n return group;\n }, []);\n\n flatten = flatten.filter((row = {}) =>\n filterGrouped.every(({ field, max = Infinity, min = -Infinity, value }) => {\n let fieldValue = row[schema[field].bind || field];\n if (Array.isArray(fieldValue)) fieldValue = fieldValue.join(' ');\n\n return value\n ? !Array.isArray(value)\n ? fieldValue?.toLowerCase().includes(value.toLowerCase())\n : value.some((item) => fieldValue?.toLowerCase().includes(item.toLowerCase()))\n : min || max\n ? row[field] >= min && row[field] <= max\n : false;\n }),\n );\n }\n\n if (search) {\n flatten.forEach((row, index) => {\n const rowValues = Object.keys(row)\n .filter((key) => schema[key]?.type !== 'component')\n .map((key) => row[key]);\n\n if (JSON.stringify(rowValues).toLowerCase().includes(search.toLowerCase())) values.push(flatten[index]);\n });\n } else {\n values = [...flatten];\n }\n\n Object.keys(sort).forEach((key) => {\n const order = sort[key] ? 1 : -1;\n values.sort((a, b) => (a[key] >= b[key] ? 1 * order : -1 * order));\n });\n\n return values;\n};\n"],"mappings":"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"}
|
|
@@ -146,6 +146,17 @@ Object.keys(_Notification).forEach(function (key) {
|
|
|
146
146
|
}
|
|
147
147
|
});
|
|
148
148
|
});
|
|
149
|
+
var _Progress = require("./Progress");
|
|
150
|
+
Object.keys(_Progress).forEach(function (key) {
|
|
151
|
+
if (key === "default" || key === "__esModule") return;
|
|
152
|
+
if (key in exports && exports[key] === _Progress[key]) return;
|
|
153
|
+
Object.defineProperty(exports, key, {
|
|
154
|
+
enumerable: true,
|
|
155
|
+
get: function get() {
|
|
156
|
+
return _Progress[key];
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
});
|
|
149
160
|
var _Table = require("./Table");
|
|
150
161
|
Object.keys(_Table).forEach(function (key) {
|
|
151
162
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/components/index.js"],"sourcesContent":["export * from './Action';\nexport * from './Button';\nexport * from './Calendar';\nexport * from './Form';\nexport * from './InputDate';\nexport * from './InputNumber';\nexport * from './InputOption';\nexport * from './InputPhone';\nexport * from './InputSelect';\nexport * from './InputText';\nexport * from './Menu';\nexport * from './Modal';\nexport * from './Notification';\nexport * from './Table';\nexport * from './Tooltip';\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/components/index.js"],"sourcesContent":["export * from './Action';\nexport * from './Button';\nexport * from './Calendar';\nexport * from './Form';\nexport * from './InputDate';\nexport * from './InputNumber';\nexport * from './InputOption';\nexport * from './InputPhone';\nexport * from './InputSelect';\nexport * from './InputText';\nexport * from './Menu';\nexport * from './Modal';\nexport * from './Notification';\nexport * from './Progress';\nexport * from './Table';\nexport * from './Tooltip';\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
|
|
@@ -267,3 +267,36 @@
|
|
|
267
267
|
--mirai-ui-tooltip-space: var(--mirai-ui-space-XS);
|
|
268
268
|
--mirai-ui-tooltip-max-width: calc(var(--mirai-ui-space-XXL) * 4);
|
|
269
269
|
}
|
|
270
|
+
|
|
271
|
+
@keyframes mirai-button-busy {
|
|
272
|
+
0% {
|
|
273
|
+
background-color: var(--mirai-ui-base);
|
|
274
|
+
}
|
|
275
|
+
50%,
|
|
276
|
+
100% {
|
|
277
|
+
background-color: var(--mirai-ui-button-color-active);
|
|
278
|
+
background-color: var();
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
@keyframes mirai-button-secondary-busy {
|
|
283
|
+
0% {
|
|
284
|
+
background-color: var(--mirai-ui-button-background);
|
|
285
|
+
}
|
|
286
|
+
50%,
|
|
287
|
+
100% {
|
|
288
|
+
background-color: var(--mirai-ui-button-secondary-color-active);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
@keyframes mirai-progress-indeterminate {
|
|
293
|
+
0% {
|
|
294
|
+
transform: translateX(0) scaleX(0);
|
|
295
|
+
}
|
|
296
|
+
50% {
|
|
297
|
+
transform: translateX(0) scaleX(1);
|
|
298
|
+
}
|
|
299
|
+
100% {
|
|
300
|
+
transform: translateX(100%) scaleX(0.5);
|
|
301
|
+
}
|
|
302
|
+
}
|