@terraware/web-components 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/README.md +78 -0
- package/build/asset-manifest.json +17 -0
- package/build/favicon.ico +0 -0
- package/build/index.html +1 -0
- package/build/logo192.png +0 -0
- package/build/logo512.png +0 -0
- package/build/manifest.json +25 -0
- package/build/robots.txt +3 -0
- package/build/static/js/2.ab7d9369.chunk.js +3 -0
- package/build/static/js/2.ab7d9369.chunk.js.LICENSE.txt +96 -0
- package/build/static/js/2.ab7d9369.chunk.js.map +1 -0
- package/build/static/js/main.f380cd0f.chunk.js +2 -0
- package/build/static/js/main.f380cd0f.chunk.js.map +1 -0
- package/build/static/js/runtime-main.41a09053.js +2 -0
- package/build/static/js/runtime-main.41a09053.js.map +1 -0
- package/package.json +95 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(this["webpackJsonpweb-components"]=this["webpackJsonpweb-components"]||[]).push([[0],{131:function(e,n,t){"use strict";t.r(n),t.d(n,"Autocomplete",(function(){return d})),t.d(n,"CancelButton",(function(){return v})),t.d(n,"Checkbox",(function(){return m})),t.d(n,"DatePicker",(function(){return C})),t.d(n,"DialogCloseButton",(function(){return S})),t.d(n,"Divisor",(function(){return B})),t.d(n,"Dropdown",(function(){return A})),t.d(n,"Note",(function(){return K})),t.d(n,"RadioButton",(function(){return q})),t.d(n,"SummaryBox",(function(){return Z})),t.d(n,"TextArea",(function(){return J})),t.d(n,"TextField",(function(){return G})),t.d(n,"Table",(function(){return Be})),t.d(n,"CellRenderer",(function(){return de})),t.d(n,"CellDateRenderer",(function(){return se})),t.d(n,"descendingComparator",(function(){return ee})),t.d(n,"getComparator",(function(){return ne})),t.d(n,"stableSort",(function(){return te}));var a=t(78),r=t(193),o=t(186),i=t(0),l=t.n(i),c=t(6);function d(e){var n=e.id,t=e.label,i=e.values,l=e.onChange,d=e.selected,u=function(e,t){e&&l(n,t||"")};return Object(c.jsx)(o.a,{id:n,options:i,getOptionLabel:function(e){return e||""},onChange:u,onInputChange:u,inputValue:d,freeSolo:!0,forcePopupIcon:!0,renderInput:function(e){return Object(c.jsx)(r.a,Object(a.a)(Object(a.a)({},e),{},{label:t,variant:"outlined",size:"small"}))}})}var u=t(192),s=t(173),b=t(191),j=Object(s.a)((function(e){return Object(b.a)({cancel:{backgroundColor:e.palette.common.white,borderColor:e.palette.neutral[400],borderWidth:1}})}));function v(e){var n=e.onClick,t=e.label,a=j();return Object(c.jsx)(u.a,{id:"cancel",className:a.cancel,label:null!==t&&void 0!==t?t:"Cancel",clickable:!0,onClick:n,variant:"outlined"})}var f=t(174),p=t(189);function m(e){var n;return Object(c.jsx)(f.a,{id:e.id,onChange:function(n,t){e.onChange(e.id,t)},label:e.label,disabled:e.disabled,control:Object(c.jsx)(p.a,{id:"check-"+e.id,color:"primary",checked:null!==(n=e.value)&&void 0!==n&&n})})}var h=t(183),O=t(70),g=t.n(O),x=(t(130),Object(s.a)((function(){return Object(b.a)({root:{margin:0}})})));function C(e){var n,t,a=x();return l.a.useEffect((function(){g.a.locale([window.navigator.language,"en"])}),[]),Object(c.jsx)(h.a,{id:e.id,value:null!==(n=e.value)&&void 0!==n?n:null,onChange:function(n){n&&n.isValid()?e.onChange(e.id,null===n||void 0===n?void 0:n.toISOString()):e.onChange(e.id,null===n||void 0===n?void 0:n.toString())},label:e.label,KeyboardButtonProps:{"aria-label":e["aria-label"]},disableToolbar:!0,variant:"inline",inputVariant:"outlined",format:g.a.localeData().longDateFormat("L"),margin:"normal",size:"small",fullWidth:!0,className:a.root,onKeyPress:e.onKeyPress,maxDate:null!==(t=e.maxDate)&&void 0!==t?t:void 0,error:e.error,helperText:e.helperText,disabled:e.disabled})}var y=t(133),k=t(89),w=t.n(k),R=Object(s.a)((function(e){return Object(b.a)({closeButton:{position:"absolute",right:e.spacing(1),top:e.spacing(1),color:e.palette.neutral[600]}})}));function S(e){var n=e.onClick,t=R();return Object(c.jsx)(y.a,{"aria-label":"close",className:t.closeButton,onClick:n,children:Object(c.jsx)(w.a,{})})}var D=t(184),N=t(175);function B(e){var n=e.mt,t=void 0===n?3:n;return Object(c.jsxs)(c.Fragment,{children:[Object(c.jsx)(D.a,{mt:t}),Object(c.jsx)(N.a,{light:!0}),Object(c.jsx)(D.a,{mt:t})]})}var E=t(172),I=t(195),P=t(185),T=t(197),z=Object(s.a)((function(){return Object(b.a)({formControl:{width:"100%"}})}));function A(e){var n=e.id,t=e.label,a=e.values,r=e.onChange,o=e.selected,i=e.disabled,l=z();return Object(c.jsxs)(E.a,{variant:"outlined",className:l.formControl,size:"small",disabled:i,children:[Object(c.jsx)(I.a,{id:"".concat(n,"-outlined-label"),children:t}),Object(c.jsx)(P.a,{labelId:"".concat(n,"-outlined-label"),id:n,label:t,onChange:function(e,t){r(n,e.target.value)},value:o,children:null===a||void 0===a?void 0:a.map((function(e){var n=e.label,t=e.value;return Object(c.jsx)(T.a,{id:t,value:t,children:n},t)}))})]})}var W=t(97),F=Object(s.a)((function(e){return Object(b.a)({note:{borderRadius:8,backgroundColor:e.palette.neutral[200],marginBottom:e.spacing(3),padding:e.spacing(2)}})}));function K(e){var n=e.children,t=F();return Object(c.jsx)(D.a,{className:t.note,children:Object(c.jsx)(W.a,{component:"p",children:n})})}var L=t(187);function q(e){var n;return Object(c.jsx)(f.a,{id:e.id,onChange:function(n,t){e.onChange(e.id,t)},label:e.label,control:Object(c.jsx)(L.a,{id:"radio-"+e.id,color:"primary",checked:null!==(n=e.value)&&void 0!==n&&n})})}var H=t(90),U=t.n(H),V=Object(s.a)((function(e){return Object(b.a)({bold:{fontWeight:e.typography.fontWeightBold,whiteSpace:"pre-line"},summaryDefault:{position:"relative",borderRadius:8,backgroundColor:e.palette.neutral[200],padding:e.spacing(2)},summaryAvailable:{borderRadius:8,backgroundColor:e.palette.neutral[700],padding:e.spacing(2),color:e.palette.common.white},summaryZero:{borderRadius:8,backgroundColor:e.palette.state[5],padding:e.spacing(2),color:e.palette.common.white},full:{borderRadius:8,backgroundColor:e.palette.neutral[200],padding:e.spacing(2),height:"100%",boxSizing:"border-box"},infoIcon:{position:"absolute",right:e.spacing(2)}})}));function Z(e){var n=e.title,t=e.value,a=e.variant,r=void 0===a?"default":a,o=e.id,i=e.icon,l=e.onIconClick,d=V(),u="default"===r?d.summaryDefault:"available"===r?d.summaryAvailable:"full"===r?d.full:d.summaryZero;return Object(c.jsxs)(D.a,{className:u,id:o,children:[i&&Object(c.jsx)(y.a,{className:d.infoIcon,onClick:l,children:Object(c.jsx)(U.a,{})}),Object(c.jsx)(W.a,{component:"p",children:n}),Object(c.jsx)(W.a,{component:"p",variant:"h6",className:d.bold,children:t})]})}function J(e){var n;return Object(c.jsx)(r.a,{id:e.id,value:null!==(n=e.value)&&void 0!==n?n:"",onChange:function(n){e.onChange(e.id,n.target.value)},type:e.type,label:e.label,multiline:!0,rows:4,variant:"outlined",size:"small",fullWidth:!0,placeholder:e.placeholder})}var Y=Object(s.a)((function(){return Object(b.a)({adornedEnd:{paddingRight:0}})}));function G(e){var n,t=Y();return Object(c.jsx)(r.a,{id:e.id,value:null!==(n=e.value)&&void 0!==n?n:"",onChange:function(n){e.onChange(e.id,n.target.value)},type:e.type,label:e.label,variant:"outlined",size:"small",fullWidth:!0,disabled:e.disabled,onKeyPress:e.onKeyPress,InputProps:{endAdornment:e.endAdornment,classes:{adornedEnd:t.adornedEnd},inputProps:{min:e.min}},error:e.error,helperText:e.helperText,required:e.required,autoComplete:e.autocomplete})}var M=t(57),Q=t(181),X=t(182),$=t(180),_=t(178);function ee(e,n,t){var a,r,o=null!==(a=n[t])&&void 0!==a?a:"",i=null!==(r=e[t])&&void 0!==r?r:"";return o<i?-1:o>i?1:0}function ne(e,n,t){return"desc"===e?function(e,a){return t(e,a,n)}:function(e,a){return-t(e,a,n)}}function te(e,n){var t=e.map((function(e,n){return[e,n]}));return t.sort((function(e,t){var a=n(e[0],t[0]);return 0!==a?a:e[1]-t[1]})),t.map((function(e){return e[0]}))}var ae=t(176),re=t(177),oe=t(92),ie=t.n(oe),le=t(91),ce=t.n(le);function de(e){var n=e.column,t=e.value,a=e.onRowClick,r=e.index,o="row".concat(r,"-").concat(n.key);return"date"===n.type&&"string"===typeof t&&t?Object(c.jsx)(se,{id:o,value:t}):"notes"===n.type&&t&&"string"===typeof t?Object(c.jsx)(ve,{id:o,value:t}):"boolean"===n.type?Object(c.jsx)(je,{id:o,value:t}):"edit"===n.type?Object(c.jsx)(pe,{id:o,onRowClick:a}):Object(c.jsx)(be,{id:o,value:t})}var ue=function(e){if(e)return new Date(e).toLocaleDateString("en-US",{day:"2-digit",month:"2-digit",year:"numeric",timeZone:"UTC"})};function se(e){var n=e.id,t=e.value;return Object(c.jsx)(ae.a,{id:n,align:"left",children:Object(c.jsx)(W.a,{component:"p",variant:"body1",children:ue(t)})})}function be(e){var n=e.id,t=e.value;return Object(c.jsx)(ae.a,{id:n,align:"left",children:Object(c.jsx)(W.a,{component:"p",variant:"body1",children:t})})}function je(e){var n=e.id,t=e.value;return Object(c.jsx)(ae.a,{id:n,align:"left",children:Object(c.jsx)(W.a,{component:"p",variant:"body1",children:"true"===t?"YES":"NO"})})}function ve(e){var n=e.id,t=e.value;return Object(c.jsx)(ae.a,{id:n,align:"left",children:Object(c.jsx)(W.a,{id:n,component:"p",variant:"body1",children:t&&t.length>0?Object(c.jsx)(ce.a,{}):""})})}var fe=Object(s.a)((function(e){return Object(b.a)({editIcon:{marginLeft:e.spacing(1)}})}));function pe(e){var n=e.id,t=e.onRowClick,a=fe();return Object(c.jsx)(ae.a,{id:n,align:"left",children:Object(c.jsx)(re.a,{id:"".concat(n,"-button"),href:"#",onClick:function(e){e.preventDefault(),t&&t()},children:Object(c.jsxs)(D.a,{display:"flex",children:[Object(c.jsx)(W.a,{component:"p",variant:"body1",children:"Edit"}),Object(c.jsx)(ie.a,{fontSize:"small",className:a.editIcon})]})})})}var me=t(179),he=t(198),Oe=t(93),ge=t.n(Oe),xe=t(72),Ce=Object(s.a)((function(e){return{root:{marginLeft:-20,color:e.palette.common.white,"&:hover":{color:e.palette.neutral[600]}}}})),ye=Object(s.a)((function(e){return Object(b.a)({headcell:{background:e.palette.common.white}})}));function ke(e){return e.map((function(e){return{id:e.key,disablePadding:!1,label:e.name.toUpperCase()}}))}function we(e){var n=ye(),t=e.order,a=e.orderBy,r=e.onRequestSort,o=l.a.useState(ke(e.columns)),i=Object(M.a)(o,2),d=i[0],u=i[1];return l.a.useEffect((function(){u(ke(e.columns))}),[e.columns]),Object(c.jsx)(Se,{lockAxis:"x",axis:"x",onSortEnd:e.onReorderEnd,useDragHandle:!0,children:Object(c.jsx)(_.a,{id:"table-header",children:d.map((function(o,i){return Object(c.jsx)(De,{disabled:!e.onReorderEnd,index:i,value:Object(c.jsx)(ae.a,{id:"table-header-".concat(o.id),align:"left",padding:o.disablePadding?"none":"default",sortDirection:a===o.id&&t,className:n.headcell,children:o.label&&Object(c.jsxs)(he.a,{active:a===o.id,direction:a===o.id?t:"asc",onClick:(l=o.id,function(e){r(e,l)}),children:[i>0&&Object(c.jsx)(Re,{}),o.label]})},o.id)},o.id);var l}))})})}var Re=Object(xe.c)((function(){return Object(c.jsx)(ge.a,{fontSize:"small",classes:Ce()})})),Se=Object(xe.a)((function(e){var n=e.children;return Object(c.jsx)(me.a,{children:n})})),De=Object(xe.b)((function(e){var n=e.value;return Object(c.jsx)(c.Fragment,{children:n})})),Ne=Object(s.a)((function(e){return{hover:{"&:hover":{cursor:"pointer",backgroundColor:"".concat(e.palette.neutral[100],"!important")}},table:{padding:e.spacing(0,3),borderCollapse:"initial"},container:{maxHeight:850},inactiveRow:{background:e.palette.neutral[50]}}}));function Be(e){var n=e.id,t=e.columns,a=e.rows,r=e.order,o=void 0===r?"asc":r,i=e.orderBy,d=e.Renderer,u=void 0===d?de:d,s=e.onSelect,b=e.DetailsRenderer,j=e.sortComparator,v=void 0===j?ee:j,f=e.sortHandler,p=e.isInactive,m=e.onReorderEnd,h=e.isClickable,O=Ne(),g=l.a.useState(o),x=Object(M.a)(g,2),C=x[0],y=x[1],k=l.a.useState(i),w=Object(M.a)(k,2),R=w[0],S=w[1],D=t.filter((function(e){return"edit"===e.type})).length>0;return Object(c.jsx)($.a,{className:O.container,id:n,children:Object(c.jsxs)(Q.a,{stickyHeader:!0,"aria-labelledby":"tableTitle",size:"medium","aria-label":"enhanced table",className:O.table,children:[Object(c.jsx)(we,{order:C,orderBy:R,onRequestSort:function(e,n){var t=R===n&&"asc"===C?"desc":"asc";y(t),S(n),f&&f(t,n)},columns:t,onReorderEnd:m}),Object(c.jsx)(X.a,{children:te(a,ne(C,R,v)).map((function(e,n){var a=s?function(){return s(e)}:void 0;return Object(c.jsxs)(l.a.Fragment,{children:[Object(c.jsx)(_.a,{id:"row".concat(n+1),classes:{hover:O.hover},hover:Boolean(s)&&(!h||h(e))&&!D,onClick:function(n){n.stopPropagation(),!a||D||h&&!h(e)||a()},className:p&&p(e)?O.inactiveRow:void 0,children:t.map((function(t){return Object(c.jsx)(u,{index:n+1,row:e,column:t,value:e[t.key],onRowClick:a},t.key)}))}),b&&Object(c.jsx)(b,{index:n,row:e})]},n)}))})]})})}}},[[131,1,2]]]);
|
|
2
|
+
//# sourceMappingURL=main.f380cd0f.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/Autocomplete.tsx","components/CancelButton.tsx","components/Checkbox.tsx","components/DatePicker.tsx","components/DialogCloseButton.tsx","components/Divisor.tsx","components/Dropdown.tsx","components/Note.tsx","components/RadioButton.tsx","components/SummaryBox.tsx","components/TextArea.tsx","components/TextField.tsx","components/table/sort.ts","components/table/TableCellRenderer.tsx","components/table/TableHeader.tsx","components/table/index.tsx"],"names":["Autocomplete","id","label","values","onChange","selected","onChangeHandler","event","value","options","getOptionLabel","option","onInputChange","inputValue","freeSolo","forcePopupIcon","renderInput","params","TextField","variant","size","useStyles","makeStyles","theme","createStyles","cancel","backgroundColor","palette","common","white","borderColor","neutral","borderWidth","CancelButton","onClick","classes","Chip","className","clickable","Checkbox","props","FormControlLabel","checked","disabled","control","color","root","margin","DatePicker","React","useEffect","moment","locale","window","navigator","language","date","isValid","toISOString","toString","KeyboardButtonProps","disableToolbar","inputVariant","format","localeData","longDateFormat","fullWidth","onKeyPress","maxDate","undefined","error","helperText","closeButton","position","right","spacing","top","DialogCloseButton","IconButton","aria-label","Divisor","mt","Box","Divider","light","formControl","width","Dropdown","FormControl","InputLabel","Select","labelId","_child","target","map","labelv","MenuItem","note","borderRadius","marginBottom","padding","Note","children","Typography","component","RadioButton","Radio","bold","fontWeight","typography","fontWeightBold","whiteSpace","summaryDefault","summaryAvailable","summaryZero","state","full","height","boxSizing","infoIcon","SummaryBox","title","icon","onIconClick","style","TextArea","type","multiline","rows","placeholder","adornedEnd","paddingRight","InputProps","endAdornment","inputProps","min","required","autoComplete","autocomplete","descendingComparator","a","b","orderBy","bValue","aValue","getComparator","order","sorting","stableSort","array","comparator","stabilizedThis","el","index","sort","CellRenderer","column","onRowClick","key","CellDateRenderer","CellNotesRenderer","CellBooleanRenderer","CellEditRenderer","CellTextRenderer","cellDateFormatter","Date","toLocaleDateString","day","month","year","timeZone","TableCell","align","length","editIcon","marginLeft","Link","href","preventDefault","display","fontSize","dragIconStyles","headcell","background","columnsToHeadCells","columns","c","disablePadding","name","toUpperCase","EnhancedTableHead","onRequestSort","useState","headCells","setHeadCells","SortableHead","lockAxis","axis","onSortEnd","onReorderEnd","useDragHandle","TableRow","headCell","i","SortableCell","sortDirection","TableSortLabel","active","direction","property","DragHandle","SortableHandle","SortableContainer","TableHead","SortableElement","tableStyles","hover","cursor","table","borderCollapse","container","maxHeight","inactiveRow","EnhancedTable","_order","_orderBy","Renderer","TableCellRenderer","onSelect","DetailsRenderer","sortComparator","sortHandler","isInactive","isClickable","setOrder","setOrderBy","hasEditColumn","filter","TableContainer","Table","stickyHeader","aria-labelledby","newOrder","TableBody","row","Fragment","Boolean","e","stopPropagation"],"mappings":"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","file":"static/js/main.f380cd0f.chunk.js","sourcesContent":["import { TextField } from '@material-ui/core';\nimport { Autocomplete as MUIAutocomplete } from '@material-ui/lab';\nimport React, { ChangeEvent } from 'react';\n\nexport interface Props {\n id: string;\n label: string;\n values: string[];\n onChange: (id: string, value: string) => void;\n selected: string | undefined;\n}\n\nexport type DropdownItem = {\n label: string;\n value: string;\n};\n\nexport default function Autocomplete({\n id,\n label,\n values,\n onChange,\n selected,\n}: Props): JSX.Element {\n const onChangeHandler = (event: ChangeEvent<any>, value: string | null) => {\n if (event) {\n if (value) {\n onChange(id, value);\n } else {\n onChange(id, '');\n }\n }\n };\n\n return (\n <MUIAutocomplete\n id={id}\n options={values}\n getOptionLabel={(option) => (option ? option : '')}\n onChange={onChangeHandler}\n onInputChange={onChangeHandler}\n inputValue={selected}\n freeSolo={true}\n forcePopupIcon={true}\n renderInput={(params) => (\n <TextField {...params} label={label} variant='outlined' size='small' />\n )}\n />\n );\n}\n","import { Chip } from '@material-ui/core';\nimport { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport React from 'react';\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n cancel: {\n backgroundColor: theme.palette.common.white,\n borderColor: theme.palette.neutral[400],\n borderWidth: 1,\n },\n })\n);\n\nexport interface Props {\n onClick: () => void;\n label?: string;\n}\n\nexport default function CancelButton({ onClick, label }: Props): JSX.Element {\n const classes = useStyles();\n\n return (\n <Chip\n id='cancel'\n className={classes.cancel}\n label={label ?? 'Cancel'}\n clickable={true}\n onClick={onClick}\n variant='outlined'\n />\n );\n}\n","import { Checkbox as MUICheckbox, FormControlLabel } from '@material-ui/core';\nimport React from 'react';\n\nexport interface Props {\n id: string;\n name: string;\n label: React.ReactNode;\n value?: boolean | null;\n onChange: (id: string, value: boolean) => void;\n disabled?: boolean;\n}\n\nexport default function Checkbox(props: Props): JSX.Element {\n const onChange = (\n event: React.ChangeEvent<Record<string, never>>,\n checked: boolean\n ) => {\n props.onChange(props.id, checked);\n };\n\n return (\n <FormControlLabel\n id={props.id}\n onChange={onChange}\n label={props.label}\n disabled={props.disabled}\n control={\n <MUICheckbox\n id={'check-' + props.id}\n color='primary'\n checked={props.value ?? false}\n />\n }\n />\n );\n}\n","import { createStyles, makeStyles } from '@material-ui/core';\nimport { KeyboardDatePicker } from '@material-ui/pickers';\nimport { MaterialUiPickersDate } from '@material-ui/pickers/typings/date';\nimport moment from 'moment';\nimport 'moment/min/locales';\nimport React, { KeyboardEventHandler } from 'react';\n\nconst useStyles = makeStyles(() =>\n createStyles({\n root: {\n margin: 0,\n },\n })\n);\n\nexport interface Props {\n id: string;\n label: React.ReactNode;\n value?: string | null;\n onChange: (id: string, value?: string) => void;\n 'aria-label': string;\n onKeyPress?: KeyboardEventHandler;\n maxDate?: string;\n error?: boolean;\n helperText?: string;\n disabled?: boolean;\n}\n\nexport default function DatePicker(props: Props): JSX.Element {\n const classes = useStyles();\n const onDateChange = (date: MaterialUiPickersDate) => {\n if (date && date.isValid()) {\n props.onChange(props.id, date?.toISOString());\n } else {\n props.onChange(props.id, date?.toString());\n }\n };\n\n React.useEffect(() => {\n moment.locale([window.navigator.language, 'en']);\n }, []);\n\n return (\n <KeyboardDatePicker\n id={props.id}\n value={props.value ?? null}\n onChange={onDateChange}\n label={props.label}\n KeyboardButtonProps={{\n 'aria-label': props['aria-label'],\n }}\n disableToolbar={true}\n variant='inline'\n inputVariant='outlined'\n format={moment.localeData().longDateFormat('L')}\n margin='normal'\n size='small'\n fullWidth={true}\n className={classes.root}\n onKeyPress={props.onKeyPress}\n maxDate={props.maxDate ?? undefined}\n error={props.error}\n helperText={props.helperText}\n disabled={props.disabled}\n />\n );\n}\n","import { IconButton } from '@material-ui/core';\nimport { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport CloseIcon from '@material-ui/icons/Close';\nimport React from 'react';\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n closeButton: {\n position: 'absolute',\n right: theme.spacing(1),\n top: theme.spacing(1),\n color: theme.palette.neutral[600],\n },\n })\n);\n\nexport interface Props {\n onClick: () => void;\n}\n\nexport default function DialogCloseButton({ onClick }: Props): JSX.Element {\n const classes = useStyles();\n\n return (\n <IconButton\n aria-label='close'\n className={classes.closeButton}\n onClick={onClick}\n >\n <CloseIcon />\n </IconButton>\n );\n}\n","import { Box, Divider } from '@material-ui/core';\nimport React from 'react';\n\nexport interface Props {\n mt?: number;\n}\nexport default function Divisor({ mt = 3 }: Props): JSX.Element {\n return (\n <>\n <Box mt={mt} />\n <Divider light={true} />\n <Box mt={mt} />\n </>\n );\n}\n","import {\n createStyles,\n FormControl,\n InputLabel,\n makeStyles,\n MenuItem,\n Select,\n} from '@material-ui/core';\nimport React from 'react';\n\nexport interface Props {\n id: string;\n label: string;\n values?: DropdownItem[];\n onChange: (id: string, value: string) => void;\n selected: string | undefined;\n disabled?: boolean;\n}\nconst useStyles = makeStyles(() =>\n createStyles({\n formControl: {\n width: '100%',\n },\n })\n);\n\nexport type DropdownItem = {\n label: string;\n value: string;\n};\n\nexport default function Dropdown({\n id,\n label,\n values,\n onChange,\n selected,\n disabled,\n}: Props): JSX.Element {\n const onChangeH = (\n event: React.ChangeEvent<{\n name?: string | undefined;\n value: unknown;\n }>,\n _child: React.ReactNode\n ) => {\n onChange(id, event.target.value as string);\n };\n const classes = useStyles();\n\n return (\n <FormControl\n variant='outlined'\n className={classes.formControl}\n size='small'\n disabled={disabled}\n >\n <InputLabel id={`${id}-outlined-label`}>{label}</InputLabel>\n <Select\n labelId={`${id}-outlined-label`}\n id={id}\n label={label}\n onChange={onChangeH}\n value={selected}\n >\n {values?.map(({ label: labelv, value }) => (\n <MenuItem id={value} key={value} value={value}>\n {labelv}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n );\n}\n","import { Box, Typography } from '@material-ui/core';\nimport { createStyles, makeStyles } from '@material-ui/core/styles';\nimport React from 'react';\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n note: {\n borderRadius: 8,\n backgroundColor: theme.palette.neutral[200],\n marginBottom: theme.spacing(3),\n padding: theme.spacing(2),\n },\n })\n);\n\nexport interface Props {\n children: string;\n}\n\nexport default function Note({ children }: Props): JSX.Element {\n const classes = useStyles();\n\n return (\n <Box className={classes.note}>\n <Typography component='p'>{children}</Typography>\n </Box>\n );\n}\n","import { FormControlLabel, Radio } from '@material-ui/core';\nimport React from 'react';\n\nexport interface Props {\n id: string;\n name: string;\n label: React.ReactNode;\n value?: boolean | null;\n onChange: (id: string, value: boolean) => void;\n}\n\nexport default function RadioButton(props: Props): JSX.Element {\n const onChange = (\n event: React.ChangeEvent<Record<string, never>>,\n checked: boolean\n ) => {\n props.onChange(props.id, checked);\n };\n\n return (\n <FormControlLabel\n id={props.id}\n onChange={onChange}\n label={props.label}\n control={\n <Radio\n id={'radio-' + props.id}\n color='primary'\n checked={props.value ?? false}\n />\n }\n />\n );\n}\n","import { Box, IconButton, Typography } from '@material-ui/core';\nimport { createStyles, makeStyles } from '@material-ui/core/styles';\nimport InfoIcon from '@material-ui/icons/Info';\nimport React from 'react';\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n bold: {\n fontWeight: theme.typography.fontWeightBold,\n whiteSpace: 'pre-line',\n },\n summaryDefault: {\n position: 'relative',\n borderRadius: 8,\n backgroundColor: theme.palette.neutral[200],\n padding: theme.spacing(2),\n },\n summaryAvailable: {\n borderRadius: 8,\n backgroundColor: theme.palette.neutral[700],\n padding: theme.spacing(2),\n color: theme.palette.common.white,\n },\n summaryZero: {\n borderRadius: 8,\n backgroundColor: theme.palette.state[5],\n padding: theme.spacing(2),\n color: theme.palette.common.white,\n },\n full: {\n borderRadius: 8,\n backgroundColor: theme.palette.neutral[200],\n padding: theme.spacing(2),\n height: '100%',\n boxSizing: 'border-box',\n },\n infoIcon: {\n position: 'absolute',\n right: theme.spacing(2),\n },\n })\n);\n\nexport interface Props {\n id?: string;\n title: string;\n value: number | string;\n variant?: 'default' | 'available' | 'zero' | 'full';\n icon?: boolean;\n onIconClick?: () => void;\n}\n\nexport default function SummaryBox({\n title,\n value,\n variant = 'default',\n id,\n icon,\n onIconClick,\n}: Props): JSX.Element {\n const classes = useStyles();\n\n const style =\n variant === 'default'\n ? classes.summaryDefault\n : variant === 'available'\n ? classes.summaryAvailable\n : variant === 'full'\n ? classes.full\n : classes.summaryZero;\n\n return (\n <Box className={style} id={id}>\n {icon && (\n <IconButton className={classes.infoIcon} onClick={onIconClick}>\n <InfoIcon />\n </IconButton>\n )}\n <Typography component='p'>{title}</Typography>\n <Typography component='p' variant='h6' className={classes.bold}>\n {value}\n </Typography>\n </Box>\n );\n}\n","import { TextField as MUITextField } from '@material-ui/core';\nimport React from 'react';\nimport { Props } from './TextField';\n\nexport default function TextArea(props: Props): JSX.Element {\n const onChange = (\n event: React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>\n ) => {\n props.onChange(props.id, event.target.value);\n };\n\n return (\n <MUITextField\n id={props.id}\n value={props.value ?? ''}\n onChange={onChange}\n type={props.type}\n label={props.label}\n multiline={true}\n rows={4}\n variant='outlined'\n size='small'\n fullWidth={true}\n placeholder={props.placeholder}\n />\n );\n}\n","import { createStyles, makeStyles, TextField as MUITextField } from '@material-ui/core';\nimport React, { KeyboardEventHandler } from 'react';\n\nconst useStyles = makeStyles(() =>\n createStyles({\n adornedEnd: {\n paddingRight: 0,\n },\n })\n);\n\nexport interface Props {\n id: string;\n value: unknown | null;\n onChange: (id: string, value: unknown) => void;\n type?: React.InputHTMLAttributes<unknown>['type'];\n label: React.ReactNode;\n disabled?: boolean;\n endAdornment?: JSX.Element;\n onKeyPress?: KeyboardEventHandler;\n min?: number;\n error?: boolean;\n helperText?: string;\n placeholder?: string;\n required?: boolean;\n autocomplete?: string;\n}\n\nexport default function TextField(props: Props): JSX.Element {\n const classes = useStyles();\n\n const onChange = (event: React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>) => {\n props.onChange(props.id, event.target.value);\n };\n\n return (\n <MUITextField\n id={props.id}\n value={props.value ?? ''}\n onChange={onChange}\n type={props.type}\n label={props.label}\n variant='outlined'\n size='small'\n fullWidth={true}\n disabled={props.disabled}\n onKeyPress={props.onKeyPress}\n InputProps={{\n endAdornment: props.endAdornment,\n classes: {\n adornedEnd: classes.adornedEnd,\n },\n inputProps: {\n min: props.min,\n },\n }}\n error={props.error}\n helperText={props.helperText}\n required={props.required}\n autoComplete={props.autocomplete}\n />\n );\n}\n","export function descendingComparator<T>(\n a: T,\n b: T,\n orderBy: keyof T\n): 1 | -1 | 0 {\n const bValue = b[orderBy] ?? '';\n const aValue = a[orderBy] ?? '';\n if (bValue < aValue) {\n return -1;\n }\n if (bValue > aValue) {\n return 1;\n }\n\n return 0;\n}\n\nexport type Order = 'asc' | 'desc';\n\nexport function getComparator<Key extends keyof any>(\n order: Order,\n orderBy: Key,\n sorting: (a: any, b: any, orderBy: any) => 1 | -1 | 0\n): (\n a: { [key in Key]?: string | number | [] },\n b: { [key in Key]?: string | number | [] }\n) => number {\n return order === 'desc'\n ? (a, b) => sorting(a, b, orderBy)\n : (a, b) => -sorting(a, b, orderBy);\n}\n\nexport function stableSort<T>(\n array: T[],\n comparator: (a: T, b: T) => number\n): T[] {\n const stabilizedThis = array.map((el, index) => [el, index] as [T, number]);\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order !== 0) {\n return order;\n }\n\n return a[1] - b[1];\n });\n\n return stabilizedThis.map((el) => el[0]);\n}\n","import {\n Box,\n createStyles,\n Link,\n makeStyles,\n TableCell,\n Typography,\n} from '@material-ui/core';\nimport EditIcon from '@material-ui/icons/Edit';\nimport NotesIcon from '@material-ui/icons/Notes';\nimport React from 'react';\nimport { RendererProps } from './types';\n\nexport type TableRowType = Record<string, any>;\n\nexport default function CellRenderer(\n props: RendererProps<TableRowType>\n): JSX.Element {\n const { column, value, onRowClick, index } = props;\n const id = `row${index}-${column.key}`;\n if (column.type === 'date' && typeof value === 'string' && value) {\n return <CellDateRenderer id={id} value={value} />;\n } else if (column.type === 'notes' && value && typeof value === 'string') {\n return <CellNotesRenderer id={id} value={value} />;\n } else if (column.type === 'boolean') {\n return <CellBooleanRenderer id={id} value={value} />;\n } else if (column.type === 'edit') {\n return <CellEditRenderer id={id} onRowClick={onRowClick} />;\n }\n\n return <CellTextRenderer id={id} value={value} />;\n}\n\nexport const cellDateFormatter = (value?: string): string | undefined => {\n if (value) {\n return new Date(value).toLocaleDateString('en-US', {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric',\n timeZone: 'UTC',\n });\n }\n};\n\nexport function CellDateRenderer({\n id,\n value,\n}: {\n id: string;\n value: string;\n}): JSX.Element {\n return (\n <TableCell id={id} align='left'>\n <Typography component='p' variant='body1'>\n {cellDateFormatter(value)}\n </Typography>\n </TableCell>\n );\n}\n\nexport function CellTextRenderer({\n id,\n value,\n}: {\n id: string;\n value?: string | number | any[];\n}): JSX.Element {\n return (\n <TableCell id={id} align='left'>\n <Typography component='p' variant='body1'>\n {value}\n </Typography>\n </TableCell>\n );\n}\n\nexport function CellBooleanRenderer({\n id,\n value,\n}: {\n id: string;\n value?: string | number | any[];\n}): JSX.Element {\n return (\n <TableCell id={id} align='left'>\n <Typography component='p' variant='body1'>\n {value === 'true' ? 'YES' : 'NO'}\n </Typography>\n </TableCell>\n );\n}\n\nexport function CellNotesRenderer({\n id,\n value,\n}: {\n id: string;\n value?: string;\n}): JSX.Element {\n return (\n <TableCell id={id} align='left'>\n <Typography id={id} component='p' variant='body1'>\n {value && value.length > 0 ? <NotesIcon /> : ''}\n </Typography>\n </TableCell>\n );\n}\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n editIcon: {\n marginLeft: theme.spacing(1),\n },\n })\n);\n\nexport function CellEditRenderer({\n id,\n onRowClick,\n}: {\n id: string;\n onRowClick?: () => void;\n}): JSX.Element {\n const classes = useStyles();\n\n return (\n <TableCell id={id} align='left'>\n <Link\n id={`${id}-button`}\n href='#'\n onClick={(event: React.SyntheticEvent) => {\n event.preventDefault();\n if (onRowClick) {\n onRowClick();\n }\n }}\n >\n <Box display='flex'>\n <Typography component='p' variant='body1'>\n Edit\n </Typography>\n <EditIcon fontSize='small' className={classes.editIcon} />\n </Box>\n </Link>\n </TableCell>\n );\n}\n","import { createStyles, makeStyles, Theme } from '@material-ui/core';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableHead from '@material-ui/core/TableHead';\nimport TableRow from '@material-ui/core/TableRow';\nimport TableSortLabel from '@material-ui/core/TableSortLabel';\nimport DragIndicatorIcon from '@material-ui/icons/DragIndicator';\nimport React from 'react';\nimport {\n SortableContainer,\n SortableElement,\n SortableHandle,\n} from 'react-sortable-hoc';\nimport { Order } from './sort';\nimport { TableColumnType } from './types';\n\nconst dragIconStyles = makeStyles((theme) => ({\n root: {\n marginLeft: -20,\n color: theme.palette.common.white,\n '&:hover': {\n color: theme.palette.neutral[600],\n },\n },\n}));\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n headcell: {\n background: theme.palette.common.white,\n },\n })\n);\n\ninterface Props {\n onRequestSort: (event: React.MouseEvent<unknown>, property: string) => void;\n order: Order;\n orderBy?: string;\n columns: TableColumnType[];\n onReorderEnd?: ({ oldIndex, newIndex }: any) => void;\n}\n\ninterface HeadCell {\n disablePadding: boolean;\n id: string;\n label: string;\n}\n\nfunction columnsToHeadCells(columns: TableColumnType[]): HeadCell[] {\n return columns.map((c) => ({\n id: c.key,\n disablePadding: false,\n label: c.name.toUpperCase(),\n }));\n}\n\nexport default function EnhancedTableHead(props: Props): JSX.Element {\n const classes = useStyles();\n const { order, orderBy, onRequestSort } = props;\n const createSortHandler = (property: string) => (\n event: React.MouseEvent<unknown>\n ) => {\n onRequestSort(event, property);\n };\n\n const [headCells, setHeadCells] = React.useState<HeadCell[]>(\n columnsToHeadCells(props.columns)\n );\n React.useEffect(() => {\n setHeadCells(columnsToHeadCells(props.columns));\n }, [props.columns]);\n\n return (\n <SortableHead\n lockAxis='x'\n axis='x'\n onSortEnd={props.onReorderEnd}\n useDragHandle={true}\n >\n <TableRow id='table-header'>\n {headCells.map((headCell, i) => (\n <SortableCell\n disabled={!props.onReorderEnd}\n index={i}\n key={headCell.id}\n value={\n <TableCell\n id={`table-header-${headCell.id}`}\n key={headCell.id}\n align='left'\n padding={headCell.disablePadding ? 'none' : 'default'}\n sortDirection={orderBy === headCell.id ? order : false}\n className={classes.headcell}\n >\n {headCell.label && (\n <TableSortLabel\n active={orderBy === headCell.id}\n direction={orderBy === headCell.id ? order : 'asc'}\n onClick={createSortHandler(headCell.id)}\n >\n {i > 0 && <DragHandle />}\n {headCell.label}\n </TableSortLabel>\n )}\n </TableCell>\n }\n />\n ))}\n </TableRow>\n </SortableHead>\n );\n}\n\nconst DragHandle = SortableHandle(() => (\n <DragIndicatorIcon fontSize='small' classes={dragIconStyles()} />\n));\n\nconst SortableHead = SortableContainer(\n ({ children }: { children: React.ReactNode }) => {\n return <TableHead>{children}</TableHead>;\n }\n);\n\nconst SortableCell = SortableElement(\n ({ value }: { value: React.ReactNode }) => {\n return <>{value}</>;\n }\n);\n","import { makeStyles } from '@material-ui/core/styles';\nimport Table from '@material-ui/core/Table';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport TableRow from '@material-ui/core/TableRow';\nimport React from 'react';\nimport { descendingComparator, getComparator, Order, stableSort } from './sort';\nimport TableCellRenderer from './TableCellRenderer';\nimport TableHeader from './TableHeader';\nimport { DetailsRendererProps, RendererProps, TableColumnType } from './types';\n\nconst tableStyles = makeStyles((theme) => ({\n hover: {\n '&:hover': {\n cursor: 'pointer',\n backgroundColor: `${theme.palette.neutral[100]}!important`,\n },\n },\n table: {\n padding: theme.spacing(0, 3),\n borderCollapse: 'initial',\n },\n container: {\n maxHeight: 850,\n },\n inactiveRow: {\n background: theme.palette.neutral[50],\n },\n}));\n\nexport interface Props<T> {\n id?: string;\n orderBy: string;\n order?: Order;\n columns: TableColumnType[];\n rows: T[];\n Renderer?: (props: RendererProps<T>) => JSX.Element;\n onSelect?: (value: T) => void;\n DetailsRenderer?: (props: DetailsRendererProps) => JSX.Element;\n sortComparator?: (a: T, b: T, orderBy: keyof T) => 1 | -1 | 0;\n sortHandler?: (order: Order, orderBy: string) => void;\n isInactive?: (row: T) => boolean;\n onReorderEnd?: ({ oldIndex, newIndex }: any) => void;\n isClickable?: (row: T) => boolean;\n}\n\nexport default function EnhancedTable<T>({\n id,\n columns,\n rows,\n order: _order = 'asc',\n orderBy: _orderBy,\n Renderer = TableCellRenderer,\n onSelect,\n DetailsRenderer,\n sortComparator = descendingComparator,\n sortHandler,\n isInactive,\n onReorderEnd,\n isClickable,\n}: Props<T>): JSX.Element {\n const classes = tableStyles();\n const [order, setOrder] = React.useState<Order>(_order);\n const [orderBy, setOrderBy] = React.useState(_orderBy);\n\n const handleRequestSort = (\n event: React.MouseEvent<unknown>,\n property: string\n ) => {\n const isAsc = orderBy === property && order === 'asc';\n const newOrder = isAsc ? 'desc' : 'asc';\n setOrder(newOrder);\n setOrderBy(property);\n\n if (sortHandler) {\n sortHandler(newOrder, property);\n }\n };\n\n const hasEditColumn = columns.filter((c) => c.type === 'edit').length > 0;\n\n return (\n <TableContainer className={classes.container} id={id}>\n <Table\n stickyHeader={true}\n aria-labelledby='tableTitle'\n size='medium'\n aria-label='enhanced table'\n className={classes.table}\n >\n <TableHeader\n order={order}\n orderBy={orderBy}\n onRequestSort={handleRequestSort}\n columns={columns}\n onReorderEnd={onReorderEnd}\n />\n <TableBody>\n {stableSort(rows, getComparator(order, orderBy, sortComparator)).map(\n (row, index) => {\n const onClick = onSelect ? () => onSelect(row as T) : undefined;\n\n return (\n <React.Fragment key={index}>\n <TableRow\n id={`row${index + 1}`}\n classes={{ hover: classes.hover }}\n hover={\n Boolean(onSelect) &&\n (isClickable ? isClickable(row as T) : true) &&\n !hasEditColumn\n }\n onClick={(e) => {\n e.stopPropagation();\n if (\n onClick &&\n !hasEditColumn &&\n (isClickable ? isClickable(row as T) : true)\n ) {\n onClick();\n }\n }}\n className={\n isInactive && isInactive(row as T)\n ? classes.inactiveRow\n : undefined\n }\n >\n {columns.map((c) => (\n <Renderer\n index={index + 1}\n key={c.key}\n row={row as T}\n column={c}\n value={row[c.key]}\n onRowClick={onClick}\n />\n ))}\n </TableRow>\n {DetailsRenderer && (\n <DetailsRenderer index={index} row={row} />\n )}\n </React.Fragment>\n );\n }\n )}\n </TableBody>\n </Table>\n </TableContainer>\n );\n}\n\nexport function tableSort<T>(\n ignore: boolean,\n array: T[],\n comparator: (a: T, b: T) => number\n): T[] {\n if (ignore) {\n return array;\n }\n\n return stableSort(array, comparator);\n}\n"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
!function(e){function t(t){for(var n,l,p=t[0],f=t[1],i=t[2],c=0,s=[];c<p.length;c++)l=p[c],Object.prototype.hasOwnProperty.call(o,l)&&o[l]&&s.push(o[l][0]),o[l]=0;for(n in f)Object.prototype.hasOwnProperty.call(f,n)&&(e[n]=f[n]);for(a&&a(t);s.length;)s.shift()();return u.push.apply(u,i||[]),r()}function r(){for(var e,t=0;t<u.length;t++){for(var r=u[t],n=!0,p=1;p<r.length;p++){var f=r[p];0!==o[f]&&(n=!1)}n&&(u.splice(t--,1),e=l(l.s=r[0]))}return e}var n={},o={1:0},u=[];function l(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,l),r.l=!0,r.exports}l.m=e,l.c=n,l.d=function(e,t,r){l.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},l.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(e,t){if(1&t&&(e=l(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(l.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)l.d(r,n,function(t){return e[t]}.bind(null,n));return r},l.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(t,"a",t),t},l.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},l.p="/";var p=this["webpackJsonpweb-components"]=this["webpackJsonpweb-components"]||[],f=p.push.bind(p);p.push=t,p=p.slice();for(var i=0;i<p.length;i++)t(p[i]);var a=f;r()}([]);
|
|
2
|
+
//# sourceMappingURL=runtime-main.41a09053.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../webpack/bootstrap"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","1","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","this","oldJsonpFunction","slice"],"mappings":"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","file":"static/js/runtime-main.41a09053.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t1: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = this[\"webpackJsonpweb-components\"] = this[\"webpackJsonpweb-components\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// run deferred modules from other chunks\n \tcheckDeferredModules();\n"],"sourceRoot":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@terraware/web-components",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"author": "Terraformation Inc.",
|
|
5
|
+
"license": "Apache-2.0",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/terraware/web-components.git"
|
|
9
|
+
},
|
|
10
|
+
"bugs": {
|
|
11
|
+
"url": "https://github.com/terraware/web-components/issues"
|
|
12
|
+
},
|
|
13
|
+
"homepage": "https://github.com/terraware/web-components#readme",
|
|
14
|
+
"private": false,
|
|
15
|
+
"files": ["build"],
|
|
16
|
+
"dependencies": {
|
|
17
|
+
"@date-io/moment": "^2.10.11",
|
|
18
|
+
"@material-ui/core": "^4.11.4",
|
|
19
|
+
"@material-ui/icons": "^4.11.2",
|
|
20
|
+
"@material-ui/lab": "^4.0.0-alpha.58",
|
|
21
|
+
"@material-ui/pickers": "^3.3.10",
|
|
22
|
+
"@testing-library/jest-dom": "^5.11.4",
|
|
23
|
+
"@testing-library/react": "^11.1.0",
|
|
24
|
+
"@testing-library/user-event": "^12.1.10",
|
|
25
|
+
"classnames": "^2.3.1",
|
|
26
|
+
"license-report": "^6.0.0",
|
|
27
|
+
"moment": "^2.29.1",
|
|
28
|
+
"react": "^17.0.2",
|
|
29
|
+
"react-dom": "^17.0.2",
|
|
30
|
+
"react-scripts": "^4.0.3",
|
|
31
|
+
"react-sortable-hoc": "^2.0.0",
|
|
32
|
+
"sass": "^1.35.1",
|
|
33
|
+
"tinycolor2": "^1.4.2",
|
|
34
|
+
"web-vitals": "^1.0.1"
|
|
35
|
+
},
|
|
36
|
+
"scripts": {
|
|
37
|
+
"start": "start-storybook",
|
|
38
|
+
"build": "build-storybook -c .storybook -o public",
|
|
39
|
+
"test": "react-scripts test",
|
|
40
|
+
"eject": "react-scripts eject",
|
|
41
|
+
"storybook": "echo '>>>>> Starting Story-Book! <<<<<' && start-storybook",
|
|
42
|
+
"build-storybook": "echo '>>>>> Building Story-Book! <<<<<' && build-storybook -s public",
|
|
43
|
+
"build-dictionary": "echo '>>>> Building dictionary of styles! <<<<<' && ./style-dictionary/generate.sh",
|
|
44
|
+
"build-dist": "react-scripts build",
|
|
45
|
+
"lint": "tslint --project tsconfig.json",
|
|
46
|
+
"license-report": "license-report --only=prod --department.value=terraware --related.value=terraware --output=html > license-report.html",
|
|
47
|
+
"check-updates": "yarn build-dictionary && yarn storybook"
|
|
48
|
+
},
|
|
49
|
+
"eslintConfig": {
|
|
50
|
+
"extends": [
|
|
51
|
+
"react-app",
|
|
52
|
+
"react-app/jest"
|
|
53
|
+
],
|
|
54
|
+
"overrides": [
|
|
55
|
+
{
|
|
56
|
+
"files": [
|
|
57
|
+
"**/*.stories.*"
|
|
58
|
+
],
|
|
59
|
+
"rules": {
|
|
60
|
+
"import/no-anonymous-default-export": "off"
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
]
|
|
64
|
+
},
|
|
65
|
+
"browserslist": {
|
|
66
|
+
"production": [
|
|
67
|
+
">0.2%",
|
|
68
|
+
"not dead",
|
|
69
|
+
"not op_mini all"
|
|
70
|
+
],
|
|
71
|
+
"development": [
|
|
72
|
+
"last 1 chrome version",
|
|
73
|
+
"last 1 firefox version",
|
|
74
|
+
"last 1 safari version"
|
|
75
|
+
]
|
|
76
|
+
},
|
|
77
|
+
"devDependencies": {
|
|
78
|
+
"@storybook/addon-actions": "^6.3.7",
|
|
79
|
+
"@storybook/addon-essentials": "^6.3.7",
|
|
80
|
+
"@storybook/addon-links": "^6.3.7",
|
|
81
|
+
"@storybook/node-logger": "^6.3.7",
|
|
82
|
+
"@storybook/preset-create-react-app": "^3.2.0",
|
|
83
|
+
"@storybook/react": "^6.3.7",
|
|
84
|
+
"style-dictionary": "^3.0.1",
|
|
85
|
+
"tslint": "^6.1.3",
|
|
86
|
+
"tslint-config-prettier": "^1.18.0",
|
|
87
|
+
"tslint-eslint-rules": "^5.4.0",
|
|
88
|
+
"tslint-react": "^5.0.0",
|
|
89
|
+
"tslint-react-hooks": "^2.2.2",
|
|
90
|
+
"typescript": "^4.3.2"
|
|
91
|
+
},
|
|
92
|
+
"resolutions": {
|
|
93
|
+
"babel-loader": "8.1.0"
|
|
94
|
+
}
|
|
95
|
+
}
|