@mirai/ui 1.0.207 → 1.0.209

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -98,9 +98,9 @@ var Calendar = function Calendar(_ref) {
98
98
  setVertical(propVertical || isMobile);
99
99
  }, [isMobile, propVertical]);
100
100
  (0, _react.useEffect)(function () {
101
- if (!vertical || !(el !== null && el !== void 0 && el.current)) return;
101
+ if (!vertical || !(el !== null && el !== void 0 && el.current) || !value[0]) return;
102
102
  setBehavior('auto');
103
- setScrollTo(el.current.offsetTop);
103
+ setScrollTo((0, _helpers2.getScrollTo)((0, _locale.dateDiff)(instance, (0, _locale.parseDate)(value[0], format)).months));
104
104
  // eslint-disable-next-line react-hooks/exhaustive-deps
105
105
  }, [el === null || el === void 0 ? void 0 : el.current, vertical]);
106
106
  (0, _react.useEffect)(function () {
@@ -117,7 +117,7 @@ var Calendar = function Calendar(_ref) {
117
117
  var next = (0, _helpers2.getFirstDateOfMonth)(date);
118
118
  var _dateDiff2 = (0, _locale.dateDiff)(instance, date),
119
119
  diffMonths = _dateDiff2.months;
120
- if (!vertical && (diffMonths >= months || diffMonths < 0)) setInstance(next);else if (vertical) {
120
+ if (!vertical && !isMobile && (diffMonths >= months || diffMonths < 0)) setInstance(next);else if (vertical || isMobile) {
121
121
  autoScroll && setScrollTo((0, _helpers2.getScrollTo)(diffMonths));
122
122
  setScrolling(false);
123
123
  }
@@ -214,7 +214,6 @@ var Calendar = function Calendar(_ref) {
214
214
  el: el,
215
215
  index: index,
216
216
  instance: instance,
217
- selected: selected,
218
217
  value: value
219
218
  }) : undefined,
220
219
  vertical: vertical,
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.js","names":["Calendar","autoScroll","disabledPast","format","from","locale","range","rangeMaxDays","to","value","vertical","propVertical","onChange","onFocus","onNavigation","onScroll","others","useDevice","isMobile","useState","behavior","setBehavior","focus","setFocus","getFirstDateOfMonth","getToday","instance","setInstance","scrollTo","setScrollTo","scrolling","setScrolling","undefined","selected","setSelected","timestamp","setTimestamp","setVertical","el","useRef","useEffect","current","offsetTop","date","length","dateFrom","parseDate","dateDiff","days","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","role","tooltips","styles","style","container","scrollview","Array","_","index","getMonthRef","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, useRef, 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, getMonthRef, 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 vertical: propVertical = false,\n onChange = () => {},\n onFocus = () => {},\n onNavigation = () => {},\n onScroll = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n\n const [behavior, setBehavior] = useState();\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 const [vertical, setVertical] = useState(propVertical);\n\n const el = useRef();\n\n useEffect(() => {\n setVertical(propVertical || isMobile);\n }, [isMobile, propVertical]);\n\n useEffect(() => {\n if (!vertical || !el?.current) return;\n\n setBehavior('auto');\n setScrollTo(el.current.offsetTop);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [el?.current, vertical]);\n\n useEffect(() => {\n let date = range ? (value?.length > 0 ? value[0] : undefined) : value;\n\n if (from && date) {\n const dateFrom = parseDate(from, format);\n const { days } = dateDiff(dateFrom, parseDate(date, format));\n\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 (!vertical && (diffMonths >= months || diffMonths < 0)) setInstance(next);\n else if (vertical) {\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 from && (!value || value.length === 0 || !value[0]) && setInstance(getFirstDateOfMonth(parseDate(from, format)));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [from]);\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 (vertical) setScrolling(true);\n\n onScroll(event);\n setBehavior();\n setTimestamp(Date.now());\n };\n\n const { 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 role: others.role || 'calendar',\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: !vertical || !scrolling ? props.tooltips : {},\n onChange: handleChange,\n onFocus: !isMobile ? setFocus : undefined,\n };\n\n if (vertical && to) months = dateDiff(today, parseDate(to, format)).months + 1;\n\n return (\n <View className={styles(style.container, vertical && style.vertical, className)} testId={testId}>\n {vertical && <Weekdays locale={locale} vertical={vertical} />}\n <ScrollView\n behavior={behavior}\n horizontal={!vertical}\n scrollTo={scrollTo}\n className={style.scrollview}\n scrollEventThrottle={scrollEventThrottle}\n onScroll={handleScroll}\n >\n {Array.from({ length: months }, (_, index) => (\n <Month\n instance={new Date(instance.getFullYear(), instance.getMonth() + index, 1)} // ! TODO: calc with mirai/locale\n key={index}\n ref={vertical && range ? getMonthRef({ autoScroll, el, index, instance, selected, value }) : undefined}\n vertical={vertical}\n onNext={!vertical && index === months - 1 && !disabledNext ? () => handleMonth(months) : undefined}\n onPrevious={!vertical && index === 0 && !disabledPrevious ? () => handleMonth(-months) : undefined}\n {...props}\n testId={testId}\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 vertical: PropTypes.bool,\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","vertical","propVertical","onChange","onFocus","onNavigation","onScroll","others","useDevice","isMobile","useState","behavior","setBehavior","focus","setFocus","getFirstDateOfMonth","getToday","instance","setInstance","scrollTo","setScrollTo","scrolling","setScrolling","undefined","selected","setSelected","timestamp","setTimestamp","setVertical","el","useRef","useEffect","current","getScrollTo","dateDiff","parseDate","months","date","length","dateFrom","days","next","diffMonths","UTC","handleChange","getTime","handleMonth","month","addMonths","Date","getFullYear","getMonth","handleScroll","event","now","testId","scrollEventThrottle","className","props","today","instanceTS","todayMonthTS","disabledPrevious","disabledNext","dateCalc","role","tooltips","styles","style","container","scrollview","Array","_","index","getMonthRef","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, useRef, 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, getMonthRef, 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 vertical: propVertical = false,\n onChange = () => {},\n onFocus = () => {},\n onNavigation = () => {},\n onScroll = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n\n const [behavior, setBehavior] = useState();\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 const [vertical, setVertical] = useState(propVertical);\n\n const el = useRef();\n\n useEffect(() => {\n setVertical(propVertical || isMobile);\n }, [isMobile, propVertical]);\n\n useEffect(() => {\n if (!vertical || !el?.current || !value[0]) return;\n\n setBehavior('auto');\n setScrollTo(getScrollTo(dateDiff(instance, parseDate(value[0], format)).months));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [el?.current, vertical]);\n\n useEffect(() => {\n let date = range ? (value?.length > 0 ? value[0] : undefined) : value;\n\n if (from && date) {\n const dateFrom = parseDate(from, format);\n const { days } = dateDiff(dateFrom, parseDate(date, format));\n\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 (!vertical && !isMobile && (diffMonths >= months || diffMonths < 0)) setInstance(next);\n else if (vertical || 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 from && (!value || value.length === 0 || !value[0]) && setInstance(getFirstDateOfMonth(parseDate(from, format)));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [from]);\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 (vertical) setScrolling(true);\n\n onScroll(event);\n setBehavior();\n setTimestamp(Date.now());\n };\n\n const { 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 role: others.role || 'calendar',\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: !vertical || !scrolling ? props.tooltips : {},\n onChange: handleChange,\n onFocus: !isMobile ? setFocus : undefined,\n };\n\n if (vertical && to) months = dateDiff(today, parseDate(to, format)).months + 1;\n\n return (\n <View className={styles(style.container, vertical && style.vertical, className)} testId={testId}>\n {vertical && <Weekdays locale={locale} vertical={vertical} />}\n <ScrollView\n behavior={behavior}\n horizontal={!vertical}\n scrollTo={scrollTo}\n className={style.scrollview}\n scrollEventThrottle={scrollEventThrottle}\n onScroll={handleScroll}\n >\n {Array.from({ length: months }, (_, index) => (\n <Month\n instance={new Date(instance.getFullYear(), instance.getMonth() + index, 1)} // ! TODO: calc with mirai/locale\n key={index}\n ref={vertical && range ? getMonthRef({ autoScroll, el, index, instance, value }) : undefined}\n vertical={vertical}\n onNext={!vertical && index === months - 1 && !disabledNext ? () => handleMonth(months) : undefined}\n onPrevious={!vertical && index === 0 && !disabledPrevious ? () => handleMonth(-months) : undefined}\n {...props}\n testId={testId}\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 vertical: PropTypes.bool,\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n onNavigation: PropTypes.func,\n onScroll: PropTypes.func,\n};\n"],"mappings":"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"}
@@ -11,10 +11,9 @@ var getMonthRef = function getMonthRef() {
11
11
  el = _ref.el,
12
12
  index = _ref.index,
13
13
  instance = _ref.instance,
14
- selected = _ref.selected,
15
14
  value = _ref.value;
16
15
  var date = (value === null || value === void 0 ? void 0 : value.length) && value[0] && value[1] && (0, _locale.parseDate)(value[0]);
17
- return date && !el.current && !autoScroll && !selected[0] && (0, _locale.dateFormat)(new Date(date.getFullYear(), date.getMonth(), 1)) === (0, _locale.dateFormat)(new Date(instance.getFullYear(), instance.getMonth() + index, 1)) ? el : undefined;
16
+ return date && !el.current && !autoScroll && (0, _locale.dateFormat)(new Date(date.getFullYear(), date.getMonth(), 1)) === (0, _locale.dateFormat)(new Date(instance.getFullYear(), instance.getMonth() + index, 1)) ? el : undefined;
18
17
  };
19
18
  exports.getMonthRef = getMonthRef;
20
19
  //# sourceMappingURL=getMonthRef.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getMonthRef.js","names":["getMonthRef","autoScroll","el","index","instance","selected","value","date","length","parseDate","current","dateFormat","Date","getFullYear","getMonth","undefined"],"sources":["../../../../src/components/Calendar/helpers/getMonthRef.js"],"sourcesContent":["import { dateFormat, parseDate } from '@mirai/locale';\n\nexport const getMonthRef = ({ autoScroll, el, index, instance, selected, value } = {}) => {\n const date = value?.length && value[0] && value[1] && parseDate(value[0]);\n\n return date &&\n !el.current &&\n !autoScroll &&\n !selected[0] &&\n dateFormat(new Date(date.getFullYear(), date.getMonth(), 1)) ===\n dateFormat(new Date(instance.getFullYear(), instance.getMonth() + index, 1))\n ? el\n : undefined;\n};\n"],"mappings":";;;;;;AAAA;AAEO,IAAMA,WAAW,GAAG,SAAdA,WAAW,GAAkE;EAAA,+EAAP,CAAC,CAAC;IAAvDC,UAAU,QAAVA,UAAU;IAAEC,EAAE,QAAFA,EAAE;IAAEC,KAAK,QAALA,KAAK;IAAEC,QAAQ,QAARA,QAAQ;IAAEC,QAAQ,QAARA,QAAQ;IAAEC,KAAK,QAALA,KAAK;EAC5E,IAAMC,IAAI,GAAG,CAAAD,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEE,MAAM,KAAIF,KAAK,CAAC,CAAC,CAAC,IAAIA,KAAK,CAAC,CAAC,CAAC,IAAI,IAAAG,iBAAS,EAACH,KAAK,CAAC,CAAC,CAAC,CAAC;EAEzE,OAAOC,IAAI,IACT,CAACL,EAAE,CAACQ,OAAO,IACX,CAACT,UAAU,IACX,CAACI,QAAQ,CAAC,CAAC,CAAC,IACZ,IAAAM,kBAAU,EAAC,IAAIC,IAAI,CAACL,IAAI,CAACM,WAAW,EAAE,EAAEN,IAAI,CAACO,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,KAC1D,IAAAH,kBAAU,EAAC,IAAIC,IAAI,CAACR,QAAQ,CAACS,WAAW,EAAE,EAAET,QAAQ,CAACU,QAAQ,EAAE,GAAGX,KAAK,EAAE,CAAC,CAAC,CAAC,GAC5ED,EAAE,GACFa,SAAS;AACf,CAAC;AAAC"}
1
+ {"version":3,"file":"getMonthRef.js","names":["getMonthRef","autoScroll","el","index","instance","value","date","length","parseDate","current","dateFormat","Date","getFullYear","getMonth","undefined"],"sources":["../../../../src/components/Calendar/helpers/getMonthRef.js"],"sourcesContent":["import { dateFormat, parseDate } from '@mirai/locale';\n\nexport const getMonthRef = ({ autoScroll, el, index, instance, value } = {}) => {\n const date = value?.length && value[0] && value[1] && parseDate(value[0]);\n\n return date &&\n !el.current &&\n !autoScroll &&\n dateFormat(new Date(date.getFullYear(), date.getMonth(), 1)) ===\n dateFormat(new Date(instance.getFullYear(), instance.getMonth() + index, 1))\n ? el\n : undefined;\n};\n"],"mappings":";;;;;;AAAA;AAEO,IAAMA,WAAW,GAAG,SAAdA,WAAW,GAAwD;EAAA,+EAAP,CAAC,CAAC;IAA7CC,UAAU,QAAVA,UAAU;IAAEC,EAAE,QAAFA,EAAE;IAAEC,KAAK,QAALA,KAAK;IAAEC,QAAQ,QAARA,QAAQ;IAAEC,KAAK,QAALA,KAAK;EAClE,IAAMC,IAAI,GAAG,CAAAD,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEE,MAAM,KAAIF,KAAK,CAAC,CAAC,CAAC,IAAIA,KAAK,CAAC,CAAC,CAAC,IAAI,IAAAG,iBAAS,EAACH,KAAK,CAAC,CAAC,CAAC,CAAC;EAEzE,OAAOC,IAAI,IACT,CAACJ,EAAE,CAACO,OAAO,IACX,CAACR,UAAU,IACX,IAAAS,kBAAU,EAAC,IAAIC,IAAI,CAACL,IAAI,CAACM,WAAW,EAAE,EAAEN,IAAI,CAACO,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,KAC1D,IAAAH,kBAAU,EAAC,IAAIC,IAAI,CAACP,QAAQ,CAACQ,WAAW,EAAE,EAAER,QAAQ,CAACS,QAAQ,EAAE,GAAGV,KAAK,EAAE,CAAC,CAAC,CAAC,GAC5ED,EAAE,GACFY,SAAS;AACf,CAAC;AAAC"}
@@ -91,7 +91,6 @@ var InputSelect = function InputSelect(_ref) {
91
91
  disabled: disabled,
92
92
  value: others.value || '',
93
93
  className: (0, _helpers.styles)(_InputTextModule.default.input, has.label && _InputTextModule.default.withLabel, !!label && !(focus || error || has.value) && _InputTextModule.default.empty),
94
- style: undefined,
95
94
  onChange: handleChange,
96
95
  onEnter: handleEnter,
97
96
  onLeave: handleLeave
@@ -1 +1 @@
1
- {"version":3,"file":"InputSelect.js","names":["InputSelect","caption","disabled","error","hint","label","showRequired","showState","success","warning","onChange","onEnter","onLeave","others","useState","focus","setFocus","handleChange","value","event","target","blur","handleEnter","handleLeave","has","undefined","length","stateIcon","role","styles","style","inputContainer","className","inputBorder","content","required","input","withLabel","empty","ICON","EXPAND_MORE","icon","select","displayName","propTypes","PropTypes","string","bool","name","isRequired","func"],"sources":["../../../src/components/InputSelect/InputSelect.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { Icon, ICON, Select, Text, View } from '../../primitives';\nimport style from '../InputText/InputText.module.css';\nimport { Hint, IconState, Label } from '../InputText/partials';\n\nconst InputSelect = ({\n caption,\n disabled,\n error,\n hint,\n label,\n showRequired = false,\n showState = true,\n success,\n warning,\n onChange = () => {},\n onEnter = () => {},\n onLeave = () => {},\n ...others\n}) => {\n const [focus, setFocus] = useState(false);\n\n const handleChange = (value, event) => {\n onChange(value, event);\n event.target?.blur();\n };\n\n const handleEnter = (event) => {\n setFocus(true);\n onEnter(event);\n };\n\n const handleLeave = (event) => {\n setFocus(false);\n onLeave(event);\n };\n\n const has = {\n label: !!label,\n value: others.value !== undefined && others.value?.length > 0,\n stateIcon: showState && (error || success || warning),\n };\n\n return (\n <View\n role={others.role || 'input-select'}\n className={styles(style.inputContainer, others.className)}\n style={others.style}\n >\n <View\n row\n className={styles(\n style.inputBorder,\n disabled && style.disabled,\n focus && !error && style.focus,\n error && style.error,\n )}\n >\n {caption && (\n <Text action lighten className={style.caption}>\n {caption}\n </Text>\n )}\n\n <View wide className={style.content}>\n {label && (\n <Label\n {...{\n disabled,\n error,\n focus,\n label,\n required: showRequired && others.required,\n value: others.value,\n }}\n />\n )}\n\n <Select\n {...others}\n disabled={disabled}\n value={others.value || ''}\n className={styles(\n style.input,\n has.label && style.withLabel,\n !!label && !(focus || error || has.value) && style.empty,\n )}\n style={undefined}\n onChange={handleChange}\n onEnter={handleEnter}\n onLeave={handleLeave}\n />\n </View>\n\n {!disabled && <Icon value={ICON.EXPAND_MORE} className={styles(style.icon, style.select)} />}\n {has.stateIcon && <IconState {...{ error, success, warning }} />}\n </View>\n\n {hint && <Hint {...{ disabled, error, hint }} />}\n </View>\n );\n};\n\nInputSelect.displayName = 'Component:InputSelect';\n\nInputSelect.propTypes = {\n caption: PropTypes.string,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n hint: PropTypes.string,\n label: PropTypes.string,\n name: PropTypes.string.isRequired,\n showRequired: PropTypes.bool,\n showState: PropTypes.bool,\n success: PropTypes.bool,\n warning: PropTypes.bool,\n onChange: PropTypes.func,\n onEnter: PropTypes.func,\n onLeave: PropTypes.func,\n};\n\nexport { InputSelect };\n"],"mappings":"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"}
1
+ {"version":3,"file":"InputSelect.js","names":["InputSelect","caption","disabled","error","hint","label","showRequired","showState","success","warning","onChange","onEnter","onLeave","others","useState","focus","setFocus","handleChange","value","event","target","blur","handleEnter","handleLeave","has","undefined","length","stateIcon","role","styles","style","inputContainer","className","inputBorder","content","required","input","withLabel","empty","ICON","EXPAND_MORE","icon","select","displayName","propTypes","PropTypes","string","bool","name","isRequired","func"],"sources":["../../../src/components/InputSelect/InputSelect.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { Icon, ICON, Select, Text, View } from '../../primitives';\nimport style from '../InputText/InputText.module.css';\nimport { Hint, IconState, Label } from '../InputText/partials';\n\nconst InputSelect = ({\n caption,\n disabled,\n error,\n hint,\n label,\n showRequired = false,\n showState = true,\n success,\n warning,\n onChange = () => {},\n onEnter = () => {},\n onLeave = () => {},\n ...others\n}) => {\n const [focus, setFocus] = useState(false);\n\n const handleChange = (value, event) => {\n onChange(value, event);\n event.target?.blur();\n };\n\n const handleEnter = (event) => {\n setFocus(true);\n onEnter(event);\n };\n\n const handleLeave = (event) => {\n setFocus(false);\n onLeave(event);\n };\n\n const has = {\n label: !!label,\n value: others.value !== undefined && others.value?.length > 0,\n stateIcon: showState && (error || success || warning),\n };\n\n return (\n <View\n role={others.role || 'input-select'}\n className={styles(style.inputContainer, others.className)}\n style={others.style}\n >\n <View\n row\n className={styles(\n style.inputBorder,\n disabled && style.disabled,\n focus && !error && style.focus,\n error && style.error,\n )}\n >\n {caption && (\n <Text action lighten className={style.caption}>\n {caption}\n </Text>\n )}\n\n <View wide className={style.content}>\n {label && (\n <Label\n {...{\n disabled,\n error,\n focus,\n label,\n required: showRequired && others.required,\n value: others.value,\n }}\n />\n )}\n\n <Select\n {...others}\n disabled={disabled}\n value={others.value || ''}\n className={styles(\n style.input,\n has.label && style.withLabel,\n !!label && !(focus || error || has.value) && style.empty,\n )}\n onChange={handleChange}\n onEnter={handleEnter}\n onLeave={handleLeave}\n />\n </View>\n\n {!disabled && <Icon value={ICON.EXPAND_MORE} className={styles(style.icon, style.select)} />}\n {has.stateIcon && <IconState {...{ error, success, warning }} />}\n </View>\n\n {hint && <Hint {...{ disabled, error, hint }} />}\n </View>\n );\n};\n\nInputSelect.displayName = 'Component:InputSelect';\n\nInputSelect.propTypes = {\n caption: PropTypes.string,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n hint: PropTypes.string,\n label: PropTypes.string,\n name: PropTypes.string.isRequired,\n showRequired: PropTypes.bool,\n showState: PropTypes.bool,\n success: PropTypes.bool,\n warning: PropTypes.bool,\n onChange: PropTypes.func,\n onEnter: PropTypes.func,\n onLeave: PropTypes.func,\n};\n\nexport { InputSelect };\n"],"mappings":"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"}
@@ -45,7 +45,9 @@
45
45
  }
46
46
 
47
47
  .icon.select {
48
+ margin-left: calc(var(--mirai-ui-input-text-icon) * -1);
48
49
  pointer-events: none;
50
+ z-index: var(--mirai-ui-layer-S);
49
51
  }
50
52
 
51
53
  .icon.select,
@@ -10,6 +10,7 @@ var _react = _interopRequireWildcard(require("react"));
10
10
  var _helpers = require("../../helpers");
11
11
  var _primitives = require("../../primitives");
12
12
  var _InputOption = require("../InputOption");
13
+ var _Tooltip = require("../Tooltip");
13
14
  var _Table = require("./Table.ColumnFilter");
14
15
  var _Table2 = require("./Table.constants");
15
16
  var _TableModule = _interopRequireDefault(require("./Table.module.css"));
@@ -74,6 +75,7 @@ var Row = function Row(_ref) {
74
75
  label = _schema$field.label,
75
76
  _schema$field$sort = _schema$field.sort,
76
77
  hasSort = _schema$field$sort === void 0 ? true : _schema$field$sort,
78
+ tooltip = _schema$field.tooltip,
77
79
  _schema$field$type = _schema$field.type,
78
80
  type = _schema$field$type === void 0 ? 'text' : _schema$field$type;
79
81
  return /*#__PURE__*/_react.default.createElement(_primitives.Primitive, {
@@ -96,7 +98,12 @@ var Row = function Row(_ref) {
96
98
  },
97
99
  className: _TableModule.default.checkbox,
98
100
  testId: testId ? "".concat(testId, "-checkbox") : undefined
99
- }), isHead ? label : dataSource[field], isHead && (onSort && hasSort || onFilter && hasFilter) && /*#__PURE__*/_react.default.createElement(_primitives.View, {
101
+ }), isHead ? tooltip ? /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
102
+ text: tooltip,
103
+ top: true
104
+ }, /*#__PURE__*/_react.default.createElement(_primitives.Primitive, {
105
+ className: _TableModule.default.tooltip
106
+ }, label)) : label : dataSource[field], isHead && (onSort && hasSort || onFilter && hasFilter) && /*#__PURE__*/_react.default.createElement(_primitives.View, {
100
107
  row: true,
101
108
  className: _TableModule.default.icons
102
109
  }, onSort && hasSort && /*#__PURE__*/_react.default.createElement(_primitives.Icon, {
@@ -1 +1 @@
1
- {"version":3,"file":"Table.Row.js","names":["CUSTOM_EVENT_TYPES","Row","checked","dataSource","indeterminate","l10n","schema","sort","onFilter","onPress","onSelect","onSort","others","useState","focus","setFocus","isHead","undefined","testId","handlePress","field","event","target","type","includes","handleFocus","handleSelect","preventDefault","styles","style","selected","Object","keys","filter","hidden","map","index","hasFilter","label","hasSort","React","createElement","Primitive","tag","key","onClick","column","selectable","value","checkbox","icons","ICON","UP","DOWN","icon","disabled","bind","displayName","propTypes","PropTypes","bool","shape","L10N_SHAPE","isRequired","func"],"sources":["../../../src/components/Table/Table.Row.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { Icon, ICON, Primitive, View } from '../../primitives';\nimport { InputOption } from '../InputOption';\nimport { ColumnFilter } from './Table.ColumnFilter';\nimport { L10N_SHAPE } from './Table.constants';\nimport style from './Table.module.css';\n\nconst CUSTOM_EVENT_TYPES = ['button', 'checkbox', 'input', 'radio', 'submit'];\n\nconst Row = ({\n checked,\n dataSource,\n indeterminate,\n l10n,\n schema,\n sort = {},\n onFilter,\n onPress,\n onSelect,\n onSort,\n ...others\n}) => {\n const [focus, setFocus] = useState();\n\n const isHead = dataSource === undefined;\n const { testId } = others;\n\n const handlePress = (field, event) => {\n const { target: { type } = {} } = event;\n if (CUSTOM_EVENT_TYPES.includes(type)) return;\n\n isHead ? onSort(field) : onPress ? onPress(dataSource, event) : undefined;\n };\n\n const handleFocus = (field) => {\n setFocus(field);\n };\n\n const handleSelect = (dataSource, event) => {\n event.preventDefault();\n onSelect(dataSource, event);\n };\n\n return (\n <Primitive tag=\"tr\" {...others} className={styles(checked && style.selected, onPress && style.onPress)}>\n {Object.keys(schema)\n .filter((field) => !schema[field].hidden)\n .map((field, index) => {\n const { filter: hasFilter = true, label, sort: hasSort = true, type = 'text' } = schema[field];\n\n return React.createElement(\n Primitive,\n {\n tag: isHead ? 'th' : 'td',\n testId: testId ? `${testId}-${field}` : undefined,\n key: field,\n onClick: !isHead || hasSort ? (event) => handlePress(field, event) : undefined,\n },\n <View\n forceRow\n tag=\"span\"\n className={styles(\n style.column,\n onSelect && index === 0 && style.selectable,\n !isHead && !(onSelect && index === 0) && style[type],\n )}\n >\n {onSelect && index === 0 && (\n <InputOption\n checked={checked}\n indeterminate={indeterminate}\n name=\"checkbox\"\n onChange={(value, event) => handleSelect(dataSource, event)}\n className={style.checkbox}\n testId={testId ? `${testId}-checkbox` : undefined}\n />\n )}\n\n {isHead ? label : dataSource[field]}\n\n {isHead && ((onSort && hasSort) || (onFilter && hasFilter)) && (\n <View row className={style.icons}>\n {onSort && hasSort && (\n <Icon\n value={sort[field] === false ? ICON.UP : ICON.DOWN}\n className={styles(style.icon, sort[field] === undefined && style.disabled)}\n />\n )}\n {onFilter && hasFilter && (\n <ColumnFilter\n field={schema[field]?.bind || field}\n l10n={l10n}\n schema={schema}\n visible={field === focus}\n onFocus={handleFocus}\n onSubmit={onFilter}\n />\n )}\n </View>\n )}\n </View>,\n );\n })}\n </Primitive>\n );\n};\n\nRow.displayName = 'Component:Table:Row';\n\nRow.propTypes = {\n checked: PropTypes.bool,\n dataSource: PropTypes.shape({}),\n indeterminate: PropTypes.bool,\n l10n: L10N_SHAPE,\n schema: PropTypes.shape({}).isRequired,\n sort: PropTypes.shape({}),\n onFilter: PropTypes.func,\n onPress: PropTypes.func,\n onSelect: PropTypes.func,\n onSort: PropTypes.func,\n};\n\nexport { Row };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Table.Row.js","names":["CUSTOM_EVENT_TYPES","Row","checked","dataSource","indeterminate","l10n","schema","sort","onFilter","onPress","onSelect","onSort","others","useState","focus","setFocus","isHead","undefined","testId","handlePress","field","event","target","type","includes","handleFocus","handleSelect","preventDefault","styles","style","selected","Object","keys","filter","hidden","map","index","hasFilter","label","hasSort","tooltip","React","createElement","Primitive","tag","key","onClick","column","selectable","value","checkbox","icons","ICON","UP","DOWN","icon","disabled","bind","displayName","propTypes","PropTypes","bool","shape","L10N_SHAPE","isRequired","func"],"sources":["../../../src/components/Table/Table.Row.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { Icon, ICON, Primitive, View } from '../../primitives';\nimport { InputOption } from '../InputOption';\nimport { Tooltip } from '../Tooltip';\nimport { ColumnFilter } from './Table.ColumnFilter';\nimport { L10N_SHAPE } from './Table.constants';\nimport style from './Table.module.css';\n\nconst CUSTOM_EVENT_TYPES = ['button', 'checkbox', 'input', 'radio', 'submit'];\n\nconst Row = ({\n checked,\n dataSource,\n indeterminate,\n l10n,\n schema,\n sort = {},\n onFilter,\n onPress,\n onSelect,\n onSort,\n ...others\n}) => {\n const [focus, setFocus] = useState();\n\n const isHead = dataSource === undefined;\n const { testId } = others;\n\n const handlePress = (field, event) => {\n const { target: { type } = {} } = event;\n if (CUSTOM_EVENT_TYPES.includes(type)) return;\n\n isHead ? onSort(field) : onPress ? onPress(dataSource, event) : undefined;\n };\n\n const handleFocus = (field) => {\n setFocus(field);\n };\n\n const handleSelect = (dataSource, event) => {\n event.preventDefault();\n onSelect(dataSource, event);\n };\n\n return (\n <Primitive tag=\"tr\" {...others} className={styles(checked && style.selected, onPress && style.onPress)}>\n {Object.keys(schema)\n .filter((field) => !schema[field].hidden)\n .map((field, index) => {\n const { filter: hasFilter = true, label, sort: hasSort = true, tooltip, type = 'text' } = schema[field];\n\n return React.createElement(\n Primitive,\n {\n tag: isHead ? 'th' : 'td',\n testId: testId ? `${testId}-${field}` : undefined,\n key: field,\n onClick: !isHead || hasSort ? (event) => handlePress(field, event) : undefined,\n },\n <View\n forceRow\n tag=\"span\"\n className={styles(\n style.column,\n onSelect && index === 0 && style.selectable,\n !isHead && !(onSelect && index === 0) && style[type],\n )}\n >\n {onSelect && index === 0 && (\n <InputOption\n checked={checked}\n indeterminate={indeterminate}\n name=\"checkbox\"\n onChange={(value, event) => handleSelect(dataSource, event)}\n className={style.checkbox}\n testId={testId ? `${testId}-checkbox` : undefined}\n />\n )}\n\n {isHead ? (\n tooltip ? (\n <Tooltip text={tooltip} top>\n <Primitive className={style.tooltip}>{label}</Primitive>\n </Tooltip>\n ) : (\n label\n )\n ) : (\n dataSource[field]\n )}\n\n {isHead && ((onSort && hasSort) || (onFilter && hasFilter)) && (\n <View row className={style.icons}>\n {onSort && hasSort && (\n <Icon\n value={sort[field] === false ? ICON.UP : ICON.DOWN}\n className={styles(style.icon, sort[field] === undefined && style.disabled)}\n />\n )}\n {onFilter && hasFilter && (\n <ColumnFilter\n field={schema[field]?.bind || field}\n l10n={l10n}\n schema={schema}\n visible={field === focus}\n onFocus={handleFocus}\n onSubmit={onFilter}\n />\n )}\n </View>\n )}\n </View>,\n );\n })}\n </Primitive>\n );\n};\n\nRow.displayName = 'Component:Table:Row';\n\nRow.propTypes = {\n checked: PropTypes.bool,\n dataSource: PropTypes.shape({}),\n indeterminate: PropTypes.bool,\n l10n: L10N_SHAPE,\n schema: PropTypes.shape({}).isRequired,\n sort: PropTypes.shape({}),\n onFilter: PropTypes.func,\n onPress: PropTypes.func,\n onSelect: PropTypes.func,\n onSort: PropTypes.func,\n};\n\nexport { Row };\n"],"mappings":"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"}
@@ -91,6 +91,10 @@
91
91
  gap: calc(var(--mirai-ui-table-padding-x) / 2);
92
92
  }
93
93
 
94
+ .table th .tooltip {
95
+ position: relative;
96
+ }
97
+
94
98
  .table .column.text {
95
99
  display: block;
96
100
  white-space: nowrap;
@@ -194,7 +194,8 @@ Story.args = {
194
194
  },
195
195
  schema: {
196
196
  username: {
197
- label: 'User Name'
197
+ label: 'User Name',
198
+ tooltip: 'The name user is recognized.'
198
199
  },
199
200
  email: {
200
201
  label: 'Email'
@@ -208,7 +209,8 @@ Story.args = {
208
209
  label: 'Active',
209
210
  type: 'component',
210
211
  bind: 'active',
211
- sort: false
212
+ sort: false,
213
+ tooltip: 'Marks if user is available.'
212
214
  },
213
215
  tags: {
214
216
  label: /*#__PURE__*/_react.default.createElement(_.View, {
@@ -216,7 +218,8 @@ Story.args = {
216
218
  className: _TableStoriesModule.default.label
217
219
  }, /*#__PURE__*/_react.default.createElement(_.Text, null, "\uD83C\uDFF7\uFE0F"), "Languages"),
218
220
  type: 'component',
219
- bind: 'languages'
221
+ bind: 'languages',
222
+ tooltip: 'Spoken languages'
220
223
  },
221
224
  languages: {
222
225
  hidden: true,
@@ -1 +1 @@
1
- {"version":3,"file":"Table.stories.js","names":["title","tags","value","map","language","style","tag","handleSwitch","event","stopPropagation","console","log","dataSource","username","email","active","activeSwitch","year","undefined","action","languages","twitter","actionTitle","Story","props","useState","selected","setSelected","search","setSearch","useEffect","handleScroll","others","handlePress","handleSelect","table","storyName","args","filter","field","min","max","values","inline","l10n","actionCancel","actionSubmit","labelMax","labelMin","schema","label","type","hidden","bind","sort","options","bio","testId","background","argTypes"],"sources":["../../../src/components/Table/Table.stories.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport { Button, Icon, ICON, InputText, Switch, Text, View } from '../../';\nimport { Table } from './Table';\nimport style from './Table.stories.module.css';\n\nexport default { title: 'Components' };\n\nconst tags = (value) =>\n value.map((language) => (\n <Text key={language} bold tiny className={style.tag}>\n {language}\n </Text>\n ));\n\nconst handleSwitch = (value, event) => {\n event.stopPropagation();\n console.log('::switch::', value);\n};\n\nconst dataSource = [\n {\n username: 'jose',\n email: 'jose@mirai.com',\n active: true,\n activeSwitch: <Switch name=\"active\" checked onChange={handleSwitch} />,\n year: undefined,\n action: null,\n },\n {\n username: 'mario/1',\n email: 'mario.1@mirai.com',\n active: true,\n activeSwitch: <Switch name=\"active\" checked onChange={handleSwitch} />,\n languages: 1,\n tags: tags(['ES']),\n year: 0,\n },\n {\n username: 'svet',\n email: 'svet@mirai.com',\n active: true,\n activeSwitch: <Switch name=\"active\" checked onChange={handleSwitch} />,\n languages: [3, 1, 0],\n tags: tags(['RU', 'ES', 'EN']),\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 active: true,\n activeSwitch: <Switch name=\"active\" checked onChange={handleSwitch} />,\n tags: null,\n languages: [2, 1, 0, 4],\n tags: tags(['EU', 'ES', 'EN', 'TH']),\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 {\n username: 'victor',\n email: 'victor@mirai.com',\n active: false,\n activeSwitch: <Switch name=\"active\" onChange={handleSwitch} />,\n languages: [1, 0],\n tags: tags(['ES', 'EN']),\n year: 2021,\n },\n {\n username: 'mario/2',\n email: 'mario.2@mirai.com',\n active: false,\n activeSwitch: <Switch name=\"active\" onChange={handleSwitch} />,\n languages: 1,\n tags: tags(['ES']),\n year: 2022,\n },\n];\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\nStory.storyName = 'Table';\n\nStory.args = {\n dataSource,\n filter: [\n { field: 'email', value: '@mirai.com' },\n { field: 'nonExistent', value: '@mirai.com' },\n { field: 'email', value: '@soyjavi.com' },\n { field: 'year', min: 1, max: 2022 },\n { field: 'languages', values: [3, 0] },\n ],\n inline: true,\n l10n: {\n actionCancel: 'Cancel',\n actionSubmit: 'Submit',\n labelMax: 'Max',\n labelMin: 'Min',\n },\n schema: {\n username: { label: 'User Name' },\n email: { label: 'Email' },\n active: { label: 'Active', type: 'boolean', hidden: true },\n activeSwitch: { label: 'Active', type: 'component', bind: 'active', sort: false },\n tags: {\n label: (\n <View row className={style.label}>\n <Text>🏷️</Text>\n Languages\n </View>\n ),\n type: 'component',\n bind: 'languages',\n },\n languages: {\n hidden: true,\n type: 'options',\n options: { 1: 'Spanish', 2: 'Basque', 0: 'English', 3: 'Rusian', 4: 'Thai' },\n },\n year: { label: 'Year', type: 'number' },\n twitter: { label: 'Twitter' },\n bio: { label: 'Biography' },\n action: { label: 'Action', type: 'component', sort: false, filter: false },\n },\n search: '',\n // store: 'mirai',\n // inherited properties\n testId: 'test-story',\n style: {\n background: 'green',\n },\n};\n\nStory.argTypes = {};\n"],"mappings":"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"}
1
+ {"version":3,"file":"Table.stories.js","names":["title","tags","value","map","language","style","tag","handleSwitch","event","stopPropagation","console","log","dataSource","username","email","active","activeSwitch","year","undefined","action","languages","twitter","actionTitle","Story","props","useState","selected","setSelected","search","setSearch","useEffect","handleScroll","others","handlePress","handleSelect","table","storyName","args","filter","field","min","max","values","inline","l10n","actionCancel","actionSubmit","labelMax","labelMin","schema","label","tooltip","type","hidden","bind","sort","options","bio","testId","background","argTypes"],"sources":["../../../src/components/Table/Table.stories.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport { Button, Icon, ICON, InputText, Switch, Text, View } from '../../';\nimport { Table } from './Table';\nimport style from './Table.stories.module.css';\n\nexport default { title: 'Components' };\n\nconst tags = (value) =>\n value.map((language) => (\n <Text key={language} bold tiny className={style.tag}>\n {language}\n </Text>\n ));\n\nconst handleSwitch = (value, event) => {\n event.stopPropagation();\n console.log('::switch::', value);\n};\n\nconst dataSource = [\n {\n username: 'jose',\n email: 'jose@mirai.com',\n active: true,\n activeSwitch: <Switch name=\"active\" checked onChange={handleSwitch} />,\n year: undefined,\n action: null,\n },\n {\n username: 'mario/1',\n email: 'mario.1@mirai.com',\n active: true,\n activeSwitch: <Switch name=\"active\" checked onChange={handleSwitch} />,\n languages: 1,\n tags: tags(['ES']),\n year: 0,\n },\n {\n username: 'svet',\n email: 'svet@mirai.com',\n active: true,\n activeSwitch: <Switch name=\"active\" checked onChange={handleSwitch} />,\n languages: [3, 1, 0],\n tags: tags(['RU', 'ES', 'EN']),\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 active: true,\n activeSwitch: <Switch name=\"active\" checked onChange={handleSwitch} />,\n tags: null,\n languages: [2, 1, 0, 4],\n tags: tags(['EU', 'ES', 'EN', 'TH']),\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 {\n username: 'victor',\n email: 'victor@mirai.com',\n active: false,\n activeSwitch: <Switch name=\"active\" onChange={handleSwitch} />,\n languages: [1, 0],\n tags: tags(['ES', 'EN']),\n year: 2021,\n },\n {\n username: 'mario/2',\n email: 'mario.2@mirai.com',\n active: false,\n activeSwitch: <Switch name=\"active\" onChange={handleSwitch} />,\n languages: 1,\n tags: tags(['ES']),\n year: 2022,\n },\n];\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\nStory.storyName = 'Table';\n\nStory.args = {\n dataSource,\n filter: [\n { field: 'email', value: '@mirai.com' },\n { field: 'nonExistent', value: '@mirai.com' },\n { field: 'email', value: '@soyjavi.com' },\n { field: 'year', min: 1, max: 2022 },\n { field: 'languages', values: [3, 0] },\n ],\n inline: true,\n l10n: {\n actionCancel: 'Cancel',\n actionSubmit: 'Submit',\n labelMax: 'Max',\n labelMin: 'Min',\n },\n schema: {\n username: { label: 'User Name', tooltip: 'The name user is recognized.' },\n email: { label: 'Email' },\n active: { label: 'Active', type: 'boolean', hidden: true },\n activeSwitch: {\n label: 'Active',\n type: 'component',\n bind: 'active',\n sort: false,\n tooltip: 'Marks if user is available.',\n },\n tags: {\n label: (\n <View row className={style.label}>\n <Text>🏷️</Text>\n Languages\n </View>\n ),\n type: 'component',\n bind: 'languages',\n tooltip: 'Spoken languages',\n },\n languages: {\n hidden: true,\n type: 'options',\n options: { 1: 'Spanish', 2: 'Basque', 0: 'English', 3: 'Rusian', 4: 'Thai' },\n },\n year: { label: 'Year', type: 'number' },\n twitter: { label: 'Twitter' },\n bio: { label: 'Biography' },\n action: { label: 'Action', type: 'component', sort: false, filter: false },\n },\n search: '',\n // store: 'mirai',\n // inherited properties\n testId: 'test-story',\n style: {\n background: 'green',\n },\n};\n\nStory.argTypes = {};\n"],"mappings":"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"}
@@ -110,7 +110,13 @@ exports[`component:<Table> inherit:className 1`] = `
110
110
  <span
111
111
  class="view forceRow column"
112
112
  >
113
- Twitter
113
+ <span>
114
+ <div
115
+ class="dispatcher tooltip"
116
+ >
117
+ Twitter
118
+ </div>
119
+ </span>
114
120
  <div
115
121
  class="view row icons"
116
122
  >
@@ -736,7 +742,13 @@ exports[`component:<Table> prop:filter 1`] = `
736
742
  <span
737
743
  class="view forceRow column"
738
744
  >
739
- Twitter
745
+ <span>
746
+ <div
747
+ class="dispatcher tooltip"
748
+ >
749
+ Twitter
750
+ </div>
751
+ </span>
740
752
  <div
741
753
  class="view row icons"
742
754
  >
@@ -1109,7 +1121,13 @@ exports[`component:<Table> prop:inline (false 1`] = `
1109
1121
  <span
1110
1122
  class="view forceRow column"
1111
1123
  >
1112
- Twitter
1124
+ <span>
1125
+ <div
1126
+ class="dispatcher tooltip"
1127
+ >
1128
+ Twitter
1129
+ </div>
1130
+ </span>
1113
1131
  <div
1114
1132
  class="view row icons"
1115
1133
  >
@@ -1536,7 +1554,13 @@ exports[`component:<Table> prop:onScroll 1`] = `
1536
1554
  <span
1537
1555
  class="view forceRow column"
1538
1556
  >
1539
- Twitter
1557
+ <span>
1558
+ <div
1559
+ class="dispatcher tooltip"
1560
+ >
1561
+ Twitter
1562
+ </div>
1563
+ </span>
1540
1564
  <div
1541
1565
  class="view row icons"
1542
1566
  >
@@ -2064,7 +2088,13 @@ exports[`component:<Table> prop:onSelect 1`] = `
2064
2088
  <span
2065
2089
  class="view forceRow column"
2066
2090
  >
2067
- Twitter
2091
+ <span>
2092
+ <div
2093
+ class="dispatcher tooltip"
2094
+ >
2095
+ Twitter
2096
+ </div>
2097
+ </span>
2068
2098
  <div
2069
2099
  class="view row icons"
2070
2100
  >
@@ -2671,7 +2701,13 @@ exports[`component:<Table> prop:search 1`] = `
2671
2701
  <span
2672
2702
  class="view forceRow column"
2673
2703
  >
2674
- Twitter
2704
+ <span>
2705
+ <div
2706
+ class="dispatcher tooltip"
2707
+ >
2708
+ Twitter
2709
+ </div>
2710
+ </span>
2675
2711
  <div
2676
2712
  class="view row icons"
2677
2713
  >
@@ -2885,7 +2921,13 @@ exports[`component:<Table> prop:selected 1`] = `
2885
2921
  <span
2886
2922
  class="view forceRow column"
2887
2923
  >
2888
- Twitter
2924
+ <span>
2925
+ <div
2926
+ class="dispatcher tooltip"
2927
+ >
2928
+ Twitter
2929
+ </div>
2930
+ </span>
2889
2931
  <div
2890
2932
  class="view row icons"
2891
2933
  >
@@ -3435,7 +3477,13 @@ exports[`component:<Table> prop:store 1`] = `
3435
3477
  <span
3436
3478
  class="view forceRow column"
3437
3479
  >
3438
- Twitter
3480
+ <span>
3481
+ <div
3482
+ class="dispatcher tooltip"
3483
+ >
3484
+ Twitter
3485
+ </div>
3486
+ </span>
3439
3487
  <div
3440
3488
  class="view row icons"
3441
3489
  >
@@ -3669,7 +3717,13 @@ exports[`component:<Table> renders 1`] = `
3669
3717
  <span
3670
3718
  class="view forceRow column"
3671
3719
  >
3672
- Twitter
3720
+ <span>
3721
+ <div
3722
+ class="dispatcher tooltip"
3723
+ >
3724
+ Twitter
3725
+ </div>
3726
+ </span>
3673
3727
  <div
3674
3728
  class="view row icons"
3675
3729
  >
@@ -4096,7 +4150,13 @@ exports[`component:<Table> testId 1`] = `
4096
4150
  <span
4097
4151
  class="view forceRow column"
4098
4152
  >
4099
- Twitter
4153
+ <span>
4154
+ <div
4155
+ class="dispatcher tooltip"
4156
+ >
4157
+ Twitter
4158
+ </div>
4159
+ </span>
4100
4160
  <div
4101
4161
  class="view row icons"
4102
4162
  >
@@ -20,6 +20,12 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
20
20
  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; }
21
21
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
22
22
  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); }
23
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
24
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
25
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
26
+ 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; }
27
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
28
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
23
29
  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; }
24
30
  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; }
25
31
  var Input = function Input(_ref) {
@@ -34,16 +40,18 @@ var Input = function Input(_ref) {
34
40
  onLeave = _ref.onLeave,
35
41
  others = _objectWithoutProperties(_ref, _excluded);
36
42
  var ref = (0, _react.useRef)(null);
43
+ var _useState = (0, _react.useState)(),
44
+ _useState2 = _slicedToArray(_useState, 2),
45
+ height = _useState2[0],
46
+ setHeight = _useState2[1];
37
47
  (0, _react.useEffect)(function () {
38
48
  var errors = (0, _helpers.getInputErrors)(_objectSpread(_objectSpread({}, others), {}, {
39
49
  type: type
40
50
  }));
41
51
  if (errors && onError) onError(errors);
42
- if (autoResize && multiLine && ref !== null && ref !== void 0 && ref.current) {
43
- var _ref$current = ref.current,
44
- scrollHeight = _ref$current.scrollHeight,
45
- clientHeight = _ref$current.clientHeight;
46
- if (scrollHeight > clientHeight) resize();
52
+ if (autoResize && multiLine) {
53
+ setHeight(ref.current.clientHeight);
54
+ resize(others.value);
47
55
  }
48
56
  // eslint-disable-next-line react-hooks/exhaustive-deps
49
57
  }, []);
@@ -57,11 +65,11 @@ var Input = function Input(_ref) {
57
65
  value: value
58
66
  })));
59
67
  onChange && onChange(value || '', event);
60
- if (autoResize && multiLine) resize();
68
+ if (autoResize && multiLine) resize(value);
61
69
  };
62
- var resize = function resize() {
63
- ref.current.style.height = 'auto';
64
- ref.current.style.height = ref.current.scrollHeight + 'px';
70
+ var resize = function resize(value) {
71
+ if (!(ref !== null && ref !== void 0 && ref.current)) return;
72
+ ref.current.style.height = "".concat(value ? ref.current.scrollHeight : height, "px");
65
73
  };
66
74
  return /*#__PURE__*/_react.default.createElement(_Primitive.Primitive, _objectSpread(_objectSpread(_objectSpread({}, others), {}, {
67
75
  disabled: disabled,
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","names":["Input","autoResize","disabled","multiLine","type","onChange","onEnter","onError","onLeave","others","ref","useRef","useEffect","errors","getInputErrors","current","scrollHeight","clientHeight","resize","handleChange","next","event","isNaN","value","parseValue","style","height","React","createElement","Primitive","undefined","role","tag","test","target","onFocus","onBlur","className","styles","input","displayName","propTypes","PropTypes","bool","name","string","isRequired","func"],"sources":["../../../src/primitives/Input/Input.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useEffect, useRef } from 'react';\n\nimport { getInputErrors, styles } from '../../helpers';\nimport { Primitive } from '../Primitive';\nimport { parseValue } from './helpers';\nimport style from './Input.module.css';\n\nconst Input = ({ autoResize, disabled, multiLine, type = 'text', onChange, onEnter, onError, onLeave, ...others }) => {\n const ref = useRef(null);\n\n useEffect(() => {\n const errors = getInputErrors({ ...others, type });\n if (errors && onError) onError(errors);\n\n if (autoResize && multiLine && ref?.current) {\n const { scrollHeight, clientHeight } = ref.current;\n if (scrollHeight > clientHeight) resize();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleChange = (next = '', event) => {\n if (type === 'number' && isNaN(next)) return;\n const value = parseValue(next, type, others);\n\n onError && onError(getInputErrors({ ...others, type, value }));\n onChange && onChange(value || '', event);\n if (autoResize && multiLine) resize();\n };\n\n const resize = () => {\n ref.current.style.height = 'auto';\n ref.current.style.height = ref.current.scrollHeight + 'px';\n };\n\n return React.createElement(Primitive, {\n ...others,\n disabled,\n ref: autoResize ? ref : undefined,\n role: others.role || 'input',\n tag: multiLine ? 'textarea' : 'input',\n test: undefined,\n type: !multiLine ? type : undefined,\n value: others.value || '',\n ...(!disabled\n ? {\n onChange: (event) => handleChange(event.target.value, event),\n onFocus: onEnter,\n onBlur: onLeave,\n }\n : {}),\n className: styles(style.input, autoResize && multiLine && style.autoResize, others.className),\n });\n};\n\nInput.displayName = 'Primitive:Input';\n\nInput.propTypes = {\n autoResize: PropTypes.bool,\n disabled: PropTypes.bool,\n multiLine: PropTypes.bool,\n name: PropTypes.string.isRequired,\n type: PropTypes.string,\n onChange: PropTypes.func,\n onEnter: PropTypes.func,\n onError: PropTypes.func,\n onLeave: PropTypes.func,\n};\n\nexport { Input };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Input.js","names":["Input","autoResize","disabled","multiLine","type","onChange","onEnter","onError","onLeave","others","ref","useRef","useState","height","setHeight","useEffect","errors","getInputErrors","current","clientHeight","resize","value","handleChange","next","event","isNaN","parseValue","style","scrollHeight","React","createElement","Primitive","undefined","role","tag","test","target","onFocus","onBlur","className","styles","input","displayName","propTypes","PropTypes","bool","name","string","isRequired","func"],"sources":["../../../src/primitives/Input/Input.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { getInputErrors, styles } from '../../helpers';\nimport { Primitive } from '../Primitive';\nimport { parseValue } from './helpers';\nimport style from './Input.module.css';\n\nconst Input = ({ autoResize, disabled, multiLine, type = 'text', onChange, onEnter, onError, onLeave, ...others }) => {\n const ref = useRef(null);\n\n const [height, setHeight] = useState();\n\n useEffect(() => {\n const errors = getInputErrors({ ...others, type });\n if (errors && onError) onError(errors);\n\n if (autoResize && multiLine) {\n setHeight(ref.current.clientHeight);\n resize(others.value);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleChange = (next = '', event) => {\n if (type === 'number' && isNaN(next)) return;\n const value = parseValue(next, type, others);\n\n onError && onError(getInputErrors({ ...others, type, value }));\n onChange && onChange(value || '', event);\n if (autoResize && multiLine) resize(value);\n };\n\n const resize = (value) => {\n if (!ref?.current) return;\n ref.current.style.height = `${value ? ref.current.scrollHeight : height}px`;\n };\n\n return React.createElement(Primitive, {\n ...others,\n disabled,\n ref: autoResize ? ref : undefined,\n role: others.role || 'input',\n tag: multiLine ? 'textarea' : 'input',\n test: undefined,\n type: !multiLine ? type : undefined,\n value: others.value || '',\n ...(!disabled\n ? {\n onChange: (event) => handleChange(event.target.value, event),\n onFocus: onEnter,\n onBlur: onLeave,\n }\n : {}),\n className: styles(style.input, autoResize && multiLine && style.autoResize, others.className),\n });\n};\n\nInput.displayName = 'Primitive:Input';\n\nInput.propTypes = {\n autoResize: PropTypes.bool,\n disabled: PropTypes.bool,\n multiLine: PropTypes.bool,\n name: PropTypes.string.isRequired,\n type: PropTypes.string,\n onChange: PropTypes.func,\n onEnter: PropTypes.func,\n onError: PropTypes.func,\n onLeave: PropTypes.func,\n};\n\nexport { Input };\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/ui",
3
- "version": "1.0.207",
3
+ "version": "1.0.209",
4
4
  "repository": "git@gitlab.com:miraicorp/dev/frontend/ui.git",
5
5
  "author": "JΛVI <hello@soyjavi.com>",
6
6
  "license": "MIT",