@foxford/ui 2.121.2 → 2.122.0-beta-eebeeaa-20260814
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/components/DialogComponent/DialogComponent.js +1 -1
- package/components/DialogComponent/DialogComponent.js.map +1 -1
- package/components/DialogComponent/DialogComponent.mjs +1 -1
- package/components/DialogComponent/DialogComponent.mjs.map +1 -1
- package/components/FileUploader/FileUploader.js +2 -0
- package/components/FileUploader/FileUploader.js.map +1 -0
- package/components/FileUploader/FileUploader.mjs +2 -0
- package/components/FileUploader/FileUploader.mjs.map +1 -0
- package/components/FileUploader/style.js +2 -0
- package/components/FileUploader/style.js.map +1 -0
- package/components/FileUploader/style.mjs +2 -0
- package/components/FileUploader/style.mjs.map +1 -0
- package/components/FileUploaderItem/FileUploaderItem.js +2 -0
- package/components/FileUploaderItem/FileUploaderItem.js.map +1 -0
- package/components/FileUploaderItem/FileUploaderItem.mjs +2 -0
- package/components/FileUploaderItem/FileUploaderItem.mjs.map +1 -0
- package/components/FileUploaderItem/formatFileSize.js +2 -0
- package/components/FileUploaderItem/formatFileSize.js.map +1 -0
- package/components/FileUploaderItem/formatFileSize.mjs +2 -0
- package/components/FileUploaderItem/formatFileSize.mjs.map +1 -0
- package/components/FileUploaderItem/getMimeTypeData.js +2 -0
- package/components/FileUploaderItem/getMimeTypeData.js.map +1 -0
- package/components/FileUploaderItem/getMimeTypeData.mjs +2 -0
- package/components/FileUploaderItem/getMimeTypeData.mjs.map +1 -0
- package/components/FileUploaderItem/sizes.js +2 -0
- package/components/FileUploaderItem/sizes.js.map +1 -0
- package/components/FileUploaderItem/sizes.mjs +2 -0
- package/components/FileUploaderItem/sizes.mjs.map +1 -0
- package/components/FileUploaderItem/style.js +2 -0
- package/components/FileUploaderItem/style.js.map +1 -0
- package/components/FileUploaderItem/style.mjs +2 -0
- package/components/FileUploaderItem/style.mjs.map +1 -0
- package/components/FileUploaderItem/truncateFileName.js +2 -0
- package/components/FileUploaderItem/truncateFileName.js.map +1 -0
- package/components/FileUploaderItem/truncateFileName.mjs +2 -0
- package/components/FileUploaderItem/truncateFileName.mjs.map +1 -0
- package/components/FileUploaderList/FileUploaderList.js +2 -0
- package/components/FileUploaderList/FileUploaderList.js.map +1 -0
- package/components/FileUploaderList/FileUploaderList.mjs +2 -0
- package/components/FileUploaderList/FileUploaderList.mjs.map +1 -0
- package/components/FileUploaderList/style.js +2 -0
- package/components/FileUploaderList/style.js.map +1 -0
- package/components/FileUploaderList/style.mjs +2 -0
- package/components/FileUploaderList/style.mjs.map +1 -0
- package/components/IconButton/IconButton.js +1 -1
- package/components/IconButton/IconButton.js.map +1 -1
- package/components/IconButton/IconButton.mjs +1 -1
- package/components/IconButton/IconButton.mjs.map +1 -1
- package/components/IconButton/style.js +1 -1
- package/components/IconButton/style.js.map +1 -1
- package/components/IconButton/style.mjs +1 -1
- package/components/IconButton/style.mjs.map +1 -1
- package/components/ImageUploader/ImageUploader.js +2 -0
- package/components/ImageUploader/ImageUploader.js.map +1 -0
- package/components/ImageUploader/ImageUploader.mjs +2 -0
- package/components/ImageUploader/ImageUploader.mjs.map +1 -0
- package/components/ImageUploader/constants.js +2 -0
- package/components/ImageUploader/constants.js.map +1 -0
- package/components/ImageUploader/constants.mjs +2 -0
- package/components/ImageUploader/constants.mjs.map +1 -0
- package/components/ImageUploader/style.js +2 -0
- package/components/ImageUploader/style.js.map +1 -0
- package/components/ImageUploader/style.mjs +2 -0
- package/components/ImageUploader/style.mjs.map +1 -0
- package/components/ImageUploaderGrid/ImageUploaderGrid.js +2 -0
- package/components/ImageUploaderGrid/ImageUploaderGrid.js.map +1 -0
- package/components/ImageUploaderGrid/ImageUploaderGrid.mjs +2 -0
- package/components/ImageUploaderGrid/ImageUploaderGrid.mjs.map +1 -0
- package/components/ImageUploaderGrid/style.js +2 -0
- package/components/ImageUploaderGrid/style.js.map +1 -0
- package/components/ImageUploaderGrid/style.mjs +2 -0
- package/components/ImageUploaderGrid/style.mjs.map +1 -0
- package/components/TooltipComponent/TooltipComponent.js +1 -1
- package/components/TooltipComponent/TooltipComponent.js.map +1 -1
- package/components/TooltipComponent/TooltipComponent.mjs +1 -1
- package/components/TooltipComponent/TooltipComponent.mjs.map +1 -1
- package/dts/index.d.ts +1247 -443
- package/icon-pack/src/collection.json.js +1 -1
- package/icon-pack/src/collection.json.mjs +1 -1
- package/icon-pack/src/icons/Camera/index.js +2 -0
- package/icon-pack/src/icons/Camera/index.js.map +1 -0
- package/icon-pack/src/icons/Camera/index.mjs +2 -0
- package/icon-pack/src/icons/Camera/index.mjs.map +1 -0
- package/icon-pack/src/icons/File/index.js +2 -0
- package/icon-pack/src/icons/File/index.js.map +1 -0
- package/icon-pack/src/icons/File/index.mjs +2 -0
- package/icon-pack/src/icons/File/index.mjs.map +1 -0
- package/icon-pack/src/icons/FilePdf/index.js +2 -0
- package/icon-pack/src/icons/FilePdf/index.js.map +1 -0
- package/icon-pack/src/icons/FilePdf/index.mjs +2 -0
- package/icon-pack/src/icons/FilePdf/index.mjs.map +1 -0
- package/icon-pack/src/icons/FileQuestion/index.js +2 -0
- package/icon-pack/src/icons/FileQuestion/index.js.map +1 -0
- package/icon-pack/src/icons/FileQuestion/index.mjs +2 -0
- package/icon-pack/src/icons/FileQuestion/index.mjs.map +1 -0
- package/icon-pack/src/icons/FileZipper/index.js +2 -0
- package/icon-pack/src/icons/FileZipper/index.js.map +1 -0
- package/icon-pack/src/icons/FileZipper/index.mjs +2 -0
- package/icon-pack/src/icons/FileZipper/index.mjs.map +1 -0
- package/icon-pack/src/icons/Image/index.js +2 -0
- package/icon-pack/src/icons/Image/index.js.map +1 -0
- package/icon-pack/src/icons/Image/index.mjs +2 -0
- package/icon-pack/src/icons/Image/index.mjs.map +1 -0
- package/icon-pack/src/icons/ImageAdd/index.js +2 -0
- package/icon-pack/src/icons/ImageAdd/index.js.map +1 -0
- package/icon-pack/src/icons/ImageAdd/index.mjs +2 -0
- package/icon-pack/src/icons/ImageAdd/index.mjs.map +1 -0
- package/icon-pack/src/icons/InfoCircleFill/index.js +2 -0
- package/icon-pack/src/icons/InfoCircleFill/index.js.map +1 -0
- package/icon-pack/src/icons/InfoCircleFill/index.mjs +2 -0
- package/icon-pack/src/icons/InfoCircleFill/index.mjs.map +1 -0
- package/icon-pack/src/icons/Music/index.js +2 -0
- package/icon-pack/src/icons/Music/index.js.map +1 -0
- package/icon-pack/src/icons/Music/index.mjs +2 -0
- package/icon-pack/src/icons/Music/index.mjs.map +1 -0
- package/icon-pack/src/icons/Trash/index.js +2 -0
- package/icon-pack/src/icons/Trash/index.js.map +1 -0
- package/icon-pack/src/icons/Trash/index.mjs +2 -0
- package/icon-pack/src/icons/Trash/index.mjs.map +1 -0
- package/icon-pack/src/icons/Upload/index.js +2 -0
- package/icon-pack/src/icons/Upload/index.js.map +1 -0
- package/icon-pack/src/icons/Upload/index.mjs +2 -0
- package/icon-pack/src/icons/Upload/index.mjs.map +1 -0
- package/icon-pack/src/icons/WarningCircleFill/index.js +2 -0
- package/icon-pack/src/icons/WarningCircleFill/index.js.map +1 -0
- package/icon-pack/src/icons/WarningCircleFill/index.mjs +2 -0
- package/icon-pack/src/icons/WarningCircleFill/index.mjs.map +1 -0
- package/index.js +1 -1
- package/index.mjs +1 -1
- package/package.json +3 -2
- package/shared/utils/parseNumberString.js +2 -0
- package/shared/utils/parseNumberString.js.map +1 -0
- package/shared/utils/parseNumberString.mjs +2 -0
- package/shared/utils/parseNumberString.mjs.map +1 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{SIZES_BASE}from'../IconButton/sizes.mjs';import{SIZES as SIZES$1}from'../ProgressLine/constants.mjs';const SIZES={m:{'--file-uploader-item-root-padding':'11px','--file-uploader-item-root-min-width':'min-content','--file-uploader-item-root-min-height':'64px','--file-uploader-item-root-border-radius':'12px','--file-uploader-item-icon-container-width':'40px','--file-uploader-item-icon-container-height':'40px','--file-uploader-item-icon-container-border-radius':'8px','--file-uploader-item-icon-background-display':'block','--file-uploader-item-controls-gap':'8px','--file-uploader-item-icon-skeleton-width':'40px','--file-uploader-item-icon-skeleton-height':'40px','--file-uploader-item-icon-skeleton-border-radius':'8px','--file-uploader-item-meta-display':'flex'},s:{'--file-uploader-item-root-padding':'7px 9px 7px 11px','--file-uploader-item-root-min-width':'min-content','--file-uploader-item-root-min-height':'48px','--file-uploader-item-root-border-radius':'10px','--file-uploader-item-icon-container-width':'24px','--file-uploader-item-icon-container-height':'24px','--file-uploader-item-icon-container-border-radius':'8px','--file-uploader-item-icon-background-display':'none','--file-uploader-item-controls-gap':'4px','--file-uploader-item-icon-skeleton-width':'24px','--file-uploader-item-icon-skeleton-height':'24px','--file-uploader-item-icon-skeleton-border-radius':'50%','--file-uploader-item-meta-display':'none'}};const SIZES_MIME_ICON={m:{fontSize:24},s:{fontSize:24}};const SIZES_NAME={m:{fontSize:16},s:{fontSize:16}};const SIZES_META={m:{fontSize:14},s:{fontSize:14}};const SIZES_ICON_BUTTON={m:SIZES_BASE.xl,s:SIZES_BASE.l};const SIZES_FILE_UPLOADER_PROGRESS_LINE={m:{...SIZES$1.xs,borderRadius:12},s:{...SIZES$1.xs,borderRadius:12}};const SIZES_PROGRESS_LINE_CONTAINER_IN_CONTENT={m:{display:'none'},s:{display:'block',marginTop:4,marginBottom:4}};const SIZES_PROGRESS_LINE_CONTAINER={m:{display:'block',marginTop:12},s:{display:'none'}};export{SIZES,SIZES_FILE_UPLOADER_PROGRESS_LINE,SIZES_ICON_BUTTON,SIZES_META,SIZES_MIME_ICON,SIZES_NAME,SIZES_PROGRESS_LINE_CONTAINER,SIZES_PROGRESS_LINE_CONTAINER_IN_CONTENT};
|
|
2
|
+
//# sourceMappingURL=sizes.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sizes.mjs","sources":["../../../../src/components/FileUploaderItem/sizes.ts"],"sourcesContent":["import type { CSSProperties } from 'react'\nimport { SIZES_BASE } from 'components/IconButton'\nimport { SIZES as SIZES_PROGRESS_LINE } from 'components/ProgressLine'\nimport type { Size } from './types'\n\nexport const SIZES: Record<Size, CSSProperties> = {\n m: {\n '--file-uploader-item-root-padding': '11px',\n '--file-uploader-item-root-min-width': 'min-content',\n '--file-uploader-item-root-min-height': '64px',\n '--file-uploader-item-root-border-radius': '12px',\n '--file-uploader-item-icon-container-width': '40px',\n '--file-uploader-item-icon-container-height': '40px',\n '--file-uploader-item-icon-container-border-radius': '8px',\n '--file-uploader-item-icon-background-display': 'block',\n '--file-uploader-item-controls-gap': '8px',\n '--file-uploader-item-icon-skeleton-width': '40px',\n '--file-uploader-item-icon-skeleton-height': '40px',\n '--file-uploader-item-icon-skeleton-border-radius': '8px',\n '--file-uploader-item-meta-display': 'flex',\n },\n s: {\n '--file-uploader-item-root-padding': '7px 9px 7px 11px',\n '--file-uploader-item-root-min-width': 'min-content',\n '--file-uploader-item-root-min-height': '48px',\n '--file-uploader-item-root-border-radius': '10px',\n '--file-uploader-item-icon-container-width': '24px',\n '--file-uploader-item-icon-container-height': '24px',\n '--file-uploader-item-icon-container-border-radius': '8px',\n '--file-uploader-item-icon-background-display': 'none',\n '--file-uploader-item-controls-gap': '4px',\n '--file-uploader-item-icon-skeleton-width': '24px',\n '--file-uploader-item-icon-skeleton-height': '24px',\n '--file-uploader-item-icon-skeleton-border-radius': '50%',\n '--file-uploader-item-meta-display': 'none',\n },\n}\n\nexport const SIZES_MIME_ICON: Record<Size, CSSProperties> = {\n m: { fontSize: 24 },\n s: { fontSize: 24 },\n}\n\nexport const SIZES_NAME: Record<Size, CSSProperties> = {\n m: { fontSize: 16 },\n s: { fontSize: 16 },\n}\n\nexport const SIZES_META: Record<Size, CSSProperties> = {\n m: { fontSize: 14 },\n s: { fontSize: 14 },\n}\n\nexport const SIZES_ICON_BUTTON: Record<Size, CSSProperties> = {\n m: SIZES_BASE.xl,\n s: SIZES_BASE.l,\n}\n\nexport const SIZES_FILE_UPLOADER_PROGRESS_LINE: Record<Size, CSSProperties> = {\n m: {\n ...SIZES_PROGRESS_LINE.xs,\n borderRadius: 12,\n },\n s: {\n ...SIZES_PROGRESS_LINE.xs,\n borderRadius: 12,\n },\n}\n\nexport const SIZES_PROGRESS_LINE_CONTAINER_IN_CONTENT: Record<Size, CSSProperties> = {\n m: {\n display: 'none',\n },\n s: {\n display: 'block',\n marginTop: 4,\n marginBottom: 4,\n },\n}\n\nexport const SIZES_PROGRESS_LINE_CONTAINER: Record<Size, CSSProperties> = {\n m: {\n display: 'block',\n marginTop: 12,\n },\n s: {\n display: 'none',\n },\n}\n"],"names":["SIZES","m","s","SIZES_MIME_ICON","fontSize","SIZES_NAME","SIZES_META","SIZES_ICON_BUTTON","SIZES_BASE","xl","l","SIZES_FILE_UPLOADER_PROGRESS_LINE","SIZES_PROGRESS_LINE","xs","borderRadius","SIZES_PROGRESS_LINE_CONTAINER_IN_CONTENT","display","marginTop","marginBottom","SIZES_PROGRESS_LINE_CONTAINER"],"mappings":"4GAKO,MAAMA,MAAqC,CAChDC,EAAG,CACD,oCAAqC,OACrC,sCAAuC,cACvC,uCAAwC,OACxC,0CAA2C,OAC3C,4CAA6C,OAC7C,6CAA8C,OAC9C,oDAAqD,MACrD,+CAAgD,QAChD,oCAAqC,MACrC,2CAA4C,OAC5C,4CAA6C,OAC7C,mDAAoD,MACpD,oCAAqC,QAEvCC,EAAG,CACD,oCAAqC,mBACrC,sCAAuC,cACvC,uCAAwC,OACxC,0CAA2C,OAC3C,4CAA6C,OAC7C,6CAA8C,OAC9C,oDAAqD,MACrD,+CAAgD,OAChD,oCAAqC,MACrC,2CAA4C,OAC5C,4CAA6C,OAC7C,mDAAoD,MACpD,oCAAqC,SAIlC,MAAMC,gBAA+C,CAC1DF,EAAG,CAAEG,SAAU,IACfF,EAAG,CAAEE,SAAU,KAGV,MAAMC,WAA0C,CACrDJ,EAAG,CAAEG,SAAU,IACfF,EAAG,CAAEE,SAAU,KAGV,MAAME,WAA0C,CACrDL,EAAG,CAAEG,SAAU,IACfF,EAAG,CAAEE,SAAU,KAGV,MAAMG,kBAAiD,CAC5DN,EAAGO,WAAWC,GACdP,EAAGM,WAAWE,GAGT,MAAMC,kCAAiE,CAC5EV,EAAG,IACEW,QAAoBC,GACvBC,aAAc,IAEhBZ,EAAG,IACEU,QAAoBC,GACvBC,aAAc,KAIX,MAAMC,yCAAwE,CACnFd,EAAG,CACDe,QAAS,QAEXd,EAAG,CACDc,QAAS,QACTC,UAAW,EACXC,aAAc,IAIX,MAAMC,8BAA6D,CACxElB,EAAG,CACDe,QAAS,QACTC,UAAW,IAEbf,EAAG,CACDc,QAAS"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var styled=require('styled-components');var style=require('../../shared/utils/style.js');var responsiveSize=require('../../mixins/responsive-size.js');var responsiveMargin=require('../../mixins/responsive-margin.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var styled__default=_interopDefault(styled);const shouldForwardFileUploaderItemProp=style.createShouldForwardProp();const IconContainer=styled__default.default.div.withConfig({displayName:"FileUploaderItem__IconContainer",componentId:"ui__sc-3f1tnz-0"})(["box-sizing:border-box;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--file-uploader-item-icon-container-width);height:var(--file-uploader-item-icon-container-height);border-radius:var(--file-uploader-item-icon-container-border-radius);"]);const IconBackground=styled__default.default.div.withConfig({displayName:"FileUploaderItem__IconBackground",componentId:"ui__sc-3f1tnz-1"})(["box-sizing:border-box;display:var(--file-uploader-item-icon-background-display);position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;"]);const Meta=styled__default.default.div.withConfig({displayName:"FileUploaderItem__Meta",componentId:"ui__sc-3f1tnz-2"})(["box-sizing:border-box;display:var(--file-uploader-item-meta-display);flex-wrap:wrap;align-items:center;margin-top:2px;& > *:not(:last-child){position:relative;margin-right:12px;&::after{content:'';position:absolute;top:50%;right:0;transform:translate(7px,-50%);width:2px;height:2px;border-radius:50%;background-color:currentcolor;}}"]);const COLOR_SCHEMA={default:styled.css(["",""],e=>{return`\n color: ${(o={color:e.theme.colors['content-onmain-primary'],colorSecondary:e.theme.colors['content-onmain-tertiary'],backgroundColor:e.theme.colors['bg-onmain-primary'],borderColor:e.theme.colors['border-onmain-default-large'],iconBackgroundColor:e.theme.colors['bg-onmain-main'],...e.palette}).color};\n background-color: ${o.backgroundColor};\n border-color: ${o.borderColor};\n\n ${IconContainer}, \n ${Meta}, \n ${Meta} > *:not(:last-child)::after {\n color: ${o.colorSecondary};\n }\n\n ${IconBackground} {\n background-color: ${o.iconBackgroundColor};\n }\n`;var o})};const Root=styled__default.default.div.withConfig({shouldForwardProp:shouldForwardFileUploaderItemProp}).withConfig({displayName:"FileUploaderItem__Root",componentId:"ui__sc-3f1tnz-3"})(["box-sizing:border-box;isolation:isolate;appearance:none;border:1px solid;display:flex;flex-direction:column;align-items:stretch;justify-content:center;min-width:var(--file-uploader-item-root-min-width);min-height:var(--file-uploader-item-root-min-height);padding:var(--file-uploader-item-root-padding);border-radius:var(--file-uploader-item-root-border-radius);"," "," ",""],COLOR_SCHEMA.default,responsiveSize.responsiveSize,responsiveMargin.responsiveMargin);const Container=styled__default.default.div.withConfig({displayName:"FileUploaderItem__Container",componentId:"ui__sc-3f1tnz-4"})(["box-sizing:border-box;display:flex;align-items:center;& > *:not(:last-child){margin-right:12px;}"]);const Content=styled__default.default.div.withConfig({displayName:"FileUploaderItem__Content",componentId:"ui__sc-3f1tnz-5"})(["box-sizing:border-box;flex-grow:1;"]);const FileSize=styled__default.default.div.withConfig({displayName:"FileUploaderItem__FileSize",componentId:"ui__sc-3f1tnz-6"})(["box-sizing:border-box;display:flex;flex-shrink:0;"]);const Controls=styled__default.default.div.withConfig({displayName:"FileUploaderItem__Controls",componentId:"ui__sc-3f1tnz-7"})(["box-sizing:border-box;display:flex;align-items:center;& > *:not(:last-child){margin-right:var(--file-uploader-item-controls-gap);}"]);const ProgressLineContainer=styled__default.default.div.withConfig({shouldForwardProp:shouldForwardFileUploaderItemProp}).withConfig({displayName:"FileUploaderItem__ProgressLineContainer",componentId:"ui__sc-3f1tnz-8"})(["box-sizing:border-box;width:100%;",""],responsiveSize.responsiveSize);const IconSkeleton=styled__default.default.div.withConfig({displayName:"FileUploaderItem__IconSkeleton",componentId:"ui__sc-3f1tnz-9"})(["box-sizing:border-box;flex-shrink:0;width:var(--file-uploader-item-icon-skeleton-width);height:var(--file-uploader-item-icon-skeleton-height);& > *{border-radius:var(--file-uploader-item-icon-skeleton-border-radius);}"]);const MetaSkeleton=styled__default.default.div.withConfig({displayName:"FileUploaderItem__MetaSkeleton",componentId:"ui__sc-3f1tnz-10"})(["box-sizing:border-box;display:var(--file-uploader-item-meta-display);align-items:center;margin-top:6px;margin-bottom:6px;"]);exports.Container=Container,exports.Content=Content,exports.Controls=Controls,exports.FileSize=FileSize,exports.IconBackground=IconBackground,exports.IconContainer=IconContainer,exports.IconSkeleton=IconSkeleton,exports.Meta=Meta,exports.MetaSkeleton=MetaSkeleton,exports.ProgressLineContainer=ProgressLineContainer,exports.Root=Root;
|
|
2
|
+
//# sourceMappingURL=style.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.js","sources":["../../../../src/components/FileUploaderItem/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { responsiveSize } from 'mixins/responsive-size'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport type { ResponsiveSizeProps, ResponsiveSizeInterpolationProps } from 'shared/interfaces'\nimport type { Size, StyledFileUploaderItemProps, FileUploaderItemPalette } from './types'\n\nconst shouldForwardFileUploaderItemProp = createShouldForwardProp()\n\nexport const IconContainer = styled.div`\n box-sizing: border-box;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: var(--file-uploader-item-icon-container-width);\n height: var(--file-uploader-item-icon-container-height);\n border-radius: var(--file-uploader-item-icon-container-border-radius);\n`\n\nexport const IconBackground = styled.div`\n box-sizing: border-box;\n display: var(--file-uploader-item-icon-background-display);\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: -1;\n border-radius: inherit;\n`\n\nexport const Meta = styled.div`\n box-sizing: border-box;\n display: var(--file-uploader-item-meta-display);\n flex-wrap: wrap;\n align-items: center;\n margin-top: 2px;\n\n & > *:not(:last-child) {\n position: relative;\n margin-right: 12px;\n &::after {\n content: '';\n position: absolute;\n top: 50%;\n right: 0;\n transform: translate(7px, -50%);\n width: 2px;\n height: 2px;\n border-radius: 50%;\n background-color: currentcolor;\n }\n }\n`\n\nconst template = (palette: FileUploaderItemPalette) => `\n color: ${palette.color};\n background-color: ${palette.backgroundColor};\n border-color: ${palette.borderColor};\n\n ${IconContainer}, \n ${Meta}, \n ${Meta} > *:not(:last-child)::after {\n color: ${palette.colorSecondary};\n }\n\n ${IconBackground} {\n background-color: ${palette.iconBackgroundColor};\n }\n`\n\nconst COLOR_SCHEMA = {\n default: css<StyledFileUploaderItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n colorSecondary: props.theme.colors['content-onmain-tertiary'],\n backgroundColor: props.theme.colors['bg-onmain-primary'],\n borderColor: props.theme.colors['border-onmain-default-large'],\n iconBackgroundColor: props.theme.colors['bg-onmain-main'],\n ...props.palette,\n })}\n `,\n}\n\nexport const Root = styled.div.withConfig<StyledFileUploaderItemProps>({\n shouldForwardProp: shouldForwardFileUploaderItemProp,\n})`\n box-sizing: border-box;\n isolation: isolate;\n appearance: none;\n border: 1px solid;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n justify-content: center;\n min-width: var(--file-uploader-item-root-min-width);\n min-height: var(--file-uploader-item-root-min-height);\n padding: var(--file-uploader-item-root-padding);\n border-radius: var(--file-uploader-item-root-border-radius);\n\n ${COLOR_SCHEMA.default}\n\n ${responsiveSize}\n ${responsiveMargin}\n`\n\nexport const Container = styled.div`\n box-sizing: border-box;\n display: flex;\n align-items: center;\n\n & > *:not(:last-child) {\n margin-right: 12px;\n }\n`\n\nexport const Content = styled.div`\n box-sizing: border-box;\n flex-grow: 1;\n`\n\nexport const FileSize = styled.div`\n box-sizing: border-box;\n display: flex;\n flex-shrink: 0;\n`\n\nexport const Controls = styled.div`\n box-sizing: border-box;\n display: flex;\n align-items: center;\n\n & > *:not(:last-child) {\n margin-right: var(--file-uploader-item-controls-gap);\n }\n`\n\nexport const ProgressLineContainer = styled.div.withConfig<\n ResponsiveSizeInterpolationProps<Size, Size, ResponsiveSizeProps<Size>>\n>({\n shouldForwardProp: shouldForwardFileUploaderItemProp,\n})`\n box-sizing: border-box;\n width: 100%;\n\n ${responsiveSize}\n`\n\nexport const IconSkeleton = styled.div`\n box-sizing: border-box;\n flex-shrink: 0;\n width: var(--file-uploader-item-icon-skeleton-width);\n height: var(--file-uploader-item-icon-skeleton-height);\n\n & > * {\n border-radius: var(--file-uploader-item-icon-skeleton-border-radius);\n }\n`\n\nexport const MetaSkeleton = styled.div`\n box-sizing: border-box;\n display: var(--file-uploader-item-meta-display);\n align-items: center;\n margin-top: 6px;\n margin-bottom: 6px;\n`\n"],"names":["shouldForwardFileUploaderItemProp","createShouldForwardProp","IconContainer","styled","div","withConfig","displayName","componentId","IconBackground","Meta","COLOR_SCHEMA","default","css","props","template","palette","color","theme","colors","colorSecondary","backgroundColor","borderColor","iconBackgroundColor","Root","shouldForwardProp","responsiveSize","responsiveMargin","Container","Content","FileSize","Controls","ProgressLineContainer","IconSkeleton","MetaSkeleton"],"mappings":"mVAOA,MAAMA,kCAAoCC,MAAAA,gCAE7BC,cAAgBC,gBAAAA,QAAOC,IAAGC,WAAA,CAAAC,YAAA,kCAAAC,YAAA,mBAAVJ,CAAU,CAAA,ySAY1BK,eAAiBL,gBAAAA,QAAOC,IAAGC,WAAA,CAAAC,YAAA,mCAAAC,YAAA,mBAAVJ,CAAU,CAAA,4KAY3BM,KAAON,gBAAAA,QAAOC,IAAGC,WAAA,CAAAC,YAAA,yBAAAC,YAAA,mBAAVJ,CAAU,CAAA,iVAwC9B,MAAMO,aAAe,CACnBC,QAASC,OAAAA,IAAG,CAAA,GAAA,IACPC,IACDC,MAnBiD,eAArCC,EAmBH,CACPC,MAAOH,EAAMI,MAAMC,OAAO,0BAC1BC,eAAgBN,EAAMI,MAAMC,OAAO,2BACnCE,gBAAiBP,EAAMI,MAAMC,OAAO,qBACpCG,YAAaR,EAAMI,MAAMC,OAAO,+BAChCI,oBAAqBT,EAAMI,MAAMC,OAAO,qBACrCL,EAAME,UAxBEC,+BACGD,EAAQK,qCACZL,EAAQM,qBAEtBnB,sBACAO,aACAA,kDACSM,EAAQI,6BAGjBX,2CACoBO,EAAQO,8BAZdP,SA8BX,MAAMQ,KAAOpB,gBAAAA,QAAOC,IAAIC,WAAwC,CACrEmB,kBAAmBxB,oCACnBK,WAAA,CAAAC,YAAA,yBAAAC,YAAA,mBAFkBJ,CAElB,CAAA,4WAAA,IAAA,IAAA,IAcEO,aAAaC,QAEbc,eAAAA,eACAC,iBAAAA,wBAGSC,UAAYxB,gBAAAA,QAAOC,IAAGC,WAAA,CAAAC,YAAA,8BAAAC,YAAA,mBAAVJ,CAAU,CAAA,2GAUtByB,QAAUzB,gBAAAA,QAAOC,IAAGC,WAAA,CAAAC,YAAA,4BAAAC,YAAA,mBAAVJ,CAAU,CAAA,6CAKpB0B,SAAW1B,gBAAAA,QAAOC,IAAGC,WAAA,CAAAC,YAAA,6BAAAC,YAAA,mBAAVJ,CAAU,CAAA,4DAMrB2B,SAAW3B,gBAAAA,QAAOC,IAAGC,WAAA,CAAAC,YAAA,6BAAAC,YAAA,mBAAVJ,CAAU,CAAA,uIAU3B,MAAM4B,sBAAwB5B,gBAAAA,QAAOC,IAAIC,WAE9C,CACAmB,kBAAmBxB,oCACnBK,WAAA,CAAAC,YAAA,0CAAAC,YAAA,mBAJmCJ,CAInC,CAAA,oCAAA,IAIEsB,eAAAA,sBAGSO,aAAe7B,gBAAAA,QAAOC,IAAGC,WAAA,CAAAC,YAAA,iCAAAC,YAAA,mBAAVJ,CAAU,CAAA,oOAWzB8B,aAAe9B,gBAAAA,QAAOC,IAAGC,WAAA,CAAAC,YAAA,iCAAAC,YAAA,oBAAVJ,CAAU,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import styled,{css}from'styled-components';import{createShouldForwardProp}from'../../shared/utils/style.mjs';import{responsiveSize}from'../../mixins/responsive-size.mjs';import{responsiveMargin}from'../../mixins/responsive-margin.mjs';const shouldForwardFileUploaderItemProp=createShouldForwardProp();const IconContainer=styled.div.withConfig({displayName:"FileUploaderItem__IconContainer",componentId:"ui__sc-3f1tnz-0"})(["box-sizing:border-box;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--file-uploader-item-icon-container-width);height:var(--file-uploader-item-icon-container-height);border-radius:var(--file-uploader-item-icon-container-border-radius);"]);const IconBackground=styled.div.withConfig({displayName:"FileUploaderItem__IconBackground",componentId:"ui__sc-3f1tnz-1"})(["box-sizing:border-box;display:var(--file-uploader-item-icon-background-display);position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;"]);const Meta=styled.div.withConfig({displayName:"FileUploaderItem__Meta",componentId:"ui__sc-3f1tnz-2"})(["box-sizing:border-box;display:var(--file-uploader-item-meta-display);flex-wrap:wrap;align-items:center;margin-top:2px;& > *:not(:last-child){position:relative;margin-right:12px;&::after{content:'';position:absolute;top:50%;right:0;transform:translate(7px,-50%);width:2px;height:2px;border-radius:50%;background-color:currentcolor;}}"]);const COLOR_SCHEMA={default:css(["",""],o=>{return`\n color: ${(e={color:o.theme.colors['content-onmain-primary'],colorSecondary:o.theme.colors['content-onmain-tertiary'],backgroundColor:o.theme.colors['bg-onmain-primary'],borderColor:o.theme.colors['border-onmain-default-large'],iconBackgroundColor:o.theme.colors['bg-onmain-main'],...o.palette}).color};\n background-color: ${e.backgroundColor};\n border-color: ${e.borderColor};\n\n ${IconContainer}, \n ${Meta}, \n ${Meta} > *:not(:last-child)::after {\n color: ${e.colorSecondary};\n }\n\n ${IconBackground} {\n background-color: ${e.iconBackgroundColor};\n }\n`;var e})};const Root=styled.div.withConfig({shouldForwardProp:shouldForwardFileUploaderItemProp}).withConfig({displayName:"FileUploaderItem__Root",componentId:"ui__sc-3f1tnz-3"})(["box-sizing:border-box;isolation:isolate;appearance:none;border:1px solid;display:flex;flex-direction:column;align-items:stretch;justify-content:center;min-width:var(--file-uploader-item-root-min-width);min-height:var(--file-uploader-item-root-min-height);padding:var(--file-uploader-item-root-padding);border-radius:var(--file-uploader-item-root-border-radius);"," "," ",""],COLOR_SCHEMA.default,responsiveSize,responsiveMargin);const Container=styled.div.withConfig({displayName:"FileUploaderItem__Container",componentId:"ui__sc-3f1tnz-4"})(["box-sizing:border-box;display:flex;align-items:center;& > *:not(:last-child){margin-right:12px;}"]);const Content=styled.div.withConfig({displayName:"FileUploaderItem__Content",componentId:"ui__sc-3f1tnz-5"})(["box-sizing:border-box;flex-grow:1;"]);const FileSize=styled.div.withConfig({displayName:"FileUploaderItem__FileSize",componentId:"ui__sc-3f1tnz-6"})(["box-sizing:border-box;display:flex;flex-shrink:0;"]);const Controls=styled.div.withConfig({displayName:"FileUploaderItem__Controls",componentId:"ui__sc-3f1tnz-7"})(["box-sizing:border-box;display:flex;align-items:center;& > *:not(:last-child){margin-right:var(--file-uploader-item-controls-gap);}"]);const ProgressLineContainer=styled.div.withConfig({shouldForwardProp:shouldForwardFileUploaderItemProp}).withConfig({displayName:"FileUploaderItem__ProgressLineContainer",componentId:"ui__sc-3f1tnz-8"})(["box-sizing:border-box;width:100%;",""],responsiveSize);const IconSkeleton=styled.div.withConfig({displayName:"FileUploaderItem__IconSkeleton",componentId:"ui__sc-3f1tnz-9"})(["box-sizing:border-box;flex-shrink:0;width:var(--file-uploader-item-icon-skeleton-width);height:var(--file-uploader-item-icon-skeleton-height);& > *{border-radius:var(--file-uploader-item-icon-skeleton-border-radius);}"]);const MetaSkeleton=styled.div.withConfig({displayName:"FileUploaderItem__MetaSkeleton",componentId:"ui__sc-3f1tnz-10"})(["box-sizing:border-box;display:var(--file-uploader-item-meta-display);align-items:center;margin-top:6px;margin-bottom:6px;"]);export{Container,Content,Controls,FileSize,IconBackground,IconContainer,IconSkeleton,Meta,MetaSkeleton,ProgressLineContainer,Root};
|
|
2
|
+
//# sourceMappingURL=style.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.mjs","sources":["../../../../src/components/FileUploaderItem/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { responsiveSize } from 'mixins/responsive-size'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport type { ResponsiveSizeProps, ResponsiveSizeInterpolationProps } from 'shared/interfaces'\nimport type { Size, StyledFileUploaderItemProps, FileUploaderItemPalette } from './types'\n\nconst shouldForwardFileUploaderItemProp = createShouldForwardProp()\n\nexport const IconContainer = styled.div`\n box-sizing: border-box;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: var(--file-uploader-item-icon-container-width);\n height: var(--file-uploader-item-icon-container-height);\n border-radius: var(--file-uploader-item-icon-container-border-radius);\n`\n\nexport const IconBackground = styled.div`\n box-sizing: border-box;\n display: var(--file-uploader-item-icon-background-display);\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: -1;\n border-radius: inherit;\n`\n\nexport const Meta = styled.div`\n box-sizing: border-box;\n display: var(--file-uploader-item-meta-display);\n flex-wrap: wrap;\n align-items: center;\n margin-top: 2px;\n\n & > *:not(:last-child) {\n position: relative;\n margin-right: 12px;\n &::after {\n content: '';\n position: absolute;\n top: 50%;\n right: 0;\n transform: translate(7px, -50%);\n width: 2px;\n height: 2px;\n border-radius: 50%;\n background-color: currentcolor;\n }\n }\n`\n\nconst template = (palette: FileUploaderItemPalette) => `\n color: ${palette.color};\n background-color: ${palette.backgroundColor};\n border-color: ${palette.borderColor};\n\n ${IconContainer}, \n ${Meta}, \n ${Meta} > *:not(:last-child)::after {\n color: ${palette.colorSecondary};\n }\n\n ${IconBackground} {\n background-color: ${palette.iconBackgroundColor};\n }\n`\n\nconst COLOR_SCHEMA = {\n default: css<StyledFileUploaderItemProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n colorSecondary: props.theme.colors['content-onmain-tertiary'],\n backgroundColor: props.theme.colors['bg-onmain-primary'],\n borderColor: props.theme.colors['border-onmain-default-large'],\n iconBackgroundColor: props.theme.colors['bg-onmain-main'],\n ...props.palette,\n })}\n `,\n}\n\nexport const Root = styled.div.withConfig<StyledFileUploaderItemProps>({\n shouldForwardProp: shouldForwardFileUploaderItemProp,\n})`\n box-sizing: border-box;\n isolation: isolate;\n appearance: none;\n border: 1px solid;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n justify-content: center;\n min-width: var(--file-uploader-item-root-min-width);\n min-height: var(--file-uploader-item-root-min-height);\n padding: var(--file-uploader-item-root-padding);\n border-radius: var(--file-uploader-item-root-border-radius);\n\n ${COLOR_SCHEMA.default}\n\n ${responsiveSize}\n ${responsiveMargin}\n`\n\nexport const Container = styled.div`\n box-sizing: border-box;\n display: flex;\n align-items: center;\n\n & > *:not(:last-child) {\n margin-right: 12px;\n }\n`\n\nexport const Content = styled.div`\n box-sizing: border-box;\n flex-grow: 1;\n`\n\nexport const FileSize = styled.div`\n box-sizing: border-box;\n display: flex;\n flex-shrink: 0;\n`\n\nexport const Controls = styled.div`\n box-sizing: border-box;\n display: flex;\n align-items: center;\n\n & > *:not(:last-child) {\n margin-right: var(--file-uploader-item-controls-gap);\n }\n`\n\nexport const ProgressLineContainer = styled.div.withConfig<\n ResponsiveSizeInterpolationProps<Size, Size, ResponsiveSizeProps<Size>>\n>({\n shouldForwardProp: shouldForwardFileUploaderItemProp,\n})`\n box-sizing: border-box;\n width: 100%;\n\n ${responsiveSize}\n`\n\nexport const IconSkeleton = styled.div`\n box-sizing: border-box;\n flex-shrink: 0;\n width: var(--file-uploader-item-icon-skeleton-width);\n height: var(--file-uploader-item-icon-skeleton-height);\n\n & > * {\n border-radius: var(--file-uploader-item-icon-skeleton-border-radius);\n }\n`\n\nexport const MetaSkeleton = styled.div`\n box-sizing: border-box;\n display: var(--file-uploader-item-meta-display);\n align-items: center;\n margin-top: 6px;\n margin-bottom: 6px;\n`\n"],"names":["shouldForwardFileUploaderItemProp","createShouldForwardProp","IconContainer","styled","div","withConfig","displayName","componentId","IconBackground","Meta","COLOR_SCHEMA","default","css","props","template","palette","color","theme","colors","colorSecondary","backgroundColor","borderColor","iconBackgroundColor","Root","shouldForwardProp","responsiveSize","responsiveMargin","Container","Content","FileSize","Controls","ProgressLineContainer","IconSkeleton","MetaSkeleton"],"mappings":"2OAOA,MAAMA,kCAAoCC,gCAE7BC,cAAgBC,OAAOC,IAAGC,WAAA,CAAAC,YAAA,kCAAAC,YAAA,mBAAVJ,CAAU,CAAA,ySAY1BK,eAAiBL,OAAOC,IAAGC,WAAA,CAAAC,YAAA,mCAAAC,YAAA,mBAAVJ,CAAU,CAAA,4KAY3BM,KAAON,OAAOC,IAAGC,WAAA,CAAAC,YAAA,yBAAAC,YAAA,mBAAVJ,CAAU,CAAA,iVAwC9B,MAAMO,aAAe,CACnBC,QAASC,IAAG,CAAA,GAAA,IACPC,IACDC,MAnBiD,eAArCC,EAmBH,CACPC,MAAOH,EAAMI,MAAMC,OAAO,0BAC1BC,eAAgBN,EAAMI,MAAMC,OAAO,2BACnCE,gBAAiBP,EAAMI,MAAMC,OAAO,qBACpCG,YAAaR,EAAMI,MAAMC,OAAO,+BAChCI,oBAAqBT,EAAMI,MAAMC,OAAO,qBACrCL,EAAME,UAxBEC,+BACGD,EAAQK,qCACZL,EAAQM,qBAEtBnB,sBACAO,aACAA,kDACSM,EAAQI,6BAGjBX,2CACoBO,EAAQO,8BAZdP,SA8BX,MAAMQ,KAAOpB,OAAOC,IAAIC,WAAwC,CACrEmB,kBAAmBxB,oCACnBK,WAAA,CAAAC,YAAA,yBAAAC,YAAA,mBAFkBJ,CAElB,CAAA,4WAAA,IAAA,IAAA,IAcEO,aAAaC,QAEbc,eACAC,wBAGSC,UAAYxB,OAAOC,IAAGC,WAAA,CAAAC,YAAA,8BAAAC,YAAA,mBAAVJ,CAAU,CAAA,2GAUtByB,QAAUzB,OAAOC,IAAGC,WAAA,CAAAC,YAAA,4BAAAC,YAAA,mBAAVJ,CAAU,CAAA,6CAKpB0B,SAAW1B,OAAOC,IAAGC,WAAA,CAAAC,YAAA,6BAAAC,YAAA,mBAAVJ,CAAU,CAAA,4DAMrB2B,SAAW3B,OAAOC,IAAGC,WAAA,CAAAC,YAAA,6BAAAC,YAAA,mBAAVJ,CAAU,CAAA,uIAU3B,MAAM4B,sBAAwB5B,OAAOC,IAAIC,WAE9C,CACAmB,kBAAmBxB,oCACnBK,WAAA,CAAAC,YAAA,0CAAAC,YAAA,mBAJmCJ,CAInC,CAAA,oCAAA,IAIEsB,sBAGSO,aAAe7B,OAAOC,IAAGC,WAAA,CAAAC,YAAA,iCAAAC,YAAA,mBAAVJ,CAAU,CAAA,oOAWzB8B,aAAe9B,OAAOC,IAAGC,WAAA,CAAAC,YAAA,iCAAAC,YAAA,oBAAVJ,CAAU,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';const truncateString=(t,e,n=4)=>{if(t.length<=e||t.length<=3+n)return t;const r=e-3-n;return r<=0?t:t.slice(0,r)+'...'+t.slice(t.length-n)};exports.truncateFileName=(t,e)=>{if(typeof t!='string'||typeof e!='number'||e<=0)return null;if(t.length<=e||!t.length)return t;const n=t.lastIndexOf('.');if(n===-1)return truncateString(t,e);const r=t.slice(0,n);const c=t.slice(n);return truncateString(r,e-c.length)+c};
|
|
2
|
+
//# sourceMappingURL=truncateFileName.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"truncateFileName.js","sources":["../../../../src/components/FileUploaderItem/truncateFileName.ts"],"sourcesContent":["const truncateString = (str: string, maxLength: number, symbolsAfterEllipsis: number = 4): string => {\n const ellipsis = '...'\n\n if (str.length <= maxLength || str.length <= ellipsis.length + symbolsAfterEllipsis) {\n return str\n }\n\n const strStartEndIdx = maxLength - ellipsis.length - symbolsAfterEllipsis\n\n if (strStartEndIdx <= 0) {\n return str\n }\n\n const strStart = str.slice(0, strStartEndIdx)\n const strEnd = str.slice(str.length - symbolsAfterEllipsis)\n\n return strStart + ellipsis + strEnd\n}\n\nexport const truncateFileName = (name: string, maxLength: number): string | null => {\n if (typeof name !== 'string' || typeof maxLength !== 'number' || maxLength <= 0) {\n return null\n }\n\n if (name.length <= maxLength || !name.length) {\n return name\n }\n\n const extStartIdx = name.lastIndexOf('.')\n\n if (extStartIdx === -1) {\n return truncateString(name, maxLength)\n }\n\n const fileName = name.slice(0, extStartIdx)\n const fileExt = name.slice(extStartIdx)\n\n return truncateString(fileName, maxLength - fileExt.length) + fileExt\n}\n"],"names":["truncateString","str","maxLength","symbolsAfterEllipsis","length","ellipsis","strStartEndIdx","slice","truncateFileName","name","extStartIdx","lastIndexOf","fileName","fileExt"],"mappings":"aAAA,MAAMA,eAAiBA,CAACC,EAAaC,EAAmBC,EAA+B,KAGrF,GAAIF,EAAIG,QAAUF,GAAaD,EAAIG,QAAUC,EAAkBF,EAC7D,OAAOF,EAGT,MAAMK,EAAiBJ,EAAYG,EAAkBF,EAErD,OAAIG,GAAkB,EACbL,EAGQA,EAAIM,MAAM,EAAGD,GAZb,MAaFL,EAAIM,MAAMN,EAAIG,OAASD,6BAKRK,CAACC,EAAcP,KAC7C,UAAWO,GAAS,iBAAmBP,GAAc,UAAYA,GAAa,EAC5E,OAAO,KAGT,GAAIO,EAAKL,QAAUF,IAAcO,EAAKL,OACpC,OAAOK,EAGT,MAAMC,EAAcD,EAAKE,YAAY,KAErC,GAAID,KAAgB,EAClB,OAAOV,eAAeS,EAAMP,GAG9B,MAAMU,EAAWH,EAAKF,MAAM,EAAGG,GAC/B,MAAMG,EAAUJ,EAAKF,MAAMG,GAE3B,OAAOV,eAAeY,EAAUV,EAAYW,EAAQT,QAAUS"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const truncateString=(t,e,n=4)=>{if(t.length<=e||t.length<=3+n)return t;const r=e-3-n;return r<=0?t:t.slice(0,r)+'...'+t.slice(t.length-n)};const truncateFileName=(t,e)=>{if(typeof t!='string'||typeof e!='number'||e<=0)return null;if(t.length<=e||!t.length)return t;const n=t.lastIndexOf('.');if(n===-1)return truncateString(t,e);const r=t.slice(0,n);const c=t.slice(n);return truncateString(r,e-c.length)+c};export{truncateFileName};
|
|
2
|
+
//# sourceMappingURL=truncateFileName.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"truncateFileName.mjs","sources":["../../../../src/components/FileUploaderItem/truncateFileName.ts"],"sourcesContent":["const truncateString = (str: string, maxLength: number, symbolsAfterEllipsis: number = 4): string => {\n const ellipsis = '...'\n\n if (str.length <= maxLength || str.length <= ellipsis.length + symbolsAfterEllipsis) {\n return str\n }\n\n const strStartEndIdx = maxLength - ellipsis.length - symbolsAfterEllipsis\n\n if (strStartEndIdx <= 0) {\n return str\n }\n\n const strStart = str.slice(0, strStartEndIdx)\n const strEnd = str.slice(str.length - symbolsAfterEllipsis)\n\n return strStart + ellipsis + strEnd\n}\n\nexport const truncateFileName = (name: string, maxLength: number): string | null => {\n if (typeof name !== 'string' || typeof maxLength !== 'number' || maxLength <= 0) {\n return null\n }\n\n if (name.length <= maxLength || !name.length) {\n return name\n }\n\n const extStartIdx = name.lastIndexOf('.')\n\n if (extStartIdx === -1) {\n return truncateString(name, maxLength)\n }\n\n const fileName = name.slice(0, extStartIdx)\n const fileExt = name.slice(extStartIdx)\n\n return truncateString(fileName, maxLength - fileExt.length) + fileExt\n}\n"],"names":["truncateString","str","maxLength","symbolsAfterEllipsis","length","ellipsis","strStartEndIdx","slice","truncateFileName","name","extStartIdx","lastIndexOf","fileName","fileExt"],"mappings":"AAAA,MAAMA,eAAiBA,CAACC,EAAaC,EAAmBC,EAA+B,KAGrF,GAAIF,EAAIG,QAAUF,GAAaD,EAAIG,QAAUC,EAAkBF,EAC7D,OAAOF,EAGT,MAAMK,EAAiBJ,EAAYG,EAAkBF,EAErD,OAAIG,GAAkB,EACbL,EAGQA,EAAIM,MAAM,EAAGD,GAZb,MAaFL,EAAIM,MAAMN,EAAIG,OAASD,UAK3BK,iBAAmBA,CAACC,EAAcP,KAC7C,UAAWO,GAAS,iBAAmBP,GAAc,UAAYA,GAAa,EAC5E,OAAO,KAGT,GAAIO,EAAKL,QAAUF,IAAcO,EAAKL,OACpC,OAAOK,EAGT,MAAMC,EAAcD,EAAKE,YAAY,KAErC,GAAID,KAAgB,EAClB,OAAOV,eAAeS,EAAMP,GAG9B,MAAMU,EAAWH,EAAKF,MAAM,EAAGG,GAC/B,MAAMG,EAAUJ,EAAKF,MAAMG,GAE3B,OAAOV,eAAeY,EAAUV,EAAYW,EAAQT,QAAUS"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var React=require('react');var style=require('./style.js');var jsxRuntime=require('react/jsx-runtime');exports.FileUploaderList=React.forwardRef((e,r)=>{const{gap:t=12,...s}=e;return jsxRuntime.jsx(style.Root,{...s,gap:t,ref:r})});
|
|
2
|
+
//# sourceMappingURL=FileUploaderList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileUploaderList.js","sources":["../../../../src/components/FileUploaderList/FileUploaderList.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport type { FileUploaderListProps } from './types'\nimport * as Styled from './style'\n\n/**\n *\n * Компонент-контейнер для вывода списка файлов.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<div\\> элемента.\n */\nexport const FileUploaderList = forwardRef<HTMLDivElement, FileUploaderListProps>((props, ref) => {\n const { gap = 12, ...restProps } = props\n\n return <Styled.Root {...restProps} gap={gap} ref={ref} />\n})\n"],"names":["forwardRef","props","ref","gap","restProps","_jsx","Styled"],"mappings":"6IAUgCA,MAAAA,WAAkD,CAACC,EAAOC,KACxF,MAAMC,IAAEA,EAAM,MAAOC,GAAcH,EAEnC,OAAOI,WAAAA,IAACC,MAAAA,KAAW,IAAKF,EAAWD,IAAKA,EAAKD,IAAKA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileUploaderList.mjs","sources":["../../../../src/components/FileUploaderList/FileUploaderList.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport type { FileUploaderListProps } from './types'\nimport * as Styled from './style'\n\n/**\n *\n * Компонент-контейнер для вывода списка файлов.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<div\\> элемента.\n */\nexport const FileUploaderList = forwardRef<HTMLDivElement, FileUploaderListProps>((props, ref) => {\n const { gap = 12, ...restProps } = props\n\n return <Styled.Root {...restProps} gap={gap} ref={ref} />\n})\n"],"names":["FileUploaderList","forwardRef","props","ref","gap","restProps","_jsx","Styled"],"mappings":"+FAUO,MAAMA,iBAAmBC,WAAkD,CAACC,EAAOC,KACxF,MAAMC,IAAEA,EAAM,MAAOC,GAAcH,EAEnC,OAAOI,IAACC,KAAW,IAAKF,EAAWD,IAAKA,EAAKD,IAAKA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var styled=require('styled-components');var style=require('../../shared/utils/style.js');var responsiveMargin=require('../../mixins/responsive-margin.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var styled__default=_interopDefault(styled);const shouldForwardFileUploaderListProp=style.createShouldForwardProp(e=>!['gap'].includes(e));const Root=styled__default.default.div.withConfig({shouldForwardProp:shouldForwardFileUploaderListProp}).withConfig({displayName:"FileUploaderList__Root",componentId:"ui__sc-11fd1fc-0"})(["box-sizing:border-box;"," ",""],e=>`\n & > *:not(:last-child) {\n margin-bottom: ${e.gap}px;\n }\n `,responsiveMargin.responsiveMargin);exports.Root=Root;
|
|
2
|
+
//# sourceMappingURL=style.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.js","sources":["../../../../src/components/FileUploaderList/style.ts"],"sourcesContent":["import styled from 'styled-components'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport type { StyledFileUploaderListProps } from './types'\n\nconst shouldForwardFileUploaderListProp = createShouldForwardProp((propKey) => !['gap'].includes(propKey))\n\nexport const Root = styled.div.withConfig<StyledFileUploaderListProps>({\n shouldForwardProp: shouldForwardFileUploaderListProp,\n})`\n box-sizing: border-box;\n\n ${(props) => `\n & > *:not(:last-child) {\n margin-bottom: ${props.gap}px;\n }\n `}\n\n ${responsiveMargin}\n`\n"],"names":["shouldForwardFileUploaderListProp","createShouldForwardProp","propKey","includes","Root","styled","div","withConfig","shouldForwardProp","displayName","componentId","props","gap","responsiveMargin"],"mappings":"qRAKA,MAAMA,kCAAoCC,MAAAA,wBAAyBC,IAAa,CAAC,OAAOC,SAASD,IAE1F,MAAME,KAAOC,gBAAAA,QAAOC,IAAIC,WAAwC,CACrEC,kBAAmBR,oCACnBO,WAAA,CAAAE,YAAA,yBAAAC,YAAA,oBAFkBL,CAElB,CAAA,yBAAA,IAAA,IAGGM,GAAU,wDAEQA,EAAMC,oBAIzBC,iBAAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import styled from'styled-components';import{createShouldForwardProp}from'../../shared/utils/style.mjs';import{responsiveMargin}from'../../mixins/responsive-margin.mjs';const shouldForwardFileUploaderListProp=createShouldForwardProp(o=>!['gap'].includes(o));const Root=styled.div.withConfig({shouldForwardProp:shouldForwardFileUploaderListProp}).withConfig({displayName:"FileUploaderList__Root",componentId:"ui__sc-11fd1fc-0"})(["box-sizing:border-box;"," ",""],o=>`\n & > *:not(:last-child) {\n margin-bottom: ${o.gap}px;\n }\n `,responsiveMargin);export{Root};
|
|
2
|
+
//# sourceMappingURL=style.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.mjs","sources":["../../../../src/components/FileUploaderList/style.ts"],"sourcesContent":["import styled from 'styled-components'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport type { StyledFileUploaderListProps } from './types'\n\nconst shouldForwardFileUploaderListProp = createShouldForwardProp((propKey) => !['gap'].includes(propKey))\n\nexport const Root = styled.div.withConfig<StyledFileUploaderListProps>({\n shouldForwardProp: shouldForwardFileUploaderListProp,\n})`\n box-sizing: border-box;\n\n ${(props) => `\n & > *:not(:last-child) {\n margin-bottom: ${props.gap}px;\n }\n `}\n\n ${responsiveMargin}\n`\n"],"names":["shouldForwardFileUploaderListProp","createShouldForwardProp","propKey","includes","Root","styled","div","withConfig","shouldForwardProp","displayName","componentId","props","gap","responsiveMargin"],"mappings":"yKAKA,MAAMA,kCAAoCC,wBAAyBC,IAAa,CAAC,OAAOC,SAASD,IAE1F,MAAME,KAAOC,OAAOC,IAAIC,WAAwC,CACrEC,kBAAmBR,oCACnBO,WAAA,CAAAE,YAAA,yBAAAC,YAAA,oBAFkBL,CAElB,CAAA,yBAAA,IAAA,IAGGM,GAAU,wDAEQA,EAAMC,oBAIzBC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var React=require('react');var withMergedProps=require('../../hocs/withMergedProps.js');var sizes=require('./sizes.js');var style=require('./style.js');var jsxRuntime=require('react/jsx-runtime');var Icon=require('../Icon/Icon.js');const IconButton=withMergedProps.withMergedProps(React.forwardRef((e,r)=>{const{size:s="m",type:t="button",iconProps:
|
|
1
|
+
'use strict';var React=require('react');var withMergedProps=require('../../hocs/withMergedProps.js');var sizes=require('./sizes.js');var style=require('./style.js');var jsxRuntime=require('react/jsx-runtime');var Slot=require('../Slot/Slot.js');var Icon=require('../Icon/Icon.js');const IconButton=withMergedProps.withMergedProps(React.forwardRef((e,r)=>{const{size:s="m",type:t="button",iconProps:o={},icon:i,children:n,...c}=e;const u={preset:'brand',size:'inherit'};return jsxRuntime.jsx(style.Root,{...c,size:s,type:t,ref:r,children:jsxRuntime.jsx(Slot.Slot,{render:n,props:u,fallback:jsxRuntime.jsx(Icon.Icon,{name:typeof i=='string'?i:void 0,icon:typeof i!='string'?i:void 0,...u,...o})})})}),{displayName:'IconButton',sizes:e=>e.square?sizes.SIZES_SQUARE:sizes.SIZES});exports.IconButton=IconButton;
|
|
2
2
|
//# sourceMappingURL=IconButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.js","sources":["../../../../src/components/IconButton/IconButton.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { Icon } from 'components/Icon'\nimport { SIZES, SIZES_SQUARE } from './sizes'\nimport * as Styled from './style'\nimport type { IconButtonProps } from './types'\n\nconst COMPONENT_NAME = 'IconButton'\n\n/**\n *\n * Контрол многоцелевого назначения.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<button\\> элемента.\n */\nconst IconButton: React.ForwardRefExoticComponent<IconButtonProps> = withMergedProps<\n IconButtonProps,\n HTMLButtonElement\n>(\n forwardRef<HTMLButtonElement, MergedProps<IconButtonProps>>((props, ref) => {\n const { size = 'm', type = 'button', iconProps = {}, icon, ...restProps } = props\n\n return (\n <Styled.Root {...restProps} size={size} type={type} ref={ref}>\n <
|
|
1
|
+
{"version":3,"file":"IconButton.js","sources":["../../../../src/components/IconButton/IconButton.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { Icon } from 'components/Icon'\nimport { Slot } from 'components/Slot'\nimport type { IconProps } from 'components/Icon'\nimport { SIZES, SIZES_SQUARE } from './sizes'\nimport * as Styled from './style'\nimport type { IconButtonProps } from './types'\n\nconst COMPONENT_NAME = 'IconButton'\n\n/**\n *\n * *v1.0.0*\n *\n * Контрол многоцелевого назначения.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<button\\> элемента.\n */\nconst IconButton: React.ForwardRefExoticComponent<IconButtonProps> = withMergedProps<\n IconButtonProps,\n HTMLButtonElement\n>(\n forwardRef<HTMLButtonElement, MergedProps<IconButtonProps>>((props, ref) => {\n const { size = 'm', type = 'button', iconProps: iconPropsProp = {}, icon, children, ...restProps } = props\n\n const iconProps: IconProps = {\n preset: 'brand',\n size: 'inherit',\n }\n\n return (\n <Styled.Root {...restProps} size={size} type={type} ref={ref}>\n <Slot\n render={children}\n props={iconProps}\n fallback={\n <Icon\n name={typeof icon === 'string' ? icon : undefined}\n icon={typeof icon !== 'string' ? icon : undefined}\n {...iconProps}\n {...iconPropsProp}\n />\n }\n />\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: (props) => (props.square ? SIZES_SQUARE : SIZES),\n }\n)\n\nexport { IconButton }\n"],"names":["IconButton","withMergedProps","forwardRef","props","ref","size","type","iconProps","iconPropsProp","icon","children","restProps","preset","_jsx","Styled","Slot","render","fallback","Icon","name","undefined","displayName","sizes","square","SIZES_SQUARE","SIZES"],"mappings":"yRAoBA,MAAMA,WAA+DC,gBAAAA,gBAInEC,MAAAA,WAA4D,CAACC,EAAOC,KAClE,MAAMC,KAAEA,EAAO,IAAGC,KAAEA,EAAO,SAAUC,UAAWC,EAAgB,CAAA,EAAEC,KAAEA,EAAIC,SAAEA,KAAaC,GAAcR,EAErG,MAAMI,EAAuB,CAC3BK,OAAQ,QACRP,KAAM,WAGR,OACEQ,WAAAA,IAACC,MAAAA,KAAW,IAAKH,EAAWN,KAAMA,EAAMC,KAAMA,EAAMF,IAAKA,EAAIM,SAC3DG,WAAAA,IAACE,UAAI,CACHC,OAAQN,EACRP,MAAOI,EACPU,SACEJ,WAAAA,IAACK,UAAI,CACHC,YAAaV,GAAS,SAAWA,OAAOW,EACxCX,YAAaA,GAAS,SAAWA,OAAOW,KACpCb,KACAC,UAOhB,CACEa,YAxCmB,aAyCnBC,MAAQnB,GAAWA,EAAMoB,OAASC,MAAAA,aAAeC,MAAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{forwardRef}from'react';import{withMergedProps}from'../../hocs/withMergedProps.mjs';import{SIZES_SQUARE,SIZES}from'./sizes.mjs';import{Root}from'./style.mjs';import{jsx}from'react/jsx-runtime';import{Icon}from'../Icon/Icon.mjs';const IconButton=withMergedProps(forwardRef((o,r)=>{const{size:t="m",type:e="button",iconProps:s={},icon:i,...
|
|
1
|
+
import{forwardRef}from'react';import{withMergedProps}from'../../hocs/withMergedProps.mjs';import{SIZES_SQUARE,SIZES}from'./sizes.mjs';import{Root}from'./style.mjs';import{jsx}from'react/jsx-runtime';import{Slot}from'../Slot/Slot.mjs';import{Icon}from'../Icon/Icon.mjs';const IconButton=withMergedProps(forwardRef((o,r)=>{const{size:t="m",type:e="button",iconProps:s={},icon:i,children:n,...m}=o;const p={preset:'brand',size:'inherit'};return jsx(Root,{...m,size:t,type:e,ref:r,children:jsx(Slot,{render:n,props:p,fallback:jsx(Icon,{name:typeof i=='string'?i:void 0,icon:typeof i!='string'?i:void 0,...p,...s})})})}),{displayName:'IconButton',sizes:o=>o.square?SIZES_SQUARE:SIZES});export{IconButton};
|
|
2
2
|
//# sourceMappingURL=IconButton.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.mjs","sources":["../../../../src/components/IconButton/IconButton.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { Icon } from 'components/Icon'\nimport { SIZES, SIZES_SQUARE } from './sizes'\nimport * as Styled from './style'\nimport type { IconButtonProps } from './types'\n\nconst COMPONENT_NAME = 'IconButton'\n\n/**\n *\n * Контрол многоцелевого назначения.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<button\\> элемента.\n */\nconst IconButton: React.ForwardRefExoticComponent<IconButtonProps> = withMergedProps<\n IconButtonProps,\n HTMLButtonElement\n>(\n forwardRef<HTMLButtonElement, MergedProps<IconButtonProps>>((props, ref) => {\n const { size = 'm', type = 'button', iconProps = {}, icon, ...restProps } = props\n\n return (\n <Styled.Root {...restProps} size={size} type={type} ref={ref}>\n <
|
|
1
|
+
{"version":3,"file":"IconButton.mjs","sources":["../../../../src/components/IconButton/IconButton.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { Icon } from 'components/Icon'\nimport { Slot } from 'components/Slot'\nimport type { IconProps } from 'components/Icon'\nimport { SIZES, SIZES_SQUARE } from './sizes'\nimport * as Styled from './style'\nimport type { IconButtonProps } from './types'\n\nconst COMPONENT_NAME = 'IconButton'\n\n/**\n *\n * *v1.0.0*\n *\n * Контрол многоцелевого назначения.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<button\\> элемента.\n */\nconst IconButton: React.ForwardRefExoticComponent<IconButtonProps> = withMergedProps<\n IconButtonProps,\n HTMLButtonElement\n>(\n forwardRef<HTMLButtonElement, MergedProps<IconButtonProps>>((props, ref) => {\n const { size = 'm', type = 'button', iconProps: iconPropsProp = {}, icon, children, ...restProps } = props\n\n const iconProps: IconProps = {\n preset: 'brand',\n size: 'inherit',\n }\n\n return (\n <Styled.Root {...restProps} size={size} type={type} ref={ref}>\n <Slot\n render={children}\n props={iconProps}\n fallback={\n <Icon\n name={typeof icon === 'string' ? icon : undefined}\n icon={typeof icon !== 'string' ? icon : undefined}\n {...iconProps}\n {...iconPropsProp}\n />\n }\n />\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: (props) => (props.square ? SIZES_SQUARE : SIZES),\n }\n)\n\nexport { IconButton }\n"],"names":["IconButton","withMergedProps","forwardRef","props","ref","size","type","iconProps","iconPropsProp","icon","children","restProps","preset","_jsx","Styled","Slot","render","fallback","Icon","name","undefined","displayName","sizes","square","SIZES_SQUARE","SIZES"],"mappings":"6QAoBA,MAAMA,WAA+DC,gBAInEC,WAA4D,CAACC,EAAOC,KAClE,MAAMC,KAAEA,EAAO,IAAGC,KAAEA,EAAO,SAAUC,UAAWC,EAAgB,CAAA,EAAEC,KAAEA,EAAIC,SAAEA,KAAaC,GAAcR,EAErG,MAAMI,EAAuB,CAC3BK,OAAQ,QACRP,KAAM,WAGR,OACEQ,IAACC,KAAW,IAAKH,EAAWN,KAAMA,EAAMC,KAAMA,EAAMF,IAAKA,EAAIM,SAC3DG,IAACE,KAAI,CACHC,OAAQN,EACRP,MAAOI,EACPU,SACEJ,IAACK,KAAI,CACHC,YAAaV,GAAS,SAAWA,OAAOW,EACxCX,YAAaA,GAAS,SAAWA,OAAOW,KACpCb,KACAC,UAOhB,CACEa,YAxCmB,aAyCnBC,MAAQnB,GAAWA,EAAMoB,OAASC,aAAeC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var styled=require('styled-components');var
|
|
1
|
+
'use strict';var styled=require('styled-components');var responsiveSize=require('../../mixins/responsive-size.js');var responsiveMargin=require('../../mixins/responsive-margin.js');var focus=require('../../mixins/focus.js');var style=require('../../shared/utils/style.js');var colors=require('../../shared/utils/colors.js');var hover=require('../../mixins/hover.js');function _interopDefault(o){return o&&o.__esModule?o:{default:o}}var styled__default=_interopDefault(styled);const shouldForwardIconButtonProp=style.createShouldForwardProp(o=>!['square','filled'].includes(o));const template=o=>`\n color: ${o.color};\n background-color: ${o.backgroundColor};\n ${hover.hover(`\n color: ${o.colorHover};\n background-color: ${o.backgroundColorHover};\n `)}\n &:active {\n color: ${o.colorActive};\n background-color: ${o.backgroundColorActive};\n }\n &:disabled {\n color: ${o.colorDisabled};\n background-color: ${o.backgroundColorDisabled};\n }\n`;const COLOR_SCHEMA={default:{primary:styled.css(["",""],o=>template({color:o.theme.colors['content-onmain-primary'],backgroundColor:o.theme.colors.transparent,colorHover:o.theme.colors['content-onmain-primary'],backgroundColorHover:o.theme.colors['bg-oncolor-hover'],colorActive:o.theme.colors['content-onmain-primary'],backgroundColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors.transparent,...o.palette})),secondary:styled.css(["",""],o=>template({color:o.theme.colors['content-onmain-tertiary'],backgroundColor:o.theme.colors.transparent,colorHover:o.theme.colors['content-onmain-primary'],backgroundColorHover:o.theme.colors['bg-oncolor-hover'],colorActive:o.theme.colors['content-onmain-tertiary'],backgroundColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors.transparent,...o.palette})),filled:styled.css(["",""],o=>template({color:o.theme.colors['content-onmain-primary'],backgroundColor:o.theme.colors['bg-brand-primary-100'],colorHover:o.theme.colors['content-onmain-primary'],backgroundColorHover:colors.getDarkHoverColor(o.theme.colors['bg-brand-primary-100']),colorActive:o.theme.colors['content-onmain-primary'],backgroundColorActive:o.theme.colors['bg-brand-primary-100'],colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors['bg-disabled-large'],...o.palette}))},contrast:{primary:styled.css(["",""],o=>template({color:o.theme.colors['content-oncolor-primary'],backgroundColor:o.theme.colors.transparent,colorHover:o.theme.colors['content-oncolor-primary'],backgroundColorHover:o.theme.colors['bg-oncontrast-hover'],colorActive:o.theme.colors['content-oncolor-primary'],backgroundColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-oncolor-disabled'],backgroundColorDisabled:o.theme.colors.transparent,...o.palette})),secondary:styled.css(["",""],o=>template({color:o.theme.colors['content-oncolor-tertiary'],backgroundColor:o.theme.colors.transparent,colorHover:o.theme.colors['content-oncolor-primary'],backgroundColorHover:o.theme.colors['bg-oncontrast-hover'],colorActive:o.theme.colors['content-oncolor-tertiary'],backgroundColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-oncolor-disabled'],backgroundColorDisabled:o.theme.colors['bg-oncolor-disabled'],...o.palette})),filled:styled.css(["",""],o=>template({color:o.theme.colors['content-oncolor-primary'],backgroundColor:o.theme.colors['bg-contrast-active'],colorHover:o.theme.colors['content-oncolor-primary'],backgroundColorHover:colors.getLightHoverColor(o.theme.colors['bg-contrast-active']),colorActive:o.theme.colors['content-oncolor-primary'],backgroundColorActive:o.theme.colors['bg-contrast-active'],colorDisabled:o.theme.colors['content-oncolor-disabled'],backgroundColorDisabled:o.theme.colors['bg-oncolor-disabled'],...o.palette}))}};const Root=styled__default.default.button.withConfig({shouldForwardProp:shouldForwardIconButtonProp}).attrs(o=>({dynamicSizeDeclaration:(r,e)=>({width:'1em',height:'1em',fontSize:typeof r=='string'?r:`${r}${e}`,borderRadius:o.square?'0.2em':'50%'})})).withConfig({displayName:"IconButton__Root",componentId:"ui__sc-y4pwgp-0"})([""," "," "," "," ",""],o=>`\n box-sizing: border-box;\n appearance: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n padding: 0;\n margin: 0;\n border: none;\n cursor: ${o.disabled?'not-allowed':'pointer'};\n transition-property: background-color; \n transition-duration: 250ms;\n `,o=>{const r=o.contrast?COLOR_SCHEMA.contrast:COLOR_SCHEMA.default;return o.filled?r.filled:o.secondary?r.secondary:r.primary},focus.focus,responsiveSize.responsiveSize,responsiveMargin.responsiveMargin);exports.Root=Root;
|
|
2
2
|
//# sourceMappingURL=style.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.js","sources":["../../../../src/components/IconButton/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport
|
|
1
|
+
{"version":3,"file":"style.js","sources":["../../../../src/components/IconButton/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { responsiveSize } from 'mixins/responsive-size'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport { focus } from 'mixins/focus'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { getDarkHoverColor, getLightHoverColor } from 'shared/utils/colors'\nimport { hover } from 'mixins/hover'\nimport type { IconButtonPalette, StyledIconButtonProps } from './types'\n\nconst shouldForwardIconButtonProp = createShouldForwardProp((propKey) => !['square', 'filled'].includes(propKey))\n\nconst template = (palette: IconButtonPalette) => `\n color: ${palette.color};\n background-color: ${palette.backgroundColor};\n ${hover(`\n color: ${palette.colorHover};\n background-color: ${palette.backgroundColorHover};\n `)}\n &:active {\n color: ${palette.colorActive};\n background-color: ${palette.backgroundColorActive};\n }\n &:disabled {\n color: ${palette.colorDisabled};\n background-color: ${palette.backgroundColorDisabled};\n }\n`\n\nconst COLOR_SCHEMA = {\n default: {\n primary: css<StyledIconButtonProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-onmain-primary'],\n backgroundColorHover: props.theme.colors['bg-oncolor-hover'],\n colorActive: props.theme.colors['content-onmain-primary'],\n backgroundColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors.transparent,\n ...props.palette,\n })}\n `,\n secondary: css<StyledIconButtonProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-tertiary'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-onmain-primary'],\n backgroundColorHover: props.theme.colors['bg-oncolor-hover'],\n colorActive: props.theme.colors['content-onmain-tertiary'],\n backgroundColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors.transparent,\n ...props.palette,\n })}\n `,\n filled: css<StyledIconButtonProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['bg-brand-primary-100'],\n colorHover: props.theme.colors['content-onmain-primary'],\n backgroundColorHover: getDarkHoverColor(props.theme.colors['bg-brand-primary-100']),\n colorActive: props.theme.colors['content-onmain-primary'],\n backgroundColorActive: props.theme.colors['bg-brand-primary-100'],\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-large'],\n ...props.palette,\n })}\n `,\n },\n contrast: {\n primary: css<StyledIconButtonProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-primary'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.theme.colors['bg-oncontrast-hover'],\n colorActive: props.theme.colors['content-oncolor-primary'],\n backgroundColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n backgroundColorDisabled: props.theme.colors.transparent,\n ...props.palette,\n })}\n `,\n secondary: css<StyledIconButtonProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-tertiary'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.theme.colors['bg-oncontrast-hover'],\n colorActive: props.theme.colors['content-oncolor-tertiary'],\n backgroundColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-oncolor-disabled'],\n ...props.palette,\n })}\n `,\n filled: css<StyledIconButtonProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-primary'],\n backgroundColor: props.theme.colors['bg-contrast-active'],\n colorHover: props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: getLightHoverColor(props.theme.colors['bg-contrast-active']),\n colorActive: props.theme.colors['content-oncolor-primary'],\n backgroundColorActive: props.theme.colors['bg-contrast-active'],\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-oncolor-disabled'],\n ...props.palette,\n })}\n `,\n },\n}\n\nexport const Root = styled.button\n .withConfig<StyledIconButtonProps>({\n shouldForwardProp: shouldForwardIconButtonProp,\n })\n .attrs<StyledIconButtonProps>(\n (props): Required<Pick<StyledIconButtonProps, 'dynamicSizeDeclaration'>> => ({\n dynamicSizeDeclaration: (size, sizeUnits) => ({\n width: '1em',\n height: '1em',\n fontSize: typeof size === 'string' ? size : `${size}${sizeUnits}`,\n borderRadius: props.square ? '0.2em' : '50%',\n }),\n })\n )`\n ${(props) => `\n box-sizing: border-box;\n appearance: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n padding: 0;\n margin: 0;\n border: none;\n cursor: ${props.disabled ? 'not-allowed' : 'pointer'};\n transition-property: background-color; \n transition-duration: 250ms;\n `}\n\n ${(props) => {\n const schema = props.contrast ? COLOR_SCHEMA.contrast : COLOR_SCHEMA.default\n\n if (props.filled) return schema.filled\n if (props.secondary) return schema.secondary\n\n return schema.primary\n }}\n\n ${focus}\n ${responsiveSize}\n ${responsiveMargin}\n`\n"],"names":["shouldForwardIconButtonProp","createShouldForwardProp","propKey","includes","template","palette","color","backgroundColor","hover","colorHover","backgroundColorHover","colorActive","backgroundColorActive","colorDisabled","backgroundColorDisabled","COLOR_SCHEMA","default","primary","css","props","theme","colors","transparent","secondary","filled","getDarkHoverColor","contrast","getLightHoverColor","Root","styled","button","withConfig","shouldForwardProp","attrs","dynamicSizeDeclaration","size","sizeUnits","width","height","fontSize","borderRadius","square","displayName","componentId","disabled","schema","focus","responsiveSize","responsiveMargin"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import styled,{css}from'styled-components';import
|
|
1
|
+
import styled,{css}from'styled-components';import{responsiveSize}from'../../mixins/responsive-size.mjs';import{responsiveMargin}from'../../mixins/responsive-margin.mjs';import{focus}from'../../mixins/focus.mjs';import{createShouldForwardProp}from'../../shared/utils/style.mjs';import{getLightHoverColor,getDarkHoverColor}from'../../shared/utils/colors.mjs';import{hover}from'../../mixins/hover.mjs';const shouldForwardIconButtonProp=createShouldForwardProp(o=>!['square','filled'].includes(o));const template=o=>`\n color: ${o.color};\n background-color: ${o.backgroundColor};\n ${hover(`\n color: ${o.colorHover};\n background-color: ${o.backgroundColorHover};\n `)}\n &:active {\n color: ${o.colorActive};\n background-color: ${o.backgroundColorActive};\n }\n &:disabled {\n color: ${o.colorDisabled};\n background-color: ${o.backgroundColorDisabled};\n }\n`;const COLOR_SCHEMA={default:{primary:css(["",""],o=>template({color:o.theme.colors['content-onmain-primary'],backgroundColor:o.theme.colors.transparent,colorHover:o.theme.colors['content-onmain-primary'],backgroundColorHover:o.theme.colors['bg-oncolor-hover'],colorActive:o.theme.colors['content-onmain-primary'],backgroundColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors.transparent,...o.palette})),secondary:css(["",""],o=>template({color:o.theme.colors['content-onmain-tertiary'],backgroundColor:o.theme.colors.transparent,colorHover:o.theme.colors['content-onmain-primary'],backgroundColorHover:o.theme.colors['bg-oncolor-hover'],colorActive:o.theme.colors['content-onmain-tertiary'],backgroundColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors.transparent,...o.palette})),filled:css(["",""],o=>template({color:o.theme.colors['content-onmain-primary'],backgroundColor:o.theme.colors['bg-brand-primary-100'],colorHover:o.theme.colors['content-onmain-primary'],backgroundColorHover:getDarkHoverColor(o.theme.colors['bg-brand-primary-100']),colorActive:o.theme.colors['content-onmain-primary'],backgroundColorActive:o.theme.colors['bg-brand-primary-100'],colorDisabled:o.theme.colors['content-disabled'],backgroundColorDisabled:o.theme.colors['bg-disabled-large'],...o.palette}))},contrast:{primary:css(["",""],o=>template({color:o.theme.colors['content-oncolor-primary'],backgroundColor:o.theme.colors.transparent,colorHover:o.theme.colors['content-oncolor-primary'],backgroundColorHover:o.theme.colors['bg-oncontrast-hover'],colorActive:o.theme.colors['content-oncolor-primary'],backgroundColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-oncolor-disabled'],backgroundColorDisabled:o.theme.colors.transparent,...o.palette})),secondary:css(["",""],o=>template({color:o.theme.colors['content-oncolor-tertiary'],backgroundColor:o.theme.colors.transparent,colorHover:o.theme.colors['content-oncolor-primary'],backgroundColorHover:o.theme.colors['bg-oncontrast-hover'],colorActive:o.theme.colors['content-oncolor-tertiary'],backgroundColorActive:o.theme.colors.transparent,colorDisabled:o.theme.colors['content-oncolor-disabled'],backgroundColorDisabled:o.theme.colors['bg-oncolor-disabled'],...o.palette})),filled:css(["",""],o=>template({color:o.theme.colors['content-oncolor-primary'],backgroundColor:o.theme.colors['bg-contrast-active'],colorHover:o.theme.colors['content-oncolor-primary'],backgroundColorHover:getLightHoverColor(o.theme.colors['bg-contrast-active']),colorActive:o.theme.colors['content-oncolor-primary'],backgroundColorActive:o.theme.colors['bg-contrast-active'],colorDisabled:o.theme.colors['content-oncolor-disabled'],backgroundColorDisabled:o.theme.colors['bg-oncolor-disabled'],...o.palette}))}};const Root=styled.button.withConfig({shouldForwardProp:shouldForwardIconButtonProp}).attrs(o=>({dynamicSizeDeclaration:(r,e)=>({width:'1em',height:'1em',fontSize:typeof r=='string'?r:`${r}${e}`,borderRadius:o.square?'0.2em':'50%'})})).withConfig({displayName:"IconButton__Root",componentId:"ui__sc-y4pwgp-0"})([""," "," "," "," ",""],o=>`\n box-sizing: border-box;\n appearance: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n padding: 0;\n margin: 0;\n border: none;\n cursor: ${o.disabled?'not-allowed':'pointer'};\n transition-property: background-color; \n transition-duration: 250ms;\n `,o=>{const r=o.contrast?COLOR_SCHEMA.contrast:COLOR_SCHEMA.default;return o.filled?r.filled:o.secondary?r.secondary:r.primary},focus,responsiveSize,responsiveMargin);export{Root};
|
|
2
2
|
//# sourceMappingURL=style.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.mjs","sources":["../../../../src/components/IconButton/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport
|
|
1
|
+
{"version":3,"file":"style.mjs","sources":["../../../../src/components/IconButton/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { responsiveSize } from 'mixins/responsive-size'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport { focus } from 'mixins/focus'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { getDarkHoverColor, getLightHoverColor } from 'shared/utils/colors'\nimport { hover } from 'mixins/hover'\nimport type { IconButtonPalette, StyledIconButtonProps } from './types'\n\nconst shouldForwardIconButtonProp = createShouldForwardProp((propKey) => !['square', 'filled'].includes(propKey))\n\nconst template = (palette: IconButtonPalette) => `\n color: ${palette.color};\n background-color: ${palette.backgroundColor};\n ${hover(`\n color: ${palette.colorHover};\n background-color: ${palette.backgroundColorHover};\n `)}\n &:active {\n color: ${palette.colorActive};\n background-color: ${palette.backgroundColorActive};\n }\n &:disabled {\n color: ${palette.colorDisabled};\n background-color: ${palette.backgroundColorDisabled};\n }\n`\n\nconst COLOR_SCHEMA = {\n default: {\n primary: css<StyledIconButtonProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-onmain-primary'],\n backgroundColorHover: props.theme.colors['bg-oncolor-hover'],\n colorActive: props.theme.colors['content-onmain-primary'],\n backgroundColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors.transparent,\n ...props.palette,\n })}\n `,\n secondary: css<StyledIconButtonProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-tertiary'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-onmain-primary'],\n backgroundColorHover: props.theme.colors['bg-oncolor-hover'],\n colorActive: props.theme.colors['content-onmain-tertiary'],\n backgroundColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors.transparent,\n ...props.palette,\n })}\n `,\n filled: css<StyledIconButtonProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-onmain-primary'],\n backgroundColor: props.theme.colors['bg-brand-primary-100'],\n colorHover: props.theme.colors['content-onmain-primary'],\n backgroundColorHover: getDarkHoverColor(props.theme.colors['bg-brand-primary-100']),\n colorActive: props.theme.colors['content-onmain-primary'],\n backgroundColorActive: props.theme.colors['bg-brand-primary-100'],\n colorDisabled: props.theme.colors['content-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-disabled-large'],\n ...props.palette,\n })}\n `,\n },\n contrast: {\n primary: css<StyledIconButtonProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-primary'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.theme.colors['bg-oncontrast-hover'],\n colorActive: props.theme.colors['content-oncolor-primary'],\n backgroundColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n backgroundColorDisabled: props.theme.colors.transparent,\n ...props.palette,\n })}\n `,\n secondary: css<StyledIconButtonProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-tertiary'],\n backgroundColor: props.theme.colors.transparent,\n colorHover: props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: props.theme.colors['bg-oncontrast-hover'],\n colorActive: props.theme.colors['content-oncolor-tertiary'],\n backgroundColorActive: props.theme.colors.transparent,\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-oncolor-disabled'],\n ...props.palette,\n })}\n `,\n filled: css<StyledIconButtonProps>`\n ${(props) =>\n template({\n color: props.theme.colors['content-oncolor-primary'],\n backgroundColor: props.theme.colors['bg-contrast-active'],\n colorHover: props.theme.colors['content-oncolor-primary'],\n backgroundColorHover: getLightHoverColor(props.theme.colors['bg-contrast-active']),\n colorActive: props.theme.colors['content-oncolor-primary'],\n backgroundColorActive: props.theme.colors['bg-contrast-active'],\n colorDisabled: props.theme.colors['content-oncolor-disabled'],\n backgroundColorDisabled: props.theme.colors['bg-oncolor-disabled'],\n ...props.palette,\n })}\n `,\n },\n}\n\nexport const Root = styled.button\n .withConfig<StyledIconButtonProps>({\n shouldForwardProp: shouldForwardIconButtonProp,\n })\n .attrs<StyledIconButtonProps>(\n (props): Required<Pick<StyledIconButtonProps, 'dynamicSizeDeclaration'>> => ({\n dynamicSizeDeclaration: (size, sizeUnits) => ({\n width: '1em',\n height: '1em',\n fontSize: typeof size === 'string' ? size : `${size}${sizeUnits}`,\n borderRadius: props.square ? '0.2em' : '50%',\n }),\n })\n )`\n ${(props) => `\n box-sizing: border-box;\n appearance: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n padding: 0;\n margin: 0;\n border: none;\n cursor: ${props.disabled ? 'not-allowed' : 'pointer'};\n transition-property: background-color; \n transition-duration: 250ms;\n `}\n\n ${(props) => {\n const schema = props.contrast ? COLOR_SCHEMA.contrast : COLOR_SCHEMA.default\n\n if (props.filled) return schema.filled\n if (props.secondary) return schema.secondary\n\n return schema.primary\n }}\n\n ${focus}\n ${responsiveSize}\n ${responsiveMargin}\n`\n"],"names":["shouldForwardIconButtonProp","createShouldForwardProp","propKey","includes","template","palette","color","backgroundColor","hover","colorHover","backgroundColorHover","colorActive","backgroundColorActive","colorDisabled","backgroundColorDisabled","COLOR_SCHEMA","default","primary","css","props","theme","colors","transparent","secondary","filled","getDarkHoverColor","contrast","getLightHoverColor","Root","styled","button","withConfig","shouldForwardProp","attrs","dynamicSizeDeclaration","size","sizeUnits","width","height","fontSize","borderRadius","square","displayName","componentId","disabled","schema","focus","responsiveSize","responsiveMargin"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var React=require('react');var reactDropzone=require('react-dropzone');var useMergedProps=require('../../hooks/useMergedProps.js');var constants=require('./constants.js');var style=require('./style.js');var jsxRuntime=require('react/jsx-runtime');var Slot=require('../Slot/Slot.js');var ProgressCircle=require('../ProgressCircle/ProgressCircle.js');var Icon=require('../Icon/Icon.js');var ImageUploaderGrid=require('../ImageUploaderGrid/ImageUploaderGrid.js');var index=require('../../icon-pack/src/icons/WarningCircleFill/index.js');var index$1=require('../../icon-pack/src/icons/Close/index.js');var index$2=require('../../icon-pack/src/icons/ImageAdd/index.js');const ImageUploader=Object.assign(React.forwardRef((e,r)=>{const{accept:o=constants.FILE_UPLOADER_IMAGE_ACCEPT_DEFAULT,multiple:i=!1,maxFiles:s,minFileSize:n,maxFileSize:t,noDragEventsBubbling:a,onAccept:l,onReject:c,onFileDialogCancel:d,onFileDialogOpen:p,disabled:u,error:g,validator:x,loading:m,previewSrc:j,icon:v,progressCircle:R,discardButton:I,errorButton:D,children:P,...C}=useMergedProps.useMergedProps(e,{componentName:"ImageUploader",sizes:{}});const S=reactDropzone.useDropzone({multiple:i,maxFiles:s,noClick:!1,noKeyboard:!1,noDrag:!1,preventDropOnDocument:!0,onDropAccepted:l,onDropRejected:c,accept:o,minSize:n,maxSize:t,disabled:u,validator:x,noDragEventsBubbling:a,onFileDialogCancel:d,onFileDialogOpen:p});React.useImperativeHandle(r,()=>S.rootRef.current);const z={preset:'brand',color:'inherit',icon:jsxRuntime.jsx(index$2.ImageAdd,{}),size:24};const b={size:'s',sizes:{s:{width:64,height:64}}};const q={size:'m',filled:!0,icon:jsxRuntime.jsx(index$1.Close,{}),margin:8,onClick:e=>{e.stopPropagation()}};const F={size:'xl',secondary:!0,margin:4,children:e=>jsxRuntime.jsx(Icon.Icon,{...e,icon:jsxRuntime.jsx(index.WarningCircleFill,{}),color:"alert-error"}),onClick:e=>{e.stopPropagation()}};const A=Boolean(m&&!S.isDragActive&&!u);const h=Boolean(j&&!S.isDragActive&&!m&&!g&&!u);const U=Boolean(!m&&!S.isDragActive&&!u&&(j||g));return jsxRuntime.jsxs(style.Root,{...S.getRootProps({...C,disabled:u,error:g,fileOverDropzone:S.isDragActive,showImagePreview:h,previewSrc:j,loading:m}),children:[jsxRuntime.jsx("input",{...S.getInputProps()}),jsxRuntime.jsx(Slot.Slot,{render:P,props:{iconProps:z,discardButtonProps:q,errorButtonProps:F,progressCircleProps:b},fallback:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[A?jsxRuntime.jsx(Slot.Slot,{render:R,props:b,fallback:jsxRuntime.jsx(ProgressCircle.ProgressCircle,{...b})}):h?null:jsxRuntime.jsx(Slot.Slot,{render:v,props:z,fallback:jsxRuntime.jsx(Icon.Icon,{...z})}),U&&(I||D)?jsxRuntime.jsx(style.ButtonPosition,{children:jsxRuntime.jsx(Slot.Slot,g?{render:D,props:F}:{render:I,props:q})}):null]})})]})}),{Grid:ImageUploaderGrid.ImageUploaderGrid});exports.ImageUploader=ImageUploader;
|
|
2
|
+
//# sourceMappingURL=ImageUploader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImageUploader.js","sources":["../../../../src/components/ImageUploader/ImageUploader.tsx"],"sourcesContent":["import { forwardRef, useImperativeHandle } from 'react'\nimport { useDropzone } from 'react-dropzone'\nimport { ImageAdd, Close, WarningCircleFill } from '@foxford/icon-pack'\nimport { useMergedProps } from 'hooks/useMergedProps'\nimport { ImageUploaderGrid } from 'components/ImageUploaderGrid'\nimport { Slot } from 'components/Slot'\nimport { Icon } from 'components/Icon'\nimport { ProgressCircle } from 'components/ProgressCircle'\nimport type { IconProps } from 'components/Icon'\nimport type { ProgressCircleProps } from 'components/ProgressCircle'\nimport type { IconButtonProps } from 'components/IconButton'\nimport { FILE_UPLOADER_IMAGE_ACCEPT_DEFAULT } from './constants'\nimport type { ImageUploaderProps } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'ImageUploader'\n\n/**\n *\n * *v1.0.0*\n *\n * Компонент приема файлов картинок для загрузки.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<div\\> элемента.\n */\nconst ImageUploader: React.ForwardRefExoticComponent<ImageUploaderProps> & {\n Grid: typeof ImageUploaderGrid\n} = Object.assign(\n forwardRef<HTMLDivElement, ImageUploaderProps>((props, ref) => {\n const {\n accept = FILE_UPLOADER_IMAGE_ACCEPT_DEFAULT,\n multiple = false,\n maxFiles,\n minFileSize,\n maxFileSize,\n noDragEventsBubbling,\n onAccept,\n onReject,\n onFileDialogCancel,\n onFileDialogOpen,\n disabled,\n error,\n validator,\n loading,\n previewSrc,\n icon,\n progressCircle,\n discardButton,\n errorButton,\n children,\n ...restProps\n } = useMergedProps(props, {\n componentName: COMPONENT_NAME,\n sizes: {},\n })\n\n const dropzone = useDropzone({\n multiple,\n maxFiles,\n noClick: false,\n noKeyboard: false,\n noDrag: false,\n preventDropOnDocument: true,\n onDropAccepted: onAccept,\n onDropRejected: onReject,\n accept,\n minSize: minFileSize,\n maxSize: maxFileSize,\n disabled,\n validator,\n noDragEventsBubbling,\n onFileDialogCancel,\n onFileDialogOpen,\n })\n\n useImperativeHandle<HTMLElement | null, HTMLElement | null>(ref, () => dropzone.rootRef.current)\n\n const iconProps: IconProps = {\n preset: 'brand',\n color: 'inherit',\n icon: <ImageAdd />,\n size: 24,\n }\n\n const progressCircleProps: ProgressCircleProps = {\n size: 's',\n sizes: {\n s: {\n width: 64,\n height: 64,\n },\n },\n }\n\n const discardButtonProps: IconButtonProps = {\n size: 'm',\n filled: true,\n icon: <Close />,\n margin: 8,\n onClick: (evt) => {\n evt.stopPropagation()\n },\n }\n\n const errorButtonProps: IconButtonProps = {\n size: 'xl',\n secondary: true,\n margin: 4,\n children: (errorIconProps) => {\n return <Icon {...errorIconProps} icon={<WarningCircleFill />} color='alert-error' />\n },\n onClick: (evt) => {\n evt.stopPropagation()\n },\n }\n\n const showLoader = Boolean(loading && !dropzone.isDragActive && !disabled)\n const showImagePreview = Boolean(previewSrc && !dropzone.isDragActive && !loading && !error && !disabled)\n const showButton = Boolean(!loading && !dropzone.isDragActive && !disabled && (previewSrc || error))\n\n return (\n <Styled.Root\n {...dropzone.getRootProps({\n ...restProps,\n disabled,\n error,\n fileOverDropzone: dropzone.isDragActive,\n showImagePreview,\n previewSrc,\n loading,\n })}\n >\n <input {...dropzone.getInputProps()} />\n <Slot\n render={children}\n props={{\n iconProps,\n discardButtonProps,\n errorButtonProps,\n progressCircleProps,\n }}\n fallback={\n <>\n {showLoader ? (\n <Slot\n render={progressCircle}\n props={progressCircleProps}\n fallback={<ProgressCircle {...progressCircleProps} />}\n />\n ) : !showImagePreview ? (\n <Slot render={icon} props={iconProps} fallback={<Icon {...iconProps} />} />\n ) : null}\n {showButton && (discardButton || errorButton) ? (\n <Styled.ButtonPosition>\n {error ? (\n <Slot render={errorButton} props={errorButtonProps} />\n ) : (\n <Slot render={discardButton} props={discardButtonProps} />\n )}\n </Styled.ButtonPosition>\n ) : null}\n </>\n }\n />\n </Styled.Root>\n )\n }),\n {\n Grid: ImageUploaderGrid,\n }\n)\n\nexport { ImageUploader }\n"],"names":["ImageUploader","Object","assign","forwardRef","props","ref","accept","FILE_UPLOADER_IMAGE_ACCEPT_DEFAULT","multiple","maxFiles","minFileSize","maxFileSize","noDragEventsBubbling","onAccept","onReject","onFileDialogCancel","onFileDialogOpen","disabled","error","validator","loading","previewSrc","icon","progressCircle","discardButton","errorButton","children","restProps","useMergedProps","componentName","sizes","dropzone","useDropzone","noClick","noKeyboard","noDrag","preventDropOnDocument","onDropAccepted","onDropRejected","minSize","maxSize","useImperativeHandle","rootRef","current","iconProps","preset","color","_jsx","ImageAdd","size","progressCircleProps","s","width","height","discardButtonProps","filled","Close","margin","onClick","evt","stopPropagation","errorButtonProps","secondary","errorIconProps","Icon","WarningCircleFill","showLoader","Boolean","isDragActive","showImagePreview","showButton","_jsxs","Styled","getRootProps","fileOverDropzone","getInputProps","Slot","render","fallback","_Fragment","ProgressCircle","Grid","ImageUploaderGrid"],"mappings":"sqBAyBA,MAAMA,cAEFC,OAAOC,OACTC,MAAAA,WAA+C,CAACC,EAAOC,KACrD,MAAMC,OACJA,EAASC,UAAAA,mCAAkCC,SAC3CA,GAAW,EAAKC,SAChBA,EAAQC,YACRA,EAAWC,YACXA,EAAWC,qBACXA,EAAoBC,SACpBA,EAAQC,SACRA,EAAQC,mBACRA,EAAkBC,iBAClBA,EAAgBC,SAChBA,EAAQC,MACRA,EAAKC,UACLA,EAASC,QACTA,EAAOC,WACPA,EAAUC,KACVA,EAAIC,eACJA,EAAcC,cACdA,EAAaC,YACbA,EAAWC,SACXA,KACGC,GACDC,eAAAA,eAAexB,EAAO,CACxByB,cArCiB,gBAsCjBC,MAAO,CAAA,IAGT,MAAMC,EAAWC,cAAAA,YAAY,CAC3BxB,WACAC,WACAwB,SAAS,EACTC,YAAY,EACZC,QAAQ,EACRC,uBAAuB,EACvBC,eAAgBxB,EAChByB,eAAgBxB,EAChBR,SACAiC,QAAS7B,EACT8B,QAAS7B,EACTM,WACAE,YACAP,uBACAG,qBACAC,qBAGFyB,MAAAA,oBAA4DpC,EAAK,IAAM0B,EAASW,QAAQC,SAExF,MAAMC,EAAuB,CAC3BC,OAAQ,QACRC,MAAO,UACPxB,KAAMyB,WAAAA,IAACC,QAAAA,aACPC,KAAM,IAGR,MAAMC,EAA2C,CAC/CD,KAAM,IACNnB,MAAO,CACLqB,EAAG,CACDC,MAAO,GACPC,OAAQ,MAKd,MAAMC,EAAsC,CAC1CL,KAAM,IACNM,QAAQ,EACRjC,KAAMyB,WAAAA,IAACS,QAAAA,UACPC,OAAQ,EACRC,QAAUC,IACRA,EAAIC,oBAIR,MAAMC,EAAoC,CACxCZ,KAAM,KACNa,WAAW,EACXL,OAAQ,EACR/B,SAAWqC,GACFhB,WAAAA,IAACiB,KAAAA,KAAI,IAAKD,EAAgBzC,KAAMyB,WAAAA,IAACkB,MAAAA,sBAAsBnB,MAAM,gBAEtEY,QAAUC,IACRA,EAAIC,oBAIR,MAAMM,EAAaC,QAAQ/C,IAAYW,EAASqC,eAAiBnD,GACjE,MAAMoD,EAAmBF,QAAQ9C,IAAeU,EAASqC,eAAiBhD,IAAYF,IAAUD,GAChG,MAAMqD,EAAaH,SAAS/C,IAAYW,EAASqC,eAAiBnD,IAAaI,GAAcH,IAE7F,OACEqD,WAAAA,KAACC,MAAAA,KAAW,IACNzC,EAAS0C,aAAa,IACrB9C,EACHV,WACAC,QACAwD,iBAAkB3C,EAASqC,aAC3BC,mBACAhD,aACAD,YACAM,UAEFqB,WAAAA,IAAA,QAAA,IAAWhB,EAAS4C,kBACpB5B,WAAAA,IAAC6B,UAAI,CACHC,OAAQnD,EACRtB,MAAO,CACLwC,YACAU,qBACAO,mBACAX,uBAEF4B,SACEP,WAAAA,KAAAQ,oBAAA,CAAArD,SAAA,CACGwC,EACCnB,WAAAA,IAAC6B,UAAI,CACHC,OAAQtD,EACRnB,MAAO8C,EACP4B,SAAU/B,WAAAA,IAACiC,8BAAc,IAAK9B,MAE7BmB,EAED,KADFtB,WAAAA,IAAC6B,UAAI,CAACC,OAAQvD,EAAMlB,MAAOwC,EAAWkC,SAAU/B,WAAAA,IAACiB,UAAI,IAAKpB,MAE3D0B,IAAe9C,GAAiBC,GAC/BsB,WAAAA,IAACyB,qBAAqB,CAAA9C,SAElBqB,WAAAA,IAAC6B,UADF1D,EACM,CAAC2D,OAAQpD,EAAarB,MAAOyD,GAE7B,CAACgB,OAAQrD,EAAepB,MAAOkD,MAGtC,eAOhB,CACE2B,KAAMC,kBAAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{forwardRef,useImperativeHandle}from'react';import{useDropzone}from'react-dropzone';import{useMergedProps}from'../../hooks/useMergedProps.mjs';import{FILE_UPLOADER_IMAGE_ACCEPT_DEFAULT}from'./constants.mjs';import{Root,ButtonPosition}from'./style.mjs';import{jsxs,jsx,Fragment}from'react/jsx-runtime';import{Slot}from'../Slot/Slot.mjs';import{ProgressCircle}from'../ProgressCircle/ProgressCircle.mjs';import{Icon}from'../Icon/Icon.mjs';import{ImageUploaderGrid}from'../ImageUploaderGrid/ImageUploaderGrid.mjs';import{WarningCircleFill}from'../../icon-pack/src/icons/WarningCircleFill/index.mjs';import{Close}from'../../icon-pack/src/icons/Close/index.mjs';import{ImageAdd}from'../../icon-pack/src/icons/ImageAdd/index.mjs';const ImageUploader=Object.assign(forwardRef((o,r)=>{const{accept:e=FILE_UPLOADER_IMAGE_ACCEPT_DEFAULT,multiple:i=!1,maxFiles:s,minFileSize:n,maxFileSize:t,noDragEventsBubbling:l,onAccept:a,onReject:c,onFileDialogCancel:p,onFileDialogOpen:m,disabled:d,error:g,validator:j,loading:x,previewSrc:u,icon:f,progressCircle:I,discardButton:D,errorButton:P,children:C,...A}=useMergedProps(o,{componentName:"ImageUploader",sizes:{}});const F=useDropzone({multiple:i,maxFiles:s,noClick:!1,noKeyboard:!1,noDrag:!1,preventDropOnDocument:!0,onDropAccepted:a,onDropRejected:c,accept:e,minSize:n,maxSize:t,disabled:d,validator:j,noDragEventsBubbling:l,onFileDialogCancel:p,onFileDialogOpen:m});useImperativeHandle(r,()=>F.rootRef.current);const v={preset:'brand',color:'inherit',icon:jsx(ImageAdd,{}),size:24};const z={size:'s',sizes:{s:{width:64,height:64}}};const b={size:'m',filled:!0,icon:jsx(Close,{}),margin:8,onClick:o=>{o.stopPropagation()}};const S={size:'xl',secondary:!0,margin:4,children:o=>jsx(Icon,{...o,icon:jsx(WarningCircleFill,{}),color:"alert-error"}),onClick:o=>{o.stopPropagation()}};const E=Boolean(x&&!F.isDragActive&&!d);const h=Boolean(u&&!F.isDragActive&&!x&&!g&&!d);const B=Boolean(!x&&!F.isDragActive&&!d&&(u||g));return jsxs(Root,{...F.getRootProps({...A,disabled:d,error:g,fileOverDropzone:F.isDragActive,showImagePreview:h,previewSrc:u,loading:x}),children:[jsx("input",{...F.getInputProps()}),jsx(Slot,{render:C,props:{iconProps:v,discardButtonProps:b,errorButtonProps:S,progressCircleProps:z},fallback:jsxs(Fragment,{children:[E?jsx(Slot,{render:I,props:z,fallback:jsx(ProgressCircle,{...z})}):h?null:jsx(Slot,{render:f,props:v,fallback:jsx(Icon,{...v})}),B&&(D||P)?jsx(ButtonPosition,{children:jsx(Slot,g?{render:P,props:S}:{render:D,props:b})}):null]})})]})}),{Grid:ImageUploaderGrid});export{ImageUploader};
|
|
2
|
+
//# sourceMappingURL=ImageUploader.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImageUploader.mjs","sources":["../../../../src/components/ImageUploader/ImageUploader.tsx"],"sourcesContent":["import { forwardRef, useImperativeHandle } from 'react'\nimport { useDropzone } from 'react-dropzone'\nimport { ImageAdd, Close, WarningCircleFill } from '@foxford/icon-pack'\nimport { useMergedProps } from 'hooks/useMergedProps'\nimport { ImageUploaderGrid } from 'components/ImageUploaderGrid'\nimport { Slot } from 'components/Slot'\nimport { Icon } from 'components/Icon'\nimport { ProgressCircle } from 'components/ProgressCircle'\nimport type { IconProps } from 'components/Icon'\nimport type { ProgressCircleProps } from 'components/ProgressCircle'\nimport type { IconButtonProps } from 'components/IconButton'\nimport { FILE_UPLOADER_IMAGE_ACCEPT_DEFAULT } from './constants'\nimport type { ImageUploaderProps } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'ImageUploader'\n\n/**\n *\n * *v1.0.0*\n *\n * Компонент приема файлов картинок для загрузки.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<div\\> элемента.\n */\nconst ImageUploader: React.ForwardRefExoticComponent<ImageUploaderProps> & {\n Grid: typeof ImageUploaderGrid\n} = Object.assign(\n forwardRef<HTMLDivElement, ImageUploaderProps>((props, ref) => {\n const {\n accept = FILE_UPLOADER_IMAGE_ACCEPT_DEFAULT,\n multiple = false,\n maxFiles,\n minFileSize,\n maxFileSize,\n noDragEventsBubbling,\n onAccept,\n onReject,\n onFileDialogCancel,\n onFileDialogOpen,\n disabled,\n error,\n validator,\n loading,\n previewSrc,\n icon,\n progressCircle,\n discardButton,\n errorButton,\n children,\n ...restProps\n } = useMergedProps(props, {\n componentName: COMPONENT_NAME,\n sizes: {},\n })\n\n const dropzone = useDropzone({\n multiple,\n maxFiles,\n noClick: false,\n noKeyboard: false,\n noDrag: false,\n preventDropOnDocument: true,\n onDropAccepted: onAccept,\n onDropRejected: onReject,\n accept,\n minSize: minFileSize,\n maxSize: maxFileSize,\n disabled,\n validator,\n noDragEventsBubbling,\n onFileDialogCancel,\n onFileDialogOpen,\n })\n\n useImperativeHandle<HTMLElement | null, HTMLElement | null>(ref, () => dropzone.rootRef.current)\n\n const iconProps: IconProps = {\n preset: 'brand',\n color: 'inherit',\n icon: <ImageAdd />,\n size: 24,\n }\n\n const progressCircleProps: ProgressCircleProps = {\n size: 's',\n sizes: {\n s: {\n width: 64,\n height: 64,\n },\n },\n }\n\n const discardButtonProps: IconButtonProps = {\n size: 'm',\n filled: true,\n icon: <Close />,\n margin: 8,\n onClick: (evt) => {\n evt.stopPropagation()\n },\n }\n\n const errorButtonProps: IconButtonProps = {\n size: 'xl',\n secondary: true,\n margin: 4,\n children: (errorIconProps) => {\n return <Icon {...errorIconProps} icon={<WarningCircleFill />} color='alert-error' />\n },\n onClick: (evt) => {\n evt.stopPropagation()\n },\n }\n\n const showLoader = Boolean(loading && !dropzone.isDragActive && !disabled)\n const showImagePreview = Boolean(previewSrc && !dropzone.isDragActive && !loading && !error && !disabled)\n const showButton = Boolean(!loading && !dropzone.isDragActive && !disabled && (previewSrc || error))\n\n return (\n <Styled.Root\n {...dropzone.getRootProps({\n ...restProps,\n disabled,\n error,\n fileOverDropzone: dropzone.isDragActive,\n showImagePreview,\n previewSrc,\n loading,\n })}\n >\n <input {...dropzone.getInputProps()} />\n <Slot\n render={children}\n props={{\n iconProps,\n discardButtonProps,\n errorButtonProps,\n progressCircleProps,\n }}\n fallback={\n <>\n {showLoader ? (\n <Slot\n render={progressCircle}\n props={progressCircleProps}\n fallback={<ProgressCircle {...progressCircleProps} />}\n />\n ) : !showImagePreview ? (\n <Slot render={icon} props={iconProps} fallback={<Icon {...iconProps} />} />\n ) : null}\n {showButton && (discardButton || errorButton) ? (\n <Styled.ButtonPosition>\n {error ? (\n <Slot render={errorButton} props={errorButtonProps} />\n ) : (\n <Slot render={discardButton} props={discardButtonProps} />\n )}\n </Styled.ButtonPosition>\n ) : null}\n </>\n }\n />\n </Styled.Root>\n )\n }),\n {\n Grid: ImageUploaderGrid,\n }\n)\n\nexport { ImageUploader }\n"],"names":["ImageUploader","Object","assign","forwardRef","props","ref","accept","FILE_UPLOADER_IMAGE_ACCEPT_DEFAULT","multiple","maxFiles","minFileSize","maxFileSize","noDragEventsBubbling","onAccept","onReject","onFileDialogCancel","onFileDialogOpen","disabled","error","validator","loading","previewSrc","icon","progressCircle","discardButton","errorButton","children","restProps","useMergedProps","componentName","sizes","dropzone","useDropzone","noClick","noKeyboard","noDrag","preventDropOnDocument","onDropAccepted","onDropRejected","minSize","maxSize","useImperativeHandle","rootRef","current","iconProps","preset","color","_jsx","ImageAdd","size","progressCircleProps","s","width","height","discardButtonProps","filled","Close","margin","onClick","evt","stopPropagation","errorButtonProps","secondary","errorIconProps","Icon","WarningCircleFill","showLoader","Boolean","isDragActive","showImagePreview","showButton","_jsxs","Styled","getRootProps","fileOverDropzone","getInputProps","Slot","render","fallback","_Fragment","ProgressCircle","Grid","ImageUploaderGrid"],"mappings":"ytBAyBA,MAAMA,cAEFC,OAAOC,OACTC,WAA+C,CAACC,EAAOC,KACrD,MAAMC,OACJA,EAASC,mCAAkCC,SAC3CA,GAAW,EAAKC,SAChBA,EAAQC,YACRA,EAAWC,YACXA,EAAWC,qBACXA,EAAoBC,SACpBA,EAAQC,SACRA,EAAQC,mBACRA,EAAkBC,iBAClBA,EAAgBC,SAChBA,EAAQC,MACRA,EAAKC,UACLA,EAASC,QACTA,EAAOC,WACPA,EAAUC,KACVA,EAAIC,eACJA,EAAcC,cACdA,EAAaC,YACbA,EAAWC,SACXA,KACGC,GACDC,eAAexB,EAAO,CACxByB,cArCiB,gBAsCjBC,MAAO,CAAA,IAGT,MAAMC,EAAWC,YAAY,CAC3BxB,WACAC,WACAwB,SAAS,EACTC,YAAY,EACZC,QAAQ,EACRC,uBAAuB,EACvBC,eAAgBxB,EAChByB,eAAgBxB,EAChBR,SACAiC,QAAS7B,EACT8B,QAAS7B,EACTM,WACAE,YACAP,uBACAG,qBACAC,qBAGFyB,oBAA4DpC,EAAK,IAAM0B,EAASW,QAAQC,SAExF,MAAMC,EAAuB,CAC3BC,OAAQ,QACRC,MAAO,UACPxB,KAAMyB,IAACC,aACPC,KAAM,IAGR,MAAMC,EAA2C,CAC/CD,KAAM,IACNnB,MAAO,CACLqB,EAAG,CACDC,MAAO,GACPC,OAAQ,MAKd,MAAMC,EAAsC,CAC1CL,KAAM,IACNM,QAAQ,EACRjC,KAAMyB,IAACS,UACPC,OAAQ,EACRC,QAAUC,IACRA,EAAIC,oBAIR,MAAMC,EAAoC,CACxCZ,KAAM,KACNa,WAAW,EACXL,OAAQ,EACR/B,SAAWqC,GACFhB,IAACiB,KAAI,IAAKD,EAAgBzC,KAAMyB,IAACkB,sBAAsBnB,MAAM,gBAEtEY,QAAUC,IACRA,EAAIC,oBAIR,MAAMM,EAAaC,QAAQ/C,IAAYW,EAASqC,eAAiBnD,GACjE,MAAMoD,EAAmBF,QAAQ9C,IAAeU,EAASqC,eAAiBhD,IAAYF,IAAUD,GAChG,MAAMqD,EAAaH,SAAS/C,IAAYW,EAASqC,eAAiBnD,IAAaI,GAAcH,IAE7F,OACEqD,KAACC,KAAW,IACNzC,EAAS0C,aAAa,IACrB9C,EACHV,WACAC,QACAwD,iBAAkB3C,EAASqC,aAC3BC,mBACAhD,aACAD,YACAM,UAEFqB,IAAA,QAAA,IAAWhB,EAAS4C,kBACpB5B,IAAC6B,KAAI,CACHC,OAAQnD,EACRtB,MAAO,CACLwC,YACAU,qBACAO,mBACAX,uBAEF4B,SACEP,KAAAQ,SAAA,CAAArD,SAAA,CACGwC,EACCnB,IAAC6B,KAAI,CACHC,OAAQtD,EACRnB,MAAO8C,EACP4B,SAAU/B,IAACiC,eAAc,IAAK9B,MAE7BmB,EAED,KADFtB,IAAC6B,KAAI,CAACC,OAAQvD,EAAMlB,MAAOwC,EAAWkC,SAAU/B,IAACiB,KAAI,IAAKpB,MAE3D0B,IAAe9C,GAAiBC,GAC/BsB,IAACyB,eAAqB,CAAA9C,SAElBqB,IAAC6B,KADF1D,EACM,CAAC2D,OAAQpD,EAAarB,MAAOyD,GAE7B,CAACgB,OAAQrD,EAAepB,MAAOkD,MAGtC,eAOhB,CACE2B,KAAMC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../../src/components/ImageUploader/constants.ts"],"sourcesContent":["import type { Accept } from 'react-dropzone'\n\nexport const FILE_UPLOADER_IMAGE_ACCEPT_DEFAULT: Accept = { 'image/*': [] }\n"],"names":[],"mappings":"wDAE0D,CAAE,UAAW"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.mjs","sources":["../../../../src/components/ImageUploader/constants.ts"],"sourcesContent":["import type { Accept } from 'react-dropzone'\n\nexport const FILE_UPLOADER_IMAGE_ACCEPT_DEFAULT: Accept = { 'image/*': [] }\n"],"names":["FILE_UPLOADER_IMAGE_ACCEPT_DEFAULT"],"mappings":"AAEO,MAAMA,mCAA6C,CAAE,UAAW"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var styled=require('styled-components');var style=require('../../shared/utils/style.js');var focus=require('../../mixins/focus.js');var responsiveMargin=require('../../mixins/responsive-margin.js');var hover=require('../../mixins/hover.js');var colors=require('../../shared/utils/colors.js');function _interopDefault(o){return o&&o.__esModule?o:{default:o}}var styled__default=_interopDefault(styled);const shouldForwardImageUploaderProp=style.createShouldForwardProp(o=>!['disabled','fileOverDropzone','previewSrc','loading','error','showImagePreview'].includes(o));const template=o=>`\n color: ${o.color};\n background-color: ${o.backgroundColor};\n border-color: ${o.borderColor};\n ${hover.hover(`color: ${o.colorHover};\n background-color: ${o.backgroundColorHover};\n border-color: ${o.borderColorHover};`)}\n`;const COLOR_SCHEMA={default:styled.css(["",""],o=>template({color:o.palette.color??o.theme.colors['content-onmain-primary'],backgroundColor:o.palette.backgroundColor??o.theme.colors['bg-onmain-main'],borderColor:o.palette.borderColor??o.theme.colors['border-onmain-default-small'],colorHover:o.palette.colorHover??o.theme.colors['content-onmain-primary'],backgroundColorHover:o.palette.backgroundColorHover??colors.getDarkHoverColor(o.theme.colors['bg-onmain-main']),borderColorHover:o.palette.borderColorHover??o.theme.colors['border-onmain-default-small']})),active:styled.css(["",""],o=>template({color:o.palette.colorActive??o.theme.colors['content-brand-primary'],backgroundColor:o.palette.backgroundColorActive??o.theme.colors['bg-brand-primary-100-active'],borderColor:o.palette.borderColorActive??o.theme.colors['border-brand-primary'],colorHover:o.palette.colorActive??o.theme.colors['content-brand-primary'],backgroundColorHover:o.palette.backgroundColorActive??o.theme.colors['bg-brand-primary-100-active'],borderColorHover:o.palette.borderColorActive??o.theme.colors['border-brand-primary']})),error:styled.css(["",""],o=>template({color:o.palette.colorError??o.theme.colors['content-onmain-primary'],backgroundColor:o.palette.backgroundColorError??o.theme.colors['bg-onmain-main'],borderColor:o.palette.borderColorError??o.theme.colors['alert-error'],colorHover:o.palette.colorError??o.theme.colors['content-onmain-primary'],backgroundColorHover:o.palette.backgroundColorError??o.theme.colors['bg-onmain-main'],borderColorHover:o.palette.borderColorError??o.theme.colors['alert-error']})),disabled:styled.css(["",""],o=>template({color:o.palette.colorDisabled??o.theme.colors['content-disabled'],backgroundColor:o.palette.backgroundColorDisabled??o.theme.colors['bg-onmain-main'],borderColor:o.palette.borderColorDisabled??o.theme.colors['border-disabled'],colorHover:o.palette.colorDisabled??o.theme.colors['content-disabled'],backgroundColorHover:o.palette.backgroundColorDisabled??o.theme.colors['bg-onmain-main'],borderColorHover:o.palette.borderColorDisabled??o.theme.colors['border-disabled']}))};const Root=styled__default.default.div.withConfig({shouldForwardProp:shouldForwardImageUploaderProp}).withConfig({displayName:"ImageUploader__Root",componentId:"ui__sc-1hdyxs7-0"})(["box-sizing:border-box;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:120px;height:120px;border-radius:12px;transition-property:background-color;transition-duration:250ms;"," "," "," "," ",""],o=>{let r='pointer';return o.fileOverDropzone&&(r='copy'),o.disabled&&(r='not-allowed'),`\n cursor: ${r};\n `},o=>o.showImagePreview?`\n background-image: url(${o.previewSrc});\n background-origin: border-box;\n background-position: center;\n background-repeat: no-repeat;\n background-size: cover;\n border: 1px solid;\n `:`\n border: 1px ${o.fileOverDropzone?'solid':'dashed'};\n `,o=>o.disabled?COLOR_SCHEMA.disabled:o.fileOverDropzone?COLOR_SCHEMA.active:o.error&&!o.loading?COLOR_SCHEMA.error:COLOR_SCHEMA.default,focus.focus,responsiveMargin.responsiveMargin);const ButtonPosition=styled__default.default.div.withConfig({displayName:"ImageUploader__ButtonPosition",componentId:"ui__sc-1hdyxs7-1"})(["box-sizing:border-box;position:absolute;top:0;right:0;"]);exports.ButtonPosition=ButtonPosition,exports.Root=Root;
|
|
2
|
+
//# sourceMappingURL=style.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.js","sources":["../../../../src/components/ImageUploader/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { focus } from 'mixins/focus'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport { hover } from 'mixins/hover'\nimport { getDarkHoverColor } from 'shared/utils/colors'\nimport type { StyledImageUploaderProps, ImageUploaderPalette } from './types'\n\nconst shouldForwardImageUploaderProp = createShouldForwardProp(\n (propKey) => !['disabled', 'fileOverDropzone', 'previewSrc', 'loading', 'error', 'showImagePreview'].includes(propKey)\n)\n\nconst template = (palette: ImageUploaderPalette) => `\n color: ${palette.color};\n background-color: ${palette.backgroundColor};\n border-color: ${palette.borderColor};\n ${hover(\n `color: ${palette.colorHover};\n background-color: ${palette.backgroundColorHover};\n border-color: ${palette.borderColorHover};`\n )}\n`\n\nconst COLOR_SCHEMA = {\n default: css<StyledImageUploaderProps>`\n ${(props) =>\n template({\n color: props.palette.color ?? props.theme.colors['content-onmain-primary'],\n backgroundColor: props.palette.backgroundColor ?? props.theme.colors['bg-onmain-main'],\n borderColor: props.palette.borderColor ?? props.theme.colors['border-onmain-default-small'],\n colorHover: props.palette.colorHover ?? props.theme.colors['content-onmain-primary'],\n backgroundColorHover:\n props.palette.backgroundColorHover ?? getDarkHoverColor(props.theme.colors['bg-onmain-main']),\n borderColorHover: props.palette.borderColorHover ?? props.theme.colors['border-onmain-default-small'],\n })}\n `,\n active: css<StyledImageUploaderProps>`\n ${(props) =>\n template({\n color: props.palette.colorActive ?? props.theme.colors['content-brand-primary'],\n backgroundColor: props.palette.backgroundColorActive ?? props.theme.colors['bg-brand-primary-100-active'],\n borderColor: props.palette.borderColorActive ?? props.theme.colors['border-brand-primary'],\n colorHover: props.palette.colorActive ?? props.theme.colors['content-brand-primary'],\n backgroundColorHover: props.palette.backgroundColorActive ?? props.theme.colors['bg-brand-primary-100-active'],\n borderColorHover: props.palette.borderColorActive ?? props.theme.colors['border-brand-primary'],\n })}\n `,\n error: css<StyledImageUploaderProps>`\n ${(props) =>\n template({\n color: props.palette.colorError ?? props.theme.colors['content-onmain-primary'],\n backgroundColor: props.palette.backgroundColorError ?? props.theme.colors['bg-onmain-main'],\n borderColor: props.palette.borderColorError ?? props.theme.colors['alert-error'],\n colorHover: props.palette.colorError ?? props.theme.colors['content-onmain-primary'],\n backgroundColorHover: props.palette.backgroundColorError ?? props.theme.colors['bg-onmain-main'],\n borderColorHover: props.palette.borderColorError ?? props.theme.colors['alert-error'],\n })}\n `,\n disabled: css<StyledImageUploaderProps>`\n ${(props) =>\n template({\n color: props.palette.colorDisabled ?? props.theme.colors['content-disabled'],\n backgroundColor: props.palette.backgroundColorDisabled ?? props.theme.colors['bg-onmain-main'],\n borderColor: props.palette.borderColorDisabled ?? props.theme.colors['border-disabled'],\n colorHover: props.palette.colorDisabled ?? props.theme.colors['content-disabled'],\n backgroundColorHover: props.palette.backgroundColorDisabled ?? props.theme.colors['bg-onmain-main'],\n borderColorHover: props.palette.borderColorDisabled ?? props.theme.colors['border-disabled'],\n })}\n `,\n}\n\nexport const Root = styled.div.withConfig<StyledImageUploaderProps>({\n shouldForwardProp: shouldForwardImageUploaderProp,\n})`\n box-sizing: border-box;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 120px;\n height: 120px;\n border-radius: 12px;\n transition-property: background-color;\n transition-duration: 250ms;\n\n ${(props) => {\n let cursor = 'pointer'\n if (props.fileOverDropzone) cursor = 'copy'\n if (props.disabled) cursor = 'not-allowed'\n\n return `\n cursor: ${cursor};\n `\n }}\n\n ${(props) =>\n props.showImagePreview\n ? `\n background-image: url(${props.previewSrc});\n background-origin: border-box;\n background-position: center;\n background-repeat: no-repeat;\n background-size: cover;\n border: 1px solid;\n `\n : `\n border: 1px ${props.fileOverDropzone ? 'solid' : 'dashed'};\n `}\n\n ${(props) => {\n if (props.disabled) return COLOR_SCHEMA.disabled\n if (props.fileOverDropzone) return COLOR_SCHEMA.active\n if (props.error && !props.loading) return COLOR_SCHEMA.error\n\n return COLOR_SCHEMA.default\n }}\n\n ${focus}\n ${responsiveMargin}\n`\n\nexport const ButtonPosition = styled.div`\n box-sizing: border-box;\n position: absolute;\n top: 0;\n right: 0;\n`\n"],"names":["shouldForwardImageUploaderProp","createShouldForwardProp","propKey","includes","template","palette","color","backgroundColor","borderColor","hover","colorHover","backgroundColorHover","borderColorHover","COLOR_SCHEMA","default","css","props","theme","colors","getDarkHoverColor","active","colorActive","backgroundColorActive","borderColorActive","error","colorError","backgroundColorError","borderColorError","disabled","colorDisabled","backgroundColorDisabled","borderColorDisabled","Root","styled","div","withConfig","shouldForwardProp","displayName","componentId","cursor","fileOverDropzone","showImagePreview","previewSrc","loading","focus","responsiveMargin","ButtonPosition"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import styled,{css}from'styled-components';import{createShouldForwardProp}from'../../shared/utils/style.mjs';import{focus}from'../../mixins/focus.mjs';import{responsiveMargin}from'../../mixins/responsive-margin.mjs';import{hover}from'../../mixins/hover.mjs';import{getDarkHoverColor}from'../../shared/utils/colors.mjs';const shouldForwardImageUploaderProp=createShouldForwardProp(o=>!['disabled','fileOverDropzone','previewSrc','loading','error','showImagePreview'].includes(o));const template=o=>`\n color: ${o.color};\n background-color: ${o.backgroundColor};\n border-color: ${o.borderColor};\n ${hover(`color: ${o.colorHover};\n background-color: ${o.backgroundColorHover};\n border-color: ${o.borderColorHover};`)}\n`;const COLOR_SCHEMA={default:css(["",""],o=>template({color:o.palette.color??o.theme.colors['content-onmain-primary'],backgroundColor:o.palette.backgroundColor??o.theme.colors['bg-onmain-main'],borderColor:o.palette.borderColor??o.theme.colors['border-onmain-default-small'],colorHover:o.palette.colorHover??o.theme.colors['content-onmain-primary'],backgroundColorHover:o.palette.backgroundColorHover??getDarkHoverColor(o.theme.colors['bg-onmain-main']),borderColorHover:o.palette.borderColorHover??o.theme.colors['border-onmain-default-small']})),active:css(["",""],o=>template({color:o.palette.colorActive??o.theme.colors['content-brand-primary'],backgroundColor:o.palette.backgroundColorActive??o.theme.colors['bg-brand-primary-100-active'],borderColor:o.palette.borderColorActive??o.theme.colors['border-brand-primary'],colorHover:o.palette.colorActive??o.theme.colors['content-brand-primary'],backgroundColorHover:o.palette.backgroundColorActive??o.theme.colors['bg-brand-primary-100-active'],borderColorHover:o.palette.borderColorActive??o.theme.colors['border-brand-primary']})),error:css(["",""],o=>template({color:o.palette.colorError??o.theme.colors['content-onmain-primary'],backgroundColor:o.palette.backgroundColorError??o.theme.colors['bg-onmain-main'],borderColor:o.palette.borderColorError??o.theme.colors['alert-error'],colorHover:o.palette.colorError??o.theme.colors['content-onmain-primary'],backgroundColorHover:o.palette.backgroundColorError??o.theme.colors['bg-onmain-main'],borderColorHover:o.palette.borderColorError??o.theme.colors['alert-error']})),disabled:css(["",""],o=>template({color:o.palette.colorDisabled??o.theme.colors['content-disabled'],backgroundColor:o.palette.backgroundColorDisabled??o.theme.colors['bg-onmain-main'],borderColor:o.palette.borderColorDisabled??o.theme.colors['border-disabled'],colorHover:o.palette.colorDisabled??o.theme.colors['content-disabled'],backgroundColorHover:o.palette.backgroundColorDisabled??o.theme.colors['bg-onmain-main'],borderColorHover:o.palette.borderColorDisabled??o.theme.colors['border-disabled']}))};const Root=styled.div.withConfig({shouldForwardProp:shouldForwardImageUploaderProp}).withConfig({displayName:"ImageUploader__Root",componentId:"ui__sc-1hdyxs7-0"})(["box-sizing:border-box;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:120px;height:120px;border-radius:12px;transition-property:background-color;transition-duration:250ms;"," "," "," "," ",""],o=>{let r='pointer';return o.fileOverDropzone&&(r='copy'),o.disabled&&(r='not-allowed'),`\n cursor: ${r};\n `},o=>o.showImagePreview?`\n background-image: url(${o.previewSrc});\n background-origin: border-box;\n background-position: center;\n background-repeat: no-repeat;\n background-size: cover;\n border: 1px solid;\n `:`\n border: 1px ${o.fileOverDropzone?'solid':'dashed'};\n `,o=>o.disabled?COLOR_SCHEMA.disabled:o.fileOverDropzone?COLOR_SCHEMA.active:o.error&&!o.loading?COLOR_SCHEMA.error:COLOR_SCHEMA.default,focus,responsiveMargin);const ButtonPosition=styled.div.withConfig({displayName:"ImageUploader__ButtonPosition",componentId:"ui__sc-1hdyxs7-1"})(["box-sizing:border-box;position:absolute;top:0;right:0;"]);export{ButtonPosition,Root};
|
|
2
|
+
//# sourceMappingURL=style.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.mjs","sources":["../../../../src/components/ImageUploader/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { createShouldForwardProp } from 'shared/utils/style'\nimport { focus } from 'mixins/focus'\nimport { responsiveMargin } from 'mixins/responsive-margin'\nimport { hover } from 'mixins/hover'\nimport { getDarkHoverColor } from 'shared/utils/colors'\nimport type { StyledImageUploaderProps, ImageUploaderPalette } from './types'\n\nconst shouldForwardImageUploaderProp = createShouldForwardProp(\n (propKey) => !['disabled', 'fileOverDropzone', 'previewSrc', 'loading', 'error', 'showImagePreview'].includes(propKey)\n)\n\nconst template = (palette: ImageUploaderPalette) => `\n color: ${palette.color};\n background-color: ${palette.backgroundColor};\n border-color: ${palette.borderColor};\n ${hover(\n `color: ${palette.colorHover};\n background-color: ${palette.backgroundColorHover};\n border-color: ${palette.borderColorHover};`\n )}\n`\n\nconst COLOR_SCHEMA = {\n default: css<StyledImageUploaderProps>`\n ${(props) =>\n template({\n color: props.palette.color ?? props.theme.colors['content-onmain-primary'],\n backgroundColor: props.palette.backgroundColor ?? props.theme.colors['bg-onmain-main'],\n borderColor: props.palette.borderColor ?? props.theme.colors['border-onmain-default-small'],\n colorHover: props.palette.colorHover ?? props.theme.colors['content-onmain-primary'],\n backgroundColorHover:\n props.palette.backgroundColorHover ?? getDarkHoverColor(props.theme.colors['bg-onmain-main']),\n borderColorHover: props.palette.borderColorHover ?? props.theme.colors['border-onmain-default-small'],\n })}\n `,\n active: css<StyledImageUploaderProps>`\n ${(props) =>\n template({\n color: props.palette.colorActive ?? props.theme.colors['content-brand-primary'],\n backgroundColor: props.palette.backgroundColorActive ?? props.theme.colors['bg-brand-primary-100-active'],\n borderColor: props.palette.borderColorActive ?? props.theme.colors['border-brand-primary'],\n colorHover: props.palette.colorActive ?? props.theme.colors['content-brand-primary'],\n backgroundColorHover: props.palette.backgroundColorActive ?? props.theme.colors['bg-brand-primary-100-active'],\n borderColorHover: props.palette.borderColorActive ?? props.theme.colors['border-brand-primary'],\n })}\n `,\n error: css<StyledImageUploaderProps>`\n ${(props) =>\n template({\n color: props.palette.colorError ?? props.theme.colors['content-onmain-primary'],\n backgroundColor: props.palette.backgroundColorError ?? props.theme.colors['bg-onmain-main'],\n borderColor: props.palette.borderColorError ?? props.theme.colors['alert-error'],\n colorHover: props.palette.colorError ?? props.theme.colors['content-onmain-primary'],\n backgroundColorHover: props.palette.backgroundColorError ?? props.theme.colors['bg-onmain-main'],\n borderColorHover: props.palette.borderColorError ?? props.theme.colors['alert-error'],\n })}\n `,\n disabled: css<StyledImageUploaderProps>`\n ${(props) =>\n template({\n color: props.palette.colorDisabled ?? props.theme.colors['content-disabled'],\n backgroundColor: props.palette.backgroundColorDisabled ?? props.theme.colors['bg-onmain-main'],\n borderColor: props.palette.borderColorDisabled ?? props.theme.colors['border-disabled'],\n colorHover: props.palette.colorDisabled ?? props.theme.colors['content-disabled'],\n backgroundColorHover: props.palette.backgroundColorDisabled ?? props.theme.colors['bg-onmain-main'],\n borderColorHover: props.palette.borderColorDisabled ?? props.theme.colors['border-disabled'],\n })}\n `,\n}\n\nexport const Root = styled.div.withConfig<StyledImageUploaderProps>({\n shouldForwardProp: shouldForwardImageUploaderProp,\n})`\n box-sizing: border-box;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 120px;\n height: 120px;\n border-radius: 12px;\n transition-property: background-color;\n transition-duration: 250ms;\n\n ${(props) => {\n let cursor = 'pointer'\n if (props.fileOverDropzone) cursor = 'copy'\n if (props.disabled) cursor = 'not-allowed'\n\n return `\n cursor: ${cursor};\n `\n }}\n\n ${(props) =>\n props.showImagePreview\n ? `\n background-image: url(${props.previewSrc});\n background-origin: border-box;\n background-position: center;\n background-repeat: no-repeat;\n background-size: cover;\n border: 1px solid;\n `\n : `\n border: 1px ${props.fileOverDropzone ? 'solid' : 'dashed'};\n `}\n\n ${(props) => {\n if (props.disabled) return COLOR_SCHEMA.disabled\n if (props.fileOverDropzone) return COLOR_SCHEMA.active\n if (props.error && !props.loading) return COLOR_SCHEMA.error\n\n return COLOR_SCHEMA.default\n }}\n\n ${focus}\n ${responsiveMargin}\n`\n\nexport const ButtonPosition = styled.div`\n box-sizing: border-box;\n position: absolute;\n top: 0;\n right: 0;\n`\n"],"names":["shouldForwardImageUploaderProp","createShouldForwardProp","propKey","includes","template","palette","color","backgroundColor","borderColor","hover","colorHover","backgroundColorHover","borderColorHover","COLOR_SCHEMA","default","css","props","theme","colors","getDarkHoverColor","active","colorActive","backgroundColorActive","borderColorActive","error","colorError","backgroundColorError","borderColorError","disabled","colorDisabled","backgroundColorDisabled","borderColorDisabled","Root","styled","div","withConfig","shouldForwardProp","displayName","componentId","cursor","fileOverDropzone","showImagePreview","previewSrc","loading","focus","responsiveMargin","ButtonPosition"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var React=require('react');var style=require('./style.js');var jsxRuntime=require('react/jsx-runtime');exports.ImageUploaderGrid=React.forwardRef((e,r)=>{const{itemWidth:t=120,gap:a=8,...i}=e;return jsxRuntime.jsx(style.Root,{...i,itemWidth:t,gap:a,ref:r})});
|
|
2
|
+
//# sourceMappingURL=ImageUploaderGrid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImageUploaderGrid.js","sources":["../../../../src/components/ImageUploaderGrid/ImageUploaderGrid.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport type { ImageUploaderGridProps } from './types'\nimport * as Styled from './style'\n\n/**\n *\n * Компонент-контейнер для вывода загрузчиков картинок.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<div\\> элемента.\n */\nexport const ImageUploaderGrid = forwardRef<HTMLDivElement, ImageUploaderGridProps>((props, ref) => {\n const { itemWidth = 120, gap = 8, ...restProps } = props\n\n return <Styled.Root {...restProps} itemWidth={itemWidth} gap={gap} ref={ref} />\n})\n"],"names":["forwardRef","props","ref","itemWidth","gap","restProps","_jsx","Styled"],"mappings":"8IAUiCA,MAAAA,WAAmD,CAACC,EAAOC,KAC1F,MAAMC,UAAEA,EAAY,IAAGC,IAAEA,EAAM,KAAMC,GAAcJ,EAEnD,OAAOK,WAAAA,IAACC,MAAAA,KAAW,IAAKF,EAAWF,UAAWA,EAAWC,IAAKA,EAAKF,IAAKA"}
|