@mobilestockweb/snackbar 0.0.1
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/index.d.ts +10 -0
- package/index.js +66 -0
- package/package.json +15 -0
package/index.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { SnackbarProviderProps } from 'notistack';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
|
|
5
|
+
interface SnackbarProps extends SnackbarProviderProps {
|
|
6
|
+
children: React.ReactNode;
|
|
7
|
+
}
|
|
8
|
+
declare function SnackbarProvider({ children, ...rest }: SnackbarProps): react_jsx_runtime.JSX.Element;
|
|
9
|
+
|
|
10
|
+
export { SnackbarProvider };
|
package/index.js
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";var I=Object.create;var l=Object.defineProperty,N=Object.defineProperties,W=Object.getOwnPropertyDescriptor,H=Object.getOwnPropertyDescriptors,J=Object.getOwnPropertyNames,x=Object.getOwnPropertySymbols,L=Object.getPrototypeOf,b=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable;var h=(t,e,a)=>e in t?l(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a,$=(t,e)=>{for(var a in e||(e={}))b.call(e,a)&&h(t,a,e[a]);if(x)for(var a of x(e))v.call(e,a)&&h(t,a,e[a]);return t},w=(t,e)=>N(t,H(e));var C=(t,e)=>{var a={};for(var r in t)b.call(t,r)&&e.indexOf(r)<0&&(a[r]=t[r]);if(t!=null&&x)for(var r of x(t))e.indexOf(r)<0&&v.call(t,r)&&(a[r]=t[r]);return a};var O=(t,e)=>{for(var a in e)l(t,a,{get:e[a],enumerable:!0})},g=(t,e,a,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of J(e))!b.call(t,i)&&i!==a&&l(t,i,{get:()=>e[i],enumerable:!(r=W(e,i))||r.enumerable});return t};var p=(t,e,a)=>(a=t!=null?I(L(t)):{},g(e||!t||!t.__esModule?l(a,"default",{value:t,enumerable:!0}):a,t)),A=t=>g(l({},"__esModule",{value:!0}),t);var tt={};O(tt,{SnackbarProvider:()=>_});module.exports=A(tt);var R=require("notistack");var y=p(require("chroma-js")),E=require("notistack"),s=p(require("react")),P=require("react-icons/fa"),M=require("react-icons/io5"),o=p(require("styled-components")),V=p(require("@mobilestockweb/button")),m=p(require("@mobilestockweb/tools"));function T(t){let e=(t==null?void 0:t.toString())||"",a=80;if(e.length>a){let r=e.lastIndexOf(" ",a);return r===-1&&(r=a),e.slice(0,r)}return e}var n=require("react/jsx-runtime"),d=(0,s.forwardRef)(function({id:e,message:a,variant:r},i){let{closeSnackbar:k}=(0,E.useSnackbar)(),[f,z]=(0,s.useState)(!1),u=T(a),B=(0,s.useCallback)(()=>{k(e)},[e,k]);return s.default.isValidElement(a)?(0,n.jsx)(j,{ref:i,children:a}):(0,n.jsxs)(F,{ref:i,$variant:r,$isExpanded:f,children:[(0,n.jsxs)(q,{children:[u&&(0,n.jsx)(G,{children:(0,n.jsx)(K,{"data-testid":"snackbar-title",$variant:r,children:u})}),(0,n.jsx)(S,{"data-testid":"snackbar-close-button",onClick:B,children:(0,n.jsx)(X,{$variant:r,size:16})})]}),(0,n.jsx)(Y,{$isExpanded:f,children:(0,n.jsx)(Z,{$variant:r,children:u&&(0,n.jsx)(Q,{"data-testid":"snackbar-full-message",$variant:r,children:a})})}),u!==a&&(0,n.jsx)(S,{"data-testid":"snackbar-expand-button",onClick:()=>z(!f),children:(0,n.jsx)(U,{$variant:r,$isExpanded:f})})]})});function c(t="default",e){return e.colors.alert[t]}var F=o.default.div`
|
|
2
|
+
background-color: ${({theme:t,$variant:e})=>c(e,t)};
|
|
3
|
+
border-radius: 0.4rem;
|
|
4
|
+
display: flex;
|
|
5
|
+
min-height: 3rem;
|
|
6
|
+
padding: ${({$isExpanded:t})=>t?"0 0.75rem":"0.25rem 0.75rem"};
|
|
7
|
+
flex-direction: column;
|
|
8
|
+
justify-content: center;
|
|
9
|
+
`,j=o.default.div``,q=o.default.div`
|
|
10
|
+
display: flex;
|
|
11
|
+
justify-content: space-between;
|
|
12
|
+
gap: 1rem;
|
|
13
|
+
`,S=(0,o.default)(V.default)`
|
|
14
|
+
background-color: transparent;
|
|
15
|
+
width: auto;
|
|
16
|
+
min-height: unset;
|
|
17
|
+
box-shadow: none;
|
|
18
|
+
@media (max-width: 768px) {
|
|
19
|
+
font-size: calc(1rem - (48rem - 100vw) / 100);
|
|
20
|
+
}
|
|
21
|
+
padding: 0.2rem 0;
|
|
22
|
+
`,G=o.default.div`
|
|
23
|
+
max-width: 75vw;
|
|
24
|
+
`,K=o.default.p`
|
|
25
|
+
align-items: center;
|
|
26
|
+
color: ${({theme:t,$variant:e})=>m.default.defineTextColor(c(e,t))};
|
|
27
|
+
font-size: 1rem;
|
|
28
|
+
display: inherit;
|
|
29
|
+
overflow: hidden;
|
|
30
|
+
text-overflow: ellipsis;
|
|
31
|
+
white-space: nowrap;
|
|
32
|
+
@media (min-width: 768px) {
|
|
33
|
+
width: 25vw;
|
|
34
|
+
}
|
|
35
|
+
@media (max-width: 768px) {
|
|
36
|
+
font-size: calc(1.15rem - (48rem - 100vw) / 100);
|
|
37
|
+
}
|
|
38
|
+
`,Q=o.default.p`
|
|
39
|
+
color: ${({theme:t,$variant:e})=>m.default.defineTextColor(c(e,t))};
|
|
40
|
+
word-break: break-word;
|
|
41
|
+
@media (min-width: 768px) {
|
|
42
|
+
width: 25vw;
|
|
43
|
+
}
|
|
44
|
+
`,U=(0,o.default)(P.FaChevronDown)`
|
|
45
|
+
color: ${({theme:t,$variant:e})=>m.default.defineTextColor(c(e,t))};
|
|
46
|
+
transition: all 0.3s ease-in-out;
|
|
47
|
+
transform: rotate(0deg);
|
|
48
|
+
|
|
49
|
+
${({$isExpanded:t})=>t&&o.css`
|
|
50
|
+
transform: rotate(180deg);
|
|
51
|
+
`}
|
|
52
|
+
`,X=(0,o.default)(M.IoClose)`
|
|
53
|
+
color: ${({theme:t,$variant:e})=>m.default.defineTextColor(c(e,t))};
|
|
54
|
+
`,Y=o.default.div`
|
|
55
|
+
overflow: hidden;
|
|
56
|
+
transition:
|
|
57
|
+
opacity ${({$isExpanded:t})=>t?"0.3s":"0.05s"} ease-in-out,
|
|
58
|
+
max-height 0.3s ease-in-out;
|
|
59
|
+
max-height: ${({$isExpanded:t})=>t?"31.25rem":"0"};
|
|
60
|
+
opacity: ${({$isExpanded:t})=>t?"1":"0"};
|
|
61
|
+
`,Z=o.default.div`
|
|
62
|
+
background-color: ${({theme:t,$variant:e})=>(0,y.default)(c(e,t)).shade(.25).css()};
|
|
63
|
+
border-radius: 0.6rem;
|
|
64
|
+
display: flex;
|
|
65
|
+
padding: 0 0.5rem;
|
|
66
|
+
`;var D=require("react/jsx-runtime");function _(a){var r=a,{children:t}=r,e=C(r,["children"]);return(0,D.jsx)(R.SnackbarProvider,w($({Components:{default:d,error:d,info:d,success:d,warning:d},anchorOrigin:{vertical:"top",horizontal:"left"},classes:{containerRoot:"snackbar-style"},autoHideDuration:5e3},e),{children:t}))}0&&(module.exports={SnackbarProvider});
|
package/package.json
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@mobilestockweb/snackbar",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"main": "index.js",
|
|
5
|
+
"peerDependencies": {
|
|
6
|
+
"react": "18.2.0",
|
|
7
|
+
"react-dom": "18.2.0",
|
|
8
|
+
"react-icons": "^5.3.0",
|
|
9
|
+
"styled-components": "^6.1.8",
|
|
10
|
+
"chroma-js": "^3.1.2",
|
|
11
|
+
"notistack": "^3.0.1",
|
|
12
|
+
"@mobilestockweb/button": "^0.0.8",
|
|
13
|
+
"@mobilestockweb/tools": "^0.0.10"
|
|
14
|
+
}
|
|
15
|
+
}
|