@mirai/ui 1.0.28 → 1.0.29

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.
@@ -21,7 +21,7 @@ var _LayerModule = _interopRequireDefault(require("./Layer.module.css"));
21
21
 
22
22
  var _LayerContent = require("./LayerContent");
23
23
 
24
- var _excluded = ["centered", "forceRender", "visible"];
24
+ var _excluded = ["centered", "forceRender", "bottom", "left", "right", "top", "visible"];
25
25
 
26
26
  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); }
27
27
 
@@ -55,6 +55,10 @@ var Layer = function Layer(_ref) {
55
55
  var centered = _ref.centered,
56
56
  _ref$forceRender = _ref.forceRender,
57
57
  forceRender = _ref$forceRender === void 0 ? true : _ref$forceRender,
58
+ forceBottom = _ref.bottom,
59
+ forceLeft = _ref.left,
60
+ forceRight = _ref.right,
61
+ forceTop = _ref.top,
58
62
  visible = _ref.visible,
59
63
  others = _objectWithoutProperties(_ref, _excluded);
60
64
 
@@ -76,7 +80,13 @@ var Layer = function Layer(_ref) {
76
80
  var componentLayout = (0, _helpers2.getElementLayout)(componentEl);
77
81
  var contentLayout = (0, _helpers2.getElementLayout)(contentEl);
78
82
 
79
- var _getLayerPosition = (0, _helpers2.getLayerPosition)(componentLayout, contentLayout, device, centered),
83
+ var _getLayerPosition = (0, _helpers2.getLayerPosition)(componentLayout, contentLayout, device, {
84
+ centered: centered,
85
+ forceBottom: forceBottom,
86
+ forceLeft: forceLeft,
87
+ forceRight: forceRight,
88
+ forceTop: forceTop
89
+ }),
80
90
  _getLayerPosition$lef = _getLayerPosition.left,
81
91
  left = _getLayerPosition$lef === void 0 ? 0 : _getLayerPosition$lef,
82
92
  _getLayerPosition$top = _getLayerPosition.top,
@@ -86,7 +96,7 @@ var Layer = function Layer(_ref) {
86
96
  left: "".concat(left, "px"),
87
97
  top: "".concat(top, "px")
88
98
  });
89
- }, [centered, device, visible]);
99
+ }, [centered, device, forceBottom, forceLeft, forceRight, forceTop, visible]);
90
100
 
