@cleartrip/ct-design-shimmer 5.10.0 → 5.11.0-SNAPSHOT-native-main.0

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/dist/Shimmer.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  import { ShimmerProps } from './type';
2
- declare const Shimmer: import("react").MemoExoticComponent<({ width, height, shape, borderRadius, styleConfig }: ShimmerProps) => import("react/jsx-runtime").JSX.Element>;
2
+ declare const Shimmer: import("react").MemoExoticComponent<({ width, height, shape, borderRadius, styleConfig, variant }: ShimmerProps) => import("react/jsx-runtime").JSX.Element>;
3
3
  export default Shimmer;
4
4
  //# sourceMappingURL=Shimmer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Shimmer.d.ts","sourceRoot":"","sources":["../packages/components/Shimmer/src/Shimmer.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAqCtC,QAAA,MAAM,OAAO,4FAA2E,YAAY,6CAuBlG,CAAC;AAIH,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"Shimmer.d.ts","sourceRoot":"","sources":["../packages/components/Shimmer/src/Shimmer.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAwBtC,QAAA,MAAM,OAAO,qGAC8E,YAAY,6CA8BtG,CAAC;AAIF,eAAe,OAAO,CAAC"}
@@ -1,5 +1,5 @@
1
1
  "use strict";var e=require("react/jsx-runtime"),r=require("react"),i=require("@cleartrip/ct-design-container"),t=require("@cleartrip/ct-design-style-manager"),n=require("@emotion/css");const o=n.keyframes`
2
2
  0% { background-position: 200% 0; }
3
3
  100% { background-position: -200% 0; }
4
- `,a=t.makeStyles(e=>({shimmerWrapper:{backgroundColor:e.color.shimmer.disabledLight||"#efefef",overflow:"hidden",width:"100%",height:"100%"}}));function s(e,r,i){return"circle"===e?"number"==typeof r?r/2:300:i}const c=r.memo(({width:r,height:n,shape:c="rect",borderRadius:d=8,styleConfig:u})=>{const l=t.useStyles(()=>({container:{width:null!=r?r:"100%",height:null!=n?n:"100%",borderRadius:s(c,n,d),background:"linear-gradient(to right, #e0e0e0 0%, #ffffff 50%, #e0e0e0 100%)",minWidth:400,backgroundSize:"150% 100%",animation:`${o} 1.5s infinite linear`}}),[r,n,c,d]);return e.jsx(i.Container,{styleConfig:{root:[a.shimmerWrapper,l.container,...(null==u?void 0:u.root)||[]]}})});c.displayName="Shimmer",exports.Shimmer=c;
4
+ `,a="linear-gradient(to right, #e0e0e0 0%, #ffffff 50%, #e0e0e0 100%)",s=n.css({backgroundImage:a,backgroundSize:"150% 100%",animation:`${o} 1.5s infinite linear`}),c=n.css({backgroundImage:a,backgroundSize:"100% 100%"}),d=t.makeStyles(e=>({shimmerWrapper:{backgroundColor:e.color.shimmer.disabledLight||"#efefef",overflow:"hidden",width:"100%",height:"100%"}}));function m(e,r,i){return"circle"===e?"number"==typeof r?r/2:300:i}const u=r.memo(({width:r,height:n,shape:o="rect",borderRadius:a=8,styleConfig:u,variant:l="animated"})=>{const g=t.useStyles(()=>({container:{width:null!=r?r:"100%",height:null!=n?n:"100%",maxWidth:"100%",alignSelf:"stretch",boxSizing:"border-box",borderRadius:m(o,n,a)}}),[r,n,o,a]),h="animated"===l?s:c;return e.jsx(i.Container,{styleConfig:{root:[d.shimmerWrapper,g.container,h,...(null==u?void 0:u.root)||[]]}})});u.displayName="Shimmer",exports.Shimmer=u;
5
5
  //# sourceMappingURL=ct-design-shimmer.browser.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ct-design-shimmer.browser.cjs.js","sources":["../packages/components/Shimmer/src/style.ts","../packages/components/Shimmer/src/Shimmer.tsx"],"sourcesContent":[null,null],"names":["shimmerKeyframes","keyframes","shimmerWrapperStyles","makeStyles","theme","shimmerWrapper","backgroundColor","color","shimmer","disabledLight","overflow","width","height","resolveBorderRadius","shape","borderRadius","Shimmer","memo","styleConfig","dynamicStyles","useStyles","container","background","minWidth","backgroundSize","animation","_jsx","jsx","Container","root","displayName"],"mappings":"yLASO,MAQMA,EAAmBC,EAASA,SAAA;;;EAiB5BC,EAAuBC,EAAAA,WAAYC,IAAW,CACzDC,eAAgB,CACdC,gBAAiBF,EAAMG,MAAMC,QAAQC,eAAiB,UACtDC,SAAU,SACVC,MAAO,OACPC,OAAQ,WCtBZ,SAASC,EACPC,EACAF,EACAG,GAEA,MAAc,WAAVD,EACuB,iBAAXF,EAAsBA,EAAS,EDdb,ICgB3BG,CACT,CAiBM,MAAAC,EAAUC,EAAIA,KAAC,EAAGN,QAAOC,SAAQE,QAAQ,OAAQC,eAAe,EAAGG,kBACvE,MAAMC,EAAgBC,EAAAA,UACpB,KAAO,CACLC,UAAW,CACTV,MAAOA,QAAAA,EAAS,OAChBC,OAAQA,QAAAA,EAAU,OAClBG,aAAcF,EAAoBC,EAAOF,EAAQG,GACjDO,WDxBuB,mECyBvBC,SAAU,IACVC,eAAgB,YAChBC,UAAW,GAAGzB,4BAGlB,CAACW,EAAOC,EAAQE,EAAOC,IAGzB,OACEW,EAAAC,IAACC,YAAS,CACRV,YAAa,CACXW,KAAM,CAAC3B,EAAqBG,eAAgBc,EAAcE,cAAeH,aAAA,EAAAA,EAAaW,OAAQ,SAMtGb,EAAQc,YAAc"}
1
+ {"version":3,"file":"ct-design-shimmer.browser.cjs.js","sources":["../packages/components/Shimmer/src/style.ts","../packages/components/Shimmer/src/Shimmer.tsx"],"sourcesContent":[null,null],"names":["shimmerKeyframes","keyframes","shimmerGradient","shimmerAnimatedClass","css","backgroundImage","backgroundSize","animation","shimmerStaticClass","shimmerWrapperStyles","makeStyles","theme","shimmerWrapper","backgroundColor","color","shimmer","disabledLight","overflow","width","height","resolveBorderRadius","shape","borderRadius","Shimmer","memo","styleConfig","variant","dynamicStyles","useStyles","container","maxWidth","alignSelf","boxSizing","shimmerVisualClass","_jsx","jsx","Container","root","displayName"],"mappings":"yLASO,MAQMA,EAAmBC,EAASA,SAAA;;;EAS5BC,EAAkB,mEAElBC,EAAuBC,EAAAA,IAAI,CACtCC,gBAAiBH,EACjBI,eAAgB,YAChBC,UAAW,GAAGP,2BAGHQ,EAAqBJ,EAAAA,IAAI,CACpCC,gBAAiBH,EACjBI,eAAgB,cASLG,EAAuBC,EAAAA,WAAYC,IAAW,CACzDC,eAAgB,CACdC,gBAAiBF,EAAMG,MAAMC,QAAQC,eAAiB,UACtDC,SAAU,SACVC,MAAO,OACPC,OAAQ,WCtCZ,SAASC,EACPC,EACAF,EACAG,GAEA,MAAc,WAAVD,EACuB,iBAAXF,EAAsBA,EAAS,EDTb,ICW3BG,CACT,CAUM,MAAAC,EAAUC,EAAAA,KACd,EAAGN,QAAOC,SAAQE,QAAQ,OAAQC,eAAe,EAAGG,cAAaC,UAAU,eACzE,MAAMC,EAAgBC,EAAAA,UACpB,KAAO,CACLC,UAAW,CACTX,MAAOA,QAAAA,EAAS,OAChBC,OAAQA,QAAAA,EAAU,OAClBW,SAAU,OACVC,UAAW,UACXC,UAAW,aACXV,aAAcF,EAAoBC,EAAOF,EAAQG,MAGrD,CAACJ,EAAOC,EAAQE,EAAOC,IAGnBW,EAAkC,aAAZP,EAAyBvB,EAAuBK,EAE5E,OACE0B,EAAAC,IAACC,YAAS,CACRX,YAAa,CACXY,KAAM,CACJ5B,EAAqBG,eACrBe,EAAcE,UACdI,MACIR,aAAA,EAAAA,EAAaY,OAAQ,SAQrCd,EAAQe,YAAc"}
@@ -1,5 +1,5 @@
1
- import{jsx as r}from"react/jsx-runtime";import{memo as e}from"react";import{Container as i}from"@cleartrip/ct-design-container";import{makeStyles as o,useStyles as t}from"@cleartrip/ct-design-style-manager";import{keyframes as n}from"@emotion/css";const a=n`
1
+ import{jsx as r}from"react/jsx-runtime";import{memo as e}from"react";import{Container as i}from"@cleartrip/ct-design-container";import{makeStyles as o,useStyles as t}from"@cleartrip/ct-design-style-manager";import{keyframes as n,css as a}from"@emotion/css";const m="linear-gradient(to right, #e0e0e0 0%, #ffffff 50%, #e0e0e0 100%)",d=a({backgroundImage:m,backgroundSize:"150% 100%",animation:`${n`
2
2
  0% { background-position: 200% 0; }
3
3
  100% { background-position: -200% 0; }
4
- `,m=o(r=>({shimmerWrapper:{backgroundColor:r.color.shimmer.disabledLight||"#efefef",overflow:"hidden",width:"100%",height:"100%"}}));function c(r,e,i){return"circle"===r?"number"==typeof e?e/2:300:i}const d=e(({width:e,height:o,shape:n="rect",borderRadius:d=8,styleConfig:s})=>{const f=t(()=>({container:{width:null!=e?e:"100%",height:null!=o?o:"100%",borderRadius:c(n,o,d),background:"linear-gradient(to right, #e0e0e0 0%, #ffffff 50%, #e0e0e0 100%)",minWidth:400,backgroundSize:"150% 100%",animation:`${a} 1.5s infinite linear`}}),[e,o,n,d]);return r(i,{styleConfig:{root:[m.shimmerWrapper,f.container,...(null==s?void 0:s.root)||[]]}})});d.displayName="Shimmer";export{d as Shimmer};
4
+ `} 1.5s infinite linear`}),c=a({backgroundImage:m,backgroundSize:"100% 100%"}),s=o(r=>({shimmerWrapper:{backgroundColor:r.color.shimmer.disabledLight||"#efefef",overflow:"hidden",width:"100%",height:"100%"}}));function g(r,e,i){return"circle"===r?"number"==typeof e?e/2:300:i}const f=e(({width:e,height:o,shape:n="rect",borderRadius:a=8,styleConfig:m,variant:f="animated"})=>{const l=t(()=>({container:{width:null!=e?e:"100%",height:null!=o?o:"100%",maxWidth:"100%",alignSelf:"stretch",boxSizing:"border-box",borderRadius:g(n,o,a)}}),[e,o,n,a]),h="animated"===f?d:c;return r(i,{styleConfig:{root:[s.shimmerWrapper,l.container,h,...(null==m?void 0:m.root)||[]]}})});f.displayName="Shimmer";export{f as Shimmer};
5
5
  //# sourceMappingURL=ct-design-shimmer.browser.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ct-design-shimmer.browser.esm.js","sources":["../packages/components/Shimmer/src/style.ts","../packages/components/Shimmer/src/Shimmer.tsx"],"sourcesContent":[null,null],"names":["shimmerKeyframes","keyframes","shimmerWrapperStyles","makeStyles","theme","shimmerWrapper","backgroundColor","color","shimmer","disabledLight","overflow","width","height","resolveBorderRadius","shape","borderRadius","Shimmer","memo","styleConfig","dynamicStyles","useStyles","container","background","minWidth","backgroundSize","animation","_jsx","Container","root","displayName"],"mappings":"wPASO,MAQMA,EAAmBC,CAAS;;;EAiB5BC,EAAuBC,EAAYC,IAAW,CACzDC,eAAgB,CACdC,gBAAiBF,EAAMG,MAAMC,QAAQC,eAAiB,UACtDC,SAAU,SACVC,MAAO,OACPC,OAAQ,WCtBZ,SAASC,EACPC,EACAF,EACAG,GAEA,MAAc,WAAVD,EACuB,iBAAXF,EAAsBA,EAAS,EDdb,ICgB3BG,CACT,CAiBM,MAAAC,EAAUC,EAAK,EAAGN,QAAOC,SAAQE,QAAQ,OAAQC,eAAe,EAAGG,kBACvE,MAAMC,EAAgBC,EACpB,KAAO,CACLC,UAAW,CACTV,MAAOA,QAAAA,EAAS,OAChBC,OAAQA,QAAAA,EAAU,OAClBG,aAAcF,EAAoBC,EAAOF,EAAQG,GACjDO,WDxBuB,mECyBvBC,SAAU,IACVC,eAAgB,YAChBC,UAAW,GAAGzB,4BAGlB,CAACW,EAAOC,EAAQE,EAAOC,IAGzB,OACEW,EAACC,EAAS,CACRT,YAAa,CACXU,KAAM,CAAC1B,EAAqBG,eAAgBc,EAAcE,cAAeH,aAAA,EAAAA,EAAaU,OAAQ,SAMtGZ,EAAQa,YAAc"}
1
+ {"version":3,"file":"ct-design-shimmer.browser.esm.js","sources":["../packages/components/Shimmer/src/style.ts","../packages/components/Shimmer/src/Shimmer.tsx"],"sourcesContent":[null,null],"names":["shimmerGradient","shimmerAnimatedClass","css","backgroundImage","backgroundSize","animation","keyframes","shimmerStaticClass","shimmerWrapperStyles","makeStyles","theme","shimmerWrapper","backgroundColor","color","shimmer","disabledLight","overflow","width","height","resolveBorderRadius","shape","borderRadius","Shimmer","memo","styleConfig","variant","dynamicStyles","useStyles","container","maxWidth","alignSelf","boxSizing","shimmerVisualClass","_jsx","Container","root","displayName"],"mappings":"iQASO,MAiBMA,EAAkB,mEAElBC,EAAuBC,EAAI,CACtCC,gBAAiBH,EACjBI,eAAgB,YAChBC,UAAW,GAdmBC,CAAS;;;2BAiB5BC,EAAqBL,EAAI,CACpCC,gBAAiBH,EACjBI,eAAgB,cASLI,EAAuBC,EAAYC,IAAW,CACzDC,eAAgB,CACdC,gBAAiBF,EAAMG,MAAMC,QAAQC,eAAiB,UACtDC,SAAU,SACVC,MAAO,OACPC,OAAQ,WCtCZ,SAASC,EACPC,EACAF,EACAG,GAEA,MAAc,WAAVD,EACuB,iBAAXF,EAAsBA,EAAS,EDTb,ICW3BG,CACT,CAUM,MAAAC,EAAUC,EACd,EAAGN,QAAOC,SAAQE,QAAQ,OAAQC,eAAe,EAAGG,cAAaC,UAAU,eACzE,MAAMC,EAAgBC,EACpB,KAAO,CACLC,UAAW,CACTX,MAAOA,QAAAA,EAAS,OAChBC,OAAQA,QAAAA,EAAU,OAClBW,SAAU,OACVC,UAAW,UACXC,UAAW,aACXV,aAAcF,EAAoBC,EAAOF,EAAQG,MAGrD,CAACJ,EAAOC,EAAQE,EAAOC,IAGnBW,EAAkC,aAAZP,EAAyBxB,EAAuBM,EAE5E,OACE0B,EAACC,EAAS,CACRV,YAAa,CACXW,KAAM,CACJ3B,EAAqBG,eACrBe,EAAcE,UACdI,MACIR,aAAA,EAAAA,EAAaW,OAAQ,SAQrCb,EAAQc,YAAc"}
@@ -12,6 +12,15 @@ const shimmerKeyframes = css.keyframes `
12
12
  100% { background-position: -200% 0; }
13
13
  `;
14
14
  const shimmerGradient = 'linear-gradient(to right, #e0e0e0 0%, #ffffff 50%, #e0e0e0 100%)';
15
+ const shimmerAnimatedClass = css.css({
16
+ backgroundImage: shimmerGradient,
17
+ backgroundSize: '150% 100%',
18
+ animation: `${shimmerKeyframes} 1.5s infinite linear`,
19
+ });
20
+ const shimmerStaticClass = css.css({
21
+ backgroundImage: shimmerGradient,
22
+ backgroundSize: '100% 100%',
23
+ });
15
24
  const shimmerWrapperStyles = ctDesignStyleManager.makeStyles((theme) => ({
16
25
  shimmerWrapper: {
17
26
  backgroundColor: theme.color.shimmer.disabledLight || '#efefef',
@@ -27,20 +36,25 @@ function resolveBorderRadius(shape, height, borderRadius) {
27
36
  }
28
37
  return borderRadius;
29
38
  }
30
- const Shimmer = react.memo(({ width, height, shape = 'rect', borderRadius = 8, styleConfig }) => {
39
+ const Shimmer = react.memo(({ width, height, shape = 'rect', borderRadius = 8, styleConfig, variant = 'animated' }) => {
31
40
  const dynamicStyles = ctDesignStyleManager.useStyles(() => ({
32
41
  container: {
33
42
  width: width !== null && width !== void 0 ? width : '100%',
34
43
  height: height !== null && height !== void 0 ? height : '100%',
44
+ maxWidth: '100%',
45
+ alignSelf: 'stretch',
46
+ boxSizing: 'border-box',
35
47
  borderRadius: resolveBorderRadius(shape, height, borderRadius),
36
- background: shimmerGradient,
37
- minWidth: 400,
38
- backgroundSize: '150% 100%',
39
- animation: `${shimmerKeyframes} 1.5s infinite linear`,
40
48
  },
41
49
  }), [width, height, shape, borderRadius]);
50
+ const shimmerVisualClass = (variant === 'animated' ? shimmerAnimatedClass : shimmerStaticClass);
42
51
  return (jsxRuntime.jsx(ctDesignContainer.Container, { styleConfig: {
43
- root: [shimmerWrapperStyles.shimmerWrapper, dynamicStyles.container, ...((styleConfig === null || styleConfig === void 0 ? void 0 : styleConfig.root) || [])],
52
+ root: [
53
+ shimmerWrapperStyles.shimmerWrapper,
54
+ dynamicStyles.container,
55
+ shimmerVisualClass,
56
+ ...((styleConfig === null || styleConfig === void 0 ? void 0 : styleConfig.root) || []),
57
+ ],
44
58
  } }));
45
59
  });
46
60
  Shimmer.displayName = 'Shimmer';
@@ -1 +1 @@
1
- {"version":3,"file":"ct-design-shimmer.cjs.js","sources":["../packages/components/Shimmer/src/style.ts","../packages/components/Shimmer/src/Shimmer.tsx"],"sourcesContent":[null,null],"names":["keyframes","makeStyles","memo","useStyles","_jsx","Container"],"mappings":";;;;;;;;AASO,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAQjC,MAAM,gBAAgB,GAAGA,aAAS,CAAA,CAAA;;;CAGxC,CAAC;AAMK,MAAM,eAAe,GAAG,kEAAkE,CAAC;AAQ3F,MAAM,oBAAoB,GAAGC,+BAAU,CAAC,CAAC,KAAK,MAAM;AACzD,IAAA,cAAc,EAAE;QACd,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,IAAI,SAAS;AAC/D,QAAA,QAAQ,EAAE,QAAiB;AAC3B,QAAA,KAAK,EAAE,MAAe;AACtB,QAAA,MAAM,EAAE,MAAe;AACxB,KAAA;AACF,CAAA,CAAC,CAAC;;ACxBH,SAAS,mBAAmB,CAC1B,KAAwB,EACxB,MAAmC,EACnC,YAAoB,EAAA;AAEpB,IAAA,IAAI,KAAK,KAAK,QAAQ,EAAE;AACtB,QAAA,OAAO,OAAO,MAAM,KAAK,QAAQ,GAAG,MAAM,GAAG,CAAC,GAAG,oBAAoB,CAAC;KACvE;AACD,IAAA,OAAO,YAAY,CAAC;AACtB,CAAC;AAiBK,MAAA,OAAO,GAAGC,UAAI,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM,EAAE,YAAY,GAAG,CAAC,EAAE,WAAW,EAAgB,KAAI;AACtG,IAAA,MAAM,aAAa,GAAGC,8BAAS,CAC7B,OAAO;AACL,QAAA,SAAS,EAAE;AACT,YAAA,KAAK,EAAE,KAAK,KAAA,IAAA,IAAL,KAAK,KAAL,KAAA,CAAA,GAAA,KAAK,GAAI,MAAM;AACtB,YAAA,MAAM,EAAE,MAAM,KAAA,IAAA,IAAN,MAAM,KAAN,KAAA,CAAA,GAAA,MAAM,GAAI,MAAM;YACxB,YAAY,EAAE,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC;AAC9D,YAAA,UAAU,EAAE,eAAe;AAC3B,YAAA,QAAQ,EAAE,GAAG;AACb,YAAA,cAAc,EAAE,WAAW;YAC3B,SAAS,EAAE,CAAG,EAAA,gBAAgB,CAAuB,qBAAA,CAAA;AACtD,SAAA;KACF,CAAC,EACF,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CACrC,CAAC;AAEF,IAAA,QACEC,cAAA,CAACC,2BAAS,EAAA,EACR,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,oBAAoB,CAAC,cAAc,EAAE,aAAa,CAAC,SAAS,EAAE,IAAI,CAAA,WAAW,KAAX,IAAA,IAAA,WAAW,KAAX,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,WAAW,CAAE,IAAI,KAAI,EAAE,CAAC,CAAC;AACnG,SAAA,EAAA,CACD,EACF;AACJ,CAAC,EAAE;AAEH,OAAO,CAAC,WAAW,GAAG,SAAS;;;;"}
1
+ {"version":3,"file":"ct-design-shimmer.cjs.js","sources":["../packages/components/Shimmer/src/style.ts","../packages/components/Shimmer/src/Shimmer.tsx"],"sourcesContent":[null,null],"names":["keyframes","css","makeStyles","memo","useStyles","_jsx","Container"],"mappings":";;;;;;;;AASO,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAQjC,MAAM,gBAAgB,GAAGA,aAAS,CAAA,CAAA;;;CAGxC,CAAC;AAMK,MAAM,eAAe,GAAG,kEAAkE,CAAC;AAE3F,MAAM,oBAAoB,GAAGC,OAAG,CAAC;AACtC,IAAA,eAAe,EAAE,eAAe;AAChC,IAAA,cAAc,EAAE,WAAW;IAC3B,SAAS,EAAE,CAAG,EAAA,gBAAgB,CAAuB,qBAAA,CAAA;AACtD,CAAA,CAAC,CAAC;AAEI,MAAM,kBAAkB,GAAGA,OAAG,CAAC;AACpC,IAAA,eAAe,EAAE,eAAe;AAChC,IAAA,cAAc,EAAE,WAAW;AAC5B,CAAA,CAAC,CAAC;AAQI,MAAM,oBAAoB,GAAGC,+BAAU,CAAC,CAAC,KAAK,MAAM;AACzD,IAAA,cAAc,EAAE;QACd,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,IAAI,SAAS;AAC/D,QAAA,QAAQ,EAAE,QAAiB;AAC3B,QAAA,KAAK,EAAE,MAAe;AACtB,QAAA,MAAM,EAAE,MAAe;AACxB,KAAA;AACF,CAAA,CAAC,CAAC;;ACxCH,SAAS,mBAAmB,CAC1B,KAAwB,EACxB,MAAmC,EACnC,YAAoB,EAAA;AAEpB,IAAA,IAAI,KAAK,KAAK,QAAQ,EAAE;AACtB,QAAA,OAAO,OAAO,MAAM,KAAK,QAAQ,GAAG,MAAM,GAAG,CAAC,GAAG,oBAAoB,CAAC;KACvE;AACD,IAAA,OAAO,YAAY,CAAC;AACtB,CAAC;AAUK,MAAA,OAAO,GAAGC,UAAI,CAClB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM,EAAE,YAAY,GAAG,CAAC,EAAE,WAAW,EAAE,OAAO,GAAG,UAAU,EAAgB,KAAI;AACvG,IAAA,MAAM,aAAa,GAAGC,8BAAS,CAC7B,OAAO;AACL,QAAA,SAAS,EAAE;AACT,YAAA,KAAK,EAAE,KAAK,KAAA,IAAA,IAAL,KAAK,KAAL,KAAA,CAAA,GAAA,KAAK,GAAI,MAAM;AACtB,YAAA,MAAM,EAAE,MAAM,KAAA,IAAA,IAAN,MAAM,KAAN,KAAA,CAAA,GAAA,MAAM,GAAI,MAAM;AACxB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,SAAS,EAAE,YAAY;YACvB,YAAY,EAAE,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC;AAC/D,SAAA;KACF,CAAC,EACF,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CACrC,CAAC;AAEF,IAAA,MAAM,kBAAkB,IAAI,OAAO,KAAK,UAAU,GAAG,oBAAoB,GAAG,kBAAkB,CAAW,CAAC;AAE1G,IAAA,QACEC,cAAA,CAACC,2BAAS,EAAA,EACR,WAAW,EAAE;AACX,YAAA,IAAI,EAAE;AACJ,gBAAA,oBAAoB,CAAC,cAAc;AACnC,gBAAA,aAAa,CAAC,SAAS;gBACvB,kBAAkB;gBAClB,IAAI,CAAA,WAAW,KAAX,IAAA,IAAA,WAAW,KAAX,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,WAAW,CAAE,IAAI,KAAI,EAAE,CAAC;AAC7B,aAAA;AACF,SAAA,EAAA,CACD,EACF;AACJ,CAAC,EACD;AAEF,OAAO,CAAC,WAAW,GAAG,SAAS;;;;"}
@@ -2,7 +2,7 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import { memo } from 'react';
3
3
  import { Container } from '@cleartrip/ct-design-container';
4
4
  import { makeStyles, useStyles } from '@cleartrip/ct-design-style-manager';
5
- import { keyframes } from '@emotion/css';
5
+ import { keyframes, css } from '@emotion/css';
6
6
 
7
7
  const MaxBorderRadiusValue = 300;
8
8
  const shimmerKeyframes = keyframes `
@@ -10,6 +10,15 @@ const shimmerKeyframes = keyframes `
10
10
  100% { background-position: -200% 0; }
11
11
  `;
12
12
  const shimmerGradient = 'linear-gradient(to right, #e0e0e0 0%, #ffffff 50%, #e0e0e0 100%)';
13
+ const shimmerAnimatedClass = css({
14
+ backgroundImage: shimmerGradient,
15
+ backgroundSize: '150% 100%',
16
+ animation: `${shimmerKeyframes} 1.5s infinite linear`,
17
+ });
18
+ const shimmerStaticClass = css({
19
+ backgroundImage: shimmerGradient,
20
+ backgroundSize: '100% 100%',
21
+ });
13
22
  const shimmerWrapperStyles = makeStyles((theme) => ({
14
23
  shimmerWrapper: {
15
24
  backgroundColor: theme.color.shimmer.disabledLight || '#efefef',
@@ -25,20 +34,25 @@ function resolveBorderRadius(shape, height, borderRadius) {
25
34
  }
26
35
  return borderRadius;
27
36
  }
28
- const Shimmer = memo(({ width, height, shape = 'rect', borderRadius = 8, styleConfig }) => {
37
+ const Shimmer = memo(({ width, height, shape = 'rect', borderRadius = 8, styleConfig, variant = 'animated' }) => {
29
38
  const dynamicStyles = useStyles(() => ({
30
39
  container: {
31
40
  width: width !== null && width !== void 0 ? width : '100%',
32
41
  height: height !== null && height !== void 0 ? height : '100%',
42
+ maxWidth: '100%',
43
+ alignSelf: 'stretch',
44
+ boxSizing: 'border-box',
33
45
  borderRadius: resolveBorderRadius(shape, height, borderRadius),
34
- background: shimmerGradient,
35
- minWidth: 400,
36
- backgroundSize: '150% 100%',
37
- animation: `${shimmerKeyframes} 1.5s infinite linear`,
38
46
  },
39
47
  }), [width, height, shape, borderRadius]);
48
+ const shimmerVisualClass = (variant === 'animated' ? shimmerAnimatedClass : shimmerStaticClass);
40
49
  return (jsx(Container, { styleConfig: {
41
- root: [shimmerWrapperStyles.shimmerWrapper, dynamicStyles.container, ...((styleConfig === null || styleConfig === void 0 ? void 0 : styleConfig.root) || [])],
50
+ root: [
51
+ shimmerWrapperStyles.shimmerWrapper,
52
+ dynamicStyles.container,
53
+ shimmerVisualClass,
54
+ ...((styleConfig === null || styleConfig === void 0 ? void 0 : styleConfig.root) || []),
55
+ ],
42
56
  } }));
43
57
  });
44
58
  Shimmer.displayName = 'Shimmer';
@@ -1 +1 @@
1
- {"version":3,"file":"ct-design-shimmer.esm.js","sources":["../packages/components/Shimmer/src/style.ts","../packages/components/Shimmer/src/Shimmer.tsx"],"sourcesContent":[null,null],"names":["_jsx"],"mappings":";;;;;;AASO,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAQjC,MAAM,gBAAgB,GAAG,SAAS,CAAA,CAAA;;;CAGxC,CAAC;AAMK,MAAM,eAAe,GAAG,kEAAkE,CAAC;AAQ3F,MAAM,oBAAoB,GAAG,UAAU,CAAC,CAAC,KAAK,MAAM;AACzD,IAAA,cAAc,EAAE;QACd,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,IAAI,SAAS;AAC/D,QAAA,QAAQ,EAAE,QAAiB;AAC3B,QAAA,KAAK,EAAE,MAAe;AACtB,QAAA,MAAM,EAAE,MAAe;AACxB,KAAA;AACF,CAAA,CAAC,CAAC;;ACxBH,SAAS,mBAAmB,CAC1B,KAAwB,EACxB,MAAmC,EACnC,YAAoB,EAAA;AAEpB,IAAA,IAAI,KAAK,KAAK,QAAQ,EAAE;AACtB,QAAA,OAAO,OAAO,MAAM,KAAK,QAAQ,GAAG,MAAM,GAAG,CAAC,GAAG,oBAAoB,CAAC;KACvE;AACD,IAAA,OAAO,YAAY,CAAC;AACtB,CAAC;AAiBK,MAAA,OAAO,GAAG,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM,EAAE,YAAY,GAAG,CAAC,EAAE,WAAW,EAAgB,KAAI;AACtG,IAAA,MAAM,aAAa,GAAG,SAAS,CAC7B,OAAO;AACL,QAAA,SAAS,EAAE;AACT,YAAA,KAAK,EAAE,KAAK,KAAA,IAAA,IAAL,KAAK,KAAL,KAAA,CAAA,GAAA,KAAK,GAAI,MAAM;AACtB,YAAA,MAAM,EAAE,MAAM,KAAA,IAAA,IAAN,MAAM,KAAN,KAAA,CAAA,GAAA,MAAM,GAAI,MAAM;YACxB,YAAY,EAAE,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC;AAC9D,YAAA,UAAU,EAAE,eAAe;AAC3B,YAAA,QAAQ,EAAE,GAAG;AACb,YAAA,cAAc,EAAE,WAAW;YAC3B,SAAS,EAAE,CAAG,EAAA,gBAAgB,CAAuB,qBAAA,CAAA;AACtD,SAAA;KACF,CAAC,EACF,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CACrC,CAAC;AAEF,IAAA,QACEA,GAAA,CAAC,SAAS,EAAA,EACR,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,oBAAoB,CAAC,cAAc,EAAE,aAAa,CAAC,SAAS,EAAE,IAAI,CAAA,WAAW,KAAX,IAAA,IAAA,WAAW,KAAX,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,WAAW,CAAE,IAAI,KAAI,EAAE,CAAC,CAAC;AACnG,SAAA,EAAA,CACD,EACF;AACJ,CAAC,EAAE;AAEH,OAAO,CAAC,WAAW,GAAG,SAAS;;;;"}
1
+ {"version":3,"file":"ct-design-shimmer.esm.js","sources":["../packages/components/Shimmer/src/style.ts","../packages/components/Shimmer/src/Shimmer.tsx"],"sourcesContent":[null,null],"names":["_jsx"],"mappings":";;;;;;AASO,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAQjC,MAAM,gBAAgB,GAAG,SAAS,CAAA,CAAA;;;CAGxC,CAAC;AAMK,MAAM,eAAe,GAAG,kEAAkE,CAAC;AAE3F,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACtC,IAAA,eAAe,EAAE,eAAe;AAChC,IAAA,cAAc,EAAE,WAAW;IAC3B,SAAS,EAAE,CAAG,EAAA,gBAAgB,CAAuB,qBAAA,CAAA;AACtD,CAAA,CAAC,CAAC;AAEI,MAAM,kBAAkB,GAAG,GAAG,CAAC;AACpC,IAAA,eAAe,EAAE,eAAe;AAChC,IAAA,cAAc,EAAE,WAAW;AAC5B,CAAA,CAAC,CAAC;AAQI,MAAM,oBAAoB,GAAG,UAAU,CAAC,CAAC,KAAK,MAAM;AACzD,IAAA,cAAc,EAAE;QACd,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,IAAI,SAAS;AAC/D,QAAA,QAAQ,EAAE,QAAiB;AAC3B,QAAA,KAAK,EAAE,MAAe;AACtB,QAAA,MAAM,EAAE,MAAe;AACxB,KAAA;AACF,CAAA,CAAC,CAAC;;ACxCH,SAAS,mBAAmB,CAC1B,KAAwB,EACxB,MAAmC,EACnC,YAAoB,EAAA;AAEpB,IAAA,IAAI,KAAK,KAAK,QAAQ,EAAE;AACtB,QAAA,OAAO,OAAO,MAAM,KAAK,QAAQ,GAAG,MAAM,GAAG,CAAC,GAAG,oBAAoB,CAAC;KACvE;AACD,IAAA,OAAO,YAAY,CAAC;AACtB,CAAC;AAUK,MAAA,OAAO,GAAG,IAAI,CAClB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM,EAAE,YAAY,GAAG,CAAC,EAAE,WAAW,EAAE,OAAO,GAAG,UAAU,EAAgB,KAAI;AACvG,IAAA,MAAM,aAAa,GAAG,SAAS,CAC7B,OAAO;AACL,QAAA,SAAS,EAAE;AACT,YAAA,KAAK,EAAE,KAAK,KAAA,IAAA,IAAL,KAAK,KAAL,KAAA,CAAA,GAAA,KAAK,GAAI,MAAM;AACtB,YAAA,MAAM,EAAE,MAAM,KAAA,IAAA,IAAN,MAAM,KAAN,KAAA,CAAA,GAAA,MAAM,GAAI,MAAM;AACxB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,SAAS,EAAE,YAAY;YACvB,YAAY,EAAE,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC;AAC/D,SAAA;KACF,CAAC,EACF,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CACrC,CAAC;AAEF,IAAA,MAAM,kBAAkB,IAAI,OAAO,KAAK,UAAU,GAAG,oBAAoB,GAAG,kBAAkB,CAAW,CAAC;AAE1G,IAAA,QACEA,GAAA,CAAC,SAAS,EAAA,EACR,WAAW,EAAE;AACX,YAAA,IAAI,EAAE;AACJ,gBAAA,oBAAoB,CAAC,cAAc;AACnC,gBAAA,aAAa,CAAC,SAAS;gBACvB,kBAAkB;gBAClB,IAAI,CAAA,WAAW,KAAX,IAAA,IAAA,WAAW,KAAX,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,WAAW,CAAE,IAAI,KAAI,EAAE,CAAC;AAC7B,aAAA;AACF,SAAA,EAAA,CACD,EACF;AACJ,CAAC,EACD;AAEF,OAAO,CAAC,WAAW,GAAG,SAAS;;;;"}
@@ -10,6 +10,15 @@
10
10
  100% { background-position: -200% 0; }
11
11
  `;
12
12
  const shimmerGradient = 'linear-gradient(to right, #e0e0e0 0%, #ffffff 50%, #e0e0e0 100%)';
13
+ const shimmerAnimatedClass = css.css({
14
+ backgroundImage: shimmerGradient,
15
+ backgroundSize: '150% 100%',
16
+ animation: `${shimmerKeyframes} 1.5s infinite linear`,
17
+ });
18
+ const shimmerStaticClass = css.css({
19
+ backgroundImage: shimmerGradient,
20
+ backgroundSize: '100% 100%',
21
+ });
13
22
  const shimmerWrapperStyles = ctDesignStyleManager.makeStyles((theme) => ({
14
23
  shimmerWrapper: {
15
24
  backgroundColor: theme.color.shimmer.disabledLight || '#efefef',
@@ -25,20 +34,25 @@
25
34
  }
26
35
  return borderRadius;
27
36
  }
28
- const Shimmer = react.memo(({ width, height, shape = 'rect', borderRadius = 8, styleConfig }) => {
37
+ const Shimmer = react.memo(({ width, height, shape = 'rect', borderRadius = 8, styleConfig, variant = 'animated' }) => {
29
38
  const dynamicStyles = ctDesignStyleManager.useStyles(() => ({
30
39
  container: {
31
40
  width: width !== null && width !== void 0 ? width : '100%',
32
41
  height: height !== null && height !== void 0 ? height : '100%',
42
+ maxWidth: '100%',
43
+ alignSelf: 'stretch',
44
+ boxSizing: 'border-box',
33
45
  borderRadius: resolveBorderRadius(shape, height, borderRadius),
34
- background: shimmerGradient,
35
- minWidth: 400,
36
- backgroundSize: '150% 100%',
37
- animation: `${shimmerKeyframes} 1.5s infinite linear`,
38
46
  },
39
47
  }), [width, height, shape, borderRadius]);
48
+ const shimmerVisualClass = (variant === 'animated' ? shimmerAnimatedClass : shimmerStaticClass);
40
49
  return (jsxRuntime.jsx(ctDesignContainer.Container, { styleConfig: {
41
- root: [shimmerWrapperStyles.shimmerWrapper, dynamicStyles.container, ...((styleConfig === null || styleConfig === void 0 ? void 0 : styleConfig.root) || [])],
50
+ root: [
51
+ shimmerWrapperStyles.shimmerWrapper,
52
+ dynamicStyles.container,
53
+ shimmerVisualClass,
54
+ ...((styleConfig === null || styleConfig === void 0 ? void 0 : styleConfig.root) || []),
55
+ ],
42
56
  } }));
43
57
  });
44
58
  Shimmer.displayName = 'Shimmer';
@@ -1 +1 @@
1
- {"version":3,"file":"ct-design-shimmer.umd.js","sources":["../packages/components/Shimmer/src/style.ts","../packages/components/Shimmer/src/Shimmer.tsx"],"sourcesContent":[null,null],"names":["keyframes","makeStyles","memo","useStyles","_jsx","Container"],"mappings":";;;;;;EASO,MAAM,oBAAoB,GAAG,GAAG,CAAC;EAQjC,MAAM,gBAAgB,GAAGA,aAAS,CAAA,CAAA;;;CAGxC,CAAC;EAMK,MAAM,eAAe,GAAG,kEAAkE,CAAC;EAQ3F,MAAM,oBAAoB,GAAGC,+BAAU,CAAC,CAAC,KAAK,MAAM;EACzD,IAAA,cAAc,EAAE;UACd,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,IAAI,SAAS;EAC/D,QAAA,QAAQ,EAAE,QAAiB;EAC3B,QAAA,KAAK,EAAE,MAAe;EACtB,QAAA,MAAM,EAAE,MAAe;EACxB,KAAA;EACF,CAAA,CAAC,CAAC;;ECxBH,SAAS,mBAAmB,CAC1B,KAAwB,EACxB,MAAmC,EACnC,YAAoB,EAAA;EAEpB,IAAA,IAAI,KAAK,KAAK,QAAQ,EAAE;EACtB,QAAA,OAAO,OAAO,MAAM,KAAK,QAAQ,GAAG,MAAM,GAAG,CAAC,GAAG,oBAAoB,CAAC;OACvE;EACD,IAAA,OAAO,YAAY,CAAC;EACtB,CAAC;AAiBK,QAAA,OAAO,GAAGC,UAAI,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM,EAAE,YAAY,GAAG,CAAC,EAAE,WAAW,EAAgB,KAAI;EACtG,IAAA,MAAM,aAAa,GAAGC,8BAAS,CAC7B,OAAO;EACL,QAAA,SAAS,EAAE;EACT,YAAA,KAAK,EAAE,KAAK,KAAA,IAAA,IAAL,KAAK,KAAL,KAAA,CAAA,GAAA,KAAK,GAAI,MAAM;EACtB,YAAA,MAAM,EAAE,MAAM,KAAA,IAAA,IAAN,MAAM,KAAN,KAAA,CAAA,GAAA,MAAM,GAAI,MAAM;cACxB,YAAY,EAAE,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC;EAC9D,YAAA,UAAU,EAAE,eAAe;EAC3B,YAAA,QAAQ,EAAE,GAAG;EACb,YAAA,cAAc,EAAE,WAAW;cAC3B,SAAS,EAAE,CAAG,EAAA,gBAAgB,CAAuB,qBAAA,CAAA;EACtD,SAAA;OACF,CAAC,EACF,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CACrC,CAAC;EAEF,IAAA,QACEC,cAAA,CAACC,2BAAS,EAAA,EACR,WAAW,EAAE;cACX,IAAI,EAAE,CAAC,oBAAoB,CAAC,cAAc,EAAE,aAAa,CAAC,SAAS,EAAE,IAAI,CAAA,WAAW,KAAX,IAAA,IAAA,WAAW,KAAX,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,WAAW,CAAE,IAAI,KAAI,EAAE,CAAC,CAAC;EACnG,SAAA,EAAA,CACD,EACF;EACJ,CAAC,EAAE;EAEH,OAAO,CAAC,WAAW,GAAG,SAAS;;;;;;;;"}
1
+ {"version":3,"file":"ct-design-shimmer.umd.js","sources":["../packages/components/Shimmer/src/style.ts","../packages/components/Shimmer/src/Shimmer.tsx"],"sourcesContent":[null,null],"names":["keyframes","css","makeStyles","memo","useStyles","_jsx","Container"],"mappings":";;;;;;EASO,MAAM,oBAAoB,GAAG,GAAG,CAAC;EAQjC,MAAM,gBAAgB,GAAGA,aAAS,CAAA,CAAA;;;CAGxC,CAAC;EAMK,MAAM,eAAe,GAAG,kEAAkE,CAAC;EAE3F,MAAM,oBAAoB,GAAGC,OAAG,CAAC;EACtC,IAAA,eAAe,EAAE,eAAe;EAChC,IAAA,cAAc,EAAE,WAAW;MAC3B,SAAS,EAAE,CAAG,EAAA,gBAAgB,CAAuB,qBAAA,CAAA;EACtD,CAAA,CAAC,CAAC;EAEI,MAAM,kBAAkB,GAAGA,OAAG,CAAC;EACpC,IAAA,eAAe,EAAE,eAAe;EAChC,IAAA,cAAc,EAAE,WAAW;EAC5B,CAAA,CAAC,CAAC;EAQI,MAAM,oBAAoB,GAAGC,+BAAU,CAAC,CAAC,KAAK,MAAM;EACzD,IAAA,cAAc,EAAE;UACd,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,IAAI,SAAS;EAC/D,QAAA,QAAQ,EAAE,QAAiB;EAC3B,QAAA,KAAK,EAAE,MAAe;EACtB,QAAA,MAAM,EAAE,MAAe;EACxB,KAAA;EACF,CAAA,CAAC,CAAC;;ECxCH,SAAS,mBAAmB,CAC1B,KAAwB,EACxB,MAAmC,EACnC,YAAoB,EAAA;EAEpB,IAAA,IAAI,KAAK,KAAK,QAAQ,EAAE;EACtB,QAAA,OAAO,OAAO,MAAM,KAAK,QAAQ,GAAG,MAAM,GAAG,CAAC,GAAG,oBAAoB,CAAC;OACvE;EACD,IAAA,OAAO,YAAY,CAAC;EACtB,CAAC;AAUK,QAAA,OAAO,GAAGC,UAAI,CAClB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM,EAAE,YAAY,GAAG,CAAC,EAAE,WAAW,EAAE,OAAO,GAAG,UAAU,EAAgB,KAAI;EACvG,IAAA,MAAM,aAAa,GAAGC,8BAAS,CAC7B,OAAO;EACL,QAAA,SAAS,EAAE;EACT,YAAA,KAAK,EAAE,KAAK,KAAA,IAAA,IAAL,KAAK,KAAL,KAAA,CAAA,GAAA,KAAK,GAAI,MAAM;EACtB,YAAA,MAAM,EAAE,MAAM,KAAA,IAAA,IAAN,MAAM,KAAN,KAAA,CAAA,GAAA,MAAM,GAAI,MAAM;EACxB,YAAA,QAAQ,EAAE,MAAM;EAChB,YAAA,SAAS,EAAE,SAAS;EACpB,YAAA,SAAS,EAAE,YAAY;cACvB,YAAY,EAAE,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC;EAC/D,SAAA;OACF,CAAC,EACF,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CACrC,CAAC;EAEF,IAAA,MAAM,kBAAkB,IAAI,OAAO,KAAK,UAAU,GAAG,oBAAoB,GAAG,kBAAkB,CAAW,CAAC;EAE1G,IAAA,QACEC,cAAA,CAACC,2BAAS,EAAA,EACR,WAAW,EAAE;EACX,YAAA,IAAI,EAAE;EACJ,gBAAA,oBAAoB,CAAC,cAAc;EACnC,gBAAA,aAAa,CAAC,SAAS;kBACvB,kBAAkB;kBAClB,IAAI,CAAA,WAAW,KAAX,IAAA,IAAA,WAAW,KAAX,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,WAAW,CAAE,IAAI,KAAI,EAAE,CAAC;EAC7B,aAAA;EACF,SAAA,EAAA,CACD,EACF;EACJ,CAAC,EACD;EAEF,OAAO,CAAC,WAAW,GAAG,SAAS;;;;;;;;"}
package/dist/style.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  export declare const MaxBorderRadiusValue = 300;
2
2
  export declare const shimmerKeyframes: string;
3
3
  export declare const shimmerGradient = "linear-gradient(to right, #e0e0e0 0%, #ffffff 50%, #e0e0e0 100%)";
4
+ export declare const shimmerAnimatedClass: string;
5
+ export declare const shimmerStaticClass: string;
4
6
  export declare const shimmerWrapperStyles: {
5
7
  shimmerWrapper: {
6
8
  backgroundColor: string;
@@ -1 +1 @@
1
- {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../packages/components/Shimmer/src/style.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAQxC,eAAO,MAAM,gBAAgB,QAG5B,CAAC;AAMF,eAAO,MAAM,eAAe,qEAAqE,CAAC;AAQlG,eAAO,MAAM,oBAAoB;;;;;;;CAO9B,CAAC;AAEJ,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../packages/components/Shimmer/src/style.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAQxC,eAAO,MAAM,gBAAgB,QAG5B,CAAC;AAMF,eAAO,MAAM,eAAe,qEAAqE,CAAC;AAElG,eAAO,MAAM,oBAAoB,QAI/B,CAAC;AAEH,eAAO,MAAM,kBAAkB,QAG7B,CAAC;AAQH,eAAO,MAAM,oBAAoB;;;;;;;CAO9B,CAAC;AAEJ,eAAe,oBAAoB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cleartrip/ct-design-shimmer",
3
- "version": "5.10.0",
3
+ "version": "5.11.0-SNAPSHOT-native-main.0",
4
4
  "description": "Shimmer component",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "./dist/ct-design-shimmer.cjs.js",
@@ -25,12 +25,12 @@
25
25
  ],
26
26
  "dependencies": {
27
27
  "@emotion/css": "11.13.4",
28
- "@cleartrip/ct-design-container": "5.11.0",
29
- "@cleartrip/ct-design-style-manager": "5.10.0",
30
- "@cleartrip/ct-design-theme": "5.10.0"
28
+ "@cleartrip/ct-design-container": "5.12.0-SNAPSHOT-native-main.0",
29
+ "@cleartrip/ct-design-style-manager": "5.10.1-SNAPSHOT-native-main.0",
30
+ "@cleartrip/ct-design-theme": "5.11.0-SNAPSHOT-native-main.0"
31
31
  },
32
32
  "devDependencies": {
33
- "@cleartrip/ct-design-types": "5.10.0"
33
+ "@cleartrip/ct-design-types": "5.11.0-SNAPSHOT-native-main.0"
34
34
  },
35
35
  "peerDependencies": {
36
36
  "react": ">=16.8.0",
package/src/Shimmer.tsx CHANGED
@@ -2,18 +2,13 @@ import { memo } from 'react';
2
2
 
3
3
  import { Container } from '@cleartrip/ct-design-container';
4
4
  import { useStyles } from '@cleartrip/ct-design-style-manager';
5
+ import type { Styles } from '@cleartrip/ct-design-types';
5
6
 
6
- import shimmerWrapperStyles, { MaxBorderRadiusValue, shimmerGradient, shimmerKeyframes } from './style';
7
+ import shimmerWrapperStyles, { MaxBorderRadiusValue, shimmerAnimatedClass, shimmerStaticClass } from './style';
7
8
  import { ShimmerProps } from './type';
8
9
 
9
10
  /**
10
11
  * Resolves the border-radius applied to the wrapper based on `shape`.
11
- *
12
- * `circle` tries to produce a true circle/pill using `height / 2` when
13
- * the caller supplied a numeric height; for string heights (e.g.
14
- * `'40px'`) arithmetic would yield `NaN`, so we fall back to
15
- * `MaxBorderRadiusValue` which is large enough to full-round any
16
- * realistic shimmer. `rect` applies `borderRadius` directly.
17
12
  */
18
13
  function resolveBorderRadius(
19
14
  shape: 'rect' | 'circle',
@@ -29,42 +24,43 @@ function resolveBorderRadius(
29
24
  /**
30
25
  * Web implementation of `Shimmer`.
31
26
  *
32
- * Migrated from aldenui (`core/components/components/Shimmer`) per
33
- * Migration.MD:
34
- * - Drop the previous `@emotion/styled` `StyledShimmer` in favour of
35
- * Container + composed `styleConfig.root` slots.
36
- * - Static wrapper styles (seed background, overflow) live in
37
- * `style.ts`; the animated gradient + keyframe reference is
38
- * embedded into the dynamic style object built by `useStyles` so
39
- * emotion caches the `@keyframes` declaration once per page and
40
- * the Container's internal `useWebMergeStyles` handles the rest.
41
- * - Dynamic slot holds width/height/borderRadius + animation so
42
- * memoisation follows the input deps.
27
+ * Dimension contract matches native: `width` / `height` from props only.
28
+ * Do not set a fixed minWidth — that forces placeholders wider than their
29
+ * card (e.g. width="100%" inside a padded STACK). Parent clipping comes from
30
+ * `shimmerWrapperStyles.shimmerWrapper` (`overflow: hidden`, `width/height: 100%`).
43
31
  */
44
- const Shimmer = memo(({ width, height, shape = 'rect', borderRadius = 8, styleConfig }: ShimmerProps) => {
45
- const dynamicStyles = useStyles(
46
- () => ({
47
- container: {
48
- width: width ?? '100%',
49
- height: height ?? '100%',
50
- borderRadius: resolveBorderRadius(shape, height, borderRadius),
51
- background: shimmerGradient,
52
- minWidth: 400,
53
- backgroundSize: '150% 100%',
54
- animation: `${shimmerKeyframes} 1.5s infinite linear`,
55
- },
56
- }),
57
- [width, height, shape, borderRadius],
58
- );
32
+ const Shimmer = memo(
33
+ ({ width, height, shape = 'rect', borderRadius = 8, styleConfig, variant = 'animated' }: ShimmerProps) => {
34
+ const dynamicStyles = useStyles(
35
+ () => ({
36
+ container: {
37
+ width: width ?? '100%',
38
+ height: height ?? '100%',
39
+ maxWidth: '100%',
40
+ alignSelf: 'stretch',
41
+ boxSizing: 'border-box',
42
+ borderRadius: resolveBorderRadius(shape, height, borderRadius),
43
+ },
44
+ }),
45
+ [width, height, shape, borderRadius],
46
+ );
47
+
48
+ const shimmerVisualClass = (variant === 'animated' ? shimmerAnimatedClass : shimmerStaticClass) as Styles;
59
49
 
60
- return (
61
- <Container
62
- styleConfig={{
63
- root: [shimmerWrapperStyles.shimmerWrapper, dynamicStyles.container, ...(styleConfig?.root || [])],
64
- }}
65
- />
66
- );
67
- });
50
+ return (
51
+ <Container
52
+ styleConfig={{
53
+ root: [
54
+ shimmerWrapperStyles.shimmerWrapper,
55
+ dynamicStyles.container,
56
+ shimmerVisualClass,
57
+ ...(styleConfig?.root || []),
58
+ ],
59
+ }}
60
+ />
61
+ );
62
+ },
63
+ );
68
64
 
69
65
  Shimmer.displayName = 'Shimmer';
70
66
 
package/src/style.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { keyframes } from '@emotion/css';
1
+ import { css, keyframes } from '@emotion/css';
2
2
 
3
3
  import { makeStyles } from '@cleartrip/ct-design-style-manager';
4
4
 
@@ -26,6 +26,17 @@ export const shimmerKeyframes = keyframes`
26
26
  */
27
27
  export const shimmerGradient = 'linear-gradient(to right, #e0e0e0 0%, #ffffff 50%, #e0e0e0 100%)';
28
28
 
29
+ export const shimmerAnimatedClass = css({
30
+ backgroundImage: shimmerGradient,
31
+ backgroundSize: '150% 100%',
32
+ animation: `${shimmerKeyframes} 1.5s infinite linear`,
33
+ });
34
+
35
+ export const shimmerStaticClass = css({
36
+ backgroundImage: shimmerGradient,
37
+ backgroundSize: '100% 100%',
38
+ });
39
+
29
40
  /**
30
41
  * Static wrapper styles shared by web and native. On web, seeds the
31
42
  * animated gradient + keyframe sweep. On native, only the seed