@mirai/ui 1.0.205 → 1.0.207

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 CHANGED
@@ -791,6 +791,7 @@ export const Story = (props) => {
791
791
 
792
792
  A select input component that receives the following props:
793
793
 
794
+ - `caption:string` a support text (Ex. currency symbol)
794
795
  - `disabled:boolean` applying 'disabled' attribute
795
796
  - `error:boolean` indicating whether there is an error in the input
796
797
  - `hint:string` text with additional info to be displayed below the input
@@ -186,7 +186,7 @@ var Calendar = function Calendar(_ref) {
186
186
  to: range && rangeMaxDays && selected[0] && !selected[1] && (!to || (0, _locale.dateCalc)(selected[0], rangeMaxDays, 'days') < (0, _locale.parseDate)(to, format)) ? (0, _locale.dateCalc)(selected[0], rangeMaxDays, 'days') : to ? (0, _locale.parseDate)(to, format) : undefined,
187
187
  tooltips: !vertical || !scrolling ? props.tooltips : {},
188
188
  onChange: handleChange,
189
- onFocus: !vertical ? setFocus : undefined
189
+ onFocus: !isMobile ? setFocus : undefined
190
190
  });
191
191
  if (vertical && to) months = (0, _locale.dateDiff)(today, (0, _locale.parseDate)(to, format)).months + 1;
