@mirai/ui 1.1.0-d → 1.1.0-f

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.
@@ -190,7 +190,7 @@ var Calendar = function Calendar(_ref) {
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, {
193
- className: (0, _helpers.styles)(_CalendarModule.default.container, vertical && _CalendarModule.default.vertical, className),
193
+ className: (0, _helpers.styles)(_CalendarModule.default.calendar, vertical && _CalendarModule.default.vertical, className),
194
194
  testId: testId
195
195
  }, vertical && /*#__PURE__*/_react.default.createElement(_Calendar2.Weekdays, {
196
196
  locale: locale,
@@ -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","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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"}
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","calendar","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.calendar, 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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"}
@@ -1,4 +1,4 @@
1
- .container.vertical {
1
+ .calendar.vertical {
2
2
  max-height: calc(var(--mirai-ui-calendar-cell) * 9.75);
3
3
  }
4
4
 
@@ -8,7 +8,7 @@
8
8
  width: 100%;
9
9
  }
10
10
 
11
- .container:not(.vertical) .scrollview {
11
+ .calendar:not(.vertical) .scrollview {
12
12
  gap: calc(var(--mirai-ui-calendar-padding) * 2);
13
13
  }
14
14
 
@@ -18,7 +18,7 @@
18
18
  width: calc(var(--mirai-ui-calendar-cell) * 7);
19
19
  }
20
20
 
21
- .container.vertical .month {
21
+ .calendar.vertical .month {
22
22
  margin-left: 0;
23
23
  padding-bottom: 0;
24
24
  width: 100%;
@@ -50,7 +50,7 @@
50
50
  padding: calc(var(--mirai-ui-calendar-padding) / 2) var(--mirai-ui-calendar-padding);
51
51
  }
52
52
 
53
- .container:not(.vertical) .weekdays {
53
+ .calendar:not(.vertical) .weekdays {
54
54
  margin: var(--mirai-ui-calendar-padding) 0;
55
55
  }
56
56
 
@@ -70,7 +70,7 @@
70
70
  width: auto;
71
71
  }
72
72
 
73
- .container:not(.vertical) .day {
73
+ .calendar:not(.vertical) .day {
74
74
  width: var(--mirai-ui-calendar-cell);
75
75
  }
76
76
 
@@ -3,7 +3,7 @@
3
3
  exports[`component:<Calendar> desktop environment prop:captions 1`] = `
4
4
  <DocumentFragment>
5
5
  <ui_view
6
- class="view container"
6
+ class="view calendar"
7
7
  >
8
8
  <ui_scrollview
9
9
  class="scrollview snap horizontal notIndicator scrollview"
@@ -1529,7 +1529,7 @@ exports[`component:<Calendar> desktop environment prop:captions 1`] = `
1529
1529
  exports[`component:<Calendar> desktop environment prop:disabledDates 1`] = `
1530
1530
  <DocumentFragment>
1531
1531
  <ui_view
1532
- class="view container"
1532
+ class="view calendar"
1533
1533
  >
1534
1534
  <ui_scrollview
1535
1535
  class="scrollview snap horizontal notIndicator scrollview"
@@ -2750,7 +2750,7 @@ exports[`component:<Calendar> desktop environment prop:disabledDates 1`] = `
2750
2750
  exports[`component:<Calendar> desktop environment prop:disabledPast 1`] = `
2751
2751
  <DocumentFragment>
2752
2752
  <ui_view
2753
- class="view container"
2753
+ class="view calendar"
2754
2754
  >
2755
2755
  <ui_scrollview
2756
2756
  class="scrollview snap horizontal notIndicator scrollview"
@@ -3997,7 +3997,7 @@ exports[`component:<Calendar> desktop environment prop:disabledPast 1`] = `
3997
3997
  exports[`component:<Calendar> desktop environment prop:format 1`] = `
3998
3998
  <DocumentFragment>
3999
3999
  <ui_view
4000
- class="view container"
4000
+ class="view calendar"
4001
4001
  >
4002
4002
  <ui_scrollview
4003
4003
  class="scrollview snap horizontal notIndicator scrollview"
@@ -5218,7 +5218,7 @@ exports[`component:<Calendar> desktop environment prop:format 1`] = `
5218
5218
  exports[`component:<Calendar> desktop environment prop:from 1`] = `
5219
5219
  <DocumentFragment>
5220
5220
  <ui_view
5221
- class="view container"
5221
+ class="view calendar"
5222
5222
  >
5223
5223
  <ui_scrollview
5224
5224
  class="scrollview snap horizontal notIndicator scrollview"
@@ -6439,7 +6439,7 @@ exports[`component:<Calendar> desktop environment prop:from 1`] = `
6439
6439
  exports[`component:<Calendar> desktop environment prop:highlights 1`] = `
6440
6440
  <DocumentFragment>
6441
6441
  <ui_view
6442
- class="view container"
6442
+ class="view calendar"
6443
6443
  >
6444
6444
  <ui_scrollview
6445
6445
  class="scrollview snap horizontal notIndicator scrollview"
@@ -7660,7 +7660,7 @@ exports[`component:<Calendar> desktop environment prop:highlights 1`] = `
7660
7660
  exports[`component:<Calendar> desktop environment prop:locale 1`] = `
7661
7661
  <DocumentFragment>
7662
7662
  <ui_view
7663
- class="view container"
7663
+ class="view calendar"
7664
7664
  >
7665
7665
  <ui_scrollview
7666
7666
  class="scrollview snap horizontal notIndicator scrollview"
@@ -8881,7 +8881,7 @@ exports[`component:<Calendar> desktop environment prop:locale 1`] = `
8881
8881
  exports[`component:<Calendar> desktop environment prop:locale en-US 1`] = `
8882
8882
  <DocumentFragment>
8883
8883
  <ui_view
8884
- class="view container"
8884
+ class="view calendar"
8885
8885
  >
8886
8886
  <ui_scrollview
8887
8887
  class="scrollview snap horizontal notIndicator scrollview"
@@ -10102,7 +10102,7 @@ exports[`component:<Calendar> desktop environment prop:locale en-US 1`] = `
10102
10102
  exports[`component:<Calendar> desktop environment prop:months 1`] = `
10103
10103
  <DocumentFragment>
10104
10104
  <ui_view
10105
- class="view container"
10105
+ class="view calendar"
10106
10106
  >
10107
10107
  <ui_scrollview
10108
10108
  class="scrollview snap horizontal notIndicator scrollview"
@@ -11909,7 +11909,7 @@ exports[`component:<Calendar> desktop environment prop:months 1`] = `
11909
11909
  exports[`component:<Calendar> desktop environment prop:range prop:disabledDates 1`] = `
11910
11910
  <DocumentFragment>
11911
11911
  <ui_view
11912
- class="view container"
11912
+ class="view calendar"
11913
11913
  >
11914
11914
  <ui_scrollview
11915
11915
  class="scrollview snap horizontal notIndicator scrollview"
@@ -13130,7 +13130,7 @@ exports[`component:<Calendar> desktop environment prop:range prop:disabledDates
13130
13130
  exports[`component:<Calendar> desktop environment prop:range prop:rangeMaxDays 1`] = `
13131
13131
  <DocumentFragment>
13132
13132
  <ui_view
13133
- class="view container"
13133
+ class="view calendar"
13134
13134
  >
13135
13135
  <ui_scrollview
13136
13136
  class="scrollview snap horizontal notIndicator scrollview"
@@ -14351,7 +14351,7 @@ exports[`component:<Calendar> desktop environment prop:range prop:rangeMaxDays 1
14351
14351
  exports[`component:<Calendar> desktop environment prop:range prop:rangeMinDays 1`] = `
14352
14352
  <DocumentFragment>
14353
14353
  <ui_view
14354
- class="view container"
14354
+ class="view calendar"
14355
14355
  >
14356
14356
  <ui_scrollview
14357
14357
  class="scrollview snap horizontal notIndicator scrollview"
@@ -15572,7 +15572,7 @@ exports[`component:<Calendar> desktop environment prop:range prop:rangeMinDays 1
15572
15572
  exports[`component:<Calendar> desktop environment prop:range renders 1`] = `
15573
15573
  <DocumentFragment>
15574
15574
  <ui_view
15575
- class="view container"
15575
+ class="view calendar"
15576
15576
  >
15577
15577
  <ui_scrollview
15578
15578
  class="scrollview snap horizontal notIndicator scrollview"
@@ -16793,7 +16793,7 @@ exports[`component:<Calendar> desktop environment prop:range renders 1`] = `
16793
16793
  exports[`component:<Calendar> desktop environment prop:to 1`] = `
16794
16794
  <DocumentFragment>
16795
16795
  <ui_view
16796
- class="view container"
16796
+ class="view calendar"
16797
16797
  >
16798
16798
  <ui_scrollview
16799
16799
  class="scrollview snap horizontal notIndicator scrollview"
@@ -17988,7 +17988,7 @@ exports[`component:<Calendar> desktop environment prop:to 1`] = `
17988
17988
  exports[`component:<Calendar> desktop environment renders 1`] = `
17989
17989
  <DocumentFragment>
17990
17990
  <ui_view
17991
- class="view container"
17991
+ class="view calendar"
17992
17992
  >
17993
17993
  <ui_scrollview
17994
17994
  class="scrollview snap horizontal notIndicator scrollview"
@@ -19209,7 +19209,7 @@ exports[`component:<Calendar> desktop environment renders 1`] = `
19209
19209
  exports[`component:<Calendar> inherit:className 1`] = `
19210
19210
  <DocumentFragment>
19211
19211
  <ui_view
19212
- class="view container mirai"
19212
+ class="view calendar mirai"
19213
19213
  >
19214
19214
  <ui_scrollview
19215
19215
  class="scrollview snap horizontal notIndicator scrollview"
@@ -20430,7 +20430,7 @@ exports[`component:<Calendar> inherit:className 1`] = `
20430
20430
  exports[`component:<Calendar> mobile environment prop:captions 1`] = `
20431
20431
  <DocumentFragment>
20432
20432
  <ui_view
20433
- class="view container"
20433
+ class="view calendar"
20434
20434
  >
20435
20435
  <ui_scrollview
20436
20436
  class="scrollview snap horizontal notIndicator scrollview"
@@ -21956,7 +21956,7 @@ exports[`component:<Calendar> mobile environment prop:captions 1`] = `
21956
21956
  exports[`component:<Calendar> mobile environment prop:disabledDates 1`] = `
21957
21957
  <DocumentFragment>
21958
21958
  <ui_view
21959
- class="view container"
21959
+ class="view calendar"
21960
21960
  >
21961
21961
  <ui_scrollview
21962
21962
  class="scrollview snap horizontal notIndicator scrollview"
@@ -23177,7 +23177,7 @@ exports[`component:<Calendar> mobile environment prop:disabledDates 1`] = `
23177
23177
  exports[`component:<Calendar> mobile environment prop:disabledPast 1`] = `
23178
23178
  <DocumentFragment>
23179
23179
  <ui_view
23180
- class="view container"
23180
+ class="view calendar"
23181
23181
  >
23182
23182
  <ui_scrollview
23183
23183
  class="scrollview snap horizontal notIndicator scrollview"
@@ -24424,7 +24424,7 @@ exports[`component:<Calendar> mobile environment prop:disabledPast 1`] = `
24424
24424
  exports[`component:<Calendar> mobile environment prop:format 1`] = `
24425
24425
  <DocumentFragment>
24426
24426
  <ui_view
24427
- class="view container"
24427
+ class="view calendar"
24428
24428
  >
24429
24429
  <ui_scrollview
24430
24430
  class="scrollview snap horizontal notIndicator scrollview"
@@ -25645,7 +25645,7 @@ exports[`component:<Calendar> mobile environment prop:format 1`] = `
25645
25645
  exports[`component:<Calendar> mobile environment prop:from 1`] = `
25646
25646
  <DocumentFragment>
25647
25647
  <ui_view
25648
- class="view container"
25648
+ class="view calendar"
25649
25649
  >
25650
25650
  <ui_scrollview
25651
25651
  class="scrollview snap horizontal notIndicator scrollview"
@@ -26866,7 +26866,7 @@ exports[`component:<Calendar> mobile environment prop:from 1`] = `
26866
26866
  exports[`component:<Calendar> mobile environment prop:highlights 1`] = `
26867
26867
  <DocumentFragment>
26868
26868
  <ui_view
26869
- class="view container"
26869
+ class="view calendar"
26870
26870
  >
26871
26871
  <ui_scrollview
26872
26872
  class="scrollview snap horizontal notIndicator scrollview"
@@ -28087,7 +28087,7 @@ exports[`component:<Calendar> mobile environment prop:highlights 1`] = `
28087
28087
  exports[`component:<Calendar> mobile environment prop:locale 1`] = `
28088
28088
  <DocumentFragment>
28089
28089
  <ui_view
28090
- class="view container"
28090
+ class="view calendar"
28091
28091
  >
28092
28092
  <ui_scrollview
28093
28093
  class="scrollview snap horizontal notIndicator scrollview"
@@ -29308,7 +29308,7 @@ exports[`component:<Calendar> mobile environment prop:locale 1`] = `
29308
29308
  exports[`component:<Calendar> mobile environment prop:locale en-US 1`] = `
29309
29309
  <DocumentFragment>
29310
29310
  <ui_view
29311
- class="view container"
29311
+ class="view calendar"
29312
29312
  >
29313
29313
  <ui_scrollview
29314
29314
  class="scrollview snap horizontal notIndicator scrollview"
@@ -30529,7 +30529,7 @@ exports[`component:<Calendar> mobile environment prop:locale en-US 1`] = `
30529
30529
  exports[`component:<Calendar> mobile environment prop:months 1`] = `
30530
30530
  <DocumentFragment>
30531
30531
  <ui_view
30532
- class="view container"
30532
+ class="view calendar"
30533
30533
  >
30534
30534
  <ui_scrollview
30535
30535
  class="scrollview snap horizontal notIndicator scrollview"
@@ -32336,7 +32336,7 @@ exports[`component:<Calendar> mobile environment prop:months 1`] = `
32336
32336
  exports[`component:<Calendar> mobile environment prop:range prop:disabledDates 1`] = `
32337
32337
  <DocumentFragment>
32338
32338
  <ui_view
32339
- class="view container"
32339
+ class="view calendar"
32340
32340
  >
32341
32341
  <ui_scrollview
32342
32342
  class="scrollview snap horizontal notIndicator scrollview"
@@ -33557,7 +33557,7 @@ exports[`component:<Calendar> mobile environment prop:range prop:disabledDates 1
33557
33557
  exports[`component:<Calendar> mobile environment prop:range prop:rangeMaxDays 1`] = `
33558
33558
  <DocumentFragment>
33559
33559
  <ui_view
33560
- class="view container"
33560
+ class="view calendar"
33561
33561
  >
33562
33562
  <ui_scrollview
33563
33563
  class="scrollview snap horizontal notIndicator scrollview"
@@ -34778,7 +34778,7 @@ exports[`component:<Calendar> mobile environment prop:range prop:rangeMaxDays 1`
34778
34778
  exports[`component:<Calendar> mobile environment prop:range prop:rangeMinDays 1`] = `
34779
34779
  <DocumentFragment>
34780
34780
  <ui_view
34781
- class="view container"
34781
+ class="view calendar"
34782
34782
  >
34783
34783
  <ui_scrollview
34784
34784
  class="scrollview snap horizontal notIndicator scrollview"
@@ -35999,7 +35999,7 @@ exports[`component:<Calendar> mobile environment prop:range prop:rangeMinDays 1`
35999
35999
  exports[`component:<Calendar> mobile environment prop:range renders 1`] = `
36000
36000
  <DocumentFragment>
36001
36001
  <ui_view
36002
- class="view container"
36002
+ class="view calendar"
36003
36003
  >
36004
36004
  <ui_scrollview
36005
36005
  class="scrollview snap horizontal notIndicator scrollview"
@@ -37220,7 +37220,7 @@ exports[`component:<Calendar> mobile environment prop:range renders 1`] = `
37220
37220
  exports[`component:<Calendar> mobile environment prop:to 1`] = `
37221
37221
  <DocumentFragment>
37222
37222
  <ui_view
37223
- class="view container"
37223
+ class="view calendar"
37224
37224
  >
37225
37225
  <ui_scrollview
37226
37226
  class="scrollview snap horizontal notIndicator scrollview"
@@ -38415,7 +38415,7 @@ exports[`component:<Calendar> mobile environment prop:to 1`] = `
38415
38415
  exports[`component:<Calendar> mobile environment renders 1`] = `
38416
38416
  <DocumentFragment>
38417
38417
  <ui_view
38418
- class="view container"
38418
+ class="view calendar"
38419
38419
  >
38420
38420
  <ui_scrollview
38421
38421
  class="scrollview snap horizontal notIndicator scrollview"
@@ -39636,7 +39636,7 @@ exports[`component:<Calendar> mobile environment renders 1`] = `
39636
39636
  exports[`component:<Calendar> testId 1`] = `
39637
39637
  <DocumentFragment>
39638
39638
  <ui_view
39639
- class="view container"
39639
+ class="view calendar"
39640
39640
  data-testid="mirai"
39641
39641
  >
39642
39642
  <ui_scrollview
@@ -121,7 +121,7 @@ var InputPhone = function InputPhone(_ref) {
121
121
  var testId = others.testId;
122
122
  return /*#__PURE__*/_react.default.createElement(_primitives.View, {
123
123
  role: others.role || 'input-phone',
124
- className: (0, _helpers.styles)(_InputPhoneModule.default.container, others.className),
124
+ className: (0, _helpers.styles)(_InputPhoneModule.default.inputPhone, others.className),
125
125
  style: others.style
126
126
  }, /*#__PURE__*/_react.default.createElement(_primitives.View, {
127
127
  row: true,
@@ -1 +1 @@
1
- {"version":3,"file":"InputPhone.js","names":["InputPhone","disabled","error","hint","icon","label","labelPrefix","name","prefixes","showRequired","showState","success","propValue","value","warning","onChange","onEnter","onError","onLeave","others","useState","focus","setFocus","prefixFocus","setPrefixFocus","parseValue","setValue","useEffect","getInputPhoneErrors","handleChange","next","event","isPhone","hasPrefixes","split","undefined","prefix","phone","nextValue","replace","join","trim","handleEnter","handleLeave","length","has","stateIcon","testId","role","styles","stylePhone","container","className","style","inputBorder","content","required","input","withLabel","empty","ICON","EXPAND_MORE","select","expand","separator","left","displayName","propTypes","PropTypes","bool","string","func","isRequired","arrayOf"],"sources":["../../../src/components/InputPhone/InputPhone.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { getInputPhoneErrors } from '../../helpers';\nimport { Icon, ICON, Input, Select, View } from '../../primitives';\nimport style from '../InputText/InputText.module.css';\nimport { Hint, IconState, Label } from '../InputText/partials';\nimport { parseValue } from './helpers';\nimport stylePhone from './InputPhone.module.css';\n\nconst InputPhone = ({\n disabled,\n error,\n hint,\n icon,\n label,\n labelPrefix,\n name,\n prefixes = [],\n showRequired = false,\n showState = true,\n success,\n value: propValue,\n warning,\n onChange = () => {},\n onEnter = () => {},\n onError = () => {},\n onLeave = () => {},\n ...others\n}) => {\n const [focus, setFocus] = useState(false);\n const [prefixFocus, setPrefixFocus] = useState(false);\n const [value, setValue] = useState(parseValue(propValue, prefixes));\n\n useEffect(() => {\n setValue(parseValue(propValue, prefixes));\n }, [prefixes, propValue]);\n\n useEffect(() => {\n onError(getInputPhoneErrors({ prefixes, value }));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [prefixes, value]);\n\n const handleChange = (next, event, { isPhone = true } = {}) => {\n const [prefix = '', phone = ''] = hasPrefixes ? value?.split(' ') || [] : [undefined, value];\n let nextValue = (isPhone ? [prefix, next?.replace(/[^\\d]/g, '')] : [next, phone]).join(' ');\n if (!hasPrefixes) nextValue = nextValue.trim();\n\n setValue(nextValue);\n onChange(nextValue, event);\n // onError && onError(getInputPhoneErrors({ prefixes, value: nextValue }));\n };\n\n const handleEnter = (event, { isPhone = true } = {}) => {\n isPhone ? setFocus(true) : setPrefixFocus(true);\n onEnter(event);\n };\n\n const handleLeave = (event, { isPhone = true } = {}) => {\n isPhone ? setFocus(false) : setPrefixFocus(false);\n onLeave(event);\n };\n\n const hasPrefixes = !!prefixes?.length;\n const [prefix, phone] = hasPrefixes ? value?.split(' ') || [] : [undefined, value];\n const has = {\n icon: !!icon,\n label: !!label,\n labelPrefix: !!labelPrefix,\n prefix: prefix?.length > 0,\n phone: phone?.length > 0,\n stateIcon: showState && (error || success || warning),\n };\n const { testId } = others;\n\n return (\n <View\n role={others.role || 'input-phone'}\n className={styles(stylePhone.container, 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 || prefixFocus) && !error && style.focus,\n )}\n >\n {hasPrefixes && (\n <>\n <View row>\n <View className={styles(style.content)}>\n {labelPrefix && (\n <Label\n {...{\n disabled,\n error,\n focus: prefixFocus,\n label: labelPrefix,\n required: showRequired && others.required,\n value: prefix,\n }}\n />\n )}\n <Select\n {...others}\n disabled={disabled}\n name={`${name}-prefix`}\n options={prefixes}\n style={undefined}\n type={undefined}\n value={prefix || ''}\n onChange={(value, event) => handleChange(value, event, { isPhone: false })}\n onEnter={(event) => handleEnter(event, { isPhone: false })}\n onLeave={(event) => handleLeave(event, { isPhone: false })}\n className={styles(\n style.input,\n stylePhone.prefix,\n has.labelPrefix && style.withLabel,\n has.labelPrefix && !(prefixFocus || error || has.prefix) && style.empty,\n )}\n testId={testId ? `${testId}-select` : undefined}\n />\n </View>\n {!disabled && <Icon value={ICON.EXPAND_MORE} className={(style.icon, style.select, stylePhone.expand)} />}\n </View>\n <View forceRow className={stylePhone.separator}></View>\n </>\n )}\n\n <View row wide>\n {has.icon && (\n <Icon\n value={icon}\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 {...{ disabled, error, focus, label, required: showRequired && others.required, value: phone }} />\n )}\n <Input\n {...others}\n disabled={disabled}\n maxLength={12}\n name={`${name}-phone`}\n type=\"tel\"\n value={phone || ''}\n onChange={(value, event) => handleChange(value, event)}\n onEnter={(event) => handleEnter(event)}\n onLeave={(event) => handleLeave(event)}\n className={styles(style.input, has.label && style.withLabel)}\n testId={testId ? `${testId}-input` : undefined}\n />\n </View>\n </View>\n {has.stateIcon && <IconState {...{ error, success, warning }} />}\n </View>\n {hint && <Hint {...{ disabled, error, hint }} />}\n </View>\n );\n};\n\nInputPhone.displayName = 'Component:InputPhone';\n\nInputPhone.propTypes = {\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n hint: PropTypes.string,\n icon: PropTypes.func,\n label: PropTypes.string,\n labelPrefix: PropTypes.string,\n name: PropTypes.string.isRequired,\n prefixes: PropTypes.arrayOf(PropTypes.string),\n showRequired: PropTypes.bool,\n showState: PropTypes.bool,\n success: PropTypes.bool,\n value: PropTypes.string,\n warning: PropTypes.bool,\n onChange: PropTypes.func,\n onEnter: PropTypes.func,\n onError: PropTypes.func,\n onLeave: PropTypes.func,\n};\n\nexport { InputPhone };\n"],"mappings":"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"}
1
+ {"version":3,"file":"InputPhone.js","names":["InputPhone","disabled","error","hint","icon","label","labelPrefix","name","prefixes","showRequired","showState","success","propValue","value","warning","onChange","onEnter","onError","onLeave","others","useState","focus","setFocus","prefixFocus","setPrefixFocus","parseValue","setValue","useEffect","getInputPhoneErrors","handleChange","next","event","isPhone","hasPrefixes","split","undefined","prefix","phone","nextValue","replace","join","trim","handleEnter","handleLeave","length","has","stateIcon","testId","role","styles","stylePhone","inputPhone","className","style","inputBorder","content","required","input","withLabel","empty","ICON","EXPAND_MORE","select","expand","separator","left","displayName","propTypes","PropTypes","bool","string","func","isRequired","arrayOf"],"sources":["../../../src/components/InputPhone/InputPhone.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { getInputPhoneErrors } from '../../helpers';\nimport { Icon, ICON, Input, Select, View } from '../../primitives';\nimport style from '../InputText/InputText.module.css';\nimport { Hint, IconState, Label } from '../InputText/partials';\nimport { parseValue } from './helpers';\nimport stylePhone from './InputPhone.module.css';\n\nconst InputPhone = ({\n disabled,\n error,\n hint,\n icon,\n label,\n labelPrefix,\n name,\n prefixes = [],\n showRequired = false,\n showState = true,\n success,\n value: propValue,\n warning,\n onChange = () => {},\n onEnter = () => {},\n onError = () => {},\n onLeave = () => {},\n ...others\n}) => {\n const [focus, setFocus] = useState(false);\n const [prefixFocus, setPrefixFocus] = useState(false);\n const [value, setValue] = useState(parseValue(propValue, prefixes));\n\n useEffect(() => {\n setValue(parseValue(propValue, prefixes));\n }, [prefixes, propValue]);\n\n useEffect(() => {\n onError(getInputPhoneErrors({ prefixes, value }));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [prefixes, value]);\n\n const handleChange = (next, event, { isPhone = true } = {}) => {\n const [prefix = '', phone = ''] = hasPrefixes ? value?.split(' ') || [] : [undefined, value];\n let nextValue = (isPhone ? [prefix, next?.replace(/[^\\d]/g, '')] : [next, phone]).join(' ');\n if (!hasPrefixes) nextValue = nextValue.trim();\n\n setValue(nextValue);\n onChange(nextValue, event);\n // onError && onError(getInputPhoneErrors({ prefixes, value: nextValue }));\n };\n\n const handleEnter = (event, { isPhone = true } = {}) => {\n isPhone ? setFocus(true) : setPrefixFocus(true);\n onEnter(event);\n };\n\n const handleLeave = (event, { isPhone = true } = {}) => {\n isPhone ? setFocus(false) : setPrefixFocus(false);\n onLeave(event);\n };\n\n const hasPrefixes = !!prefixes?.length;\n const [prefix, phone] = hasPrefixes ? value?.split(' ') || [] : [undefined, value];\n const has = {\n icon: !!icon,\n label: !!label,\n labelPrefix: !!labelPrefix,\n prefix: prefix?.length > 0,\n phone: phone?.length > 0,\n stateIcon: showState && (error || success || warning),\n };\n const { testId } = others;\n\n return (\n <View\n role={others.role || 'input-phone'}\n className={styles(stylePhone.inputPhone, 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 || prefixFocus) && !error && style.focus,\n )}\n >\n {hasPrefixes && (\n <>\n <View row>\n <View className={styles(style.content)}>\n {labelPrefix && (\n <Label\n {...{\n disabled,\n error,\n focus: prefixFocus,\n label: labelPrefix,\n required: showRequired && others.required,\n value: prefix,\n }}\n />\n )}\n <Select\n {...others}\n disabled={disabled}\n name={`${name}-prefix`}\n options={prefixes}\n style={undefined}\n type={undefined}\n value={prefix || ''}\n onChange={(value, event) => handleChange(value, event, { isPhone: false })}\n onEnter={(event) => handleEnter(event, { isPhone: false })}\n onLeave={(event) => handleLeave(event, { isPhone: false })}\n className={styles(\n style.input,\n stylePhone.prefix,\n has.labelPrefix && style.withLabel,\n has.labelPrefix && !(prefixFocus || error || has.prefix) && style.empty,\n )}\n testId={testId ? `${testId}-select` : undefined}\n />\n </View>\n {!disabled && <Icon value={ICON.EXPAND_MORE} className={(style.icon, style.select, stylePhone.expand)} />}\n </View>\n <View forceRow className={stylePhone.separator}></View>\n </>\n )}\n\n <View row wide>\n {has.icon && (\n <Icon\n value={icon}\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 {...{ disabled, error, focus, label, required: showRequired && others.required, value: phone }} />\n )}\n <Input\n {...others}\n disabled={disabled}\n maxLength={12}\n name={`${name}-phone`}\n type=\"tel\"\n value={phone || ''}\n onChange={(value, event) => handleChange(value, event)}\n onEnter={(event) => handleEnter(event)}\n onLeave={(event) => handleLeave(event)}\n className={styles(style.input, has.label && style.withLabel)}\n testId={testId ? `${testId}-input` : undefined}\n />\n </View>\n </View>\n {has.stateIcon && <IconState {...{ error, success, warning }} />}\n </View>\n {hint && <Hint {...{ disabled, error, hint }} />}\n </View>\n );\n};\n\nInputPhone.displayName = 'Component:InputPhone';\n\nInputPhone.propTypes = {\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n hint: PropTypes.string,\n icon: PropTypes.func,\n label: PropTypes.string,\n labelPrefix: PropTypes.string,\n name: PropTypes.string.isRequired,\n prefixes: PropTypes.arrayOf(PropTypes.string),\n showRequired: PropTypes.bool,\n showState: PropTypes.bool,\n success: PropTypes.bool,\n value: PropTypes.string,\n warning: PropTypes.bool,\n onChange: PropTypes.func,\n onEnter: PropTypes.func,\n onError: PropTypes.func,\n onLeave: PropTypes.func,\n};\n\nexport { InputPhone };\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- .container {
1
+ .inputPhone {
2
2
  margin-bottom: var(--mirai-ui-input-text-padding-y);
3
3
  }
4
4
 
@@ -3,7 +3,7 @@
3
3
  exports[`component:<InputPhone> inherit:className 1`] = `
4
4
  <DocumentFragment>
5
5
  <ui_view
6
- class="view container mirai"
6
+ class="view inputPhone mirai"
7
7
  >
8
8
  <ui_view
9
9
  class="view row inputBorder"
@@ -84,7 +84,7 @@ exports[`component:<InputPhone> inherit:className 1`] = `
84
84
  exports[`component:<InputPhone> prop:disabled 1`] = `
85
85
  <DocumentFragment>
86
86
  <ui_view
87
- class="view container"
87
+ class="view inputPhone"
88
88
  >
89
89
  <ui_view
90
90
  class="view row inputBorder disabled"
@@ -145,7 +145,7 @@ exports[`component:<InputPhone> prop:disabled 1`] = `
145
145
  exports[`component:<InputPhone> prop:error 1`] = `
146
146
  <DocumentFragment>
147
147
  <ui_view
148
- class="view container"
148
+ class="view inputPhone"
149
149
  >
150
150
  <ui_view
151
151
  class="view row inputBorder error"
@@ -247,7 +247,7 @@ exports[`component:<InputPhone> prop:error 1`] = `
247
247
  exports[`component:<InputPhone> prop:hint 1`] = `
248
248
  <DocumentFragment>
249
249
  <ui_view
250
- class="view container"
250
+ class="view inputPhone"
251
251
  >
252
252
  <ui_view
253
253
  class="view row inputBorder"
@@ -333,7 +333,7 @@ exports[`component:<InputPhone> prop:hint 1`] = `
333
333
  exports[`component:<InputPhone> prop:icon & disabled 1`] = `
334
334
  <DocumentFragment>
335
335
  <ui_view
336
- class="view container"
336
+ class="view inputPhone"
337
337
  >
338
338
  <ui_view
339
339
  class="view row inputBorder disabled"
@@ -415,7 +415,7 @@ exports[`component:<InputPhone> prop:icon & disabled 1`] = `
415
415
  exports[`component:<InputPhone> prop:icon & error 1`] = `
416
416
  <DocumentFragment>
417
417
  <ui_view
418
- class="view container"
418
+ class="view inputPhone"
419
419
  >
420
420
  <ui_view
421
421
  class="view row inputBorder error"
@@ -538,7 +538,7 @@ exports[`component:<InputPhone> prop:icon & error 1`] = `
538
538
  exports[`component:<InputPhone> prop:icon 1`] = `
539
539
  <DocumentFragment>
540
540
  <ui_view
541
- class="view container"
541
+ class="view inputPhone"
542
542
  >
543
543
  <ui_view
544
544
  class="view row inputBorder"
@@ -640,7 +640,7 @@ exports[`component:<InputPhone> prop:icon 1`] = `
640
640
  exports[`component:<InputPhone> prop:label 1`] = `
641
641
  <DocumentFragment>
642
642
  <ui_view
643
- class="view container"
643
+ class="view inputPhone"
644
644
  >
645
645
  <ui_view
646
646
  class="view row inputBorder"
@@ -726,7 +726,7 @@ exports[`component:<InputPhone> prop:label 1`] = `
726
726
  exports[`component:<InputPhone> prop:labelPrefix 1`] = `
727
727
  <DocumentFragment>
728
728
  <ui_view
729
- class="view container"
729
+ class="view inputPhone"
730
730
  >
731
731
  <ui_view
732
732
  class="view row inputBorder"
@@ -812,7 +812,7 @@ exports[`component:<InputPhone> prop:labelPrefix 1`] = `
812
812
  exports[`component:<InputPhone> prop:required & prop:showRequired (true) 1`] = `
813
813
  <DocumentFragment>
814
814
  <ui_view
815
- class="view container"
815
+ class="view inputPhone"
816
816
  >
817
817
  <ui_view
818
818
  class="view row inputBorder"
@@ -915,7 +915,7 @@ exports[`component:<InputPhone> prop:required & prop:showRequired (true) 1`] = `
915
915
  exports[`component:<InputPhone> prop:required 1`] = `
916
916
  <DocumentFragment>
917
917
  <ui_view
918
- class="view container"
918
+ class="view inputPhone"
919
919
  >
920
920
  <ui_view
921
921
  class="view row inputBorder"
@@ -1008,7 +1008,7 @@ exports[`component:<InputPhone> prop:required 1`] = `
1008
1008
  exports[`component:<InputPhone> prop:showState (false) & error 1`] = `
1009
1009
  <DocumentFragment>
1010
1010
  <ui_view
1011
- class="view container"
1011
+ class="view inputPhone"
1012
1012
  >
1013
1013
  <ui_view
1014
1014
  class="view row inputBorder error"
@@ -1110,7 +1110,7 @@ exports[`component:<InputPhone> prop:showState (false) & error 1`] = `
1110
1110
  exports[`component:<InputPhone> prop:showState (false) & success 1`] = `
1111
1111
  <DocumentFragment>
1112
1112
  <ui_view
1113
- class="view container"
1113
+ class="view inputPhone"
1114
1114
  >
1115
1115
  <ui_view
1116
1116
  class="view row inputBorder"
@@ -1212,7 +1212,7 @@ exports[`component:<InputPhone> prop:showState (false) & success 1`] = `
1212
1212
  exports[`component:<InputPhone> prop:showState (false) & warning 1`] = `
1213
1213
  <DocumentFragment>
1214
1214
  <ui_view
1215
- class="view container"
1215
+ class="view inputPhone"
1216
1216
  >
1217
1217
  <ui_view
1218
1218
  class="view row inputBorder"
@@ -1310,7 +1310,7 @@ exports[`component:<InputPhone> prop:showState (false) & warning 1`] = `
1310
1310
  exports[`component:<InputPhone> prop:success 1`] = `
1311
1311
  <DocumentFragment>
1312
1312
  <ui_view
1313
- class="view container"
1313
+ class="view inputPhone"
1314
1314
  >
1315
1315
  <ui_view
1316
1316
  class="view row inputBorder"
@@ -1412,7 +1412,7 @@ exports[`component:<InputPhone> prop:success 1`] = `
1412
1412
  exports[`component:<InputPhone> prop:value 1`] = `
1413
1413
  <DocumentFragment>
1414
1414
  <ui_view
1415
- class="view container"
1415
+ class="view inputPhone"
1416
1416
  >
1417
1417
  <ui_view
1418
1418
  class="view row inputBorder"
@@ -1493,7 +1493,7 @@ exports[`component:<InputPhone> prop:value 1`] = `
1493
1493
  exports[`component:<InputPhone> prop:value:without prefixes 1`] = `
1494
1494
  <DocumentFragment>
1495
1495
  <ui_view
1496
- class="view container"
1496
+ class="view inputPhone"
1497
1497
  >
1498
1498
  <ui_view
1499
1499
  class="view row inputBorder"
@@ -1521,7 +1521,7 @@ exports[`component:<InputPhone> prop:value:without prefixes 1`] = `
1521
1521
  exports[`component:<InputPhone> prop:warning 1`] = `
1522
1522
  <DocumentFragment>
1523
1523
  <ui_view
1524
- class="view container"
1524
+ class="view inputPhone"
1525
1525
  >
1526
1526
  <ui_view
1527
1527
  class="view row inputBorder"
@@ -1619,7 +1619,7 @@ exports[`component:<InputPhone> prop:warning 1`] = `
1619
1619
  exports[`component:<InputPhone> renders 1`] = `
1620
1620
  <DocumentFragment>
1621
1621
  <ui_view
1622
- class="view container"
1622
+ class="view inputPhone"
1623
1623
  >
1624
1624
  <ui_view
1625
1625
  class="view row inputBorder"
@@ -1700,7 +1700,7 @@ exports[`component:<InputPhone> renders 1`] = `
1700
1700
  exports[`component:<InputPhone> testId 1`] = `
1701
1701
  <DocumentFragment>
1702
1702
  <ui_view
1703
- class="view container"
1703
+ class="view inputPhone"
1704
1704
  >
1705
1705
  <ui_view
1706
1706
  class="view row inputBorder"
@@ -1783,7 +1783,7 @@ exports[`component:<InputPhone> testId 1`] = `
1783
1783
  exports[`component:<InputPhone> testId:without prefixes 1`] = `
1784
1784
  <DocumentFragment>
1785
1785
  <ui_view
1786
- class="view container"
1786
+ class="view inputPhone"
1787
1787
  >
1788
1788
  <ui_view
1789
1789
  class="view row inputBorder"
@@ -1,3 +1,4 @@
1
+ /* ! WTF */
1
2
  [data-mirai-modal] {
2
3
  overflow: hidden;
3
4
  }
@@ -109,7 +109,7 @@ var Slider = function Slider(_ref) {
109
109
  onMouseLeave: isDesktop ? function () {
110
110
  return setFocus(false);
111
111
  } : undefined,
112
- className: (0, _helpers.styles)(_SliderModule.default.container, fullScreen && _SliderModule.default.fullScreen, others.className),
112
+ className: (0, _helpers.styles)(_SliderModule.default.slider, fullScreen && _SliderModule.default.fullScreen, others.className),
113
113
  style: _objectSpread(_objectSpread({}, !fullScreen ? others.style : undefined), {}, {
114
114
  width: fullScreen ? screenWidth : width
115
115
  })
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.js","names":["interval","timeout","Slider","auto","captions","fullScreen","propFullScreen","height","propHeight","images","index","propIndex","thumbnails","width","propWidth","onChange","onFullScreen","others","useDevice","screenHeight","isDesktop","isLandscape","screenWidth","useState","focus","setFocus","setFullScreen","setIndex","useEffect","setInterval","length","clearInterval","handleScroll","x","clearTimeout","setTimeout","Math","round","getMotionExpand","undefined","styles","style","container","className","button","hide","back","ICON","LEFT","floor","scrollView","map","image","imageIndex","item","backgroundImage","PRELOAD_IMAGES","caption","text","forward","RIGHT","thumbnail","active","displayName","propTypes","PropTypes","bool","arrayOf","string","number","isRequired","func"],"sources":["../../../src/components/Slider/Slider.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { useDevice } from '../../hooks';\nimport { Icon, ICON, ScrollView, Pressable, Text, View } from '../../primitives';\nimport { getMotionExpand } from './helpers';\nimport { PRELOAD_IMAGES } from './Slider.constants';\nimport style from './Slider.module.css';\n\nlet interval;\nlet timeout;\n\nconst Slider = ({\n auto = false,\n captions = [],\n fullScreen: propFullScreen = false,\n height: propHeight = 240,\n images = [],\n index: propIndex = 0,\n thumbnails = [],\n width: propWidth = 320,\n onChange = () => {},\n onFullScreen = () => {},\n ...others\n}) => {\n const { height: screenHeight, isDesktop, isLandscape, width: screenWidth } = useDevice();\n\n const [focus, setFocus] = useState(false);\n const [fullScreen, setFullScreen] = useState(propFullScreen);\n const [index, setIndex] = useState(propIndex);\n\n useEffect(() => {\n if (auto) interval = setInterval(() => setIndex(index < images.length - 1 ? index + 1 : 0), 2000);\n return () => clearInterval(interval);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [auto, index]);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => onChange(index), [index]);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => onFullScreen(fullScreen), [fullScreen]);\n\n const height = fullScreen ? screenHeight * (isLandscape ? 0.9 : 0.4) : propHeight;\n\n const width = fullScreen ? screenWidth * (isLandscape ? 0.85 : 0.9) : propWidth;\n\n const handleScroll = ({ x } = {}) => {\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n setIndex(x < width ? 0 : Math.round(x / width));\n }, getMotionExpand());\n };\n\n return (\n <View\n {...others}\n role=\"slider\"\n onMouseEnter={isDesktop ? () => setFocus(true) : undefined}\n onMouseLeave={isDesktop ? () => setFocus(false) : undefined}\n className={styles(style.container, fullScreen && style.fullScreen, others.className)}\n style={{ ...(!fullScreen ? others.style : undefined), width: fullScreen ? screenWidth : width }}\n >\n {!fullScreen && (\n <Pressable\n onPress={() => setIndex(index - 1)}\n className={styles(style.button, (index <= 0 || (isDesktop && !focus)) && style.hide, style.back)}\n >\n <Icon value={ICON.LEFT} />\n </Pressable>\n )}\n\n <ScrollView\n horizontal\n scrollTo={index * Math.floor(width)}\n snap\n width={width}\n onScroll={handleScroll}\n className={style.scrollView}\n >\n {images.map((image, imageIndex) => (\n <View key={imageIndex} className={style.item}>\n <View\n role=\"image\"\n onClick={() => setFullScreen(!fullScreen)}\n className={style.image}\n style={{\n backgroundImage:\n fullScreen || (imageIndex >= index - PRELOAD_IMAGES && imageIndex <= index + PRELOAD_IMAGES)\n ? `url(${image})`\n : undefined,\n height,\n width,\n }}\n />\n {captions[imageIndex] && (\n <View className={style.caption}>\n <Text bold small className={style.text}>\n {captions[imageIndex]}\n </Text>\n </View>\n )}\n </View>\n ))}\n </ScrollView>\n\n {!fullScreen && (\n <Pressable\n onPress={() => setIndex(index + 1)}\n className={styles(\n style.button,\n (index >= images.length - 1 || (isDesktop && !focus)) && style.hide && style.hide,\n style.forward,\n )}\n >\n <Icon value={ICON.RIGHT} />\n </Pressable>\n )}\n\n {fullScreen && (\n <ScrollView horizontal snap className={style.thumbnails}>\n {images.map((image, imageIndex) => (\n <Pressable\n key={imageIndex}\n onPress={() => setIndex(imageIndex)}\n className={styles(style.thumbnail, index === imageIndex && style.active)}\n style={{ backgroundImage: `url(${thumbnails[imageIndex] || image})` }}\n />\n ))}\n </ScrollView>\n )}\n </View>\n );\n};\n\nSlider.displayName = 'Component:Slider';\n\nSlider.propTypes = {\n auto: PropTypes.bool,\n captions: PropTypes.arrayOf(PropTypes.string),\n fullScreen: PropTypes.bool,\n height: PropTypes.number.isRequired,\n images: PropTypes.arrayOf(PropTypes.string).isRequired,\n index: PropTypes.number,\n thumbnails: PropTypes.arrayOf(PropTypes.string),\n width: PropTypes.number.isRequired,\n onChange: PropTypes.func,\n onFullScreen: PropTypes.func,\n};\n\nexport { Slider };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Slider.js","names":["interval","timeout","Slider","auto","captions","fullScreen","propFullScreen","height","propHeight","images","index","propIndex","thumbnails","width","propWidth","onChange","onFullScreen","others","useDevice","screenHeight","isDesktop","isLandscape","screenWidth","useState","focus","setFocus","setFullScreen","setIndex","useEffect","setInterval","length","clearInterval","handleScroll","x","clearTimeout","setTimeout","Math","round","getMotionExpand","undefined","styles","style","slider","className","button","hide","back","ICON","LEFT","floor","scrollView","map","image","imageIndex","item","backgroundImage","PRELOAD_IMAGES","caption","text","forward","RIGHT","thumbnail","active","displayName","propTypes","PropTypes","bool","arrayOf","string","number","isRequired","func"],"sources":["../../../src/components/Slider/Slider.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { useDevice } from '../../hooks';\nimport { Icon, ICON, ScrollView, Pressable, Text, View } from '../../primitives';\nimport { getMotionExpand } from './helpers';\nimport { PRELOAD_IMAGES } from './Slider.constants';\nimport style from './Slider.module.css';\n\nlet interval;\nlet timeout;\n\nconst Slider = ({\n auto = false,\n captions = [],\n fullScreen: propFullScreen = false,\n height: propHeight = 240,\n images = [],\n index: propIndex = 0,\n thumbnails = [],\n width: propWidth = 320,\n onChange = () => {},\n onFullScreen = () => {},\n ...others\n}) => {\n const { height: screenHeight, isDesktop, isLandscape, width: screenWidth } = useDevice();\n\n const [focus, setFocus] = useState(false);\n const [fullScreen, setFullScreen] = useState(propFullScreen);\n const [index, setIndex] = useState(propIndex);\n\n useEffect(() => {\n if (auto) interval = setInterval(() => setIndex(index < images.length - 1 ? index + 1 : 0), 2000);\n return () => clearInterval(interval);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [auto, index]);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => onChange(index), [index]);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => onFullScreen(fullScreen), [fullScreen]);\n\n const height = fullScreen ? screenHeight * (isLandscape ? 0.9 : 0.4) : propHeight;\n\n const width = fullScreen ? screenWidth * (isLandscape ? 0.85 : 0.9) : propWidth;\n\n const handleScroll = ({ x } = {}) => {\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n setIndex(x < width ? 0 : Math.round(x / width));\n }, getMotionExpand());\n };\n\n return (\n <View\n {...others}\n role=\"slider\"\n onMouseEnter={isDesktop ? () => setFocus(true) : undefined}\n onMouseLeave={isDesktop ? () => setFocus(false) : undefined}\n className={styles(style.slider, fullScreen && style.fullScreen, others.className)}\n style={{ ...(!fullScreen ? others.style : undefined), width: fullScreen ? screenWidth : width }}\n >\n {!fullScreen && (\n <Pressable\n onPress={() => setIndex(index - 1)}\n className={styles(style.button, (index <= 0 || (isDesktop && !focus)) && style.hide, style.back)}\n >\n <Icon value={ICON.LEFT} />\n </Pressable>\n )}\n\n <ScrollView\n horizontal\n scrollTo={index * Math.floor(width)}\n snap\n width={width}\n onScroll={handleScroll}\n className={style.scrollView}\n >\n {images.map((image, imageIndex) => (\n <View key={imageIndex} className={style.item}>\n <View\n role=\"image\"\n onClick={() => setFullScreen(!fullScreen)}\n className={style.image}\n style={{\n backgroundImage:\n fullScreen || (imageIndex >= index - PRELOAD_IMAGES && imageIndex <= index + PRELOAD_IMAGES)\n ? `url(${image})`\n : undefined,\n height,\n width,\n }}\n />\n {captions[imageIndex] && (\n <View className={style.caption}>\n <Text bold small className={style.text}>\n {captions[imageIndex]}\n </Text>\n </View>\n )}\n </View>\n ))}\n </ScrollView>\n\n {!fullScreen && (\n <Pressable\n onPress={() => setIndex(index + 1)}\n className={styles(\n style.button,\n (index >= images.length - 1 || (isDesktop && !focus)) && style.hide && style.hide,\n style.forward,\n )}\n >\n <Icon value={ICON.RIGHT} />\n </Pressable>\n )}\n\n {fullScreen && (\n <ScrollView horizontal snap className={style.thumbnails}>\n {images.map((image, imageIndex) => (\n <Pressable\n key={imageIndex}\n onPress={() => setIndex(imageIndex)}\n className={styles(style.thumbnail, index === imageIndex && style.active)}\n style={{ backgroundImage: `url(${thumbnails[imageIndex] || image})` }}\n />\n ))}\n </ScrollView>\n )}\n </View>\n );\n};\n\nSlider.displayName = 'Component:Slider';\n\nSlider.propTypes = {\n auto: PropTypes.bool,\n captions: PropTypes.arrayOf(PropTypes.string),\n fullScreen: PropTypes.bool,\n height: PropTypes.number.isRequired,\n images: PropTypes.arrayOf(PropTypes.string).isRequired,\n index: PropTypes.number,\n thumbnails: PropTypes.arrayOf(PropTypes.string),\n width: PropTypes.number.isRequired,\n onChange: PropTypes.func,\n onFullScreen: PropTypes.func,\n};\n\nexport { Slider };\n"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- .container {
1
+ .slider {
2
2
  align-items: center;
3
3
  justify-content: center;
4
4
  overflow: hidden;
5
5
  position: relative;
6
6
  }
7
7
 
8
- .container.fullScreen {
8
+ .slider.fullScreen {
9
9
  background-color: var(--mirai-ui-slider-background);
10
10
  height: 100vh;
11
11
  justify-content: center;
@@ -45,9 +45,6 @@
45
45
  right: var(--mirai-ui-space-M);
46
46
  }
47
47
 
48
- .scrollView {
49
- }
50
-
51
48
  .fullScreen .scrollView {
52
49
  gap: var(--mirai-ui-space-M);
53
50
  }
@@ -3,7 +3,7 @@
3
3
  exports[`component:<Slider> inherit:className 1`] = `
4
4
  <DocumentFragment>
5
5
  <ui_view
6
- class="view container mirai"
6
+ class="view slider mirai"
7
7
  style="width: 360px;"
8
8
  >
9
9
  <ui_pressable
@@ -118,7 +118,7 @@ exports[`component:<Slider> inherit:className 1`] = `
118
118
  exports[`component:<Slider> prop:auto 1`] = `
119
119
  <DocumentFragment>
120
120
  <ui_view
121
- class="view container"
121
+ class="view slider"
122
122
  style="width: 360px;"
123
123
  >
124
124
  <ui_pressable
@@ -233,7 +233,7 @@ exports[`component:<Slider> prop:auto 1`] = `
233
233
  exports[`component:<Slider> prop:captions 1`] = `
234
234
  <DocumentFragment>
235
235
  <ui_view
236
- class="view container"
236
+ class="view slider"
237
237
  style="width: 360px;"
238
238
  >
239
239
  <ui_pressable
@@ -393,7 +393,7 @@ exports[`component:<Slider> prop:captions 1`] = `
393
393
  exports[`component:<Slider> prop:fullScreen 1`] = `
394
394
  <DocumentFragment>
395
395
  <ui_view
396
- class="view container fullScreen"
396
+ class="view slider fullScreen"
397
397
  style="width: 1024px;"
398
398
  >
399
399
  <ui_scrollview
@@ -490,7 +490,7 @@ exports[`component:<Slider> prop:fullScreen 1`] = `
490
490
  exports[`component:<Slider> prop:index 1`] = `
491
491
  <DocumentFragment>
492
492
  <ui_view
493
- class="view container"
493
+ class="view slider"
494
494
  style="width: 360px;"
495
495
  >
496
496
  <ui_pressable
@@ -605,7 +605,7 @@ exports[`component:<Slider> prop:index 1`] = `
605
605
  exports[`component:<Slider> renders 1`] = `
606
606
  <DocumentFragment>
607
607
  <ui_view
608
- class="view container"
608
+ class="view slider"
609
609
  style="width: 360px;"
610
610
  >
611
611
  <ui_pressable
@@ -720,7 +720,7 @@ exports[`component:<Slider> renders 1`] = `
720
720
  exports[`component:<Slider> testId 1`] = `
721
721
  <DocumentFragment>
722
722
  <ui_view
723
- class="view container"
723
+ class="view slider"
724
724
  data-testid="mirai"
725
725
  style="width: 360px;"
726
726
  >
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.getTag = void 0;
7
7
  var NATIVE_TAGS = [
8
8
  // -- PRIMITIVES -------------------------------------------------------------
9
+ 'iframe', 'img',
9
10
  // <Input>
10
11
  'input', 'textarea',
11
12
  // <Select>
@@ -1 +1 @@
1
- {"version":3,"file":"getTag.js","names":["NATIVE_TAGS","getTag","tag","isNative","includes"],"sources":["../../../../src/primitives/Primitive/helpers/getTag.js"],"sourcesContent":["const NATIVE_TAGS = [\n // -- PRIMITIVES -------------------------------------------------------------\n // <Input>\n 'input',\n 'textarea',\n // <Select>\n 'select',\n 'option',\n // -- COMPONENTS -------------------------------------------------------------\n // <Action>\n 'a',\n // <Button>\n 'button',\n // <Form>\n 'form',\n // <Table>\n 'table',\n 'thead',\n 'tbody',\n 'tr',\n 'th',\n 'td',\n];\n\nexport const getTag = (\n tag = 'primitive',\n // * experimental\n // props = {}\n) => {\n let isNative = NATIVE_TAGS.includes(tag);\n\n // * Experimental\n // if (tag === 'button' && props.type !== 'submit') isNative = false;\n\n return isNative ? tag : `ui_${tag}`;\n};\n"],"mappings":";;;;;;AAAA,IAAMA,WAAW,GAAG;AAClB;AACA;AACA,OAAO,EACP,UAAU;AACV;AACA,QAAQ,EACR,QAAQ;AACR;AACA;AACA,GAAG;AACH;AACA,QAAQ;AACR;AACA,MAAM;AACN;AACA,OAAO,EACP,OAAO,EACP,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,IAAI,CACL;AAEM,IAAMC,MAAM,GAAG,SAATA,MAAM,GAId;EAAA,IAHHC,GAAG,uEAAG,WAAW;EAIjB,IAAIC,QAAQ,GAAGH,WAAW,CAACI,QAAQ,CAACF,GAAG,CAAC;;EAExC;EACA;;EAEA,OAAOC,QAAQ,GAAGD,GAAG,gBAASA,GAAG,CAAE;AACrC,CAAC;AAAC"}
1
+ {"version":3,"file":"getTag.js","names":["NATIVE_TAGS","getTag","tag","isNative","includes"],"sources":["../../../../src/primitives/Primitive/helpers/getTag.js"],"sourcesContent":["const NATIVE_TAGS = [\n // -- PRIMITIVES -------------------------------------------------------------\n 'iframe',\n 'img',\n // <Input>\n 'input',\n 'textarea',\n // <Select>\n 'select',\n 'option',\n // -- COMPONENTS -------------------------------------------------------------\n // <Action>\n 'a',\n // <Button>\n 'button',\n // <Form>\n 'form',\n // <Table>\n 'table',\n 'thead',\n 'tbody',\n 'tr',\n 'th',\n 'td',\n];\n\nexport const getTag = (\n tag = 'primitive',\n // * experimental\n // props = {}\n) => {\n let isNative = NATIVE_TAGS.includes(tag);\n\n // * Experimental\n // if (tag === 'button' && props.type !== 'submit') isNative = false;\n\n return isNative ? tag : `ui_${tag}`;\n};\n"],"mappings":";;;;;;AAAA,IAAMA,WAAW,GAAG;AAClB;AACA,QAAQ,EACR,KAAK;AACL;AACA,OAAO,EACP,UAAU;AACV;AACA,QAAQ,EACR,QAAQ;AACR;AACA;AACA,GAAG;AACH;AACA,QAAQ;AACR;AACA,MAAM;AACN;AACA,OAAO,EACP,OAAO,EACP,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,IAAI,CACL;AAEM,IAAMC,MAAM,GAAG,SAATA,MAAM,GAId;EAAA,IAHHC,GAAG,uEAAG,WAAW;EAIjB,IAAIC,QAAQ,GAAGH,WAAW,CAACI,QAAQ,CAACF,GAAG,CAAC;;EAExC;EACA;;EAEA,OAAOC,QAAQ,GAAGD,GAAG,gBAASA,GAAG,CAAE;AACrC,CAAC;AAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/ui",
3
- "version": "1.1.0-d",
3
+ "version": "1.1.0-f",
4
4
  "repository": "git@gitlab.com:miraicorp/dev/frontend/ui.git",
5
5
  "author": "JΛVI <hello@soyjavi.com>",
6
6
  "license": "MIT",