@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.
Files changed (3) hide show
  1. package/index.d.ts +10 -0
  2. package/index.js +66 -0
  3. 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
+ }