192
192
  return /*#__PURE__*/_react.default.createElement(_primitives.View, {
@@ -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: !vertical ? 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","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":";;;;;;;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAoF;EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAE7E,IAAMA,QAAQ,GAAG,SAAXA,QAAQ,OAgBf;EAAA,2BAfJC,UAAU;IAAVA,UAAU,gCAAG,KAAK;IAAA,yBAClBC,YAAY;IAAZA,YAAY,kCAAG,IAAI;IAAA,mBACnBC,MAAM;IAANA,MAAM,4BAAG,YAAY;IACrBC,IAAI,QAAJA,IAAI;IACJC,MAAM,QAANA,MAAM;IAAA,kBACNC,KAAK;IAALA,KAAK,2BAAG,KAAK;IACbC,YAAY,QAAZA,YAAY;IACZC,EAAE,QAAFA,EAAE;IACFC,KAAK,QAALA,KAAK;IAAA,qBACLC,QAAQ;IAAEC,YAAY,8BAAG,KAAK;IAAA,qBAC9BC,QAAQ;IAARA,QAAQ,8BAAG,YAAM,CAAC,CAAC;IAAA,oBACnBC,OAAO;IAAPA,OAAO,6BAAG,YAAM,CAAC,CAAC;IAAA,yBAClBC,YAAY;IAAZA,YAAY,kCAAG,YAAM,CAAC,CAAC;IAAA,qBACvBC,QAAQ;IAARA,QAAQ,8BAAG,YAAM,CAAC,CAAC;IAChBC,MAAM;EAET,iBAAqB,IAAAC,gBAAS,GAAE;IAAxBC,QAAQ,cAARA,QAAQ;EAEhB,gBAAgC,IAAAC,eAAQ,GAAE;IAAA;IAAnCC,QAAQ;IAAEC,WAAW;EAC5B,iBAA0B,IAAAF,eAAQ,GAAE;IAAA;IAA7BG,KAAK;IAAEC,QAAQ;EACtB,iBAAgC,IAAAJ,eAAQ,EAAC,IAAAK,6BAAmB,EAAC,IAAAC,kBAAQ,GAAE,CAAC,CAAC;IAAA;IAAlEC,QAAQ;IAAEC,WAAW;EAC5B,iBAAgC,IAAAR,eAAQ,GAAE;IAAA;IAAnCS,QAAQ;IAAEC,WAAW;EAC5B,iBAAkC,IAAAV,eAAQ,GAAE;IAAA;IAArCW,SAAS;IAAEC,YAAY;EAC9B,kBAAgC,IAAAZ,eAAQ,EAACb,KAAK,GAAG,EAAE,GAAG0B,SAAS,CAAC;IAAA;IAAzDC,QAAQ;IAAEC,WAAW;EAC5B,kBAAkC,IAAAf,eAAQ,GAAE;IAAA;IAArCgB,SAAS;IAAEC,YAAY;EAC9B,kBAAgC,IAAAjB,eAAQ,EAACR,YAAY,CAAC;IAAA;IAA/CD,QAAQ;IAAE2B,WAAW;EAE5B,IAAMC,EAAE,GAAG,IAAAC,aAAM,GAAE;EAEnB,IAAAC,gBAAS,EAAC,YAAM;IACdH,WAAW,CAAC1B,YAAY,IAAIO,QAAQ,CAAC;EACvC,CAAC,EAAE,CAACA,QAAQ,EAAEP,YAAY,CAAC,CAAC;EAE5B,IAAA6B,gBAAS,EAAC,YAAM;IACd,IAAI,CAAC9B,QAAQ,IAAI,EAAC4B,EAAE,aAAFA,EAAE,eAAFA,EAAE,CAAEG,OAAO,GAAE;IAE/BpB,WAAW,CAAC,MAAM,CAAC;IACnBQ,WAAW,CAACS,EAAE,CAACG,OAAO,CAACC,SAAS,CAAC;IACjC;EACF,CAAC,EAAE,CAACJ,EAAE,aAAFA,EAAE,uBAAFA,EAAE,CAAEG,OAAO,EAAE/B,QAAQ,CAAC,CAAC;EAE3B,IAAA8B,gBAAS,EAAC,YAAM;IACd,IAAIG,IAAI,GAAGrC,KAAK,GAAI,CAAAG,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEmC,MAAM,IAAG,CAAC,GAAGnC,KAAK,CAAC,CAAC,CAAC,GAAGuB,SAAS,GAAIvB,KAAK;IAErE,IAAIL,IAAI,IAAIuC,IAAI,EAAE;MAChB,IAAME,QAAQ,GAAG,IAAAC,iBAAS,EAAC1C,IAAI,EAAED,MAAM,CAAC;MACxC,gBAAiB,IAAA4C,gBAAQ,EAACF,QAAQ,EAAE,IAAAC,iBAAS,EAACH,IAAI,EAAExC,MAAM,CAAC,CAAC;QAApD6C,IAAI,aAAJA,IAAI;MAEZ,IAAIA,IAAI,GAAG,CAAC,EAAEL,IAAI,GAAGX,SAAS;IAChC;IACA,IAAI,CAACW,IAAI,EAAE,OAAOT,WAAW,CAAC5B,KAAK,GAAG,EAAE,GAAG0B,SAAS,CAAC;IAErDW,IAAI,GAAG,IAAAG,iBAAS,EAACH,IAAI,EAAExC,MAAM,CAAC;IAC9B,IAAKG,KAAK,KAAK2B,QAAQ,CAACW,MAAM,KAAK,CAAC,IAAInC,KAAK,CAACmC,MAAM,KAAK,CAAC,CAAC,IAAK,CAACtC,KAAK,EAAE;MACtE,IAAM2C,IAAI,GAAG,IAAAzB,6BAAmB,EAACmB,IAAI,CAAC;MACtC,iBAA+B,IAAAI,gBAAQ,EAACrB,QAAQ,EAAEiB,IAAI,CAAC;QAAvCO,UAAU,cAAlBC,MAAM;MAEd,IAAI,CAACzC,QAAQ,KAAKwC,UAAU,IAAIC,MAAM,IAAID,UAAU,GAAG,CAAC,CAAC,EAAEvB,WAAW,CAACsB,IAAI,CAAC,CAAC,KACxE,IAAIvC,QAAQ,EAAE;QACjBT,UAAU,IAAI4B,WAAW,CAAC,IAAAuB,qBAAW,EAACF,UAAU,CAAC,CAAC;QAClDnB,YAAY,CAAC,KAAK,CAAC;MACrB;IACF;IAEAG,WAAW,CAAC5B,KAAK,GAAG,CAAC,IAAA+C,WAAG,EAACV,IAAI,CAAC,EAAElC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAA4C,WAAG,EAAC,IAAAP,iBAAS,EAACrC,KAAK,CAAC,CAAC,CAAC,EAAEN,MAAM,CAAC,CAAC,GAAG6B,SAAS,CAAC,GAAG,IAAAqB,WAAG,EAACV,IAAI,CAAC,CAAC;IACrG;EACF,CAAC,EAAE,CAACxC,MAAM,EAAEC,IAAI,EAAEE,KAAK,EAAEG,KAAK,CAAC,CAAC;EAEhC,IAAA+B,gBAAS,EAAC,YAAM;IACdpC,IAAI,KAAK,CAACK,KAAK,IAAIA,KAAK,CAACmC,MAAM,KAAK,CAAC,IAAI,CAACnC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAIkB,WAAW,CAAC,IAAAH,6BAAmB,EAAC,IAAAsB,iBAAS,EAAC1C,IAAI,EAAED,MAAM,CAAC,CAAC,CAAC;IAChH;EACF,CAAC,EAAE,CAACC,IAAI,CAAC,CAAC;EAEV,IAAAoC,gBAAS,EAAC,YAAM;IACd3B,OAAO,CAACS,KAAK,CAAC;EAChB,CAAC,EAAE,CAACA,KAAK,EAAET,OAAO,CAAC,CAAC;EAEpB,IAAMyC,YAAY,GAAG,SAAfA,YAAY,CAAIX,IAAI,EAAK;IAC7BT,WAAW,CAAC,YAAM;MAChB,IAAIe,IAAI;MAER,IAAI,CAAC3C,KAAK,EAAE;QACV2C,IAAI,GAAGN,IAAI;MACb,CAAC,MAAM,IAAIV,QAAQ,CAAC,CAAC,CAAC,KAAKD,SAAS,IAAIW,IAAI,GAAGV,QAAQ,CAAC,CAAC,CAAC,EAAE;QAC1DgB,IAAI,GAAG,CAAChB,QAAQ,CAAC,CAAC,CAAC,EAAEU,IAAI,CAAC;MAC5B,CAAC,MAAM;QAAA;QACLM,IAAI,GAAG,CAAC,eAAAhB,QAAQ,CAAC,CAAC,CAAC,+CAAX,WAAasB,OAAO,EAAE,MAAKZ,IAAI,CAACY,OAAO,EAAE,GAAGvB,SAAS,GAAGW,IAAI,CAAC;QACrEpB,QAAQ,CAACS,SAAS,CAAC;MACrB;MACApB,QAAQ,CAACqC,IAAI,CAAC;MAEd,OAAOA,IAAI;IACb,CAAC,CAAC;EACJ,CAAC;EAED,IAAMO,WAAW,GAAG,SAAdA,WAAW,CAAIC,KAAK,EAAK;IAC7B9B,WAAW,CAAC,YAAM;MAChB,IAAM+B,SAAS,GAAGpD,KAAK,IAAIG,KAAK,CAAC,CAAC,CAAC,IAAI,CAACA,KAAK,CAAC,CAAC,CAAC,GAAIgD,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAIA,KAAK;MAC/E,IAAMR,IAAI,GAAG,IAAAzB,6BAAmB,EAAC,IAAImC,IAAI,CAACjC,QAAQ,CAACkC,WAAW,EAAE,EAAElC,QAAQ,CAACmC,QAAQ,EAAE,GAAGH,SAAS,CAAC,CAAC;MAEnG5C,YAAY,CAACmC,IAAI,CAAC;MAClB,OAAOA,IAAI;IACb,CAAC,CAAC;EACJ,CAAC;EAED,IAAMa,YAAY,GAAG,SAAfA,YAAY,CAAIC,KAAK,EAAK;IAC9B,IAAIrD,QAAQ,EAAEqB,YAAY,CAAC,IAAI,CAAC;IAEhChB,QAAQ,CAACgD,KAAK,CAAC;IACf1C,WAAW,EAAE;IACbe,YAAY,CAACuB,IAAI,CAACK,GAAG,EAAE,CAAC;EAC1B,CAAC;EAED,IAAQC,MAAM,GAA0BjD,MAAM,CAAtCiD,MAAM;IAAEC,mBAAmB,GAAKlD,MAAM,CAA9BkD,mBAAmB;EACnC,IAAMC,SAAS,GAA2BnD,MAAM,CAA1CmD,SAAS;IAAA,iBAA2BnD,MAAM,CAA/BmC,MAAM;IAANA,MAAM,+BAAG,CAAC;IAAKiB,KAAK,4BAAKpD,MAAM;EAEhD,IAAMqD,KAAK,GAAG,IAAA5C,kBAAQ,GAAE;EACxB,IAAM6C,UAAU,GAAG5C,QAAQ,CAAC6B,OAAO,EAAE;EACrC,IAAMgB,YAAY,GAAG,IAAA/C,6BAAmB,EAAC6C,KAAK,CAAC,CAACd,OAAO,EAAE;EACzD,IAAMiB,gBAAgB,GACnBtE,YAAY,IAAIoE,UAAU,IAAIC,YAAY,IAC1CnE,IAAI,IAAIkE,UAAU,IAAI,IAAA9C,6BAAmB,EAAC,IAAAsB,iBAAS,EAAC1C,IAAI,EAAED,MAAM,CAAC,CAAC,CAACoD,OAAO,EAAG;EAEhF,IAAMkB,YAAY,GAChBjE,EAAE,IAAI,IAAAsC,iBAAS,EAACtC,EAAE,EAAEL,MAAM,CAAC,CAACoD,OAAO,EAAE,IAAI,IAAA/B,6BAAmB,EAAC,IAAAkD,gBAAQ,EAAChD,QAAQ,EAAEyB,MAAM,EAAE,QAAQ,CAAC,CAAC,CAACI,OAAO,EAAE;EAE9Ga,KAAK,mCACAA,KAAK;IACRlE,YAAY,EAAZA,YAAY;IACZoB,KAAK,EAALA,KAAK;IACLnB,MAAM,EAANA,MAAM;IACNC,IAAI,EAAEA,IAAI,GAAG,IAAA0C,iBAAS,EAAC1C,IAAI,EAAED,MAAM,CAAC,GAAG6B,SAAS;IAChD3B,MAAM,EAANA,MAAM;IACNC,KAAK,EAALA,KAAK;IACLqE,IAAI,EAAE3D,MAAM,CAAC2D,IAAI,IAAI,UAAU;IAC/B1C,QAAQ,EAARA,QAAQ;IACRE,SAAS,EAATA,SAAS;IACT3B,EAAE,EACAF,KAAK,IACLC,YAAY,IACZ0B,QAAQ,CAAC,CAAC,CAAC,IACX,CAACA,QAAQ,CAAC,CAAC,CAAC,KACX,CAACzB,EAAE,IAAI,IAAAkE,gBAAQ,EAACzC,QAAQ,CAAC,CAAC,CAAC,EAAE1B,YAAY,EAAE,MAAM,CAAC,GAAG,IAAAuC,iBAAS,EAACtC,EAAE,EAAEL,MAAM,CAAC,CAAC,GACxE,IAAAuE,gBAAQ,EAACzC,QAAQ,CAAC,CAAC,CAAC,EAAE1B,YAAY,EAAE,MAAM,CAAC,GAC3CC,EAAE,GACF,IAAAsC,iBAAS,EAACtC,EAAE,EAAEL,MAAM,CAAC,GACrB6B,SAAS;IACf4C,QAAQ,EAAE,CAAClE,QAAQ,IAAI,CAACoB,SAAS,GAAGsC,KAAK,CAACQ,QAAQ,GAAG,CAAC,CAAC;IACvDhE,QAAQ,EAAE0C,YAAY;IACtBzC,OAAO,EAAE,CAACK,QAAQ,GAAGK,QAAQ,GAAGS;EAAS,EAC1C;EAED,IAAItB,QAAQ,IAAIF,EAAE,EAAE2C,MAAM,GAAG,IAAAJ,gBAAQ,EAACsB,KAAK,EAAE,IAAAvB,iBAAS,EAACtC,EAAE,EAAEL,MAAM,CAAC,CAAC,CAACgD,MAAM,GAAG,CAAC;EAE9E,oBACE,6BAAC,gBAAI;IAAC,SAAS,EAAE,IAAA0B,eAAM,EAACC,uBAAK,CAACC,SAAS,EAAErE,QAAQ,IAAIoE,uBAAK,CAACpE,QAAQ,EAAEyD,SAAS,CAAE;IAAC,MAAM,EAAEF;EAAO,GAC7FvD,QAAQ,iBAAI,6BAAC,mBAAQ;IAAC,MAAM,EAAEL,MAAO;IAAC,QAAQ,EAAEK;EAAS,EAAG,eAC7D,6BAAC,sBAAU;IACT,QAAQ,EAAEU,QAAS;IACnB,UAAU,EAAE,CAACV,QAAS;IACtB,QAAQ,EAAEkB,QAAS;IACnB,SAAS,EAAEkD,uBAAK,CAACE,UAAW;IAC5B,mBAAmB,EAAEd,mBAAoB;IACzC,QAAQ,EAAEJ;EAAa,GAEtBmB,KAAK,CAAC7E,IAAI,CAAC;IAAEwC,MAAM,EAAEO;EAAO,CAAC,EAAE,UAAC+B,CAAC,EAAEC,KAAK;IAAA,oBACvC,6BAAC,eAAK;MACJ,QAAQ,EAAE,IAAIxB,IAAI,CAACjC,QAAQ,CAACkC,WAAW,EAAE,EAAElC,QAAQ,CAACmC,QAAQ,EAAE,GAAGsB,KAAK,EAAE,CAAC,CAAE,CAAC;MAAA;MAC5E,GAAG,EAAEA,KAAM;MACX,GAAG,EAAEzE,QAAQ,IAAIJ,KAAK,GAAG,IAAA8E,qBAAW,EAAC;QAAEnF,UAAU,EAAVA,UAAU;QAAEqC,EAAE,EAAFA,EAAE;QAAE6C,KAAK,EAALA,KAAK;QAAEzD,QAAQ,EAARA,QAAQ;QAAEO,QAAQ,EAARA,QAAQ;QAAExB,KAAK,EAALA;MAAM,CAAC,CAAC,GAAGuB,SAAU;MACvG,QAAQ,EAAEtB,QAAS;MACnB,MAAM,EAAE,CAACA,QAAQ,IAAIyE,KAAK,KAAKhC,MAAM,GAAG,CAAC,IAAI,CAACsB,YAAY,GAAG;QAAA,OAAMjB,WAAW,CAACL,MAAM,CAAC;MAAA,IAAGnB,SAAU;MACnG,UAAU,EAAE,CAACtB,QAAQ,IAAIyE,KAAK,KAAK,CAAC,IAAI,CAACX,gBAAgB,GAAG;QAAA,OAAMhB,WAAW,CAAC,CAACL,MAAM,CAAC;MAAA,IAAGnB;IAAU,GAC/FoC,KAAK;MACT,MAAM,EAAEH;IAAO,GACf;EAAA,CACH,CAAC,CACS,CACR;AAEX,CAAC;AAAC;AAEFjE,QAAQ,CAACqF,WAAW,GAAG,oBAAoB;AAE3CrF,QAAQ,CAACsF,SAAS,GAAG;EACnBrF,UAAU,EAAEsF,kBAAS,CAACC,IAAI;EAC1BC,QAAQ,EAAEF,kBAAS,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC;EAC7BC,aAAa,EAAEJ,kBAAS,CAACK,OAAO,CAACL,kBAAS,CAACM,MAAM,CAAC;EAClD3F,YAAY,EAAEqF,kBAAS,CAACC,IAAI;EAC5BrF,MAAM,EAAEoF,kBAAS,CAACM,MAAM;EACxBzF,IAAI,EAAEmF,kBAAS,CAACM,MAAM;EACtBC,UAAU,EAAEP,kBAAS,CAACK,OAAO,CAACL,kBAAS,CAACM,MAAM,CAAC;EAC/CxF,MAAM,EAAEkF,kBAAS,CAACM,MAAM;EACxB1C,MAAM,EAAEoC,kBAAS,CAACQ,MAAM;EACxBzF,KAAK,EAAEiF,kBAAS,CAACC,IAAI;EACrBjF,YAAY,EAAEgF,kBAAS,CAACQ,MAAM;EAC9BC,YAAY,EAAET,kBAAS,CAACQ,MAAM;EAC9BvF,EAAE,EAAE+E,kBAAS,CAACM,MAAM;EACpBjB,QAAQ,EAAEW,kBAAS,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC;EAC7BjF,KAAK,EAAE8E,kBAAS,CAACU,SAAS,CAAC,CAACV,kBAAS,CAACM,MAAM,EAAEN,kBAAS,CAACK,OAAO,CAACL,kBAAS,CAACM,MAAM,CAAC,CAAC,CAAC;EACnFnF,QAAQ,EAAE6E,kBAAS,CAACC,IAAI;EACxB5E,QAAQ,EAAE2E,kBAAS,CAACW,IAAI;EACxBrF,OAAO,EAAE0E,kBAAS,CAACW,IAAI;EACvBpF,YAAY,EAAEyE,kBAAS,CAACW,IAAI;EAC5BnF,QAAQ,EAAEwE,kBAAS,CAACW;AACtB,CAAC"}
@@ -144,6 +144,7 @@ Story.args = {
144
144
  text: '10.95$'
145
145
  }), _tooltips),