91
101
  var children = _react.default.Children.map(others.children || [], function (child) {
92
102
  return child;
@@ -110,9 +120,13 @@ var Layer = function Layer(_ref) {
110
120
 
111
121
  exports.Layer = Layer;
112
122
  Layer.propTypes = {
113
- forceRender: _propTypes.default.bool,
114
- children: _propTypes.default.node,
123
+ bottom: _propTypes.default.bool,
115
124
  centered: _propTypes.default.bool,
125
+ children: _propTypes.default.node,
126
+ forceRender: _propTypes.default.bool,
127
+ left: _propTypes.default.bool,
128
+ right: _propTypes.default.bool,
129
+ top: _propTypes.default.bool,
116
130
  visible: _propTypes.default.bool
117
131
  };
118
132
  //# sourceMappingURL=Layer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Layer.js","names":["Layer","centered","forceRender","visible","others","device","componentRef","contentRef","position","setPosition","current","componentEl","firstChild","contentEl","componentLayout","contentLayout","left","top","children","React","Children","map","child","find","name","type","LayerContent","style","layer","hidden","className","propTypes","PropTypes","bool","node"],"sources":["../../../src/primitives/Layer/Layer.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useLayoutEffect, useRef, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { useDevice } from '../../hooks';\nimport { getElementLayout, getLayerPosition } from './helpers';\nimport style from './Layer.module.css';\nimport { LayerContent } from './LayerContent';\n\nconst Layer = ({ centered, forceRender = true, visible, ...others }) => {\n const device = useDevice();\n const componentRef = useRef();\n const contentRef = useRef();\n\n const [position, setPosition] = useState();\n\n useLayoutEffect(() => {\n const { current: { firstChild: componentEl } = {} } = componentRef;\n const { current: contentEl } = contentRef;\n\n if (!componentEl || !contentEl) return setPosition();\n\n const componentLayout = getElementLayout(componentEl);\n const contentLayout = getElementLayout(contentEl);\n const { left = 0, top = 0 } = getLayerPosition(componentLayout, contentLayout, device, centered);\n\n setPosition({ left: `${left}px`, top: `${top}px` });\n }, [centered, device, visible]);\n\n const children = React.Children.map(others.children || [], (child) => child);\n\n return (\n <>\n <span data-testid={others['data-testid']} ref={componentRef}>\n {children.find(({ type: { name } }) => name !== LayerContent.name)}\n </span>\n\n {(forceRender || visible) && (\n <div\n ref={contentRef}\n className={styles(style.layer, !visible && style.hidden, others.className)}\n style={{ ...others.style, ...position }}\n >\n {children?.find(({ type: { name } }) => name === LayerContent.name)}\n </div>\n )}\n </>\n );\n};\n\nLayer.propTypes = {\n forceRender: PropTypes.bool,\n children: PropTypes.node,\n centered: PropTypes.bool,\n visible: PropTypes.bool,\n};\n\nexport { Layer };\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,KAAK,GAAG,SAARA,KAAQ,OAA0D;EAAA,IAAvDC,QAAuD,QAAvDA,QAAuD;EAAA,4BAA7CC,WAA6C;EAAA,IAA7CA,WAA6C,iCAA/B,IAA+B;EAAA,IAAzBC,OAAyB,QAAzBA,OAAyB;EAAA,IAAbC,MAAa;;EACtE,IAAMC,MAAM,GAAG,uBAAf;EACA,IAAMC,YAAY,GAAG,oBAArB;EACA,IAAMC,UAAU,GAAG,oBAAnB;;EAEA,gBAAgC,sBAAhC;EAAA;EAAA,IAAOC,QAAP;EAAA,IAAiBC,WAAjB;;EAEA,4BAAgB,YAAM;IACpB,4BAAsDH,YAAtD,CAAQI,OAAR;IAAA,2DAA+C,EAA/C;IAAA,IAA+BC,WAA/B,yBAAmBC,UAAnB;IACA,IAAiBC,SAAjB,GAA+BN,UAA/B,CAAQG,OAAR;IAEA,IAAI,CAACC,WAAD,IAAgB,CAACE,SAArB,EAAgC,OAAOJ,WAAW,EAAlB;IAEhC,IAAMK,eAAe,GAAG,gCAAiBH,WAAjB,CAAxB;IACA,IAAMI,aAAa,GAAG,gCAAiBF,SAAjB,CAAtB;;IACA,wBAA8B,gCAAiBC,eAAjB,EAAkCC,aAAlC,EAAiDV,MAAjD,EAAyDJ,QAAzD,CAA9B;IAAA,8CAAQe,IAAR;IAAA,IAAQA,IAAR,sCAAe,CAAf;IAAA,8CAAkBC,GAAlB;IAAA,IAAkBA,GAAlB,sCAAwB,CAAxB;;IAEAR,WAAW,CAAC;MAAEO,IAAI,YAAKA,IAAL,OAAN;MAAqBC,GAAG,YAAKA,GAAL;IAAxB,CAAD,CAAX;EACD,CAXD,EAWG,CAAChB,QAAD,EAAWI,MAAX,EAAmBF,OAAnB,CAXH;;EAaA,IAAMe,QAAQ,GAAGC,eAAMC,QAAN,CAAeC,GAAf,CAAmBjB,MAAM,CAACc,QAAP,IAAmB,EAAtC,EAA0C,UAACI,KAAD;IAAA,OAAWA,KAAX;EAAA,CAA1C,CAAjB;;EAEA,oBACE,yEACE;IAAM,eAAalB,MAAM,CAAC,aAAD,CAAzB;IAA0C,GAAG,EAAEE;EAA/C,GACGY,QAAQ,CAACK,IAAT,CAAc;IAAA,IAAWC,IAAX,SAAGC,IAAH,CAAWD,IAAX;IAAA,OAAwBA,IAAI,KAAKE,2BAAaF,IAA9C;EAAA,CAAd,CADH,CADF,EAKG,CAACtB,WAAW,IAAIC,OAAhB,kBACC;IACE,GAAG,EAAEI,UADP;IAEE,SAAS,EAAE,qBAAOoB,qBAAMC,KAAb,EAAoB,CAACzB,OAAD,IAAYwB,qBAAME,MAAtC,EAA8CzB,MAAM,CAAC0B,SAArD,CAFb;IAGE,KAAK,kCAAO1B,MAAM,CAACuB,KAAd,GAAwBnB,QAAxB;EAHP,GAKGU,QALH,aAKGA,QALH,uBAKGA,QAAQ,CAAEK,IAAV,CAAe;IAAA,IAAWC,IAAX,SAAGC,IAAH,CAAWD,IAAX;IAAA,OAAwBA,IAAI,KAAKE,2BAAaF,IAA9C;EAAA,CAAf,CALH,CANJ,CADF;AAiBD,CAvCD;;;AAyCAxB,KAAK,CAAC+B,SAAN,GAAkB;EAChB7B,WAAW,EAAE8B,mBAAUC,IADP;EAEhBf,QAAQ,EAAEc,mBAAUE,IAFJ;EAGhBjC,QAAQ,EAAE+B,mBAAUC,IAHJ;EAIhB9B,OAAO,EAAE6B,mBAAUC;AAJH,CAAlB"}
1
+ {"version":3,"file":"Layer.js","names":["Layer","centered","forceRender","forceBottom","bottom","forceLeft","left","forceRight","right","forceTop","top","visible","others","device","componentRef","contentRef","position","setPosition","current","componentEl","firstChild","contentEl","componentLayout","contentLayout","children","React","Children","map","child","find","name","type","LayerContent","style","layer","hidden","className","propTypes","PropTypes","bool","node"],"sources":["../../../src/primitives/Layer/Layer.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useLayoutEffect, useRef, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { useDevice } from '../../hooks';\nimport { getElementLayout, getLayerPosition } from './helpers';\nimport style from './Layer.module.css';\nimport { LayerContent } from './LayerContent';\n\nconst Layer = ({\n centered,\n forceRender = true,\n bottom: forceBottom,\n left: forceLeft,\n right: forceRight,\n top: forceTop,\n visible,\n ...others\n}) => {\n const device = useDevice();\n const componentRef = useRef();\n const contentRef = useRef();\n\n const [position, setPosition] = useState();\n\n useLayoutEffect(() => {\n const { current: { firstChild: componentEl } = {} } = componentRef;\n const { current: contentEl } = contentRef;\n\n if (!componentEl || !contentEl) return setPosition();\n\n const componentLayout = getElementLayout(componentEl);\n const contentLayout = getElementLayout(contentEl);\n const { left = 0, top = 0 } = getLayerPosition(componentLayout, contentLayout, device, {\n centered,\n forceBottom,\n forceLeft,\n forceRight,\n forceTop,\n });\n\n setPosition({ left: `${left}px`, top: `${top}px` });\n }, [centered, device, forceBottom, forceLeft, forceRight, forceTop, visible]);\n\n const children = React.Children.map(others.children || [], (child) => child);\n\n return (\n <>\n <span data-testid={others['data-testid']} ref={componentRef}>\n {children.find(({ type: { name } }) => name !== LayerContent.name)}\n </span>\n\n {(forceRender || visible) && (\n <div\n ref={contentRef}\n className={styles(style.layer, !visible && style.hidden, others.className)}\n style={{ ...others.style, ...position }}\n >\n {children?.find(({ type: { name } }) => name === LayerContent.name)}\n </div>\n )}\n </>\n );\n};\n\nLayer.propTypes = {\n bottom: PropTypes.bool,\n centered: PropTypes.bool,\n children: PropTypes.node,\n forceRender: PropTypes.bool,\n left: PropTypes.bool,\n right: PropTypes.bool,\n top: PropTypes.bool,\n visible: PropTypes.bool,\n};\n\nexport { Layer };\n"],"mappings":"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"}
@@ -9,7 +9,14 @@ var getLayerPosition = function getLayerPosition() {
9
9
  var componentLayout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
10
10
  var contentLayout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
11
11
  var device = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
12
- var centered = arguments.length > 3 ? arguments[3] : undefined;
12
+
13
+ var _ref = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {},
14
+ centered = _ref.centered,
15
+ forceBottom = _ref.forceBottom,
16
+ forceLeft = _ref.forceLeft,
17
+ forceRight = _ref.forceRight,
18
+ forceTop = _ref.forceTop;
19
+
13
20
  var _componentLayout$left = componentLayout.left,
14
21
  componentLeft = _componentLayout$left === void 0 ? 0 : _componentLayout$left,
15
22
  _componentLayout$top = componentLayout.top,
@@ -29,12 +36,19 @@ var getLayerPosition = function getLayerPosition() {
29
36
  var top = componentTop + componentHeight;
30
37
  var gapTop = componentTop;
31
38
  var gapBottom = height - top;
32
- if (gapTop > gapBottom) top = componentTop - contentHeight;
39
+ if (contentWidth > gapBottom && gapTop > gapBottom && !forceBottom || forceTop) top = componentTop - contentHeight;
33
40
  var left = componentLeft;
34
41
  var gapLeft = componentLeft + componentWidth;
35
42
  var gapRight = width - componentLeft;
36
- if (gapLeft > gapRight) left = componentLeft - contentWidth + componentWidth;
37
- if (centered) left += (contentWidth - componentWidth) / 2 * (gapLeft >= gapRight ? 1 : -1);
43
+ if (contentWidth > gapRight && gapLeft > gapRight && !forceLeft || forceRight) left = componentLeft - contentWidth + componentWidth;
44
+
45
+ if (centered) {
46
+ var gapCenter = (componentWidth + contentWidth) / 2;
47
+ var space = (contentWidth - componentWidth) / 2;
48
+ if (gapLeft > gapRight) left = componentLeft - contentWidth + componentWidth;
49
+ if (gapLeft > gapCenter && gapRight > gapCenter) left += space * (gapLeft > gapRight ? 1 : -1);
50
+ }
51
+
38
52
  return {
39
53
  left: left,
40
54
  top: top
@@ -1 +1 @@
1
- {"version":3,"file":"getLayerPosition.js","names":["getLayerPosition","componentLayout","contentLayout","device","centered","left","componentLeft","top","componentTop","width","componentWidth","height","componentHeight","contentWidth","contentHeight","gapTop","gapBottom","gapLeft","gapRight"],"sources":["../../../../src/primitives/Layer/helpers/getLayerPosition.js"],"sourcesContent":["export const getLayerPosition = (componentLayout = {}, contentLayout = {}, device = {}, centered) => {\n const {\n left: componentLeft = 0,\n top: componentTop = 0,\n width: componentWidth = 0,\n height: componentHeight = 0,\n } = componentLayout;\n const { width: contentWidth = 0, height: contentHeight = 0 } = contentLayout;\n const { height = 0, width = 0 } = device;\n\n let top = componentTop + componentHeight;\n const gapTop = componentTop;\n const gapBottom = height - top;\n if (gapTop > gapBottom) top = componentTop - contentHeight;\n\n let left = componentLeft;\n const gapLeft = componentLeft + componentWidth;\n const gapRight = width - componentLeft;\n if (gapLeft > gapRight) left = componentLeft - contentWidth + componentWidth;\n\n if (centered) left += ((contentWidth - componentWidth) / 2) * (gapLeft >= gapRight ? 1 : -1);\n\n return { left, top };\n};\n"],"mappings":";;;;;;;AAAO,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAqE;EAAA,IAApEC,eAAoE,uEAAlD,EAAkD;EAAA,IAA9CC,aAA8C,uEAA9B,EAA8B;EAAA,IAA1BC,MAA0B,uEAAjB,EAAiB;EAAA,IAAbC,QAAa;EACnG,4BAKIH,eALJ,CACEI,IADF;EAAA,IACQC,aADR,sCACwB,CADxB;EAAA,2BAKIL,eALJ,CAEEM,GAFF;EAAA,IAEOC,YAFP,qCAEsB,CAFtB;EAAA,4BAKIP,eALJ,CAGEQ,KAHF;EAAA,IAGSC,cAHT,sCAG0B,CAH1B;EAAA,4BAKIT,eALJ,CAIEU,MAJF;EAAA,IAIUC,eAJV,sCAI4B,CAJ5B;EAMA,2BAA+DV,aAA/D,CAAQO,KAAR;EAAA,IAAeI,YAAf,qCAA8B,CAA9B;EAAA,4BAA+DX,aAA/D,CAAiCS,MAAjC;EAAA,IAAyCG,aAAzC,sCAAyD,CAAzD;EACA,qBAAkCX,MAAlC,CAAQQ,MAAR;EAAA,IAAQA,MAAR,+BAAiB,CAAjB;EAAA,oBAAkCR,MAAlC,CAAoBM,KAApB;EAAA,IAAoBA,KAApB,8BAA4B,CAA5B;EAEA,IAAIF,GAAG,GAAGC,YAAY,GAAGI,eAAzB;EACA,IAAMG,MAAM,GAAGP,YAAf;EACA,IAAMQ,SAAS,GAAGL,MAAM,GAAGJ,GAA3B;EACA,IAAIQ,MAAM,GAAGC,SAAb,EAAwBT,GAAG,GAAGC,YAAY,GAAGM,aAArB;EAExB,IAAIT,IAAI,GAAGC,aAAX;EACA,IAAMW,OAAO,GAAGX,aAAa,GAAGI,cAAhC;EACA,IAAMQ,QAAQ,GAAGT,KAAK,GAAGH,aAAzB;EACA,IAAIW,OAAO,GAAGC,QAAd,EAAwBb,IAAI,GAAGC,aAAa,GAAGO,YAAhB,GAA+BH,cAAtC;EAExB,IAAIN,QAAJ,EAAcC,IAAI,IAAK,CAACQ,YAAY,GAAGH,cAAhB,IAAkC,CAAnC,IAAyCO,OAAO,IAAIC,QAAX,GAAsB,CAAtB,GAA0B,CAAC,CAApE,CAAR;EAEd,OAAO;IAAEb,IAAI,EAAJA,IAAF;IAAQE,GAAG,EAAHA;EAAR,CAAP;AACD,CAvBM"}
1
+ {"version":3,"file":"getLayerPosition.js","names":["getLayerPosition","componentLayout","contentLayout","device","centered","forceBottom","forceLeft","forceRight","forceTop","left","componentLeft","top","componentTop","width","componentWidth","height","componentHeight","contentWidth","contentHeight","gapTop","gapBottom","gapLeft","gapRight","gapCenter","space"],"sources":["../../../../src/primitives/Layer/helpers/getLayerPosition.js"],"sourcesContent":["export const getLayerPosition = (\n componentLayout = {},\n contentLayout = {},\n device = {},\n { centered, forceBottom, forceLeft, forceRight, forceTop } = {},\n) => {\n const {\n left: componentLeft = 0,\n top: componentTop = 0,\n width: componentWidth = 0,\n height: componentHeight = 0,\n } = componentLayout;\n const { width: contentWidth = 0, height: contentHeight = 0 } = contentLayout;\n const { height = 0, width = 0 } = device;\n\n let top = componentTop + componentHeight;\n const gapTop = componentTop;\n const gapBottom = height - top;\n if ((contentWidth > gapBottom && gapTop > gapBottom && !forceBottom) || forceTop) top = componentTop - contentHeight;\n\n let left = componentLeft;\n const gapLeft = componentLeft + componentWidth;\n const gapRight = width - componentLeft;\n\n if ((contentWidth > gapRight && gapLeft > gapRight && !forceLeft) || forceRight)\n left = componentLeft - contentWidth + componentWidth;\n\n if (centered) {\n const gapCenter = (componentWidth + contentWidth) / 2;\n const space = (contentWidth - componentWidth) / 2;\n if (gapLeft > gapRight) left = componentLeft - contentWidth + componentWidth;\n if (gapLeft > gapCenter && gapRight > gapCenter) left += space * (gapLeft > gapRight ? 1 : -1);\n }\n\n return { left, top };\n};\n"],"mappings":";;;;;;;AAAO,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,GAK3B;EAAA,IAJHC,eAIG,uEAJe,EAIf;EAAA,IAHHC,aAGG,uEAHa,EAGb;EAAA,IAFHC,MAEG,uEAFM,EAEN;;EAAA,+EAD0D,EAC1D;EAAA,IADDC,QACC,QADDA,QACC;EAAA,IADSC,WACT,QADSA,WACT;EAAA,IADsBC,SACtB,QADsBA,SACtB;EAAA,IADiCC,UACjC,QADiCA,UACjC;EAAA,IAD6CC,QAC7C,QAD6CA,QAC7C;;EACH,4BAKIP,eALJ,CACEQ,IADF;EAAA,IACQC,aADR,sCACwB,CADxB;EAAA,2BAKIT,eALJ,CAEEU,GAFF;EAAA,IAEOC,YAFP,qCAEsB,CAFtB;EAAA,4BAKIX,eALJ,CAGEY,KAHF;EAAA,IAGSC,cAHT,sCAG0B,CAH1B;EAAA,4BAKIb,eALJ,CAIEc,MAJF;EAAA,IAIUC,eAJV,sCAI4B,CAJ5B;EAMA,2BAA+Dd,aAA/D,CAAQW,KAAR;EAAA,IAAeI,YAAf,qCAA8B,CAA9B;EAAA,4BAA+Df,aAA/D,CAAiCa,MAAjC;EAAA,IAAyCG,aAAzC,sCAAyD,CAAzD;EACA,qBAAkCf,MAAlC,CAAQY,MAAR;EAAA,IAAQA,MAAR,+BAAiB,CAAjB;EAAA,oBAAkCZ,MAAlC,CAAoBU,KAApB;EAAA,IAAoBA,KAApB,8BAA4B,CAA5B;EAEA,IAAIF,GAAG,GAAGC,YAAY,GAAGI,eAAzB;EACA,IAAMG,MAAM,GAAGP,YAAf;EACA,IAAMQ,SAAS,GAAGL,MAAM,GAAGJ,GAA3B;EACA,IAAKM,YAAY,GAAGG,SAAf,IAA4BD,MAAM,GAAGC,SAArC,IAAkD,CAACf,WAApD,IAAoEG,QAAxE,EAAkFG,GAAG,GAAGC,YAAY,GAAGM,aAArB;EAElF,IAAIT,IAAI,GAAGC,aAAX;EACA,IAAMW,OAAO,GAAGX,aAAa,GAAGI,cAAhC;EACA,IAAMQ,QAAQ,GAAGT,KAAK,GAAGH,aAAzB;EAEA,IAAKO,YAAY,GAAGK,QAAf,IAA2BD,OAAO,GAAGC,QAArC,IAAiD,CAAChB,SAAnD,IAAiEC,UAArE,EACEE,IAAI,GAAGC,aAAa,GAAGO,YAAhB,GAA+BH,cAAtC;;EAEF,IAAIV,QAAJ,EAAc;IACZ,IAAMmB,SAAS,GAAG,CAACT,cAAc,GAAGG,YAAlB,IAAkC,CAApD;IACA,IAAMO,KAAK,GAAG,CAACP,YAAY,GAAGH,cAAhB,IAAkC,CAAhD;IACA,IAAIO,OAAO,GAAGC,QAAd,EAAwBb,IAAI,GAAGC,aAAa,GAAGO,YAAhB,GAA+BH,cAAtC;IACxB,IAAIO,OAAO,GAAGE,SAAV,IAAuBD,QAAQ,GAAGC,SAAtC,EAAiDd,IAAI,IAAIe,KAAK,IAAIH,OAAO,GAAGC,QAAV,GAAqB,CAArB,GAAyB,CAAC,CAA9B,CAAb;EAClD;;EAED,OAAO;IAAEb,IAAI,EAAJA,IAAF;IAAQE,GAAG,EAAHA;EAAR,CAAP;AACD,CAnCM"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/ui",
3
- "version": "1.0.28",
3
+ "version": "1.0.29",
4
4
  "repository": "git@gitlab.com:miraicorp/dev/frontend/ui.git",
5
5
  "author": "JΛVI <hello@soyjavi.com>",
6
6
  "license": "MIT",