@cleartrip/ct-design-dotted-loader 4.0.0 → 5.0.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/README.md +80 -0
- package/dist/DottedLoader.d.ts +3 -5
- package/dist/DottedLoader.d.ts.map +1 -1
- package/dist/DottedLoader.native.d.ts +5 -0
- package/dist/DottedLoader.native.d.ts.map +1 -0
- package/dist/constants.d.ts +6 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/ct-design-dottedLoader.browser.cjs.js +5 -1
- package/dist/ct-design-dottedLoader.browser.cjs.js.map +1 -1
- package/dist/ct-design-dottedLoader.browser.esm.js +5 -1
- package/dist/ct-design-dottedLoader.browser.esm.js.map +1 -1
- package/dist/ct-design-dottedLoader.cjs.js +53 -37
- package/dist/ct-design-dottedLoader.cjs.js.map +1 -1
- package/dist/ct-design-dottedLoader.esm.js +52 -32
- package/dist/ct-design-dottedLoader.esm.js.map +1 -1
- package/dist/ct-design-dottedLoader.umd.js +67 -92
- package/dist/ct-design-dottedLoader.umd.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.native.d.ts +4 -0
- package/dist/index.native.d.ts.map +1 -0
- package/dist/style.d.ts +19 -12
- package/dist/style.d.ts.map +1 -1
- package/dist/type.d.ts +18 -11
- package/dist/type.d.ts.map +1 -1
- package/package.json +30 -8
- package/src/DottedLoader.native.tsx +125 -0
- package/src/DottedLoader.tsx +80 -0
- package/src/constants.ts +5 -0
- package/src/index.native.ts +3 -0
- package/src/index.ts +3 -0
- package/src/style.ts +54 -0
- package/src/type.ts +82 -0
package/README.md
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# DottedLoader
|
|
2
|
+
|
|
3
|
+
A loading indicator with animated dots.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @cleartrip/ct-design-dotted-loader
|
|
11
|
+
# or
|
|
12
|
+
pnpm add @cleartrip/ct-design-dotted-loader
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
### Peer dependencies
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
# Required for all targets
|
|
19
|
+
npm install react
|
|
20
|
+
|
|
21
|
+
# Web only
|
|
22
|
+
npm install react-dom
|
|
23
|
+
|
|
24
|
+
# React Native only
|
|
25
|
+
npm install react-native
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Usage
|
|
31
|
+
|
|
32
|
+
### Basic
|
|
33
|
+
|
|
34
|
+
```tsx
|
|
35
|
+
import { DottedLoader } from '@cleartrip/ct-design-dotted-loader';
|
|
36
|
+
|
|
37
|
+
function Example() {
|
|
38
|
+
return (
|
|
39
|
+
<DottedLoader>
|
|
40
|
+
{/* Basic usage */}
|
|
41
|
+
</DottedLoader>
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Props
|
|
49
|
+
|
|
50
|
+
| Prop | Type | Default | Required | Description |
|
|
51
|
+
|------|------|---------|----------|-------------|
|
|
52
|
+
| `variant` | `LoaderVariant` | — | No | Size variant for the loader dots. Defaults to `'medium'`. |
|
|
53
|
+
| `styleConfig` | `IDottedLoaderStyleConfig` | — | No | `styleConfig` slots for fine-grained style overrides. |
|
|
54
|
+
| `css` | `CSSProperties` | — | No | existing overrides continue to win on web. |
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## DottedLoaderSize
|
|
59
|
+
|
|
60
|
+
- `SMALL` — small
|
|
61
|
+
- `MEDIUM` — medium
|
|
62
|
+
- `LARGE` — large
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Accessibility
|
|
66
|
+
|
|
67
|
+
- The component follows accessibility best practices
|
|
68
|
+
- Ensure proper ARIA attributes are provided where needed
|
|
69
|
+
- Test with screen readers to ensure usability
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Migration
|
|
74
|
+
|
|
75
|
+
If migrating from a previous version:
|
|
76
|
+
|
|
77
|
+
```diff
|
|
78
|
+
- import { DottedLoader } from 'yagami/core/components';
|
|
79
|
+
+ import { DottedLoader } from '@cleartrip/ct-design-dotted-loader';
|
|
80
|
+
```
|
package/dist/DottedLoader.d.ts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
import { ForwardRefComponentWithStyle } from '@cleartrip/ct-design-types';
|
|
1
|
+
import { ContainerRef } from '@cleartrip/ct-design-container';
|
|
3
2
|
import { IDottedLoaderProps } from './type';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export default _default;
|
|
3
|
+
declare const DottedLoader: import("react").NamedExoticComponent<IDottedLoaderProps & import("react").RefAttributes<ContainerRef>>;
|
|
4
|
+
export default DottedLoader;
|
|
7
5
|
//# sourceMappingURL=DottedLoader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DottedLoader.d.ts","sourceRoot":"","sources":["../packages/components/DottedLoader/src/DottedLoader.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DottedLoader.d.ts","sourceRoot":"","sources":["../packages/components/DottedLoader/src/DottedLoader.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAa,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAKzE,OAAO,EAAQ,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAkDlD,QAAA,MAAM,YAAY,wGAkBjB,CAAC;AAIF,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ContainerRef } from '@cleartrip/ct-design-container';
|
|
2
|
+
import { IDottedLoaderProps } from './type';
|
|
3
|
+
declare const DottedLoader: import("react").NamedExoticComponent<IDottedLoaderProps & import("react").RefAttributes<ContainerRef>>;
|
|
4
|
+
export default DottedLoader;
|
|
5
|
+
//# sourceMappingURL=DottedLoader.native.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DottedLoader.native.d.ts","sourceRoot":"","sources":["../packages/components/DottedLoader/src/DottedLoader.native.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAa,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAKzE,OAAO,EAAQ,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AA6FlD,QAAA,MAAM,YAAY,wGAYjB,CAAC;AAIF,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../packages/components/DottedLoader/src/constants.ts"],"names":[],"mappings":"AAAA,oBAAY,gBAAgB;IAC1B,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB"}
|
|
@@ -1,2 +1,6 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var r=require("react/jsx-runtime"),e=require("react"),o=require("@cleartrip/ct-design-container"),t=require("@cleartrip/ct-design-style-manager"),a=require("@emotion/css");const n=t.makeStyles(r=>({root:{alignItems:"center",justifyContent:"center",flexDirection:"row",columnGap:8},dot:{borderRadius:r.border.radius[32],backgroundColor:r.color.background.defaultDark}})),i=({dotId:e,variant:i,styleConfig:s})=>{const{root:d=[]}=s||{},c=t.useStyles(r=>{const o=function(r,e){switch(r){case"large":return e.size[3];case"medium":return e.size[2];default:return e.size[1]}}(i,r);return{dot:{width:o,height:o,animation:`${(({color1:r,color2:e})=>a.keyframes`
|
|
2
|
+
0% { background-color: ${r}; transform: scale(1); }
|
|
3
|
+
50% { background-color: ${e}; transform: scale(1.2); }
|
|
4
|
+
100% { background-color: ${r}; transform: scale(1); }
|
|
5
|
+
`)({color1:r.color.background.defaultDark,color2:r.color.background.defaultDarkest})} ease-in-out 1s infinite`,animationDelay:1/3*e+"s"}}},[i,e]);return r.jsx(o.Container,{styleConfig:{root:[n.dot,c.dot,...d]}})},s=e.memo(e.forwardRef(({css:e,variant:t="medium",styleConfig:a},s)=>{const{root:d=[],loaderCont:c}=a||{},l=e?[e]:[];return r.jsx(o.Container,{ref:s,styleConfig:{root:[n.root,...d,...l]},children:Array.from({length:3}).map((e,o)=>r.jsx(i,{dotId:o,variant:t,styleConfig:{root:c}},o))})}));var d;s.displayName="DottedLoader",exports.DottedLoaderSize=void 0,(d=exports.DottedLoaderSize||(exports.DottedLoaderSize={})).SMALL="small",d.MEDIUM="medium",d.LARGE="large",exports.DottedLoader=s;
|
|
2
6
|
//# sourceMappingURL=ct-design-dottedLoader.browser.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ct-design-dottedLoader.browser.cjs.js","sources":["../packages/components/DottedLoader/src/style.ts","../packages/components/DottedLoader/src/DottedLoader.tsx","../packages/components/DottedLoader/src/
|
|
1
|
+
{"version":3,"file":"ct-design-dottedLoader.browser.cjs.js","sources":["../packages/components/DottedLoader/src/style.ts","../packages/components/DottedLoader/src/DottedLoader.tsx","../packages/components/DottedLoader/src/constants.ts"],"sourcesContent":[null,null,null],"names":["staticLoaderStyles","makeStyles","theme","root","alignItems","justifyContent","flexDirection","columnGap","dot","borderRadius","border","radius","backgroundColor","color","background","defaultDark","LoaderDot","dotId","variant","styleConfig","dotStyles","dynamicStyles","useStyles","size","getLoaderDimension","width","height","animation","color1","color2","keyframes","dotAnimationKeyframe","defaultDarkest","animationDelay","_jsx","jsx","Container","DottedLoader","memo","forwardRef","css","forwardedRef","rootStyles","loaderCont","legacyCssStyles","ref","children","Array","from","length","map","_","id","DottedLoaderSize","displayName"],"mappings":"yLA6BO,MAWDA,EAAqBC,EAAAA,WAAYC,IAAW,CAChDC,KAAM,CACJC,WAAY,SACZC,eAAgB,SAChBC,cAAe,MACfC,UAAW,GAEbC,IAAK,CACHC,aAAcP,EAAMQ,OAAOC,OAAO,IAClCC,gBAAiBV,EAAMW,MAAMC,WAAWC,gBCjCtCC,EAAY,EAAGC,QAAOC,UAASC,kBACnC,MAAQhB,KAAMiB,EAAY,IAAOD,GAAe,CAAA,EAE1CE,EAAgBC,YACnBpB,IACC,MAAMqB,EDTI,SAAmBA,EAAiCrB,GAClE,OAAQqB,GACN,IAAK,QACH,OAAOrB,EAAMqB,KAAK,GACpB,IAAK,SACH,OAAOrB,EAAMqB,KAAK,GACpB,QACE,OAAOrB,EAAMqB,KAAK,GAExB,CCAmBC,CAAmBN,EAAShB,GAMzC,MAAO,CACLM,IAAK,CACHiB,MAAOF,EACPG,OAAQH,EACRI,UAAW,GDFe,GAAGC,SAAQC,YAAiDC,EAASA,SAAA;2BAC9EF;4BACCC;6BACCD;ECVDG,CAAqB,CACzCH,OAAQ1B,EAAMW,MAAMC,WAAWC,YAC/Bc,OAAQ3B,EAAMW,MAAMC,WAAWkB,2CAQ7BC,eAAoB,EAAI,EAAKhB,EAAb,OAItB,CAACC,EAASD,IAGZ,OACEiB,EAAAC,IAACC,YAAS,CACRjB,YAAa,CACXhB,KAAM,CAACH,EAAmBQ,IAAKa,EAAcb,OAAQY,OAevDiB,EAAeC,EAAAA,KACnBC,EAAUA,WAAmC,EAAGC,MAAKtB,UAAU,SAAUC,eAAesB,KACtF,MAAQtC,KAAMuC,EAAa,GAAEC,WAAEA,GAAexB,GAAe,GACvDyB,EAA4BJ,EAAM,CAACA,GAAiB,GAE1D,OACEN,MAACE,EAASA,UAAA,CACRS,IAAKJ,EACLtB,YAAa,CACXhB,KAAM,CAACH,EAAmBG,QAASuC,KAAeE,IAGnDE,SAAAC,MAAMC,KAAK,CAAEC,OA5DJ,IA4DyBC,IAAI,CAACC,EAAGC,IACzClB,EAAAA,IAAClB,GAAmBC,MAAOmC,EAAIlC,QAASA,EAASC,YAAa,CAAEhB,KAAMwC,IAAtDS,SCtE1B,IAAYC,ED6EZhB,EAAaiB,YAAc,eC7EfD,QAIXA,sBAAA,GAJWA,EAAAA,QAAgBA,mBAAhBA,yBAIX,CAAA,IAHC,MAAA,QACAA,EAAA,OAAA,SACAA,EAAA,MAAA"}
|
|
@@ -1,2 +1,6 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";import{memo as r,forwardRef as t}from"react";import{Container as e}from"@cleartrip/ct-design-container";import{makeStyles as n,useStyles as a}from"@cleartrip/ct-design-style-manager";import{keyframes as i}from"@emotion/css";const c=n(o=>({root:{alignItems:"center",justifyContent:"center",flexDirection:"row",columnGap:8},dot:{borderRadius:o.border.radius[32],backgroundColor:o.color.background.defaultDark}})),s=({dotId:r,variant:t,styleConfig:n})=>{const{root:s=[]}=n||{},l=a(o=>{const e=function(o,r){switch(o){case"large":return r.size[3];case"medium":return r.size[2];default:return r.size[1]}}(t,o);return{dot:{width:e,height:e,animation:`${(({color1:o,color2:r})=>i`
|
|
2
|
+
0% { background-color: ${o}; transform: scale(1); }
|
|
3
|
+
50% { background-color: ${r}; transform: scale(1.2); }
|
|
4
|
+
100% { background-color: ${o}; transform: scale(1); }
|
|
5
|
+
`)({color1:o.color.background.defaultDark,color2:o.color.background.defaultDarkest})} ease-in-out 1s infinite`,animationDelay:1/3*r+"s"}}},[t,r]);return o(e,{styleConfig:{root:[c.dot,l.dot,...s]}})},l=r(t(({css:r,variant:t="medium",styleConfig:n},a)=>{const{root:i=[],loaderCont:l}=n||{},d=r?[r]:[];return o(e,{ref:a,styleConfig:{root:[c.root,...i,...d]},children:Array.from({length:3}).map((r,e)=>o(s,{dotId:e,variant:t,styleConfig:{root:l}},e))})}));var d;l.displayName="DottedLoader",function(o){o.SMALL="small",o.MEDIUM="medium",o.LARGE="large"}(d||(d={}));export{l as DottedLoader,d as DottedLoaderSize};
|
|
2
6
|
//# sourceMappingURL=ct-design-dottedLoader.browser.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ct-design-dottedLoader.browser.esm.js","sources":["../packages/components/DottedLoader/src/style.ts","../packages/components/DottedLoader/src/DottedLoader.tsx","../packages/components/DottedLoader/src/
|
|
1
|
+
{"version":3,"file":"ct-design-dottedLoader.browser.esm.js","sources":["../packages/components/DottedLoader/src/style.ts","../packages/components/DottedLoader/src/DottedLoader.tsx","../packages/components/DottedLoader/src/constants.ts"],"sourcesContent":[null,null,null],"names":["staticLoaderStyles","makeStyles","theme","root","alignItems","justifyContent","flexDirection","columnGap","dot","borderRadius","border","radius","backgroundColor","color","background","defaultDark","LoaderDot","dotId","variant","styleConfig","dotStyles","dynamicStyles","useStyles","size","getLoaderDimension","width","height","animation","color1","color2","keyframes","dotAnimationKeyframe","defaultDarkest","animationDelay","_jsx","Container","DottedLoader","memo","forwardRef","css","forwardedRef","rootStyles","loaderCont","legacyCssStyles","ref","children","Array","from","length","map","_","id","DottedLoaderSize","displayName"],"mappings":"wQA6BO,MAWDA,EAAqBC,EAAYC,IAAW,CAChDC,KAAM,CACJC,WAAY,SACZC,eAAgB,SAChBC,cAAe,MACfC,UAAW,GAEbC,IAAK,CACHC,aAAcP,EAAMQ,OAAOC,OAAO,IAClCC,gBAAiBV,EAAMW,MAAMC,WAAWC,gBCjCtCC,EAAY,EAAGC,QAAOC,UAASC,kBACnC,MAAQhB,KAAMiB,EAAY,IAAOD,GAAe,CAAA,EAE1CE,EAAgBC,EACnBpB,IACC,MAAMqB,EDTI,SAAmBA,EAAiCrB,GAClE,OAAQqB,GACN,IAAK,QACH,OAAOrB,EAAMqB,KAAK,GACpB,IAAK,SACH,OAAOrB,EAAMqB,KAAK,GACpB,QACE,OAAOrB,EAAMqB,KAAK,GAExB,CCAmBC,CAAmBN,EAAShB,GAMzC,MAAO,CACLM,IAAK,CACHiB,MAAOF,EACPG,OAAQH,EACRI,UAAW,GDFe,GAAGC,SAAQC,YAAiDC,CAAS;2BAC9EF;4BACCC;6BACCD;ECVDG,CAAqB,CACzCH,OAAQ1B,EAAMW,MAAMC,WAAWC,YAC/Bc,OAAQ3B,EAAMW,MAAMC,WAAWkB,2CAQ7BC,eAAoB,EAAI,EAAKhB,EAAb,OAItB,CAACC,EAASD,IAGZ,OACEiB,EAACC,EAAS,CACRhB,YAAa,CACXhB,KAAM,CAACH,EAAmBQ,IAAKa,EAAcb,OAAQY,OAevDgB,EAAeC,EACnBC,EAA6C,EAAGC,MAAKrB,UAAU,SAAUC,eAAeqB,KACtF,MAAQrC,KAAMsC,EAAa,GAAEC,WAAEA,GAAevB,GAAe,GACvDwB,EAA4BJ,EAAM,CAACA,GAAiB,GAE1D,OACEL,EAACC,EAAS,CACRS,IAAKJ,EACLrB,YAAa,CACXhB,KAAM,CAACH,EAAmBG,QAASsC,KAAeE,IAGnDE,SAAAC,MAAMC,KAAK,CAAEC,OA5DJ,IA4DyBC,IAAI,CAACC,EAAGC,IACzCjB,EAAClB,GAAmBC,MAAOkC,EAAIjC,QAASA,EAASC,YAAa,CAAEhB,KAAMuC,IAAtDS,aCtEdC,ED6EZhB,EAAaiB,YAAc,eC7E3B,SAAYD,GACVA,EAAA,MAAA,QACAA,EAAA,OAAA,SACAA,EAAA,MAAA,OACD,CAJD,CAAYA,IAAAA,EAIX,CAAA"}
|
|
@@ -1,31 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var tslib = require('tslib');
|
|
4
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
5
4
|
var react = require('react');
|
|
6
|
-
var
|
|
7
|
-
var
|
|
5
|
+
var ctDesignContainer = require('@cleartrip/ct-design-container');
|
|
6
|
+
var ctDesignStyleManager = require('@cleartrip/ct-design-style-manager');
|
|
7
|
+
var css = require('@emotion/css');
|
|
8
8
|
|
|
9
|
-
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
-
|
|
11
|
-
var styled__default = /*#__PURE__*/_interopDefault(styled);
|
|
12
|
-
|
|
13
|
-
var dotAnimationKeyframe = function (_a) {
|
|
14
|
-
var color1 = _a.color1, color2 = _a.color2;
|
|
15
|
-
return styled.keyframes(templateObject_1 || (templateObject_1 = tslib.__makeTemplateObject(["\n 0% { background-color: ", "; transform: scale(1); }\n 50% { background-color: ", "; transform: scale(1.2); }\n 100% { background-color: ", "; transform: scale(1); }\n"], ["\n 0% { background-color: ", "; transform: scale(1); }\n 50% { background-color: ", "; transform: scale(1.2); }\n 100% { background-color: ", "; transform: scale(1); }\n"])), color1, color2, color1);
|
|
16
|
-
};
|
|
17
|
-
var StyledLoaderDot = styled__default.default.div(function (_a) {
|
|
18
|
-
var theme = _a.theme, dotId = _a.dotId, variant = _a.variant, _b = _a.css, styleCss = _b === void 0 ? {} : _b;
|
|
19
|
-
var size = getLoaderDimension(variant, theme);
|
|
20
|
-
return styled.css(templateObject_2 || (templateObject_2 = tslib.__makeTemplateObject(["\n height: ", ";\n width: ", ";\n border-radius: ", ";\n background: ", ";\n animation: ", "\n ease-in-out 1s infinite;\n animation-delay: ", "s;\n ", ";\n "], ["\n height: ", ";\n width: ", ";\n border-radius: ", ";\n background: ", ";\n animation: ", "\n ease-in-out 1s infinite;\n animation-delay: ", "s;\n ", ";\n "])), size, size, theme.border.radius['50P'], theme.color.background.defaultDark, dotAnimationKeyframe({
|
|
21
|
-
color1: theme.color.background.defaultDark,
|
|
22
|
-
color2: theme.color.background.defaultDarkest,
|
|
23
|
-
}), (1 / 3) * dotId, styleCss);
|
|
24
|
-
});
|
|
25
|
-
var StyledLoaderWrapper = styled__default.default.div(function (_a) {
|
|
26
|
-
_a.theme; var css = _a.css;
|
|
27
|
-
return tslib.__assign({ display: 'flex', alignItems: 'center', justifyContent: 'center', columnGap: 8 }, css);
|
|
28
|
-
});
|
|
29
9
|
function getLoaderDimension(size, theme) {
|
|
30
10
|
switch (size) {
|
|
31
11
|
case 'large':
|
|
@@ -36,25 +16,61 @@ function getLoaderDimension(size, theme) {
|
|
|
36
16
|
return theme.size[1];
|
|
37
17
|
}
|
|
38
18
|
}
|
|
39
|
-
|
|
19
|
+
const dotAnimationKeyframe = ({ color1, color2 }) => css.keyframes `
|
|
20
|
+
0% { background-color: ${color1}; transform: scale(1); }
|
|
21
|
+
50% { background-color: ${color2}; transform: scale(1.2); }
|
|
22
|
+
100% { background-color: ${color1}; transform: scale(1); }
|
|
23
|
+
`;
|
|
24
|
+
const staticLoaderStyles = ctDesignStyleManager.makeStyles((theme) => ({
|
|
25
|
+
root: {
|
|
26
|
+
alignItems: 'center',
|
|
27
|
+
justifyContent: 'center',
|
|
28
|
+
flexDirection: 'row',
|
|
29
|
+
columnGap: 8,
|
|
30
|
+
},
|
|
31
|
+
dot: {
|
|
32
|
+
borderRadius: theme.border.radius[32],
|
|
33
|
+
backgroundColor: theme.color.background.defaultDark,
|
|
34
|
+
},
|
|
35
|
+
}));
|
|
40
36
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
});
|
|
50
|
-
|
|
37
|
+
const DOT_COUNT = 3;
|
|
38
|
+
const LoaderDot = ({ dotId, variant, styleConfig }) => {
|
|
39
|
+
const { root: dotStyles = [] } = styleConfig || {};
|
|
40
|
+
const dynamicStyles = ctDesignStyleManager.useStyles((theme) => {
|
|
41
|
+
const size = getLoaderDimension(variant, theme);
|
|
42
|
+
const animationName = dotAnimationKeyframe({
|
|
43
|
+
color1: theme.color.background.defaultDark,
|
|
44
|
+
color2: theme.color.background.defaultDarkest,
|
|
45
|
+
});
|
|
46
|
+
return {
|
|
47
|
+
dot: {
|
|
48
|
+
width: size,
|
|
49
|
+
height: size,
|
|
50
|
+
animation: `${animationName} ease-in-out 1s infinite`,
|
|
51
|
+
animationDelay: `${(1 / 3) * dotId}s`,
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
}, [variant, dotId]);
|
|
55
|
+
return (jsxRuntime.jsx(ctDesignContainer.Container, { styleConfig: {
|
|
56
|
+
root: [staticLoaderStyles.dot, dynamicStyles.dot, ...dotStyles],
|
|
57
|
+
} }));
|
|
58
|
+
};
|
|
59
|
+
const DottedLoader = react.memo(react.forwardRef(({ css, variant = 'medium', styleConfig }, forwardedRef) => {
|
|
60
|
+
const { root: rootStyles = [], loaderCont } = styleConfig || {};
|
|
61
|
+
const legacyCssStyles = css ? [css] : [];
|
|
62
|
+
return (jsxRuntime.jsx(ctDesignContainer.Container, { ref: forwardedRef, styleConfig: {
|
|
63
|
+
root: [staticLoaderStyles.root, ...rootStyles, ...legacyCssStyles],
|
|
64
|
+
}, children: Array.from({ length: DOT_COUNT }).map((_, id) => (jsxRuntime.jsx(LoaderDot, { dotId: id, variant: variant, styleConfig: { root: loaderCont } }, id))) }));
|
|
65
|
+
}));
|
|
66
|
+
DottedLoader.displayName = 'DottedLoader';
|
|
51
67
|
|
|
52
|
-
|
|
68
|
+
exports.DottedLoaderSize = void 0;
|
|
53
69
|
(function (DottedLoaderSize) {
|
|
54
70
|
DottedLoaderSize["SMALL"] = "small";
|
|
55
71
|
DottedLoaderSize["MEDIUM"] = "medium";
|
|
56
72
|
DottedLoaderSize["LARGE"] = "large";
|
|
57
|
-
})(DottedLoaderSize || (DottedLoaderSize = {}));
|
|
73
|
+
})(exports.DottedLoaderSize || (exports.DottedLoaderSize = {}));
|
|
58
74
|
|
|
59
|
-
exports.DottedLoader = DottedLoader
|
|
75
|
+
exports.DottedLoader = DottedLoader;
|
|
60
76
|
//# sourceMappingURL=ct-design-dottedLoader.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ct-design-dottedLoader.cjs.js","sources":["../packages/components/DottedLoader/src/style.ts","../packages/components/DottedLoader/src/DottedLoader.tsx","../packages/components/DottedLoader/src/
|
|
1
|
+
{"version":3,"file":"ct-design-dottedLoader.cjs.js","sources":["../packages/components/DottedLoader/src/style.ts","../packages/components/DottedLoader/src/DottedLoader.tsx","../packages/components/DottedLoader/src/constants.ts"],"sourcesContent":[null,null,null],"names":["keyframes","makeStyles","useStyles","_jsx","Container","memo","forwardRef","DottedLoaderSize"],"mappings":"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"}
|
|
@@ -1,25 +1,9 @@
|
|
|
1
|
-
import { __makeTemplateObject, __assign } from 'tslib';
|
|
2
1
|
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
2
|
+
import { memo, forwardRef } from 'react';
|
|
3
|
+
import { Container } from '@cleartrip/ct-design-container';
|
|
4
|
+
import { makeStyles, useStyles } from '@cleartrip/ct-design-style-manager';
|
|
5
|
+
import { keyframes } from '@emotion/css';
|
|
6
6
|
|
|
7
|
-
var dotAnimationKeyframe = function (_a) {
|
|
8
|
-
var color1 = _a.color1, color2 = _a.color2;
|
|
9
|
-
return keyframes(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n 0% { background-color: ", "; transform: scale(1); }\n 50% { background-color: ", "; transform: scale(1.2); }\n 100% { background-color: ", "; transform: scale(1); }\n"], ["\n 0% { background-color: ", "; transform: scale(1); }\n 50% { background-color: ", "; transform: scale(1.2); }\n 100% { background-color: ", "; transform: scale(1); }\n"])), color1, color2, color1);
|
|
10
|
-
};
|
|
11
|
-
var StyledLoaderDot = styled.div(function (_a) {
|
|
12
|
-
var theme = _a.theme, dotId = _a.dotId, variant = _a.variant, _b = _a.css, styleCss = _b === void 0 ? {} : _b;
|
|
13
|
-
var size = getLoaderDimension(variant, theme);
|
|
14
|
-
return css(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n height: ", ";\n width: ", ";\n border-radius: ", ";\n background: ", ";\n animation: ", "\n ease-in-out 1s infinite;\n animation-delay: ", "s;\n ", ";\n "], ["\n height: ", ";\n width: ", ";\n border-radius: ", ";\n background: ", ";\n animation: ", "\n ease-in-out 1s infinite;\n animation-delay: ", "s;\n ", ";\n "])), size, size, theme.border.radius['50P'], theme.color.background.defaultDark, dotAnimationKeyframe({
|
|
15
|
-
color1: theme.color.background.defaultDark,
|
|
16
|
-
color2: theme.color.background.defaultDarkest,
|
|
17
|
-
}), (1 / 3) * dotId, styleCss);
|
|
18
|
-
});
|
|
19
|
-
var StyledLoaderWrapper = styled.div(function (_a) {
|
|
20
|
-
_a.theme; var css = _a.css;
|
|
21
|
-
return __assign({ display: 'flex', alignItems: 'center', justifyContent: 'center', columnGap: 8 }, css);
|
|
22
|
-
});
|
|
23
7
|
function getLoaderDimension(size, theme) {
|
|
24
8
|
switch (size) {
|
|
25
9
|
case 'large':
|
|
@@ -30,18 +14,54 @@ function getLoaderDimension(size, theme) {
|
|
|
30
14
|
return theme.size[1];
|
|
31
15
|
}
|
|
32
16
|
}
|
|
33
|
-
|
|
17
|
+
const dotAnimationKeyframe = ({ color1, color2 }) => keyframes `
|
|
18
|
+
0% { background-color: ${color1}; transform: scale(1); }
|
|
19
|
+
50% { background-color: ${color2}; transform: scale(1.2); }
|
|
20
|
+
100% { background-color: ${color1}; transform: scale(1); }
|
|
21
|
+
`;
|
|
22
|
+
const staticLoaderStyles = makeStyles((theme) => ({
|
|
23
|
+
root: {
|
|
24
|
+
alignItems: 'center',
|
|
25
|
+
justifyContent: 'center',
|
|
26
|
+
flexDirection: 'row',
|
|
27
|
+
columnGap: 8,
|
|
28
|
+
},
|
|
29
|
+
dot: {
|
|
30
|
+
borderRadius: theme.border.radius[32],
|
|
31
|
+
backgroundColor: theme.color.background.defaultDark,
|
|
32
|
+
},
|
|
33
|
+
}));
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
});
|
|
44
|
-
|
|
35
|
+
const DOT_COUNT = 3;
|
|
36
|
+
const LoaderDot = ({ dotId, variant, styleConfig }) => {
|
|
37
|
+
const { root: dotStyles = [] } = styleConfig || {};
|
|
38
|
+
const dynamicStyles = useStyles((theme) => {
|
|
39
|
+
const size = getLoaderDimension(variant, theme);
|
|
40
|
+
const animationName = dotAnimationKeyframe({
|
|
41
|
+
color1: theme.color.background.defaultDark,
|
|
42
|
+
color2: theme.color.background.defaultDarkest,
|
|
43
|
+
});
|
|
44
|
+
return {
|
|
45
|
+
dot: {
|
|
46
|
+
width: size,
|
|
47
|
+
height: size,
|
|
48
|
+
animation: `${animationName} ease-in-out 1s infinite`,
|
|
49
|
+
animationDelay: `${(1 / 3) * dotId}s`,
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
}, [variant, dotId]);
|
|
53
|
+
return (jsx(Container, { styleConfig: {
|
|
54
|
+
root: [staticLoaderStyles.dot, dynamicStyles.dot, ...dotStyles],
|
|
55
|
+
} }));
|
|
56
|
+
};
|
|
57
|
+
const DottedLoader = memo(forwardRef(({ css, variant = 'medium', styleConfig }, forwardedRef) => {
|
|
58
|
+
const { root: rootStyles = [], loaderCont } = styleConfig || {};
|
|
59
|
+
const legacyCssStyles = css ? [css] : [];
|
|
60
|
+
return (jsx(Container, { ref: forwardedRef, styleConfig: {
|
|
61
|
+
root: [staticLoaderStyles.root, ...rootStyles, ...legacyCssStyles],
|
|
62
|
+
}, children: Array.from({ length: DOT_COUNT }).map((_, id) => (jsx(LoaderDot, { dotId: id, variant: variant, styleConfig: { root: loaderCont } }, id))) }));
|
|
63
|
+
}));
|
|
64
|
+
DottedLoader.displayName = 'DottedLoader';
|
|
45
65
|
|
|
46
66
|
var DottedLoaderSize;
|
|
47
67
|
(function (DottedLoaderSize) {
|
|
@@ -50,5 +70,5 @@ var DottedLoaderSize;
|
|
|
50
70
|
DottedLoaderSize["LARGE"] = "large";
|
|
51
71
|
})(DottedLoaderSize || (DottedLoaderSize = {}));
|
|
52
72
|
|
|
53
|
-
export { DottedLoader
|
|
73
|
+
export { DottedLoader, DottedLoaderSize };
|
|
54
74
|
//# sourceMappingURL=ct-design-dottedLoader.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ct-design-dottedLoader.esm.js","sources":["../packages/components/DottedLoader/src/style.ts","../packages/components/DottedLoader/src/DottedLoader.tsx","../packages/components/DottedLoader/src/
|
|
1
|
+
{"version":3,"file":"ct-design-dottedLoader.esm.js","sources":["../packages/components/DottedLoader/src/style.ts","../packages/components/DottedLoader/src/DottedLoader.tsx","../packages/components/DottedLoader/src/constants.ts"],"sourcesContent":[null,null,null],"names":["_jsx"],"mappings":"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"}
|