146
146
  value: [(0, _locale.dateFormat)((0, _locale.dateCalc)(today, 10, 'days')), (0, _locale.dateFormat)((0, _locale.dateCalc)(today, 13, 'days'))],
147
+ vertical: false,
147
148
  onNavigation: function onNavigation() {
148
149
  var _console3;
149
150
  for (var _len3 = arguments.length, props = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.stories.js","names":["title","format","today","Date","Story","props","useState","focus","setFocus","value","setValue","handleChange","from","to","console","log","dateFormat","undefined","handleFocus","nextFocus","dateDiff","parseDate","nights","days","tooltips","text","rangeMinDays","pressable","storyName","args","captions","dateCalc","disabledDates","disabledPast","highlights","locale","months","range","rangeMaxDays","onNavigation","onScroll","testId","style","argTypes","options","control","type","defaultValue"],"sources":["../../../src/components/Calendar/Calendar.stories.jsx"],"sourcesContent":["import { dateCalc, dateDiff, dateFormat, parseDate } from '@mirai/locale';\nimport React, { useState } from 'react';\n\nimport { Calendar } from './Calendar';\n\nexport default { title: 'Components' };\n\nconst format = 'DD/MM/YYYY';\nconst today = new Date();\n\nexport const Story = (props) => {\n const [focus, setFocus] = useState();\n const [value, setValue] = useState(props.value || []);\n\n const handleChange = ([from, to], ...props) => {\n console.log('<Calendar>::onChange', [from, to], ...props);\n setValue([from ? dateFormat(from, { format }) : undefined, to ? dateFormat(to, { format }) : undefined]);\n };\n\n const handleFocus = (nextFocus, ...props) => {\n console.log('<Calendar>::onFocus', nextFocus, ...props);\n setFocus(nextFocus ? dateFormat(nextFocus, { format }) : undefined);\n };\n\n const [from, to] = value;\n const { days: nights } = dateDiff(parseDate(from, format), parseDate(to || focus, format));\n\n const tooltips = from ? {} : props.tooltips;\n if (from && !to) tooltips[from] = { text: `Min. ${props.rangeMinDays} nights`, pressable: false };\n if (to && nights < 5) tooltips[to] = { text: 'Need more nights', pressable: false };\n else if (!to && from && focus && focus > from) tooltips[focus] = { text: `${nights} nights`, pressable: false };\n\n return <Calendar {...props} {...{ tooltips, value }} onChange={handleChange} onFocus={handleFocus} />;\n};\n\nStory.storyName = 'Calendar';\n\nStory.args = {\n captions: {\n [dateFormat(dateCalc(today, -2, 'days'), { format })]: '10.95$',\n [dateFormat(dateCalc(today, 6, 'days'), { format })]: '10.95$',\n [dateFormat(dateCalc(today, 8, 'days'), { format })]: '129510.95$',\n [dateFormat(dateCalc(today, 16, 'days'), { format })]: '10.95$',\n [dateFormat(dateCalc(today, 18, 'days'), { format })]: '9.95$',\n },\n disabledDates: [\n dateFormat(dateCalc(today, 20, 'days'), { format }),\n dateFormat(dateCalc(today, 21, 'days'), { format }),\n dateFormat(dateCalc(today, 22, 'days'), { format }),\n dateFormat(dateCalc(today, 23, 'days'), { format }),\n dateFormat(dateCalc(today, 24, 'days'), { format }),\n ],\n disabledPast: true,\n format,\n from: dateFormat(dateCalc(today, 2, 'days')),\n highlights: [\n dateFormat(dateCalc(today, 6, 'days'), { format }),\n dateFormat(dateCalc(today, 10, 'days'), { format }),\n dateFormat(dateCalc(today, 12, 'days'), { format }),\n dateFormat(dateCalc(today, 14, 'days'), { format }),\n dateFormat(dateCalc(today, 16, 'days'), { format }),\n ],\n locale: 'en-US',\n months: 2,\n range: true,\n rangeMaxDays: 30,\n rangeMinDays: 3,\n to: dateFormat(dateCalc(today, 6, 'months')),\n tooltips: {\n [dateFormat(dateCalc(today, 15, 'days'), { format })]: { text: '10.95$' },\n [dateFormat(dateCalc(today, 30, 'days'), { format })]: { text: '10.95$' },\n [dateFormat(dateCalc(today, 45, 'days'), { format })]: { text: '10.95$' },\n },\n value: [dateFormat(dateCalc(today, 10, 'days')), dateFormat(dateCalc(today, 13, 'days'))],\n onNavigation: (...props) => console.log('<Calendar>::onNavigation', ...props),\n onScroll: (...props) => console.log('<Calendar>::onScroll', ...props),\n // inherited properties\n testId: 'test-story',\n style: {},\n};\n\nStory.argTypes = {\n locale: {\n options: ['es-ES', 'en-GB', 'en-US', 'fr-FR', 'it-IT', 'pt-PT', 'fr-BE', 'de-DE', 'ja-JA'],\n control: { type: 'select' },\n defaultValue: 'es-ES',\n },\n};\n"],"mappings":";;;;;;;AAAA;AACA;AAEA;AAAsC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAEvB;EAAEA,KAAK,EAAE;AAAa,CAAC;AAAA;AAEtC,IAAMC,MAAM,GAAG,YAAY;AAC3B,IAAMC,KAAK,GAAG,IAAIC,IAAI,EAAE;AAEjB,IAAMC,KAAK,GAAG,SAARA,KAAK,CAAIC,KAAK,EAAK;EAC9B,gBAA0B,IAAAC,eAAQ,GAAE;IAAA;IAA7BC,KAAK;IAAEC,QAAQ;EACtB,iBAA0B,IAAAF,eAAQ,EAACD,KAAK,CAACI,KAAK,IAAI,EAAE,CAAC;IAAA;IAA9CA,KAAK;IAAEC,QAAQ;EAEtB,IAAMC,YAAY,GAAG,SAAfA,YAAY,OAA6B;IAAA;IAAA;MAAxBC,IAAI;MAAEC,EAAE;IAAA,kCAAMR,KAAK;MAALA,KAAK;IAAA;IACxC,YAAAS,OAAO,EAACC,GAAG,kBAAC,sBAAsB,EAAE,CAACH,IAAI,EAAEC,EAAE,CAAC,SAAKR,KAAK,EAAC;IACzDK,QAAQ,CAAC,CAACE,IAAI,GAAG,IAAAI,kBAAU,EAACJ,IAAI,EAAE;MAAEX,MAAM,EAANA;IAAO,CAAC,CAAC,GAAGgB,SAAS,EAAEJ,EAAE,GAAG,IAAAG,kBAAU,EAACH,EAAE,EAAE;MAAEZ,MAAM,EAANA;IAAO,CAAC,CAAC,GAAGgB,SAAS,CAAC,CAAC;EAC1G,CAAC;EAED,IAAMC,WAAW,GAAG,SAAdA,WAAW,CAAIC,SAAS,EAAe;IAAA;IAAA,mCAAVd,KAAK;MAALA,KAAK;IAAA;IACtC,aAAAS,OAAO,EAACC,GAAG,mBAAC,qBAAqB,EAAEI,SAAS,SAAKd,KAAK,EAAC;IACvDG,QAAQ,CAACW,SAAS,GAAG,IAAAH,kBAAU,EAACG,SAAS,EAAE;MAAElB,MAAM,EAANA;IAAO,CAAC,CAAC,GAAGgB,SAAS,CAAC;EACrE,CAAC;EAED,4BAAmBR,KAAK;IAAjBG,IAAI;IAAEC,EAAE;EACf,gBAAyB,IAAAO,gBAAQ,EAAC,IAAAC,iBAAS,EAACT,IAAI,EAAEX,MAAM,CAAC,EAAE,IAAAoB,iBAAS,EAACR,EAAE,IAAIN,KAAK,EAAEN,MAAM,CAAC,CAAC;IAA5EqB,MAAM,aAAZC,IAAI;EAEZ,IAAMC,QAAQ,GAAGZ,IAAI,GAAG,CAAC,CAAC,GAAGP,KAAK,CAACmB,QAAQ;EAC3C,IAAIZ,IAAI,IAAI,CAACC,EAAE,EAAEW,QAAQ,CAACZ,IAAI,CAAC,GAAG;IAAEa,IAAI,iBAAUpB,KAAK,CAACqB,YAAY,YAAS;IAAEC,SAAS,EAAE;EAAM,CAAC;EACjG,IAAId,EAAE,IAAIS,MAAM,GAAG,CAAC,EAAEE,QAAQ,CAACX,EAAE,CAAC,GAAG;IAAEY,IAAI,EAAE,kBAAkB;IAAEE,SAAS,EAAE;EAAM,CAAC,CAAC,KAC/E,IAAI,CAACd,EAAE,IAAID,IAAI,IAAIL,KAAK,IAAIA,KAAK,GAAGK,IAAI,EAAEY,QAAQ,CAACjB,KAAK,CAAC,GAAG;IAAEkB,IAAI,YAAKH,MAAM,YAAS;IAAEK,SAAS,EAAE;EAAM,CAAC;EAE/G,oBAAO,6BAAC,kBAAQ,eAAKtB,KAAK;IAAQmB,QAAQ,EAARA,QAAQ;IAAEf,KAAK,EAALA,KAAK;IAAI,QAAQ,EAAEE,YAAa;IAAC,OAAO,EAAEO;EAAY,GAAG;AACvG,CAAC;AAAC;AAEFd,KAAK,CAACwB,SAAS,GAAG,UAAU;AAE5BxB,KAAK,CAACyB,IAAI,GAAG;EACXC,QAAQ,8CACL,IAAAd,kBAAU,EAAC,IAAAe,gBAAQ,EAAC7B,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE;IAAED,MAAM,EAANA;EAAO,CAAC,CAAC,EAAG,QAAQ,8BAC9D,IAAAe,kBAAU,EAAC,IAAAe,gBAAQ,EAAC7B,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE;IAAED,MAAM,EAANA;EAAO,CAAC,CAAC,EAAG,QAAQ,8BAC7D,IAAAe,kBAAU,EAAC,IAAAe,gBAAQ,EAAC7B,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE;IAAED,MAAM,EAANA;EAAO,CAAC,CAAC,EAAG,YAAY,8BACjE,IAAAe,kBAAU,EAAC,IAAAe,gBAAQ,EAAC7B,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE;IAAED,MAAM,EAANA;EAAO,CAAC,CAAC,EAAG,QAAQ,8BAC9D,IAAAe,kBAAU,EAAC,IAAAe,gBAAQ,EAAC7B,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE;IAAED,MAAM,EAANA;EAAO,CAAC,CAAC,EAAG,OAAO,aAC/D;EACD+B,aAAa,EAAE,CACb,IAAAhB,kBAAU,EAAC,IAAAe,gBAAQ,EAAC7B,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE;IAAED,MAAM,EAANA;EAAO,CAAC,CAAC,EACnD,IAAAe,kBAAU,EAAC,IAAAe,gBAAQ,EAAC7B,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE;IAAED,MAAM,EAANA;EAAO,CAAC,CAAC,EACnD,IAAAe,kBAAU,EAAC,IAAAe,gBAAQ,EAAC7B,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE;IAAED,MAAM,EAANA;EAAO,CAAC,CAAC,EACnD,IAAAe,kBAAU,EAAC,IAAAe,gBAAQ,EAAC7B,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE;IAAED,MAAM,EAANA;EAAO,CAAC,CAAC,EACnD,IAAAe,kBAAU,EAAC,IAAAe,gBAAQ,EAAC7B,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE;IAAED,MAAM,EAANA;EAAO,CAAC,CAAC,CACpD;EACDgC,YAAY,EAAE,IAAI;EAClBhC,MAAM,EAANA,MAAM;EACNW,IAAI,EAAE,IAAAI,kBAAU,EAAC,IAAAe,gBAAQ,EAAC7B,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;EAC5CgC,UAAU,EAAE,CACV,IAAAlB,kBAAU,EAAC,IAAAe,gBAAQ,EAAC7B,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE;IAAED,MAAM,EAANA;EAAO,CAAC,CAAC,EAClD,IAAAe,kBAAU,EAAC,IAAAe,gBAAQ,EAAC7B,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE;IAAED,MAAM,EAANA;EAAO,CAAC,CAAC,EACnD,IAAAe,kBAAU,EAAC,IAAAe,gBAAQ,EAAC7B,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE;IAAED,MAAM,EAANA;EAAO,CAAC,CAAC,EACnD,IAAAe,kBAAU,EAAC,IAAAe,gBAAQ,EAAC7B,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE;IAAED,MAAM,EAANA;EAAO,CAAC,CAAC,EACnD,IAAAe,kBAAU,EAAC,IAAAe,gBAAQ,EAAC7B,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE;IAAED,MAAM,EAANA;EAAO,CAAC,CAAC,CACpD;EACDkC,MAAM,EAAE,OAAO;EACfC,MAAM,EAAE,CAAC;EACTC,KAAK,EAAE,IAAI;EACXC,YAAY,EAAE,EAAE;EAChBZ,YAAY,EAAE,CAAC;EACfb,EAAE,EAAE,IAAAG,kBAAU,EAAC,IAAAe,gBAAQ,EAAC7B,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;EAC5CsB,QAAQ,8CACL,IAAAR,kBAAU,EAAC,IAAAe,gBAAQ,EAAC7B,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE;IAAED,MAAM,EAANA;EAAO,CAAC,CAAC,EAAG;IAAEwB,IAAI,EAAE;EAAS,CAAC,8BACxE,IAAAT,kBAAU,EAAC,IAAAe,gBAAQ,EAAC7B,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE;IAAED,MAAM,EAANA;EAAO,CAAC,CAAC,EAAG;IAAEwB,IAAI,EAAE;EAAS,CAAC,8BACxE,IAAAT,kBAAU,EAAC,IAAAe,gBAAQ,EAAC7B,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE;IAAED,MAAM,EAANA;EAAO,CAAC,CAAC,EAAG;IAAEwB,IAAI,EAAE;EAAS,CAAC,aAC1E;EACDhB,KAAK,EAAE,CAAC,IAAAO,kBAAU,EAAC,IAAAe,gBAAQ,EAAC7B,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,IAAAc,kBAAU,EAAC,IAAAe,gBAAQ,EAAC7B,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;EACzFqC,YAAY,EAAE;IAAA;IAAA,mCAAIlC,KAAK;MAALA,KAAK;IAAA;IAAA,OAAK,aAAAS,OAAO,EAACC,GAAG,mBAAC,0BAA0B,SAAKV,KAAK,EAAC;EAAA;EAC7EmC,QAAQ,EAAE;IAAA;IAAA,mCAAInC,KAAK;MAALA,KAAK;IAAA;IAAA,OAAK,aAAAS,OAAO,EAACC,GAAG,mBAAC,sBAAsB,SAAKV,KAAK,EAAC;EAAA;EACrE;EACAoC,MAAM,EAAE,YAAY;EACpBC,KAAK,EAAE,CAAC;AACV,CAAC;AAEDtC,KAAK,CAACuC,QAAQ,GAAG;EACfR,MAAM,EAAE;IACNS,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IAC1FC,OAAO,EAAE;MAAEC,IAAI,EAAE;IAAS,CAAC;IAC3BC,YAAY,EAAE;EAChB;AACF,CAAC"}
1
+ {"version":3,"file":"Calendar.stories.js","names":["title","format","today","Date","Story","props","useState","focus","setFocus","value","setValue","handleChange","from","to","console","log","dateFormat","undefined","handleFocus","nextFocus","dateDiff","parseDate","nights","days","tooltips","text","rangeMinDays","pressable","storyName","args","captions","dateCalc","disabledDates","disabledPast","highlights","locale","months","range","rangeMaxDays","vertical","onNavigation","onScroll","testId","style","argTypes","options","control","type","defaultValue"],"sources":["../../../src/components/Calendar/Calendar.stories.jsx"],"sourcesContent":["import { dateCalc, dateDiff, dateFormat, parseDate } from '@mirai/locale';\nimport React, { useState } from 'react';\n\nimport { Calendar } from './Calendar';\n\nexport default { title: 'Components' };\n\nconst format = 'DD/MM/YYYY';\nconst today = new Date();\n\nexport const Story = (props) => {\n const [focus, setFocus] = useState();\n const [value, setValue] = useState(props.value || []);\n\n const handleChange = ([from, to], ...props) => {\n console.log('<Calendar>::onChange', [from, to], ...props);\n setValue([from ? dateFormat(from, { format }) : undefined, to ? dateFormat(to, { format }) : undefined]);\n };\n\n const handleFocus = (nextFocus, ...props) => {\n console.log('<Calendar>::onFocus', nextFocus, ...props);\n setFocus(nextFocus ? dateFormat(nextFocus, { format }) : undefined);\n };\n\n const [from, to] = value;\n const { days: nights } = dateDiff(parseDate(from, format), parseDate(to || focus, format));\n\n const tooltips = from ? {} : props.tooltips;\n if (from && !to) tooltips[from] = { text: `Min. ${props.rangeMinDays} nights`, pressable: false };\n if (to && nights < 5) tooltips[to] = { text: 'Need more nights', pressable: false };\n else if (!to && from && focus && focus > from) tooltips[focus] = { text: `${nights} nights`, pressable: false };\n\n return <Calendar {...props} {...{ tooltips, value }} onChange={handleChange} onFocus={handleFocus} />;\n};\n\nStory.storyName = 'Calendar';\n\nStory.args = {\n captions: {\n [dateFormat(dateCalc(today, -2, 'days'), { format })]: '10.95$',\n [dateFormat(dateCalc(today, 6, 'days'), { format })]: '10.95$',\n [dateFormat(dateCalc(today, 8, 'days'), { format })]: '129510.95$',\n [dateFormat(dateCalc(today, 16, 'days'), { format })]: '10.95$',\n [dateFormat(dateCalc(today, 18, 'days'), { format })]: '9.95$',\n },\n disabledDates: [\n dateFormat(dateCalc(today, 20, 'days'), { format }),\n dateFormat(dateCalc(today, 21, 'days'), { format }),\n dateFormat(dateCalc(today, 22, 'days'), { format }),\n dateFormat(dateCalc(today, 23, 'days'), { format }),\n dateFormat(dateCalc(today, 24, 'days'), { format }),\n ],\n disabledPast: true,\n format,\n from: dateFormat(dateCalc(today, 2, 'days')),\n highlights: [\n dateFormat(dateCalc(today, 6, 'days'), { format }),\n dateFormat(dateCalc(today, 10, 'days'), { format }),\n dateFormat(dateCalc(today, 12, 'days'), { format }),\n dateFormat(dateCalc(today, 14, 'days'), { format }),\n dateFormat(dateCalc(today, 16, 'days'), { format }),\n ],\n locale: 'en-US',\n months: 2,\n range: true,\n rangeMaxDays: 30,\n rangeMinDays: 3,\n to: dateFormat(dateCalc(today, 6, 'months')),\n tooltips: {\n [dateFormat(dateCalc(today, 15, 'days'), { format })]: { text: '10.95$' },\n [dateFormat(dateCalc(today, 30, 'days'), { format })]: { text: '10.95$' },\n [dateFormat(dateCalc(today, 45, 'days'), { format })]: { text: '10.95$' },\n },\n value: [dateFormat(dateCalc(today, 10, 'days')), dateFormat(dateCalc(today, 13, 'days'))],\n vertical: false,\n onNavigation: (...props) => console.log('<Calendar>::onNavigation', ...props),\n onScroll: (...props) => console.log('<Calendar>::onScroll', ...props),\n // inherited properties\n testId: 'test-story',\n style: {},\n};\n\nStory.argTypes = {\n locale: {\n options: ['es-ES', 'en-GB', 'en-US', 'fr-FR', 'it-IT', 'pt-PT', 'fr-BE', 'de-DE', 'ja-JA'],\n control: { type: 'select' },\n defaultValue: 'es-ES',\n },\n};\n"],"mappings":"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"}
@@ -11,7 +11,7 @@ var _helpers = require("../../helpers");
11
11
  var _primitives = require("../../primitives");
12
12
  var _InputTextModule = _interopRequireDefault(require("../InputText/InputText.module.css"));
13
13
  var _partials = require("../InputText/partials");
14
- var _excluded = ["disabled", "error", "hint", "label", "showRequired", "showState", "success", "warning", "onChange", "onEnter", "onLeave"];
14
+ var _excluded = ["caption", "disabled", "error", "hint", "label", "showRequired", "showState", "success", "warning", "onChange", "onEnter", "onLeave"];
15
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -26,7 +26,8 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
26
26
  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; }
27
27
  var InputSelect = function InputSelect(_ref) {
28
28
  var _others$value;
29
- var disabled = _ref.disabled,
29
+ var caption = _ref.caption,
30
+ disabled = _ref.disabled,
30
31
  error = _ref.error,
31
32
  hint = _ref.hint,
32
33
  label = _ref.label,
@@ -72,7 +73,11 @@ var InputSelect = function InputSelect(_ref) {
72
73
  }, /*#__PURE__*/_react.default.createElement(_primitives.View, {
73
74
  row: true,
74
75
  className: (0, _helpers.styles)(_InputTextModule.default.inputBorder, disabled && _InputTextModule.default.disabled, focus && !error && _InputTextModule.default.focus, error && _InputTextModule.default.error)
75
- }, /*#__PURE__*/_react.default.createElement(_primitives.View, {
76
+ }, caption && /*#__PURE__*/_react.default.createElement(_primitives.Text, {
77
+ action: true,
78
+ lighten: true,
79
+ className: _InputTextModule.default.caption
80
+ }, caption), /*#__PURE__*/_react.default.createElement(_primitives.View, {
76
81
  wide: true,
77
82
  className: _InputTextModule.default.content
78
83
  }, label && /*#__PURE__*/_react.default.createElement(_partials.Label, {
@@ -106,6 +111,7 @@ var InputSelect = function InputSelect(_ref) {
106
111
  exports.InputSelect = InputSelect;
107
112
  InputSelect.displayName = 'Component:InputSelect';
108
113
  InputSelect.propTypes = {
114
+ caption: _propTypes.default.string,
109
115
  disabled: _propTypes.default.bool,
110
116
  error: _propTypes.default.bool,
111
117
  hint: _propTypes.default.string,
@@ -1 +1 @@
1
- {"version":3,"file":"InputSelect.js","names":["InputSelect","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","bool","string","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, View } from '../../primitives';\nimport style from '../InputText/InputText.module.css';\nimport { Hint, IconState, Label } from '../InputText/partials';\n\nconst InputSelect = ({\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 <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 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 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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"}
@@ -57,6 +57,7 @@ var Story = function Story(props) {
57
57
  exports.Story = Story;
58
58
  Story.storyName = 'InputSelect';
59
59
  Story.args = {
60
+ caption: '%',
60
61
  disabled: false,
61
62
  emptyOption: 'Select one option...',
62
63
  error: false,
@@ -1 +1 @@
1
- {"version":3,"file":"InputSelect.stories.js","names":["title","Story","props","useState","value","setValue","handleChange","next","others","console","log","handleEnter","handleLeave","storyName","args","disabled","emptyOption","error","hint","label","name","required","showRequired","showState","success","warning","options","testId","style","argTypes"],"sources":["../../../src/components/InputSelect/InputSelect.stories.jsx"],"sourcesContent":["import React, { useState } from 'react';\n\nimport { InputSelect } from './InputSelect';\n\nexport default { title: 'Components' };\n\nexport const Story = (props) => {\n const [value, setValue] = useState('two');\n\n const handleChange = (next, ...others) => {\n setValue(next);\n console.log('<InputSelect>::onChange', next, ...others);\n };\n\n const handleEnter = (...others) => console.log('<InputSelect>::onEnter', ...others);\n\n const handleLeave = (...others) => console.log('<InputSelect>::onLeave', ...others);\n\n return <InputSelect {...props} value={value} onChange={handleChange} onEnter={handleEnter} onLeave={handleLeave} />;\n};\n\nStory.storyName = 'InputSelect';\n\nStory.args = {\n disabled: false,\n emptyOption: 'Select one option...',\n error: false,\n hint: 'hint',\n label: 'label',\n name: 'name',\n required: false,\n showRequired: false,\n showState: true,\n success: false,\n warning: false,\n options: ['one', 'two', 'three', 'four', 'five'],\n // inherited properties\n testId: 'test-story',\n style: {},\n};\n\nStory.argTypes = {};\n"],"mappings":";;;;;;;AAAA;AAEA;AAA4C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAE7B;EAAEA,KAAK,EAAE;AAAa,CAAC;AAAA;AAE/B,IAAMC,KAAK,GAAG,SAARA,KAAK,CAAIC,KAAK,EAAK;EAC9B,gBAA0B,IAAAC,eAAQ,EAAC,KAAK,CAAC;IAAA;IAAlCC,KAAK;IAAEC,QAAQ;EAEtB,IAAMC,YAAY,GAAG,SAAfA,YAAY,CAAIC,IAAI,EAAgB;IAAA;IACxCF,QAAQ,CAACE,IAAI,CAAC;IAAC,kCADcC,MAAM;MAANA,MAAM;IAAA;IAEnC,YAAAC,OAAO,EAACC,GAAG,kBAAC,yBAAyB,EAAEH,IAAI,SAAKC,MAAM,EAAC;EACzD,CAAC;EAED,IAAMG,WAAW,GAAG,SAAdA,WAAW;IAAA;IAAA,mCAAOH,MAAM;MAANA,MAAM;IAAA;IAAA,OAAK,aAAAC,OAAO,EAACC,GAAG,mBAAC,wBAAwB,SAAKF,MAAM,EAAC;EAAA;EAEnF,IAAMI,WAAW,GAAG,SAAdA,WAAW;IAAA;IAAA,mCAAOJ,MAAM;MAANA,MAAM;IAAA;IAAA,OAAK,aAAAC,OAAO,EAACC,GAAG,mBAAC,wBAAwB,SAAKF,MAAM,EAAC;EAAA;EAEnF,oBAAO,6BAAC,wBAAW,eAAKN,KAAK;IAAE,KAAK,EAAEE,KAAM;IAAC,QAAQ,EAAEE,YAAa;IAAC,OAAO,EAAEK,WAAY;IAAC,OAAO,EAAEC;EAAY,GAAG;AACrH,CAAC;AAAC;AAEFX,KAAK,CAACY,SAAS,GAAG,aAAa;AAE/BZ,KAAK,CAACa,IAAI,GAAG;EACXC,QAAQ,EAAE,KAAK;EACfC,WAAW,EAAE,sBAAsB;EACnCC,KAAK,EAAE,KAAK;EACZC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,QAAQ,EAAE,KAAK;EACfC,YAAY,EAAE,KAAK;EACnBC,SAAS,EAAE,IAAI;EACfC,OAAO,EAAE,KAAK;EACdC,OAAO,EAAE,KAAK;EACdC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;EAChD;EACAC,MAAM,EAAE,YAAY;EACpBC,KAAK,EAAE,CAAC;AACV,CAAC;AAED3B,KAAK,CAAC4B,QAAQ,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"InputSelect.stories.js","names":["title","Story","props","useState","value","setValue","handleChange","next","others","console","log","handleEnter","handleLeave","storyName","args","caption","disabled","emptyOption","error","hint","label","name","required","showRequired","showState","success","warning","options","testId","style","argTypes"],"sources":["../../../src/components/InputSelect/InputSelect.stories.jsx"],"sourcesContent":["import React, { useState } from 'react';\n\nimport { InputSelect } from './InputSelect';\n\nexport default { title: 'Components' };\n\nexport const Story = (props) => {\n const [value, setValue] = useState('two');\n\n const handleChange = (next, ...others) => {\n setValue(next);\n console.log('<InputSelect>::onChange', next, ...others);\n };\n\n const handleEnter = (...others) => console.log('<InputSelect>::onEnter', ...others);\n\n const handleLeave = (...others) => console.log('<InputSelect>::onLeave', ...others);\n\n return <InputSelect {...props} value={value} onChange={handleChange} onEnter={handleEnter} onLeave={handleLeave} />;\n};\n\nStory.storyName = 'InputSelect';\n\nStory.args = {\n caption: '%',\n disabled: false,\n emptyOption: 'Select one option...',\n error: false,\n hint: 'hint',\n label: 'label',\n name: 'name',\n required: false,\n showRequired: false,\n showState: true,\n success: false,\n warning: false,\n options: ['one', 'two', 'three', 'four', 'five'],\n // inherited properties\n testId: 'test-story',\n style: {},\n};\n\nStory.argTypes = {};\n"],"mappings":";;;;;;;AAAA;AAEA;AAA4C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAE7B;EAAEA,KAAK,EAAE;AAAa,CAAC;AAAA;AAE/B,IAAMC,KAAK,GAAG,SAARA,KAAK,CAAIC,KAAK,EAAK;EAC9B,gBAA0B,IAAAC,eAAQ,EAAC,KAAK,CAAC;IAAA;IAAlCC,KAAK;IAAEC,QAAQ;EAEtB,IAAMC,YAAY,GAAG,SAAfA,YAAY,CAAIC,IAAI,EAAgB;IAAA;IACxCF,QAAQ,CAACE,IAAI,CAAC;IAAC,kCADcC,MAAM;MAANA,MAAM;IAAA;IAEnC,YAAAC,OAAO,EAACC,GAAG,kBAAC,yBAAyB,EAAEH,IAAI,SAAKC,MAAM,EAAC;EACzD,CAAC;EAED,IAAMG,WAAW,GAAG,SAAdA,WAAW;IAAA;IAAA,mCAAOH,MAAM;MAANA,MAAM;IAAA;IAAA,OAAK,aAAAC,OAAO,EAACC,GAAG,mBAAC,wBAAwB,SAAKF,MAAM,EAAC;EAAA;EAEnF,IAAMI,WAAW,GAAG,SAAdA,WAAW;IAAA;IAAA,mCAAOJ,MAAM;MAANA,MAAM;IAAA;IAAA,OAAK,aAAAC,OAAO,EAACC,GAAG,mBAAC,wBAAwB,SAAKF,MAAM,EAAC;EAAA;EAEnF,oBAAO,6BAAC,wBAAW,eAAKN,KAAK;IAAE,KAAK,EAAEE,KAAM;IAAC,QAAQ,EAAEE,YAAa;IAAC,OAAO,EAAEK,WAAY;IAAC,OAAO,EAAEC;EAAY,GAAG;AACrH,CAAC;AAAC;AAEFX,KAAK,CAACY,SAAS,GAAG,aAAa;AAE/BZ,KAAK,CAACa,IAAI,GAAG;EACXC,OAAO,EAAE,GAAG;EACZC,QAAQ,EAAE,KAAK;EACfC,WAAW,EAAE,sBAAsB;EACnCC,KAAK,EAAE,KAAK;EACZC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,QAAQ,EAAE,KAAK;EACfC,YAAY,EAAE,KAAK;EACnBC,SAAS,EAAE,IAAI;EACfC,OAAO,EAAE,KAAK;EACdC,OAAO,EAAE,KAAK;EACdC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;EAChD;EACAC,MAAM,EAAE,YAAY;EACpBC,KAAK,EAAE,CAAC;AACV,CAAC;AAED5B,KAAK,CAAC6B,QAAQ,GAAG,CAAC,CAAC"}
@@ -69,6 +69,80 @@ exports[`component:<InputSelect> inherit:className 1`] = `
69
69
  </DocumentFragment>
70
70
  `;
71
71
 
72
+ exports[`component:<InputSelect> prop:caption 1`] = `
73
+ <DocumentFragment>
74
+ <div
75
+ class="view inputContainer"
76
+ >
77
+ <div
78
+ class="view row inputBorder"
79
+ >
80
+ <span
81
+ class="text action lighten caption"
82
+ >
83
+ caption
84
+ </span>
85
+ <div
86
+ class="view wide content"
87
+ >
88
+ <select
89
+ class="select empty input"
90
+ name="name"
91
+ >
92
+ <option
93
+ value="one"
94
+ >
95
+ one
96
+ </option>
97
+ <option
98
+ value="two"
99
+ >
100
+ two
101
+ </option>
102
+ <option
103
+ value="three"
104
+ >
105
+ three
106
+ </option>
107
+ <option
108
+ value="four"
109
+ >
110
+ four
111
+ </option>
112
+ <option
113
+ value="five"
114
+ >
115
+ five
116
+ </option>
117
+ </select>
118
+ </div>
119
+ <span
120
+ class="icon headline-3 icon select"
121
+ >
122
+ <svg
123
+ fill="currentColor"
124
+ height="1em"
125
+ stroke="currentColor"
126
+ stroke-width="0"
127
+ viewBox="0 0 24 24"
128
+ width="1em"
129
+ xmlns="http://www.w3.org/2000/svg"
130
+ >
131
+ <path
132
+ d="M24 24H0V0h24v24z"
133
+ fill="none"
134
+ opacity=".87"
135
+ />
136
+ <path
137
+ d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6-1.41-1.41z"
138
+ />
139
+ </svg>
140
+ </span>
141
+ </div>
142
+ </div>
143
+ </DocumentFragment>
144
+ `;
145
+
72
146
  exports[`component:<InputSelect> prop:disabled 1`] = `
73
147
  <DocumentFragment>
74
148
  <div
@@ -99,7 +99,11 @@ var InputText = function InputText(_ref) {
99
99
  }, has.icon && /*#__PURE__*/_react.default.createElement(_primitives.Icon, {
100
100
  value: icon || _primitives.ICON.SEARCH,
101
101
  className: (0, _helpers.styles)(_InputTextModule.default.icon, _InputTextModule.default.left, disabled && _InputTextModule.default.disabled, error && _InputTextModule.default.error)
102
- }), /*#__PURE__*/_react.default.createElement(_primitives.View, {
102
+ }), caption && /*#__PURE__*/_react.default.createElement(_primitives.Text, {
103
+ action: true,
104
+ lighten: true,
105
+ className: _InputTextModule.default.caption
106
+ }, caption), /*#__PURE__*/_react.default.createElement(_primitives.View, {
103
107
  wide: true,
104
108
  className: _InputTextModule.default.content
105
109
  }, label && /*#__PURE__*/_react.default.createElement(_partials.Label, {
@@ -125,11 +129,7 @@ var InputText = function InputText(_ref) {
125
129
  return setInputMode(true);
126
130
  },
127
131
  className: (0, _helpers.styles)(_InputTextModule.default.input, has.label && _InputTextModule.default.withLabel, multiLine && _InputTextModule.default.multiLine)
128
- }, others.value)), caption && /*#__PURE__*/_react.default.createElement(_primitives.Text, {
129
- action: true,
130
- lighten: true,
131
- className: _InputTextModule.default.caption
132
- }, caption), markdown && /*#__PURE__*/_react.default.createElement(_primitives.Pressable, {
132
+ }, others.value)), markdown && /*#__PURE__*/_react.default.createElement(_primitives.Pressable, {
133
133
  onPress: function onPress() {
134
134
  return setInputMode(!inputMode);
135
135
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InputText.js","names":["InputText","caption","disabled","error","hint","icon","label","markdown","multiLine","showRequired","showState","success","type","warning","onChange","onEnter","onLeave","others","useState","focus","setFocus","password","setPassword","inputMode","setInputMode","handleChange","value","event","handleEnter","handleLeave","handlePress","is","search","undefined","has","length","stateIcon","role","styles","style","inputContainer","className","inputBorder","ICON","SEARCH","left","content","required","input","withLabel","MARKDOWN","EYE_CLOSE","EYE_OPEN","CLOSE","displayName","propTypes","PropTypes","string","bool","func","name","isRequired"],"sources":["../../../src/components/InputText/InputText.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { ICON, Icon, Input, Pressable, Text, View } from '../../primitives';\nimport style from './InputText.module.css';\nimport { Hint, IconState, Label } from './partials';\n\nconst InputText = ({\n caption,\n disabled,\n error,\n hint,\n icon,\n label,\n markdown,\n multiLine,\n showRequired = false,\n showState = true,\n success,\n type,\n warning,\n onChange = () => {},\n onEnter = () => {},\n onLeave = () => {},\n ...others\n}) => {\n const [focus, setFocus] = useState(false);\n const [password, setPassword] = useState(true);\n const [inputMode, setInputMode] = useState(true);\n\n const handleChange = (value, event) => {\n onChange(value, event);\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 handlePress = (event) => {\n if (is.password) setPassword(!password);\n else if (is.search) onChange(undefined, event);\n };\n\n const is = {\n password: type === 'password',\n search: type === 'search',\n };\n\n const has = {\n icon: !!icon || is.search,\n label: !!label,\n value: others.value !== undefined && (others.value?.length > 0 || typeof others.value === 'number'),\n stateIcon: showState && (error || success || warning),\n };\n\n return (\n <View\n role={others.role || 'input-text'}\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 error && style.error,\n focus && !error && style.focus,\n )}\n >\n {has.icon && (\n <Icon\n value={icon || ICON.SEARCH}\n className={styles(style.icon, style.left, disabled && style.disabled, error && style.error)}\n />\n )}\n <View wide className={style.content}>\n {label && (\n <Label\n {...{ disabled, error, focus, label, required: showRequired && others.required, value: others.value }}\n />\n )}\n\n {inputMode && (\n <Input\n {...{ disabled, multiLine, ...others }}\n type={!is.password || password ? type : 'text'}\n value={others.value || ''}\n className={styles(style.input, has.label && style.withLabel, multiLine && style.multiLine)}\n onChange={handleChange}\n onEnter={handleEnter}\n onLeave={handleLeave}\n />\n )}\n {markdown && !inputMode && (\n <Text\n markdown\n onClick={() => setInputMode(true)}\n className={styles(style.input, has.label && style.withLabel, multiLine && style.multiLine)}\n >\n {others.value}\n </Text>\n )}\n </View>\n\n {caption && (\n <Text action lighten className={style.caption}>\n {caption}\n </Text>\n )}\n\n {markdown && (\n <Pressable onPress={() => setInputMode(!inputMode)}>\n <Icon value={ICON.MARKDOWN} className={styles(style.icon, inputMode && style.disabled)} />\n </Pressable>\n )}\n\n {(is.password || (is.search && has.value)) && !disabled && (\n <Pressable tabIndex={-1} onPress={handlePress}>\n <Icon\n value={is.password ? (password ? ICON.EYE_CLOSE : ICON.EYE_OPEN) : ICON.CLOSE}\n className={styles(style.icon, style.password)}\n />\n </Pressable>\n )}\n\n {has.stateIcon && <IconState {...{ error, success, warning }} />}\n </View>\n\n {hint && <Hint {...{ disabled, error, hint }} />}\n </View>\n );\n};\n\nInputText.displayName = 'Component:InputText';\n\nInputText.propTypes = {\n caption: PropTypes.string,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n hint: PropTypes.string,\n icon: PropTypes.func,\n label: PropTypes.string,\n markdown: PropTypes.bool,\n multiLine: PropTypes.bool,\n name: PropTypes.string.isRequired,\n showRequired: PropTypes.bool,\n showState: PropTypes.bool,\n success: PropTypes.bool,\n type: PropTypes.string,\n warning: PropTypes.bool,\n onChange: PropTypes.func,\n onEnter: PropTypes.func,\n onLeave: PropTypes.func,\n};\n\nexport { InputText };\n"],"mappings":"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"}
1
+ {"version":3,"file":"InputText.js","names":["InputText","caption","disabled","error","hint","icon","label","markdown","multiLine","showRequired","showState","success","type","warning","onChange","onEnter","onLeave","others","useState","focus","setFocus","password","setPassword","inputMode","setInputMode","handleChange","value","event","handleEnter","handleLeave","handlePress","is","search","undefined","has","length","stateIcon","role","styles","style","inputContainer","className","inputBorder","ICON","SEARCH","left","content","required","input","withLabel","MARKDOWN","EYE_CLOSE","EYE_OPEN","CLOSE","displayName","propTypes","PropTypes","string","bool","func","name","isRequired"],"sources":["../../../src/components/InputText/InputText.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { ICON, Icon, Input, Pressable, Text, View } from '../../primitives';\nimport style from './InputText.module.css';\nimport { Hint, IconState, Label } from './partials';\n\nconst InputText = ({\n caption,\n disabled,\n error,\n hint,\n icon,\n label,\n markdown,\n multiLine,\n showRequired = false,\n showState = true,\n success,\n type,\n warning,\n onChange = () => {},\n onEnter = () => {},\n onLeave = () => {},\n ...others\n}) => {\n const [focus, setFocus] = useState(false);\n const [password, setPassword] = useState(true);\n const [inputMode, setInputMode] = useState(true);\n\n const handleChange = (value, event) => {\n onChange(value, event);\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 handlePress = (event) => {\n if (is.password) setPassword(!password);\n else if (is.search) onChange(undefined, event);\n };\n\n const is = {\n password: type === 'password',\n search: type === 'search',\n };\n\n const has = {\n icon: !!icon || is.search,\n label: !!label,\n value: others.value !== undefined && (others.value?.length > 0 || typeof others.value === 'number'),\n stateIcon: showState && (error || success || warning),\n };\n\n return (\n <View\n role={others.role || 'input-text'}\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 error && style.error,\n focus && !error && style.focus,\n )}\n >\n {has.icon && (\n <Icon\n value={icon || ICON.SEARCH}\n className={styles(style.icon, style.left, disabled && style.disabled, error && style.error)}\n />\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 {...{ disabled, error, focus, label, required: showRequired && others.required, value: others.value }}\n />\n )}\n\n {inputMode && (\n <Input\n {...{ disabled, multiLine, ...others }}\n type={!is.password || password ? type : 'text'}\n value={others.value || ''}\n className={styles(style.input, has.label && style.withLabel, multiLine && style.multiLine)}\n onChange={handleChange}\n onEnter={handleEnter}\n onLeave={handleLeave}\n />\n )}\n {markdown && !inputMode && (\n <Text\n markdown\n onClick={() => setInputMode(true)}\n className={styles(style.input, has.label && style.withLabel, multiLine && style.multiLine)}\n >\n {others.value}\n </Text>\n )}\n </View>\n\n {markdown && (\n <Pressable onPress={() => setInputMode(!inputMode)}>\n <Icon value={ICON.MARKDOWN} className={styles(style.icon, inputMode && style.disabled)} />\n </Pressable>\n )}\n\n {(is.password || (is.search && has.value)) && !disabled && (\n <Pressable tabIndex={-1} onPress={handlePress}>\n <Icon\n value={is.password ? (password ? ICON.EYE_CLOSE : ICON.EYE_OPEN) : ICON.CLOSE}\n className={styles(style.icon, style.password)}\n />\n </Pressable>\n )}\n\n {has.stateIcon && <IconState {...{ error, success, warning }} />}\n </View>\n\n {hint && <Hint {...{ disabled, error, hint }} />}\n </View>\n );\n};\n\nInputText.displayName = 'Component:InputText';\n\nInputText.propTypes = {\n caption: PropTypes.string,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n hint: PropTypes.string,\n icon: PropTypes.func,\n label: PropTypes.string,\n markdown: PropTypes.bool,\n multiLine: PropTypes.bool,\n name: PropTypes.string.isRequired,\n showRequired: PropTypes.bool,\n showState: PropTypes.bool,\n success: PropTypes.bool,\n type: PropTypes.string,\n warning: PropTypes.bool,\n onChange: PropTypes.func,\n onEnter: PropTypes.func,\n onLeave: PropTypes.func,\n};\n\nexport { InputText };\n"],"mappings":";;;;;;;AAAA;AACA;AAEA;AACA;AACA;AACA;AAAoD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEpD,IAAMA,SAAS,GAAG,SAAZA,SAAS,OAkBT;EAAA;EAAA,IAjBJC,OAAO,QAAPA,OAAO;IACPC,QAAQ,QAARA,QAAQ;IACRC,KAAK,QAALA,KAAK;IACLC,IAAI,QAAJA,IAAI;IACJC,IAAI,QAAJA,IAAI;IACJC,KAAK,QAALA,KAAK;IACLC,QAAQ,QAARA,QAAQ;IACRC,SAAS,QAATA,SAAS;IAAA,yBACTC,YAAY;IAAZA,YAAY,kCAAG,KAAK;IAAA,sBACpBC,SAAS;IAATA,SAAS,+BAAG,IAAI;IAChBC,OAAO,QAAPA,OAAO;IACPC,IAAI,QAAJA,IAAI;IACJC,OAAO,QAAPA,OAAO;IAAA,qBACPC,QAAQ;IAARA,QAAQ,8BAAG,YAAM,CAAC,CAAC;IAAA,oBACnBC,OAAO;IAAPA,OAAO,6BAAG,YAAM,CAAC,CAAC;IAAA,oBAClBC,OAAO;IAAPA,OAAO,6BAAG,YAAM,CAAC,CAAC;IACfC,MAAM;EAET,gBAA0B,IAAAC,eAAQ,EAAC,KAAK,CAAC;IAAA;IAAlCC,KAAK;IAAEC,QAAQ;EACtB,iBAAgC,IAAAF,eAAQ,EAAC,IAAI,CAAC;IAAA;IAAvCG,QAAQ;IAAEC,WAAW;EAC5B,iBAAkC,IAAAJ,eAAQ,EAAC,IAAI,CAAC;IAAA;IAAzCK,SAAS;IAAEC,YAAY;EAE9B,IAAMC,YAAY,GAAG,SAAfA,YAAY,CAAIC,KAAK,EAAEC,KAAK,EAAK;IACrCb,QAAQ,CAACY,KAAK,EAAEC,KAAK,CAAC;EACxB,CAAC;EAED,IAAMC,WAAW,GAAG,SAAdA,WAAW,CAAID,KAAK,EAAK;IAC7BP,QAAQ,CAAC,IAAI,CAAC;IACdL,OAAO,CAACY,KAAK,CAAC;EAChB,CAAC;EAED,IAAME,WAAW,GAAG,SAAdA,WAAW,CAAIF,KAAK,EAAK;IAC7BP,QAAQ,CAAC,KAAK,CAAC;IACfJ,OAAO,CAACW,KAAK,CAAC;EAChB,CAAC;EAED,IAAMG,WAAW,GAAG,SAAdA,WAAW,CAAIH,KAAK,EAAK;IAC7B,IAAII,EAAE,CAACV,QAAQ,EAAEC,WAAW,CAAC,CAACD,QAAQ,CAAC,CAAC,KACnC,IAAIU,EAAE,CAACC,MAAM,EAAElB,QAAQ,CAACmB,SAAS,EAAEN,KAAK,CAAC;EAChD,CAAC;EAED,IAAMI,EAAE,GAAG;IACTV,QAAQ,EAAET,IAAI,KAAK,UAAU;IAC7BoB,MAAM,EAAEpB,IAAI,KAAK;EACnB,CAAC;EAED,IAAMsB,GAAG,GAAG;IACV7B,IAAI,EAAE,CAAC,CAACA,IAAI,IAAI0B,EAAE,CAACC,MAAM;IACzB1B,KAAK,EAAE,CAAC,CAACA,KAAK;IACdoB,KAAK,EAAET,MAAM,CAACS,KAAK,KAAKO,SAAS,KAAK,kBAAAhB,MAAM,CAACS,KAAK,kDAAZ,cAAcS,MAAM,IAAG,CAAC,IAAI,OAAOlB,MAAM,CAACS,KAAK,KAAK,QAAQ,CAAC;IACnGU,SAAS,EAAE1B,SAAS,KAAKP,KAAK,IAAIQ,OAAO,IAAIE,OAAO;EACtD,CAAC;EAED,oBACE,6BAAC,gBAAI;IACH,IAAI,EAAEI,MAAM,CAACoB,IAAI,IAAI,YAAa;IAClC,SAAS,EAAE,IAAAC,eAAM,EAACC,wBAAK,CAACC,cAAc,EAAEvB,MAAM,CAACwB,SAAS,CAAE;IAC1D,KAAK,EAAExB,MAAM,CAACsB;EAAM,gBAEpB,6BAAC,gBAAI;IACH,GAAG;IACH,SAAS,EAAE,IAAAD,eAAM,EACfC,wBAAK,CAACG,WAAW,EACjBxC,QAAQ,IAAIqC,wBAAK,CAACrC,QAAQ,EAC1BC,KAAK,IAAIoC,wBAAK,CAACpC,KAAK,EACpBgB,KAAK,IAAI,CAAChB,KAAK,IAAIoC,wBAAK,CAACpB,KAAK;EAC9B,GAEDe,GAAG,CAAC7B,IAAI,iBACP,6BAAC,gBAAI;IACH,KAAK,EAAEA,IAAI,IAAIsC,gBAAI,CAACC,MAAO;IAC3B,SAAS,EAAE,IAAAN,eAAM,EAACC,wBAAK,CAAClC,IAAI,EAAEkC,wBAAK,CAACM,IAAI,EAAE3C,QAAQ,IAAIqC,wBAAK,CAACrC,QAAQ,EAAEC,KAAK,IAAIoC,wBAAK,CAACpC,KAAK;EAAE,EAE/F,EAEAF,OAAO,iBACN,6BAAC,gBAAI;IAAC,MAAM;IAAC,OAAO;IAAC,SAAS,EAAEsC,wBAAK,CAACtC;EAAQ,GAC3CA,OAAO,CAEX,eAED,6BAAC,gBAAI;IAAC,IAAI;IAAC,SAAS,EAAEsC,wBAAK,CAACO;EAAQ,GACjCxC,KAAK,iBACJ,6BAAC,eAAK;IACEJ,QAAQ,EAARA,QAAQ;IAAEC,KAAK,EAALA,KAAK;IAAEgB,KAAK,EAALA,KAAK;IAAEb,KAAK,EAALA,KAAK;IAAEyC,QAAQ,EAAEtC,YAAY,IAAIQ,MAAM,CAAC8B,QAAQ;IAAErB,KAAK,EAAET,MAAM,CAACS;EAAK,EAEtG,EAEAH,SAAS,iBACR,6BAAC,iBAAK;IACErB,QAAQ,EAARA,QAAQ;IAAEM,SAAS,EAATA;EAAS,GAAKS,MAAM;IACpC,IAAI,EAAE,CAACc,EAAE,CAACV,QAAQ,IAAIA,QAAQ,GAAGT,IAAI,GAAG,MAAO;IAC/C,KAAK,EAAEK,MAAM,CAACS,KAAK,IAAI,EAAG;IAC1B,SAAS,EAAE,IAAAY,eAAM,EAACC,wBAAK,CAACS,KAAK,EAAEd,GAAG,CAAC5B,KAAK,IAAIiC,wBAAK,CAACU,SAAS,EAAEzC,SAAS,IAAI+B,wBAAK,CAAC/B,SAAS,CAAE;IAC3F,QAAQ,EAAEiB,YAAa;IACvB,OAAO,EAAEG,WAAY;IACrB,OAAO,EAAEC;EAAY,GAExB,EACAtB,QAAQ,IAAI,CAACgB,SAAS,iBACrB,6BAAC,gBAAI;IACH,QAAQ;IACR,OAAO,EAAE;MAAA,OAAMC,YAAY,CAAC,IAAI,CAAC;IAAA,CAAC;IAClC,SAAS,EAAE,IAAAc,eAAM,EAACC,wBAAK,CAACS,KAAK,EAAEd,GAAG,CAAC5B,KAAK,IAAIiC,wBAAK,CAACU,SAAS,EAAEzC,SAAS,IAAI+B,wBAAK,CAAC/B,SAAS;EAAE,GAE1FS,MAAM,CAACS,KAAK,CAEhB,CACI,EAENnB,QAAQ,iBACP,6BAAC,qBAAS;IAAC,OAAO,EAAE;MAAA,OAAMiB,YAAY,CAAC,CAACD,SAAS,CAAC;IAAA;EAAC,gBACjD,6BAAC,gBAAI;IAAC,KAAK,EAAEoB,gBAAI,CAACO,QAAS;IAAC,SAAS,EAAE,IAAAZ,eAAM,EAACC,wBAAK,CAAClC,IAAI,EAAEkB,SAAS,IAAIgB,wBAAK,CAACrC,QAAQ;EAAE,EAAG,CAE7F,EAEA,CAAC6B,EAAE,CAACV,QAAQ,IAAKU,EAAE,CAACC,MAAM,IAAIE,GAAG,CAACR,KAAM,KAAK,CAACxB,QAAQ,iBACrD,6BAAC,qBAAS;IAAC,QAAQ,EAAE,CAAC,CAAE;IAAC,OAAO,EAAE4B;EAAY,gBAC5C,6BAAC,gBAAI;IACH,KAAK,EAAEC,EAAE,CAACV,QAAQ,GAAIA,QAAQ,GAAGsB,gBAAI,CAACQ,SAAS,GAAGR,gBAAI,CAACS,QAAQ,GAAIT,gBAAI,CAACU,KAAM;IAC9E,SAAS,EAAE,IAAAf,eAAM,EAACC,wBAAK,CAAClC,IAAI,EAAEkC,wBAAK,CAAClB,QAAQ;EAAE,EAC9C,CAEL,EAEAa,GAAG,CAACE,SAAS,iBAAI,6BAAC,mBAAS;IAAOjC,KAAK,EAALA,KAAK;IAAEQ,OAAO,EAAPA,OAAO;IAAEE,OAAO,EAAPA;EAAO,EAAM,CAC3D,EAENT,IAAI,iBAAI,6BAAC,cAAI;IAAOF,QAAQ,EAARA,QAAQ;IAAEC,KAAK,EAALA,KAAK;IAAEC,IAAI,EAAJA;EAAI,EAAM,CAC3C;AAEX,CAAC;AAAC;AAEFJ,SAAS,CAACsD,WAAW,GAAG,qBAAqB;AAE7CtD,SAAS,CAACuD,SAAS,GAAG;EACpBtD,OAAO,EAAEuD,kBAAS,CAACC,MAAM;EACzBvD,QAAQ,EAAEsD,kBAAS,CAACE,IAAI;EACxBvD,KAAK,EAAEqD,kBAAS,CAACE,IAAI;EACrBtD,IAAI,EAAEoD,kBAAS,CAACC,MAAM;EACtBpD,IAAI,EAAEmD,kBAAS,CAACG,IAAI;EACpBrD,KAAK,EAAEkD,kBAAS,CAACC,MAAM;EACvBlD,QAAQ,EAAEiD,kBAAS,CAACE,IAAI;EACxBlD,SAAS,EAAEgD,kBAAS,CAACE,IAAI;EACzBE,IAAI,EAAEJ,kBAAS,CAACC,MAAM,CAACI,UAAU;EACjCpD,YAAY,EAAE+C,kBAAS,CAACE,IAAI;EAC5BhD,SAAS,EAAE8C,kBAAS,CAACE,IAAI;EACzB/C,OAAO,EAAE6C,kBAAS,CAACE,IAAI;EACvB9C,IAAI,EAAE4C,kBAAS,CAACC,MAAM;EACtB5C,OAAO,EAAE2C,kBAAS,CAACE,IAAI;EACvB5C,QAAQ,EAAE0C,kBAAS,CAACG,IAAI;EACxB5C,OAAO,EAAEyC,kBAAS,CAACG,IAAI;EACvB3C,OAAO,EAAEwC,kBAAS,CAACG;AACrB,CAAC"}
@@ -31,6 +31,11 @@ exports[`component:<InputText> prop:caption 1`] = `
31
31
  <div
32
32
  class="view row inputBorder"
33
33
  >
34
+ <span
35
+ class="text action lighten caption"
36
+ >
37
+ caption
38
+ </span>
34
39
  <div
35
40
  class="view wide content"
36
41
  >
@@ -41,11 +46,6 @@ exports[`component:<InputText> prop:caption 1`] = `
41
46
  value=""
42
47
  />
43
48
  </div>
44
- <span
45
- class="text action lighten caption"
46
- >
47
- caption
48
- </span>
49
49
  </div>
50
50
  </div>
51
51
  </DocumentFragment>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/ui",
3
- "version": "1.0.205",
3
+ "version": "1.0.207",
4
4
  "repository": "git@gitlab.com:miraicorp/dev/frontend/ui.git",
5
5
  "author": "JΛVI <hello@soyjavi.com>",
6
6
  "license": "MIT",