@pautena/react-design-system 0.14.0 → 0.14.2
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/action/cjs/index.js +2 -0
- package/action/cjs/index.js.map +1 -0
- package/action/cjs/package.json +13 -0
- package/action/index.js +1 -1
- package/action/index.js.map +1 -1
- package/action/package.json +1 -1
- package/autocomplete/autocomplete.d.ts +2 -1
- package/autocomplete/cjs/index.js +2 -0
- package/autocomplete/cjs/index.js.map +1 -0
- package/autocomplete/cjs/package.json +11 -0
- package/autocomplete/index.js +1 -23
- package/autocomplete/index.js.map +1 -1
- package/autocomplete/package.json +1 -1
- package/board/board.d.ts +1 -1
- package/board/cjs/index.js +2 -0
- package/board/cjs/index.js.map +1 -0
- package/board/cjs/package.json +13 -0
- package/board/index.js +1 -1
- package/board/index.js.map +1 -1
- package/board/package.json +1 -1
- package/bootstrap-dialog/bootstrap-dialog.d.ts +1 -1
- package/bootstrap-dialog/cjs/index.js +2 -0
- package/bootstrap-dialog/cjs/index.js.map +1 -0
- package/bootstrap-dialog/cjs/package.json +13 -0
- package/bootstrap-dialog/index.js +1 -1
- package/bootstrap-dialog/index.js.map +1 -1
- package/bootstrap-dialog/package.json +1 -1
- package/bullet/bullet.d.ts +1 -1
- package/bullet/cjs/index.js +2 -0
- package/bullet/cjs/index.js.map +1 -0
- package/bullet/cjs/package.json +11 -0
- package/bullet/index.js +1 -1
- package/bullet/index.js.map +1 -1
- package/bullet/package.json +1 -1
- package/center-container/center-container.d.ts +1 -1
- package/center-container/cjs/index.js +2 -0
- package/center-container/cjs/index.js.map +1 -0
- package/center-container/cjs/package.json +11 -0
- package/center-container/index.js +1 -1
- package/center-container/index.js.map +1 -1
- package/center-container/package.json +1 -1
- package/cjs/index.js +4 -4
- package/cjs/index.js.map +1 -1
- package/confirm-dialog/cjs/index.js +2 -0
- package/confirm-dialog/cjs/index.js.map +1 -0
- package/confirm-dialog/cjs/package.json +13 -0
- package/confirm-dialog/confirm-dialog.d.ts +1 -1
- package/confirm-dialog/index.js +1 -1
- package/confirm-dialog/index.js.map +1 -1
- package/confirm-dialog/package.json +1 -1
- package/content/cjs/index.js +2 -0
- package/content/cjs/index.js.map +1 -0
- package/content/cjs/package.json +11 -0
- package/content/index.js +1 -1
- package/content/index.js.map +1 -1
- package/content/package.json +1 -1
- package/content-placeholder/cjs/index.js +2 -0
- package/content-placeholder/cjs/index.js.map +1 -0
- package/content-placeholder/cjs/package.json +11 -0
- package/content-placeholder/index.js +1 -1
- package/content-placeholder/index.js.map +1 -1
- package/content-placeholder/package.json +1 -1
- package/date-range-calendar/cjs/index.js +2 -0
- package/date-range-calendar/cjs/index.js.map +1 -0
- package/date-range-calendar/cjs/package.json +13 -0
- package/date-range-calendar/index.js +1 -1
- package/date-range-calendar/index.js.map +1 -1
- package/date-range-calendar/package.json +1 -1
- package/date-range-picker/cjs/index.js +2 -0
- package/date-range-picker/cjs/index.js.map +1 -0
- package/date-range-picker/cjs/package.json +14 -0
- package/date-range-picker/index.js +1 -1
- package/date-range-picker/index.js.map +1 -1
- package/date-range-picker/package.json +1 -1
- package/dialog/cjs/index.js +2 -0
- package/dialog/cjs/index.js.map +1 -0
- package/dialog/cjs/package.json +10 -0
- package/dialog/package.json +1 -1
- package/drawer/cjs/index.js +2 -0
- package/drawer/cjs/index.js.map +1 -0
- package/drawer/cjs/package.json +12 -0
- package/drawer/drawer.d.ts +3 -3
- package/drawer/drawer.types.d.ts +5 -4
- package/drawer/index.js +1 -1
- package/drawer/index.js.map +1 -1
- package/drawer/package.json +1 -1
- package/drawer-app-bar/cjs/index.js +2 -0
- package/drawer-app-bar/cjs/index.js.map +1 -0
- package/drawer-app-bar/cjs/package.json +12 -0
- package/drawer-app-bar/index.js +1 -1
- package/drawer-app-bar/index.js.map +1 -1
- package/drawer-app-bar/package.json +1 -1
- package/drawer-content/cjs/index.js +2 -0
- package/drawer-content/cjs/index.js.map +1 -0
- package/drawer-content/cjs/package.json +13 -0
- package/drawer-content/drawer-content.d.ts +1 -1
- package/drawer-content/index.js +1 -1
- package/drawer-content/index.js.map +1 -1
- package/drawer-content/package.json +1 -1
- package/drawer-item/cjs/index.js +2 -0
- package/drawer-item/cjs/index.js.map +1 -0
- package/drawer-item/cjs/package.json +13 -0
- package/drawer-item/drawer-item-link.d.ts +1 -1
- package/drawer-item/drawer-menu-item.d.ts +1 -1
- package/drawer-item/index.js +1 -1
- package/drawer-item/index.js.map +1 -1
- package/drawer-item/package.json +1 -1
- package/drawer-layout/cjs/index.js +2 -0
- package/drawer-layout/cjs/index.js.map +1 -0
- package/drawer-layout/cjs/package.json +12 -0
- package/drawer-layout/index.js +1 -1
- package/drawer-layout/index.js.map +1 -1
- package/drawer-layout/package.json +1 -1
- package/drawer-main/cjs/index.js +2 -0
- package/drawer-main/cjs/index.js.map +1 -0
- package/drawer-main/cjs/package.json +12 -0
- package/drawer-main/index.js +1 -1
- package/drawer-main/index.js.map +1 -1
- package/drawer-main/package.json +1 -1
- package/drawer-provider/cjs/index.js +2 -0
- package/drawer-provider/cjs/index.js.map +1 -0
- package/drawer-provider/cjs/package.json +12 -0
- package/drawer-provider/drawer-context.d.ts +1 -1
- package/drawer-provider/drawer.provider.d.ts +1 -1
- package/drawer-provider/index.js +1 -1
- package/drawer-provider/index.js.map +1 -1
- package/drawer-provider/package.json +1 -1
- package/drawer-section/cjs/index.js +2 -0
- package/drawer-section/cjs/index.js.map +1 -0
- package/drawer-section/cjs/package.json +13 -0
- package/drawer-section/drawer-section.d.ts +1 -1
- package/drawer-section/index.js +1 -1
- package/drawer-section/index.js.map +1 -1
- package/drawer-section/package.json +1 -1
- package/drawer-subheader/cjs/index.js +2 -0
- package/drawer-subheader/cjs/index.js.map +1 -0
- package/drawer-subheader/cjs/package.json +10 -0
- package/drawer-subheader/drawer-subheader.d.ts +5 -5
- package/drawer-subheader/index.js +1 -1
- package/drawer-subheader/index.js.map +1 -1
- package/drawer-subheader/package.json +1 -1
- package/enhanced-remote-table/cjs/index.js +24 -0
- package/enhanced-remote-table/cjs/index.js.map +1 -0
- package/enhanced-remote-table/cjs/package.json +12 -0
- package/enhanced-remote-table/enhanced-remote-table.d.ts +1 -1
- package/enhanced-remote-table/enhanced-remote-table.mock.d.ts +2 -2
- package/enhanced-remote-table/index.js +4 -4
- package/enhanced-remote-table/index.js.map +1 -1
- package/enhanced-remote-table/package.json +1 -1
- package/enhanced-table/cjs/index.js +24 -0
- package/enhanced-table/cjs/index.js.map +1 -0
- package/enhanced-table/cjs/package.json +12 -0
- package/enhanced-table/index.js +4 -4
- package/enhanced-table/index.js.map +1 -1
- package/enhanced-table/package.json +1 -1
- package/expandable-alert/cjs/index.js +2 -0
- package/expandable-alert/cjs/index.js.map +1 -0
- package/expandable-alert/cjs/package.json +13 -0
- package/expandable-alert/expandable-alert.d.ts +3 -3
- package/expandable-alert/index.js +1 -1
- package/expandable-alert/index.js.map +1 -1
- package/expandable-alert/package.json +1 -1
- package/form-dialog/cjs/index.js +2 -0
- package/form-dialog/cjs/index.js.map +1 -0
- package/form-dialog/cjs/package.json +13 -0
- package/form-dialog/form-dialog.d.ts +1 -1
- package/form-dialog/index.js +1 -1
- package/form-dialog/index.js.map +1 -1
- package/form-dialog/package.json +1 -1
- package/generators/cjs/index.js +2 -0
- package/generators/cjs/index.js.map +1 -0
- package/generators/cjs/package.json +7 -0
- package/generators/package.json +1 -1
- package/group-value-card/cjs/index.js +2 -0
- package/group-value-card/cjs/index.js.map +1 -0
- package/group-value-card/cjs/package.json +11 -0
- package/group-value-card/group-value-card.d.ts +1 -1
- package/group-value-card/index.js +1 -1
- package/group-value-card/index.js.map +1 -1
- package/group-value-card/package.json +1 -1
- package/header/cjs/index.js +2 -0
- package/header/cjs/index.js.map +1 -0
- package/header/cjs/package.json +12 -0
- package/header/index.js +1 -1
- package/header/index.js.map +1 -1
- package/header/package.json +1 -1
- package/header-layout/cjs/index.js +2 -0
- package/header-layout/cjs/index.js.map +1 -0
- package/header-layout/cjs/package.json +12 -0
- package/header-layout/index.js +1 -1
- package/header-layout/index.js.map +1 -1
- package/header-layout/package.json +1 -1
- package/hooks/cjs/index.js +2 -0
- package/hooks/cjs/index.js.map +1 -0
- package/hooks/cjs/package.json +11 -0
- package/hooks/package.json +1 -1
- package/index.js +4 -4
- package/index.js.map +1 -1
- package/label/cjs/index.js +2 -0
- package/label/cjs/index.js.map +1 -0
- package/label/cjs/package.json +11 -0
- package/label/index.js +1 -1
- package/label/index.js.map +1 -1
- package/label/label.d.ts +1 -1
- package/label/package.json +1 -1
- package/link/cjs/index.js +2 -0
- package/link/cjs/index.js.map +1 -0
- package/link/cjs/package.json +12 -0
- package/link/index.js +1 -1
- package/link/index.js.map +1 -1
- package/link/link.d.ts +5 -5
- package/link/package.json +1 -1
- package/link-card/cjs/index.js +2 -0
- package/link-card/cjs/index.js.map +1 -0
- package/link-card/cjs/package.json +12 -0
- package/link-card/index.js +1 -1
- package/link-card/index.js.map +1 -1
- package/link-card/link-card.d.ts +1 -1
- package/link-card/package.json +1 -1
- package/list-panel/cjs/index.js +2 -0
- package/list-panel/cjs/index.js.map +1 -0
- package/list-panel/cjs/package.json +11 -0
- package/list-panel/index.js +1 -1
- package/list-panel/index.js.map +1 -1
- package/list-panel/package.json +1 -1
- package/loading-area/cjs/index.js +2 -0
- package/loading-area/cjs/index.js.map +1 -0
- package/loading-area/cjs/package.json +11 -0
- package/loading-area/index.js +1 -1
- package/loading-area/index.js.map +1 -1
- package/loading-area/package.json +1 -1
- package/lorem-ipsum-placeholder/cjs/index.js +2 -0
- package/lorem-ipsum-placeholder/cjs/index.js.map +1 -0
- package/lorem-ipsum-placeholder/cjs/package.json +12 -0
- package/lorem-ipsum-placeholder/index.js +1 -1
- package/lorem-ipsum-placeholder/index.js.map +1 -1
- package/lorem-ipsum-placeholder/package.json +1 -1
- package/markdown/cjs/index.js +2 -0
- package/markdown/cjs/index.js.map +1 -0
- package/markdown/cjs/package.json +12 -0
- package/markdown/index.js +1 -1
- package/markdown/index.js.map +1 -1
- package/markdown/package.json +1 -1
- package/model-form/cjs/index.js +2 -0
- package/model-form/cjs/index.js.map +1 -0
- package/model-form/cjs/package.json +12 -0
- package/model-form/index.js +1 -1
- package/model-form/index.js.map +1 -1
- package/model-form/model-form.d.ts +1 -1
- package/model-form/package.json +1 -1
- package/model-router/cjs/index.js +24 -0
- package/model-router/cjs/index.js.map +1 -0
- package/model-router/cjs/package.json +16 -0
- package/model-router/index.js +4 -4
- package/model-router/index.js.map +1 -1
- package/model-router/model-router.d.ts +1 -1
- package/model-router/package.json +1 -1
- package/model-router/screens/screens.types.d.ts +1 -1
- package/model-router/screens/update-screen.d.ts +2 -2
- package/model-router/stories/templates.d.ts +7 -7
- package/notification-center/cjs/index.js +2 -0
- package/notification-center/cjs/index.js.map +1 -0
- package/notification-center/cjs/package.json +11 -0
- package/notification-center/index.js +1 -1
- package/notification-center/index.js.map +1 -1
- package/notification-center/notification-center.context.d.ts +3 -3
- package/notification-center/package.json +1 -1
- package/object-details/cjs/index.js +2 -0
- package/object-details/cjs/index.js.map +1 -0
- package/object-details/cjs/package.json +15 -0
- package/object-details/index.js +1 -1
- package/object-details/index.js.map +1 -1
- package/object-details/package.json +1 -1
- package/package.json +1 -1
- package/placeholder/cjs/index.js +2 -0
- package/placeholder/cjs/index.js.map +1 -0
- package/placeholder/cjs/package.json +11 -0
- package/placeholder/index.js +1 -1
- package/placeholder/index.js.map +1 -1
- package/placeholder/package.json +1 -1
- package/query-container/cjs/index.js +2 -0
- package/query-container/cjs/index.js.map +1 -0
- package/query-container/cjs/package.json +11 -0
- package/query-container/index.js +1 -1
- package/query-container/index.js.map +1 -1
- package/query-container/package.json +1 -1
- package/search-input/cjs/index.js +2 -0
- package/search-input/cjs/index.js.map +1 -0
- package/search-input/cjs/package.json +13 -0
- package/search-input/index.js +1 -1
- package/search-input/index.js.map +1 -1
- package/search-input/package.json +1 -1
- package/search-input/search-input.d.ts +1 -1
- package/select/cjs/index.js +2 -0
- package/select/cjs/index.js.map +1 -0
- package/select/cjs/package.json +11 -0
- package/select/index.js +1 -1
- package/select/index.js.map +1 -1
- package/select/package.json +1 -1
- package/select/select.d.ts +2 -2
- package/sign-in/cjs/index.js +2 -0
- package/sign-in/cjs/index.js.map +1 -0
- package/sign-in/cjs/package.json +12 -0
- package/sign-in/index.js +1 -1
- package/sign-in/index.js.map +1 -1
- package/sign-in/package.json +1 -1
- package/skeleton-card/cjs/index.js +2 -0
- package/skeleton-card/cjs/index.js.map +1 -0
- package/skeleton-card/cjs/package.json +11 -0
- package/skeleton-card/index.js +1 -1
- package/skeleton-card/index.js.map +1 -1
- package/skeleton-card/package.json +1 -1
- package/skeleton-grid/cjs/index.js +2 -0
- package/skeleton-grid/cjs/index.js.map +1 -0
- package/skeleton-grid/cjs/package.json +11 -0
- package/skeleton-grid/index.js +1 -1
- package/skeleton-grid/index.js.map +1 -1
- package/skeleton-grid/package.json +1 -1
- package/tab-card/cjs/index.js +2 -0
- package/tab-card/cjs/index.js.map +1 -0
- package/tab-card/cjs/package.json +11 -0
- package/tab-card/index.js +1 -1
- package/tab-card/index.js.map +1 -1
- package/tab-card/package.json +1 -1
- package/tab-panel/cjs/index.js +2 -0
- package/tab-panel/cjs/index.js.map +1 -0
- package/tab-panel/cjs/package.json +11 -0
- package/tab-panel/index.js +1 -1
- package/tab-panel/index.js.map +1 -1
- package/tab-panel/package.json +1 -1
- package/tab-panel/tab-panel.d.ts +1 -1
- package/tab-provider/cjs/index.js +2 -0
- package/tab-provider/cjs/index.js.map +1 -0
- package/tab-provider/cjs/package.json +10 -0
- package/tab-provider/index.js +1 -1
- package/tab-provider/index.js.map +1 -1
- package/tab-provider/package.json +1 -1
- package/table-list/cjs/index.js +24 -0
- package/table-list/cjs/index.js.map +1 -0
- package/table-list/cjs/package.json +12 -0
- package/table-list/index.js +4 -4
- package/table-list/index.js.map +1 -1
- package/table-list/package.json +1 -1
- package/table-list/table-list.d.ts +2 -2
- package/text-field/cjs/index.js +2 -0
- package/text-field/cjs/index.js.map +1 -0
- package/text-field/cjs/package.json +11 -0
- package/text-field/index.js +1 -23
- package/text-field/index.js.map +1 -1
- package/text-field/package.json +1 -1
- package/text-field/text-field.d.ts +1 -1
- package/utils/cjs/index.js +2 -0
- package/utils/cjs/index.js.map +1 -0
- package/utils/cjs/package.json +10 -0
- package/utils/package.json +1 -1
- package/value-base/cjs/index.js +2 -0
- package/value-base/cjs/index.js.map +1 -0
- package/value-base/cjs/package.json +12 -0
- package/value-base/index.js +1 -1
- package/value-base/index.js.map +1 -1
- package/value-base/package.json +1 -1
- package/value-base/value-edit.d.ts +3 -3
- package/value-boolean/cjs/index.js +2 -0
- package/value-boolean/cjs/index.js.map +1 -0
- package/value-boolean/cjs/package.json +12 -0
- package/value-boolean/index.js +1 -1
- package/value-boolean/index.js.map +1 -1
- package/value-boolean/package.json +1 -1
- package/value-boolean/value-boolean.d.ts +1 -1
- package/value-card/cjs/index.js +2 -0
- package/value-card/cjs/index.js.map +1 -0
- package/value-card/cjs/package.json +11 -0
- package/value-card/index.js +1 -1
- package/value-card/index.js.map +1 -1
- package/value-card/package.json +1 -1
- package/value-content/cjs/index.js +2 -0
- package/value-content/cjs/index.js.map +1 -0
- package/value-content/cjs/package.json +11 -0
- package/value-content/index.js +1 -1
- package/value-content/index.js.map +1 -1
- package/value-content/package.json +1 -1
- package/value-content/value-content.d.ts +2 -2
- package/value-datetime/cjs/index.js +2 -0
- package/value-datetime/cjs/index.js.map +1 -0
- package/value-datetime/cjs/package.json +14 -0
- package/value-datetime/index.js +1 -1
- package/value-datetime/index.js.map +1 -1
- package/value-datetime/package.json +1 -1
- package/value-datetime/value-datetime.d.ts +1 -1
- package/value-image/cjs/index.js +2 -0
- package/value-image/cjs/index.js.map +1 -0
- package/value-image/cjs/package.json +11 -0
- package/value-image/index.js +1 -1
- package/value-image/index.js.map +1 -1
- package/value-image/package.json +1 -1
- package/value-image/value-image.d.ts +1 -1
- package/value-item/cjs/index.js +2 -0
- package/value-item/cjs/index.js.map +1 -0
- package/value-item/cjs/package.json +11 -0
- package/value-item/index.js +1 -1
- package/value-item/index.js.map +1 -1
- package/value-item/package.json +1 -1
- package/value-item/value-item.d.ts +1 -1
- package/value-label/cjs/index.js +2 -0
- package/value-label/cjs/index.js.map +1 -0
- package/value-label/cjs/package.json +12 -0
- package/value-label/index.js +1 -1
- package/value-label/index.js.map +1 -1
- package/value-label/package.json +1 -1
- package/value-label/value-label.d.ts +1 -1
- package/value-rating/cjs/index.js +2 -0
- package/value-rating/cjs/index.js.map +1 -0
- package/value-rating/cjs/package.json +12 -0
- package/value-rating/index.js +1 -1
- package/value-rating/index.js.map +1 -1
- package/value-rating/package.json +1 -1
- package/value-rating/value-rating.d.ts +1 -1
- package/value-text/cjs/index.js +2 -0
- package/value-text/cjs/index.js.map +1 -0
- package/value-text/cjs/package.json +12 -0
- package/value-text/index.js +1 -1
- package/value-text/index.js.map +1 -1
- package/value-text/package.json +1 -1
- package/value-text/value-text.d.ts +1 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),l=require("react"),a=require("@mui/material/Dialog"),t=require("@mui/material/DialogTitle"),i=require("@mui/material/DialogActions"),r=require("@mui/material/IconButton"),n=require("@mui/material/DialogContent"),o=require("@mui/material/CircularProgress"),c=require("@mui/material/Box"),s=require("@mui/material/Button"),u=require("@mui/lab/LoadingButton"),d=require("@mui/icons-material/Close"),p=require("@mui/material/TextField");function m(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var x=m(a),C=m(t),f=m(i),b=m(r),h=m(n),g=m(o),j=m(c),q=m(s),y=m(u),T=m(d),v=m(p);const A=({open:l,title:a,component:t,componentProps:i={},disabled:r,disableAccept:n,disableCancel:o,actions:c=[],children:s,loading:u,cancelable:d,callCloseWhenCancel:p=!0,acceptable:m,acceptText:v="Accept",cancelText:A="Cancel",onAccept:k,onCancel:D=(()=>null),onClose:B,acceptType:P="button"})=>{const W=c.length>0||m||d;return e.jsxs(x.default,{open:l,onClose:B,children:[e.jsxs(C.default,{sx:{display:"flex",alignItems:"center"},children:[a,u&&!m&&e.jsx(g.default,{size:20,sx:{ml:2,color:e=>e.palette.grey[500]}}),e.jsx(b.default,{disabled:r,"aria-label":"close",onClick:B,sx:{position:"absolute",right:8,top:8,color:e=>e.palette.grey[500]},children:e.jsx(T.default,{})})]}),e.jsxs(j.default,{component:t,...i,children:[e.jsx(h.default,{dividers:!0,children:s}),W&&e.jsxs(f.default,{children:[c.map((({id:l,text:a,type:t="button",onClick:i,color:n="primary"})=>e.jsx(q.default,{type:t,disabled:r,onClick:i,color:n,children:a},l))),d&&e.jsx(q.default,{color:"error",disabled:r||o,onClick:()=>{D(),p&&B()},children:A}),m&&e.jsx(y.default,{type:P,loading:u,disabled:r||n,onClick:k,children:v})]})]})]})};exports.ConfirmDialog=({open:a,title:t,loading:i,disabled:r,confirmText:n="Confirm",cancelText:o="Cancel",passphrase:c,children:s,onConfirm:u,onCancel:d})=>{const[p,m]=l.useState(""),x=!c||p===c;return e.jsxs(A,{title:t,loading:i,disabled:i||r,disableAccept:!x,open:a,onClose:d,acceptable:!0,cancelable:!0,callCloseWhenCancel:!1,acceptText:n,cancelText:o,onCancel:d,onAccept:u,children:[s,c&&e.jsx(v.default,{size:"small",fullWidth:!0,value:p,onChange:e=>m(e.target.value),placeholder:c})]})};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/bootstrap-dialog/bootstrap-dialog.tsx","../../../src/confirm-dialog/confirm-dialog.tsx"],"sourcesContent":["import Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport IconButton from \"@mui/material/IconButton\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport Box from \"@mui/material/Box\";\nimport Button from \"@mui/material/Button\";\nimport LoadingButton from \"@mui/lab/LoadingButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { BootstrapDialogDialogProps } from \"~/dialog/dialog.types\";\n\nexport const BootstrapDialog = ({\n open,\n title,\n component,\n componentProps = {},\n disabled,\n disableAccept,\n disableCancel,\n actions = [],\n children,\n loading,\n cancelable,\n callCloseWhenCancel = true,\n acceptable,\n acceptText = \"Accept\",\n cancelText = \"Cancel\",\n onAccept,\n onCancel = () => null,\n onClose,\n acceptType = \"button\",\n}: BootstrapDialogDialogProps) => {\n const hasActions = actions.length > 0 || acceptable || cancelable;\n\n return (\n <Dialog open={open} onClose={onClose}>\n <DialogTitle sx={{ display: \"flex\", alignItems: \"center\" }}>\n {title}\n {loading && !acceptable && (\n <CircularProgress size={20} sx={{ ml: 2, color: (theme) => theme.palette.grey[500] }} />\n )}\n <IconButton\n disabled={disabled}\n aria-label=\"close\"\n onClick={onClose}\n sx={{\n position: \"absolute\",\n right: 8,\n top: 8,\n color: (theme) => theme.palette.grey[500],\n }}\n >\n <CloseIcon />\n </IconButton>\n </DialogTitle>\n <Box component={component} {...componentProps}>\n <DialogContent dividers>{children}</DialogContent>\n {hasActions && (\n <DialogActions>\n {actions.map(({ id, text, type = \"button\", onClick, color = \"primary\" }) => (\n <Button key={id} type={type} disabled={disabled} onClick={onClick} color={color}>\n {text}\n </Button>\n ))}\n {cancelable && (\n <Button\n color=\"error\"\n disabled={disabled || disableCancel}\n onClick={() => {\n onCancel();\n callCloseWhenCancel && onClose();\n }}\n >\n {cancelText}\n </Button>\n )}\n\n {acceptable && (\n <LoadingButton\n type={acceptType}\n loading={loading}\n disabled={disabled || disableAccept}\n onClick={onAccept}\n >\n {acceptText}\n </LoadingButton>\n )}\n </DialogActions>\n )}\n </Box>\n </Dialog>\n );\n};\n","import { useState } from \"react\";\nimport { BootstrapDialog } from \"~/bootstrap-dialog\";\nimport { BootstrapDialogDialogProps } from \"~/dialog/dialog.types\";\nimport TextField from \"@mui/material/TextField\";\n\ntype OmitBaseDialogProps =\n | \"cancelable\"\n | \"acceptable\"\n | \"onAccept\"\n | \"onCancel\"\n | \"onClose\"\n | \"actions\"\n | \"callCloseWhenCancel\"\n | \"component\"\n | \"acceptType\";\nexport interface ConfirmDialogProps extends Omit<BootstrapDialogDialogProps, OmitBaseDialogProps> {\n confirmText?: string;\n canceText?: string;\n passphrase?: string;\n onCancel: () => void;\n onConfirm: () => void;\n}\n\nexport const ConfirmDialog = ({\n open,\n title,\n loading,\n disabled,\n confirmText = \"Confirm\",\n cancelText = \"Cancel\",\n passphrase,\n children,\n onConfirm,\n onCancel,\n}: ConfirmDialogProps) => {\n const [inputPassphrase, setInputPassphrase] = useState(\"\");\n const validPassphrase = !passphrase || inputPassphrase === passphrase;\n\n return (\n <BootstrapDialog\n title={title}\n loading={loading}\n disabled={loading || disabled}\n disableAccept={!validPassphrase}\n open={open}\n onClose={onCancel}\n acceptable\n cancelable\n callCloseWhenCancel={false}\n acceptText={confirmText}\n cancelText={cancelText}\n onCancel={onCancel}\n onAccept={onConfirm}\n >\n {children}\n {passphrase && (\n <TextField\n size=\"small\"\n fullWidth\n value={inputPassphrase}\n onChange={(e) => setInputPassphrase(e.target.value)}\n placeholder={passphrase}\n />\n )}\n </BootstrapDialog>\n );\n};\n"],"names":["BootstrapDialog","open","title","component","componentProps","disabled","disableAccept","disableCancel","actions","children","loading","cancelable","callCloseWhenCancel","acceptable","acceptText","cancelText","onAccept","onCancel","onClose","acceptType","hasActions","length","_jsxs","Dialog","jsxs","DialogTitle","sx","display","alignItems","_jsx","CircularProgress","size","ml","color","theme","palette","grey","IconButton","onClick","position","right","top","CloseIcon","Box","jsx","DialogContent","dividers","DialogActions","map","id","text","type","Button","LoadingButton","confirmText","passphrase","onConfirm","inputPassphrase","setInputPassphrase","useState","validPassphrase","TextField","fullWidth","value","onChange","e","target","placeholder"],"mappings":"irBAYO,MAAMA,EAAkB,EAC7BC,OACAC,QACAC,YACAC,iBAAiB,CAAA,EACjBC,WACAC,gBACAC,gBACAC,UAAU,GACVC,WACAC,UACAC,aACAC,uBAAsB,EACtBC,aACAC,aAAa,SACbC,aAAa,SACbC,WACAC,WAAW,KAAM,MACjBC,UACAC,aAAa,aAEb,MAAMC,EAAaZ,EAAQa,OAAS,GAAKR,GAAcF,EAEvD,OACEW,OAACC,EAAAA,QAAO,CAAAtB,KAAMA,EAAMiB,QAASA,EAC3BT,SAAA,CAAAa,EAAAE,KAACC,EAAW,QAAC,CAAAC,GAAI,CAAEC,QAAS,OAAQC,WAAY,UAAUnB,SAAA,CACvDP,EACAQ,IAAYG,GACXgB,MAACC,EAAgB,QAAA,CAACC,KAAM,GAAIL,GAAI,CAAEM,GAAI,EAAGC,MAAQC,GAAUA,EAAMC,QAAQC,KAAK,QAEhFP,EAAAA,IAACQ,EAAU,SACThC,SAAUA,EAAQ,aACP,QACXiC,QAASpB,EACTQ,GAAI,CACFa,SAAU,WACVC,MAAO,EACPC,IAAK,EACLR,MAAQC,GAAUA,EAAMC,QAAQC,KAAK,MAGvC3B,SAAAoB,EAAAA,IAACa,EAAAA,QAAY,CAAA,QAGjBpB,EAAAA,KAACqB,EAAAA,QAAI,CAAAxC,UAAWA,KAAeC,EAC7BK,SAAA,CAAAoB,EAAAe,IAACC,EAAa,QAAC,CAAAC,UAAU,EAAArC,SAAAA,IACxBW,GACCE,EAAAA,KAACyB,EAAAA,QAAa,CAAAtC,SAAA,CACXD,EAAQwC,KAAI,EAAGC,KAAIC,OAAMC,OAAO,SAAUb,UAASL,QAAQ,aAC1DJ,EAAAA,IAACuB,EAAAA,SAAgBD,KAAMA,EAAM9C,SAAUA,EAAUiC,QAASA,EAASL,MAAOA,EAAKxB,SAC5EyC,GADUD,KAIdtC,GACCkB,EAAAe,IAACQ,EAAM,QAAA,CACLnB,MAAM,QACN5B,SAAUA,GAAYE,EACtB+B,QAAS,KACPrB,IACAL,GAAuBM,GAAS,WAGjCH,IAIJF,GACCgB,EAAAA,IAACwB,EAAa,SACZF,KAAMhC,EACNT,QAASA,EACTL,SAAUA,GAAYC,EACtBgC,QAAStB,EAERP,SAAAK,YAOb,wBCrEyB,EAC3Bb,OACAC,QACAQ,UACAL,WACAiD,cAAc,UACdvC,aAAa,SACbwC,aACA9C,WACA+C,YACAvC,eAEA,MAAOwC,EAAiBC,GAAsBC,EAAQA,SAAC,IACjDC,GAAmBL,GAAcE,IAAoBF,EAE3D,OACEjC,OAACtB,EAAe,CACdE,MAAOA,EACPQ,QAASA,EACTL,SAAUK,GAAWL,EACrBC,eAAgBsD,EAChB3D,KAAMA,EACNiB,QAASD,EACTJ,cACAF,YAAU,EACVC,qBAAqB,EACrBE,WAAYwC,EACZvC,WAAYA,EACZE,SAAUA,EACVD,SAAUwC,YAET/C,EACA8C,GACC1B,MAACgC,EAAAA,QAAS,CACR9B,KAAK,QACL+B,WAAS,EACTC,MAAON,EACPO,SAAWC,GAAMP,EAAmBO,EAAEC,OAAOH,OAC7CI,YAAaZ,MAInB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@pautena/react-design-system/confirm-dialog",
|
|
3
|
+
"private": true,
|
|
4
|
+
"main": "./cjs/index.js",
|
|
5
|
+
"module": "./index.js",
|
|
6
|
+
"types": "./index.d.ts",
|
|
7
|
+
"dependencies": {
|
|
8
|
+
"@mui/icons-material": "^5.11.16",
|
|
9
|
+
"@mui/lab": "^5.0.0-alpha.134",
|
|
10
|
+
"@mui/material": "^5.13.6",
|
|
11
|
+
"react": "^18.2.0"
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BootstrapDialogDialogProps } from "
|
|
1
|
+
import { BootstrapDialogDialogProps } from "~/dialog/dialog.types";
|
|
2
2
|
type OmitBaseDialogProps = "cancelable" | "acceptable" | "onAccept" | "onCancel" | "onClose" | "actions" | "callCloseWhenCancel" | "component" | "acceptType";
|
|
3
3
|
export interface ConfirmDialogProps extends Omit<BootstrapDialogDialogProps, OmitBaseDialogProps> {
|
|
4
4
|
confirmText?: string;
|
package/confirm-dialog/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e,
|
|
1
|
+
import{jsxs as e,jsx as l}from"react/jsx-runtime";import{useState as o}from"react";import i from"@mui/material/Dialog";import t from"@mui/material/DialogTitle";import a from"@mui/material/DialogActions";import n from"@mui/material/IconButton";import r from"@mui/material/DialogContent";import c from"@mui/material/CircularProgress";import m from"@mui/material/Box";import p from"@mui/material/Button";import d from"@mui/lab/LoadingButton";import s from"@mui/icons-material/Close";import u from"@mui/material/TextField";const C=({open:o,title:u,component:C,componentProps:h={},disabled:b,disableAccept:f,disableCancel:g,actions:x=[],children:T,loading:y,cancelable:A,callCloseWhenCancel:k=!0,acceptable:B,acceptText:D="Accept",cancelText:v="Cancel",onAccept:W,onCancel:z=(()=>null),onClose:I,acceptType:P="button"})=>{const j=x.length>0||B||A;return e(i,{open:o,onClose:I,children:[e(t,{sx:{display:"flex",alignItems:"center"},children:[u,y&&!B&&l(c,{size:20,sx:{ml:2,color:e=>e.palette.grey[500]}}),l(n,{disabled:b,"aria-label":"close",onClick:I,sx:{position:"absolute",right:8,top:8,color:e=>e.palette.grey[500]},children:l(s,{})})]}),e(m,{component:C,...h,children:[l(r,{dividers:!0,children:T}),j&&e(a,{children:[x.map((({id:e,text:o,type:i="button",onClick:t,color:a="primary"})=>l(p,{type:i,disabled:b,onClick:t,color:a,children:o},e))),A&&l(p,{color:"error",disabled:b||g,onClick:()=>{z(),k&&I()},children:v}),B&&l(d,{type:P,loading:y,disabled:b||f,onClick:W,children:D})]})]})]})},h=({open:i,title:t,loading:a,disabled:n,confirmText:r="Confirm",cancelText:c="Cancel",passphrase:m,children:p,onConfirm:d,onCancel:s})=>{const[h,b]=o("");return e(C,{title:t,loading:a,disabled:a||n,disableAccept:!(!m||h===m),open:i,onClose:s,acceptable:!0,cancelable:!0,callCloseWhenCancel:!1,acceptText:r,cancelText:c,onCancel:s,onAccept:d,children:[p,m&&l(u,{size:"small",fullWidth:!0,value:h,onChange:e=>b(e.target.value),placeholder:m})]})};export{h as ConfirmDialog};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/bootstrap-dialog/bootstrap-dialog.tsx","../../src/confirm-dialog/confirm-dialog.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/bootstrap-dialog/bootstrap-dialog.tsx","../../src/confirm-dialog/confirm-dialog.tsx"],"sourcesContent":["import Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport IconButton from \"@mui/material/IconButton\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport Box from \"@mui/material/Box\";\nimport Button from \"@mui/material/Button\";\nimport LoadingButton from \"@mui/lab/LoadingButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { BootstrapDialogDialogProps } from \"~/dialog/dialog.types\";\n\nexport const BootstrapDialog = ({\n open,\n title,\n component,\n componentProps = {},\n disabled,\n disableAccept,\n disableCancel,\n actions = [],\n children,\n loading,\n cancelable,\n callCloseWhenCancel = true,\n acceptable,\n acceptText = \"Accept\",\n cancelText = \"Cancel\",\n onAccept,\n onCancel = () => null,\n onClose,\n acceptType = \"button\",\n}: BootstrapDialogDialogProps) => {\n const hasActions = actions.length > 0 || acceptable || cancelable;\n\n return (\n <Dialog open={open} onClose={onClose}>\n <DialogTitle sx={{ display: \"flex\", alignItems: \"center\" }}>\n {title}\n {loading && !acceptable && (\n <CircularProgress size={20} sx={{ ml: 2, color: (theme) => theme.palette.grey[500] }} />\n )}\n <IconButton\n disabled={disabled}\n aria-label=\"close\"\n onClick={onClose}\n sx={{\n position: \"absolute\",\n right: 8,\n top: 8,\n color: (theme) => theme.palette.grey[500],\n }}\n >\n <CloseIcon />\n </IconButton>\n </DialogTitle>\n <Box component={component} {...componentProps}>\n <DialogContent dividers>{children}</DialogContent>\n {hasActions && (\n <DialogActions>\n {actions.map(({ id, text, type = \"button\", onClick, color = \"primary\" }) => (\n <Button key={id} type={type} disabled={disabled} onClick={onClick} color={color}>\n {text}\n </Button>\n ))}\n {cancelable && (\n <Button\n color=\"error\"\n disabled={disabled || disableCancel}\n onClick={() => {\n onCancel();\n callCloseWhenCancel && onClose();\n }}\n >\n {cancelText}\n </Button>\n )}\n\n {acceptable && (\n <LoadingButton\n type={acceptType}\n loading={loading}\n disabled={disabled || disableAccept}\n onClick={onAccept}\n >\n {acceptText}\n </LoadingButton>\n )}\n </DialogActions>\n )}\n </Box>\n </Dialog>\n );\n};\n","import { useState } from \"react\";\nimport { BootstrapDialog } from \"~/bootstrap-dialog\";\nimport { BootstrapDialogDialogProps } from \"~/dialog/dialog.types\";\nimport TextField from \"@mui/material/TextField\";\n\ntype OmitBaseDialogProps =\n | \"cancelable\"\n | \"acceptable\"\n | \"onAccept\"\n | \"onCancel\"\n | \"onClose\"\n | \"actions\"\n | \"callCloseWhenCancel\"\n | \"component\"\n | \"acceptType\";\nexport interface ConfirmDialogProps extends Omit<BootstrapDialogDialogProps, OmitBaseDialogProps> {\n confirmText?: string;\n canceText?: string;\n passphrase?: string;\n onCancel: () => void;\n onConfirm: () => void;\n}\n\nexport const ConfirmDialog = ({\n open,\n title,\n loading,\n disabled,\n confirmText = \"Confirm\",\n cancelText = \"Cancel\",\n passphrase,\n children,\n onConfirm,\n onCancel,\n}: ConfirmDialogProps) => {\n const [inputPassphrase, setInputPassphrase] = useState(\"\");\n const validPassphrase = !passphrase || inputPassphrase === passphrase;\n\n return (\n <BootstrapDialog\n title={title}\n loading={loading}\n disabled={loading || disabled}\n disableAccept={!validPassphrase}\n open={open}\n onClose={onCancel}\n acceptable\n cancelable\n callCloseWhenCancel={false}\n acceptText={confirmText}\n cancelText={cancelText}\n onCancel={onCancel}\n onAccept={onConfirm}\n >\n {children}\n {passphrase && (\n <TextField\n size=\"small\"\n fullWidth\n value={inputPassphrase}\n onChange={(e) => setInputPassphrase(e.target.value)}\n placeholder={passphrase}\n />\n )}\n </BootstrapDialog>\n );\n};\n"],"names":["BootstrapDialog","open","title","component","componentProps","disabled","disableAccept","disableCancel","actions","children","loading","cancelable","callCloseWhenCancel","acceptable","acceptText","cancelText","onAccept","onCancel","onClose","acceptType","hasActions","length","_jsxs","Dialog","DialogTitle","sx","display","alignItems","_jsx","CircularProgress","size","ml","color","theme","palette","grey","IconButton","onClick","position","right","top","CloseIcon","Box","DialogContent","dividers","DialogActions","map","id","text","type","Button","LoadingButton","ConfirmDialog","confirmText","passphrase","onConfirm","inputPassphrase","setInputPassphrase","useState","TextField","fullWidth","value","onChange","e","target","placeholder"],"mappings":"ugBAYO,MAAMA,EAAkB,EAC7BC,OACAC,QACAC,YACAC,iBAAiB,CAAA,EACjBC,WACAC,gBACAC,gBACAC,UAAU,GACVC,WACAC,UACAC,aACAC,uBAAsB,EACtBC,aACAC,aAAa,SACbC,aAAa,SACbC,WACAC,WAAW,KAAM,MACjBC,UACAC,aAAa,aAEb,MAAMC,EAAaZ,EAAQa,OAAS,GAAKR,GAAcF,EAEvD,OACEW,EAACC,EAAO,CAAAtB,KAAMA,EAAMiB,QAASA,EAC3BT,SAAA,CAAAa,EAACE,EAAY,CAAAC,GAAI,CAAEC,QAAS,OAAQC,WAAY,UAAUlB,SAAA,CACvDP,EACAQ,IAAYG,GACXe,EAACC,EAAgB,CAACC,KAAM,GAAIL,GAAI,CAAEM,GAAI,EAAGC,MAAQC,GAAUA,EAAMC,QAAQC,KAAK,QAEhFP,EAACQ,GACC/B,SAAUA,EAAQ,aACP,QACXgC,QAASnB,EACTO,GAAI,CACFa,SAAU,WACVC,MAAO,EACPC,IAAK,EACLR,MAAQC,GAAUA,EAAMC,QAAQC,KAAK,MAGvC1B,SAAAmB,EAACa,EAAY,CAAA,QAGjBnB,EAACoB,EAAI,CAAAvC,UAAWA,KAAeC,EAC7BK,SAAA,CAAAmB,EAACe,EAAc,CAAAC,UAAU,EAAAnC,SAAAA,IACxBW,GACCE,EAACuB,EAAa,CAAApC,SAAA,CACXD,EAAQsC,KAAI,EAAGC,KAAIC,OAAMC,OAAO,SAAUZ,UAASL,QAAQ,aAC1DJ,EAACsB,GAAgBD,KAAMA,EAAM5C,SAAUA,EAAUgC,QAASA,EAASL,MAAOA,EAAKvB,SAC5EuC,GADUD,KAIdpC,GACCiB,EAACsB,EAAM,CACLlB,MAAM,QACN3B,SAAUA,GAAYE,EACtB8B,QAAS,KACPpB,IACAL,GAAuBM,GAAS,WAGjCH,IAIJF,GACCe,EAACuB,GACCF,KAAM9B,EACNT,QAASA,EACTL,SAAUA,GAAYC,EACtB+B,QAASrB,EAERP,SAAAK,YAOb,ECrESsC,EAAgB,EAC3BnD,OACAC,QACAQ,UACAL,WACAgD,cAAc,UACdtC,aAAa,SACbuC,aACA7C,WACA8C,YACAtC,eAEA,MAAOuC,EAAiBC,GAAsBC,EAAS,IAGvD,OACEpC,EAACtB,EAAe,CACdE,MAAOA,EACPQ,QAASA,EACTL,SAAUK,GAAWL,EACrBC,iBAPqBgD,GAAcE,IAAoBF,GAQvDrD,KAAMA,EACNiB,QAASD,EACTJ,cACAF,YAAU,EACVC,qBAAqB,EACrBE,WAAYuC,EACZtC,WAAYA,EACZE,SAAUA,EACVD,SAAUuC,YAET9C,EACA6C,GACC1B,EAAC+B,EAAS,CACR7B,KAAK,QACL8B,WAAS,EACTC,MAAOL,EACPM,SAAWC,GAAMN,EAAmBM,EAAEC,OAAOH,OAC7CI,YAAaX,MAInB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var t=r(require("@mui/material/Container"));exports.Content=({children:r})=>e.jsx(t.default,{component:"main",sx:{py:3,flexGrow:1},children:r});
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/content/content.tsx"],"sourcesContent":["import Container from \"@mui/material/Container\";\nimport { ContentProps } from \"./content.types\";\n\nexport const Content = ({ children }: ContentProps) => {\n return (\n <Container component=\"main\" sx={{ py: 3, flexGrow: 1 }}>\n {children}\n </Container>\n );\n};\n"],"names":["children","_jsx","Container","component","sx","py","flexGrow"],"mappings":"2OAGuB,EAAGA,cAEtBC,MAACC,EAAS,QAAA,CAACC,UAAU,OAAOC,GAAI,CAAEC,GAAI,EAAGC,SAAU,GAChDN,SAAAA"}
|
package/content/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
1
|
+
import{jsx as r}from"react/jsx-runtime";import o from"@mui/material/Container";const e=({children:e})=>r(o,{component:"main",sx:{py:3,flexGrow:1},children:e});export{e as Content};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/content/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/content/content.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/content/content.tsx"],"sourcesContent":["import Container from \"@mui/material/Container\";\nimport { ContentProps } from \"./content.types\";\n\nexport const Content = ({ children }: ContentProps) => {\n return (\n <Container component=\"main\" sx={{ py: 3, flexGrow: 1 }}>\n {children}\n </Container>\n );\n};\n"],"names":["Content","children","_jsx","Container","component","sx","py","flexGrow"],"mappings":"qFAGaA,EAAU,EAAGC,cAEtBC,EAACC,EAAS,CAACC,UAAU,OAAOC,GAAI,CAAEC,GAAI,EAAGC,SAAU,GAChDN,SAAAA"}
|
package/content/package.json
CHANGED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("@mui/material/Container"),i=require("@mui/material/Grid");require("@mui/material");var a=require("@mui/material/Box"),r=require("@mui/material/Skeleton");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=n(t),u=n(i),s=n(a),d=n(r);const o=(e,t)=>new Array(e).fill(t),c=({width:t="100%",animation:i=!1})=>e.jsxs(s.default,{width:t,children:[e.jsx(d.default,{animation:i,variant:"rectangular",height:118}),e.jsx(d.default,{animation:i,variant:"rectangular",height:16,sx:{my:1}}),e.jsx(d.default,{animation:i,variant:"rectangular",width:"80%",height:16})]}),m=({size:t=20})=>e.jsx(u.default,{container:!0,spacing:2,children:o(t,0).map(((t,i)=>e.jsx(u.default,{item:!0,xs:4,children:e.jsx(c,{width:1})},i)))});exports.ContentPlaceholder=({size:t=20,children:i,p:a})=>e.jsxs(l.default,{component:"main",sx:{p:a},"data-testid":"content-placeholder-test",children:[i,e.jsx(m,{size:t})]});
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/utils/arrays.ts","../../../src/skeleton-card/skeleton-card.tsx","../../../src/skeleton-grid/skeleton-grid.tsx","../../../src/content-placeholder/content-placeholder.tsx"],"sourcesContent":["export const newArrayWithSize = <T>(size: number, fillValue: T) => new Array(size).fill(fillValue);\n\nexport const getRandomItem = <T>(items: T[]): { index: number; item: T } => {\n const index = Math.floor(Math.random() * items.length);\n const item = items[index];\n return { index, item };\n};\n","import Box from \"@mui/material/Box\";\nimport Skeleton from \"@mui/material/Skeleton\";\n\nexport interface SkeletonCardProps {\n width?: number | string;\n animation?: \"pulse\" | \"wave\" | false;\n}\n\nexport const SkeletonCard = ({ width = \"100%\", animation = false }: SkeletonCardProps) => {\n return (\n <Box width={width}>\n <Skeleton animation={animation} variant=\"rectangular\" height={118} />\n <Skeleton animation={animation} variant=\"rectangular\" height={16} sx={{ my: 1 }} />\n <Skeleton animation={animation} variant=\"rectangular\" width=\"80%\" height={16} />\n </Box>\n );\n};\n","import Grid from \"@mui/material/Grid\";\nimport { newArrayWithSize } from \"~/utils\";\nimport { SkeletonCard } from \"~/skeleton-card\";\n\nexport interface SkeletonGridProps {\n size?: number;\n}\n\nexport const SkeletonGrid = ({ size = 20 }: SkeletonGridProps) => {\n return (\n <Grid container spacing={2}>\n {newArrayWithSize(size, 0).map((_, i) => (\n <Grid item key={i} xs={4}>\n <SkeletonCard width={1} />\n </Grid>\n ))}\n </Grid>\n );\n};\n","import Container from \"@mui/material/Container\";\nimport { PropsWithChildren } from \"react\";\nimport { SkeletonGrid } from \"~/skeleton-grid\";\n\nexport type ContentPlaceholderProps = PropsWithChildren<{\n size?: number;\n p?: number;\n}>;\n\nexport const ContentPlaceholder = ({ size = 20, children, p }: ContentPlaceholderProps) => {\n return (\n <Container component=\"main\" sx={{ p }} data-testid=\"content-placeholder-test\">\n {children}\n <SkeletonGrid size={size} />\n </Container>\n );\n};\n"],"names":["newArrayWithSize","size","fillValue","Array","fill","SkeletonCard","width","animation","_jsxs","jsxs","Box","children","_jsx","Skeleton","variant","height","sx","my","jsx","SkeletonGrid","Grid","container","spacing","map","_","i","item","xs","p","Container","component"],"mappings":"oXAAO,MAAMA,EAAmB,CAAIC,EAAcC,IAAiB,IAAIC,MAAMF,GAAMG,KAAKF,GCQ3EG,EAAe,EAAGC,QAAQ,OAAQC,aAAY,KAEvDC,EAAAC,KAACC,UAAG,CAACJ,MAAOA,EACVK,SAAA,CAAAC,EAAAA,IAACC,EAAQ,QAAA,CAACN,UAAWA,EAAWO,QAAQ,cAAcC,OAAQ,MAC9DH,EAAAA,IAACC,EAAQ,QAAA,CAACN,UAAWA,EAAWO,QAAQ,cAAcC,OAAQ,GAAIC,GAAI,CAAEC,GAAI,KAC5EL,EAAAM,IAACL,UAAS,CAAAN,UAAWA,EAAWO,QAAQ,cAAcR,MAAM,MAAMS,OAAQ,QCLnEI,EAAe,EAAGlB,OAAO,MAElCW,EAAAA,IAACQ,EAAAA,QAAI,CAACC,WAAU,EAAAC,QAAS,EACtBX,SAAAX,EAAiBC,EAAM,GAAGsB,KAAI,CAACC,EAAGC,IACjCb,EAAAA,IAACQ,EAAAA,QAAK,CAAAM,QAAaC,GAAI,EAAChB,SACtBC,MAACP,GAAaC,MAAO,KADPmB,kCCHU,EAAGxB,OAAO,GAAIU,WAAUiB,OAEtDpB,EAACC,KAAAoB,EAAS,QAAC,CAAAC,UAAU,OAAOd,GAAI,CAAEY,KAAiB,cAAA,2BAChDjB,SAAA,CAAAA,EACDC,EAAAA,IAACO,EAAY,CAAClB,KAAMA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{jsxs as i,jsx as t}from"react/jsx-runtime";import a from"@mui/material/Container";import r from"@mui/material/Grid";import"@mui/material";import e from"@mui/material/Box";import n from"@mui/material/Skeleton";const m=(i,t)=>new Array(i).fill(t),o=({width:a="100%",animation:r=!1})=>i(e,{width:a,children:[t(n,{animation:r,variant:"rectangular",height:118}),t(n,{animation:r,variant:"rectangular",height:16,sx:{my:1}}),t(n,{animation:r,variant:"rectangular",width:"80%",height:16})]}),l=({size:i=20})=>t(r,{container:!0,spacing:2,children:m(i,0).map(((i,a)=>t(r,{item:!0,xs:4,children:t(o,{width:1})},a)))}),h=({size:r=20,children:e,p:n})=>i(a,{component:"main",sx:{p:n},"data-testid":"content-placeholder-test",children:[e,t(l,{size:r})]});export{h as ContentPlaceholder};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/utils/arrays.ts","../../src/skeleton-card/skeleton-card.tsx","../../src/skeleton-grid/skeleton-grid.tsx","../../src/content-placeholder/content-placeholder.tsx"],"sourcesContent":["export const newArrayWithSize = <T>(size: number, fillValue: T) => new Array(size).fill(fillValue);\n\nexport const getRandomItem = <T>(items: T[]): { index: number; item: T } => {\n const index = Math.floor(Math.random() * items.length);\n const item = items[index];\n return { index, item };\n};\n","import
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/utils/arrays.ts","../../src/skeleton-card/skeleton-card.tsx","../../src/skeleton-grid/skeleton-grid.tsx","../../src/content-placeholder/content-placeholder.tsx"],"sourcesContent":["export const newArrayWithSize = <T>(size: number, fillValue: T) => new Array(size).fill(fillValue);\n\nexport const getRandomItem = <T>(items: T[]): { index: number; item: T } => {\n const index = Math.floor(Math.random() * items.length);\n const item = items[index];\n return { index, item };\n};\n","import Box from \"@mui/material/Box\";\nimport Skeleton from \"@mui/material/Skeleton\";\n\nexport interface SkeletonCardProps {\n width?: number | string;\n animation?: \"pulse\" | \"wave\" | false;\n}\n\nexport const SkeletonCard = ({ width = \"100%\", animation = false }: SkeletonCardProps) => {\n return (\n <Box width={width}>\n <Skeleton animation={animation} variant=\"rectangular\" height={118} />\n <Skeleton animation={animation} variant=\"rectangular\" height={16} sx={{ my: 1 }} />\n <Skeleton animation={animation} variant=\"rectangular\" width=\"80%\" height={16} />\n </Box>\n );\n};\n","import Grid from \"@mui/material/Grid\";\nimport { newArrayWithSize } from \"~/utils\";\nimport { SkeletonCard } from \"~/skeleton-card\";\n\nexport interface SkeletonGridProps {\n size?: number;\n}\n\nexport const SkeletonGrid = ({ size = 20 }: SkeletonGridProps) => {\n return (\n <Grid container spacing={2}>\n {newArrayWithSize(size, 0).map((_, i) => (\n <Grid item key={i} xs={4}>\n <SkeletonCard width={1} />\n </Grid>\n ))}\n </Grid>\n );\n};\n","import Container from \"@mui/material/Container\";\nimport { PropsWithChildren } from \"react\";\nimport { SkeletonGrid } from \"~/skeleton-grid\";\n\nexport type ContentPlaceholderProps = PropsWithChildren<{\n size?: number;\n p?: number;\n}>;\n\nexport const ContentPlaceholder = ({ size = 20, children, p }: ContentPlaceholderProps) => {\n return (\n <Container component=\"main\" sx={{ p }} data-testid=\"content-placeholder-test\">\n {children}\n <SkeletonGrid size={size} />\n </Container>\n );\n};\n"],"names":["newArrayWithSize","size","fillValue","Array","fill","SkeletonCard","width","animation","_jsxs","Box","children","_jsx","Skeleton","variant","height","sx","my","SkeletonGrid","Grid","container","spacing","map","_","i","item","xs","ContentPlaceholder","p","Container","component"],"mappings":"wNAAO,MAAMA,EAAmB,CAAIC,EAAcC,IAAiB,IAAIC,MAAMF,GAAMG,KAAKF,GCQ3EG,EAAe,EAAGC,QAAQ,OAAQC,aAAY,KAEvDC,EAACC,EAAG,CAACH,MAAOA,EACVI,SAAA,CAAAC,EAACC,EAAQ,CAACL,UAAWA,EAAWM,QAAQ,cAAcC,OAAQ,MAC9DH,EAACC,EAAQ,CAACL,UAAWA,EAAWM,QAAQ,cAAcC,OAAQ,GAAIC,GAAI,CAAEC,GAAI,KAC5EL,EAACC,EAAS,CAAAL,UAAWA,EAAWM,QAAQ,cAAcP,MAAM,MAAMQ,OAAQ,QCLnEG,EAAe,EAAGhB,OAAO,MAElCU,EAACO,EAAI,CAACC,WAAU,EAAAC,QAAS,EACtBV,SAAAV,EAAiBC,EAAM,GAAGoB,KAAI,CAACC,EAAGC,IACjCZ,EAACO,EAAK,CAAAM,QAAaC,GAAI,EAACf,SACtBC,EAACN,GAAaC,MAAO,KADPiB,OCHXG,EAAqB,EAAGzB,OAAO,GAAIS,WAAUiB,OAEtDnB,EAACoB,EAAU,CAAAC,UAAU,OAAOd,GAAI,CAAEY,KAAiB,cAAA,2BAChDjB,SAAA,CAAAA,EACDC,EAACM,EAAY,CAAChB,KAAMA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),a=require("@mui/material/Box"),r=require("@mui/material/styles"),t=require("@mui/x-date-pickers"),s=require("date-fns"),i=require("date-fns/esm"),d=require("react");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=o(a);const n=r.styled(u.default,{shouldForwardProp:e=>"dayIsBetween"!==e&&"isFirstDay"!==e&&"isLastDay"!==e&&"isStartOfWeek"!==e&&"isEndOfWeek"!==e})((({theme:e,dayIsBetween:a,isFirstDay:r,isLastDay:t})=>({...(r||t||a)&&{borderRadius:0,backgroundColor:`${e.palette.primary.light}40`,margin:0},...r&&{borderTopLeftRadius:"50%",borderBottomLeftRadius:"50%"},...t&&{borderTopRightRadius:"50%",borderBottomRightRadius:"50%"}}))),l=a=>{const{day:r,dateRange:d,...o}=a;if(null==d)return e.jsx(t.PickersDay,{day:r,...o});const[u,l]=d,y=!!l&&s.isAfter(r,u)&&i.isBefore(r,l),c=s.isSameDay(r,u),f=!!l&&s.isSameDay(r,l),m=s.isSameDay(r,s.startOfWeek(r)),D=s.isSameDay(r,s.endOfWeek(r));return e.jsx(n,{dayIsBetween:y,isFirstDay:c||y&&m,isLastDay:f||y&&D,"aria-label":s.format(r,"yyyy-MM-dd"),"aria-selected":y||c||f,role:"gridcell",children:e.jsx(t.PickersDay,{...o,day:r,selected:c||f})})};exports.DateRangeCalendar=({defaultValue:a,onValueChange:r})=>{const[s,i]=d.useState(a),[o,u]=d.useState(0),n=(e,a,t)=>{i(e),r(e,a),u(t)};return e.jsx(t.DateCalendar,{value:null,onChange:e=>{if(e)return 1===o&&e<s[0]||0===o&&s[1]&&e>s[1]?n([e,void 0],0,1):void n([0===o?e:s[0],1===o?e:s[1]],o,0===o?1:0)},slots:{day:l},slotProps:{day:{dateRange:s}},"aria-label":"calendar range picker"})};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/date-range-calendar/date-range-calendar.tsx"],"sourcesContent":["import Box, { BoxProps } from \"@mui/material/Box\";\nimport { styled } from \"@mui/material/styles\";\nimport { DateCalendar, PickersDay, PickersDayProps } from \"@mui/x-date-pickers\";\nimport { endOfWeek, format, isAfter, isSameDay, startOfWeek } from \"date-fns\";\nimport { isBefore } from \"date-fns/esm\";\nimport { useState } from \"react\";\n\ntype DateRange = [Date, Date | undefined];\n\ninterface CustomPickerDayProps extends BoxProps {\n dayIsBetween: boolean;\n isFirstDay: boolean;\n isLastDay: boolean;\n}\n\nconst CustomPickersDayBackground = styled(Box, {\n shouldForwardProp: (prop) =>\n prop !== \"dayIsBetween\" &&\n prop !== \"isFirstDay\" &&\n prop !== \"isLastDay\" &&\n prop !== \"isStartOfWeek\" &&\n prop !== \"isEndOfWeek\",\n})<CustomPickerDayProps>(({ theme, dayIsBetween, isFirstDay, isLastDay }) => {\n return {\n ...((isFirstDay || isLastDay || dayIsBetween) && {\n borderRadius: 0,\n backgroundColor: `${theme.palette.primary.light}40`,\n margin: 0,\n }),\n ...(isFirstDay && {\n borderTopLeftRadius: \"50%\",\n borderBottomLeftRadius: \"50%\",\n }),\n ...(isLastDay && {\n borderTopRightRadius: \"50%\",\n borderBottomRightRadius: \"50%\",\n }),\n };\n}) as React.ComponentType<CustomPickerDayProps>;\n\nconst Day = (props: PickersDayProps<Date> & { dateRange?: DateRange | null }) => {\n const { day, dateRange, ...other } = props;\n\n if (dateRange == null) {\n return <PickersDay day={day} {...other} />;\n }\n\n const [start, end] = dateRange;\n\n const dayIsBetween = !!end && isAfter(day, start) && isBefore(day, end);\n const isFirstDay = isSameDay(day, start);\n const isLastDay = !!end && isSameDay(day, end);\n const isStartOfWeek = isSameDay(day, startOfWeek(day));\n const isEndOfWeek = isSameDay(day, endOfWeek(day));\n\n return (\n <CustomPickersDayBackground\n dayIsBetween={dayIsBetween}\n isFirstDay={isFirstDay || (dayIsBetween && isStartOfWeek)}\n isLastDay={isLastDay || (dayIsBetween && isEndOfWeek)}\n aria-label={format(day, \"yyyy-MM-dd\")}\n aria-selected={dayIsBetween || isFirstDay || isLastDay}\n role=\"gridcell\"\n >\n <PickersDay {...other} day={day} selected={isFirstDay || isLastDay} />\n </CustomPickersDayBackground>\n );\n};\n\nexport interface DateRangeCalendarProps {\n defaultValue: DateRange;\n onValueChange: (value: DateRange, updatedIndex: number) => void;\n}\nexport const DateRangeCalendar = ({ defaultValue, onValueChange }: DateRangeCalendarProps) => {\n const [value, setValue] = useState(defaultValue);\n const [index, setIndex] = useState(0);\n\n const setValueRange = (newRange: DateRange, index: number, newIndex: number) => {\n setValue(newRange);\n onValueChange(newRange, index);\n setIndex(newIndex);\n };\n\n const handleChange = (newValue: Date | null) => {\n if (!newValue) {\n return;\n }\n\n // If is the end date and is minor than the start date\n if (index === 1 && newValue < value[0]) {\n return setValueRange([newValue, undefined], 0, 1);\n }\n\n // If is the start date and is bigger than the end date\n if (index === 0 && value[1] && newValue > value[1]) {\n return setValueRange([newValue, undefined], 0, 1);\n }\n\n // Default case\n setValueRange(\n [index === 0 ? newValue : value[0], index === 1 ? newValue : value[1]],\n index,\n index === 0 ? 1 : 0,\n );\n };\n return (\n <DateCalendar\n value={null}\n onChange={handleChange}\n slots={{ day: Day }}\n slotProps={{\n day: {\n dateRange: value,\n } as any,\n }}\n aria-label=\"calendar range picker\"\n />\n );\n};\n"],"names":["CustomPickersDayBackground","styled","Box","shouldForwardProp","prop","theme","dayIsBetween","isFirstDay","isLastDay","borderRadius","backgroundColor","palette","primary","light","margin","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","Day","props","day","dateRange","other","_jsx","PickersDay","start","end","isAfter","isBefore","isSameDay","isStartOfWeek","startOfWeek","isEndOfWeek","endOfWeek","format","role","children","selected","defaultValue","onValueChange","value","setValue","useState","index","setIndex","setValueRange","newRange","newIndex","DateCalendar","onChange","newValue","undefined","slots","slotProps"],"mappings":"+VAeA,MAAMA,EAA6BC,EAAMA,OAACC,UAAK,CAC7CC,kBAAoBC,GACT,iBAATA,GACS,eAATA,GACS,cAATA,GACS,kBAATA,GACS,gBAATA,GAN+BH,EAOV,EAAGI,QAAOC,eAAcC,aAAYC,gBACpD,KACAD,GAAcC,GAAaF,IAAiB,CAC/CG,aAAc,EACdC,gBAAiB,GAAGL,EAAMM,QAAQC,QAAQC,UAC1CC,OAAQ,MAENP,GAAc,CAChBQ,oBAAqB,MACrBC,uBAAwB,UAEtBR,GAAa,CACfS,qBAAsB,MACtBC,wBAAyB,WAKzBC,EAAOC,IACX,MAAMC,IAAEA,EAAGC,UAAEA,KAAcC,GAAUH,EAErC,GAAiB,MAAbE,EACF,OAAOE,EAAAA,IAACC,EAAAA,WAAW,CAAAJ,IAAKA,KAASE,IAGnC,MAAOG,EAAOC,GAAOL,EAEfhB,IAAiBqB,GAAOC,UAAQP,EAAKK,IAAUG,EAAQA,SAACR,EAAKM,GAC7DpB,EAAauB,EAAAA,UAAUT,EAAKK,GAC5BlB,IAAcmB,GAAOG,EAAAA,UAAUT,EAAKM,GACpCI,EAAgBD,EAAAA,UAAUT,EAAKW,EAAAA,YAAYX,IAC3CY,EAAcH,EAAAA,UAAUT,EAAKa,EAAAA,UAAUb,IAE7C,OACEG,EAAAA,IAACxB,EAA0B,CACzBM,aAAcA,EACdC,WAAYA,GAAeD,GAAgByB,EAC3CvB,UAAWA,GAAcF,GAAgB2B,EAAY,aACzCE,EAAAA,OAAOd,EAAK,cAAa,gBACtBf,GAAgBC,GAAcC,EAC7C4B,KAAK,WAAUC,SAEfb,EAAAA,IAACC,EAAUA,WAAK,IAAAF,EAAOF,IAAKA,EAAKiB,SAAU/B,GAAcC,KAE3D,4BAO6B,EAAG+B,eAAcC,oBAChD,MAAOC,EAAOC,GAAYC,EAAQA,SAACJ,IAC5BK,EAAOC,GAAYF,EAAQA,SAAC,GAE7BG,EAAgB,CAACC,EAAqBH,EAAeI,KACzDN,EAASK,GACTP,EAAcO,EAAUH,GACxBC,EAASG,EAAS,EAyBpB,OACExB,MAACyB,EAAAA,aAAY,CACXR,MAAO,KACPS,SAzBkBC,IACpB,GAAKA,EAKL,OAAc,IAAVP,GAAeO,EAAWV,EAAM,IAKtB,IAAVG,GAAeH,EAAM,IAAMU,EAAWV,EAAM,GAJvCK,EAAc,CAACK,OAAUC,GAAY,EAAG,QASjDN,EACE,CAAW,IAAVF,EAAcO,EAAWV,EAAM,GAAc,IAAVG,EAAcO,EAAWV,EAAM,IACnEG,EACU,IAAVA,EAAc,EAAI,EACnB,EAMCS,MAAO,CAAEhC,IAAKF,GACdmC,UAAW,CACTjC,IAAK,CACHC,UAAWmB,IAGJ,aAAA,yBAEb"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@pautena/react-design-system/date-range-calendar",
|
|
3
|
+
"private": true,
|
|
4
|
+
"main": "./cjs/index.js",
|
|
5
|
+
"module": "./index.js",
|
|
6
|
+
"types": "./index.d.ts",
|
|
7
|
+
"dependencies": {
|
|
8
|
+
"@mui/material": "^5.13.6",
|
|
9
|
+
"@mui/x-date-pickers": "^6.9.0",
|
|
10
|
+
"date-fns": "^2.30.0",
|
|
11
|
+
"react": "^18.2.0"
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import r from"@mui/material/Box";import{styled as a}from"@mui/material/styles";import{DateCalendar as t,PickersDay as i}from"@mui/x-date-pickers";import{isAfter as o,isSameDay as s,startOfWeek as d,endOfWeek as l,format as n}from"date-fns";import{isBefore as m}from"date-fns/esm";import{useState as u}from"react";const y=a(r,{shouldForwardProp:e=>"dayIsBetween"!==e&&"isFirstDay"!==e&&"isLastDay"!==e&&"isStartOfWeek"!==e&&"isEndOfWeek"!==e})((({theme:e,dayIsBetween:r,isFirstDay:a,isLastDay:t})=>({...(a||t||r)&&{borderRadius:0,backgroundColor:`${e.palette.primary.light}40`,margin:0},...a&&{borderTopLeftRadius:"50%",borderBottomLeftRadius:"50%"},...t&&{borderTopRightRadius:"50%",borderBottomRightRadius:"50%"}}))),f=r=>{const{day:a,dateRange:t,...u}=r;if(null==t)return e(i,{day:a,...u});const[f,p]=t,c=!!p&&o(a,f)&&m(a,p),g=s(a,f),R=!!p&&s(a,p),b=s(a,d(a)),h=s(a,l(a));return e(y,{dayIsBetween:c,isFirstDay:g||c&&b,isLastDay:R||c&&h,"aria-label":n(a,"yyyy-MM-dd"),"aria-selected":c||g||R,role:"gridcell",children:e(i,{...u,day:a,selected:g||R})})},p=({defaultValue:r,onValueChange:a})=>{const[i,o]=u(r),[s,d]=u(0),l=(e,r,t)=>{o(e),a(e,r),d(t)};return e(t,{value:null,onChange:e=>{if(e)return 1===s&&e<i[0]||0===s&&i[1]&&e>i[1]?l([e,void 0],0,1):void l([0===s?e:i[0],1===s?e:i[1]],s,0===s?1:0)},slots:{day:f},slotProps:{day:{dateRange:i}},"aria-label":"calendar range picker"})};export{p as DateRangeCalendar};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/date-range-calendar/date-range-calendar.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/date-range-calendar/date-range-calendar.tsx"],"sourcesContent":["import Box, { BoxProps } from \"@mui/material/Box\";\nimport { styled } from \"@mui/material/styles\";\nimport { DateCalendar, PickersDay, PickersDayProps } from \"@mui/x-date-pickers\";\nimport { endOfWeek, format, isAfter, isSameDay, startOfWeek } from \"date-fns\";\nimport { isBefore } from \"date-fns/esm\";\nimport { useState } from \"react\";\n\ntype DateRange = [Date, Date | undefined];\n\ninterface CustomPickerDayProps extends BoxProps {\n dayIsBetween: boolean;\n isFirstDay: boolean;\n isLastDay: boolean;\n}\n\nconst CustomPickersDayBackground = styled(Box, {\n shouldForwardProp: (prop) =>\n prop !== \"dayIsBetween\" &&\n prop !== \"isFirstDay\" &&\n prop !== \"isLastDay\" &&\n prop !== \"isStartOfWeek\" &&\n prop !== \"isEndOfWeek\",\n})<CustomPickerDayProps>(({ theme, dayIsBetween, isFirstDay, isLastDay }) => {\n return {\n ...((isFirstDay || isLastDay || dayIsBetween) && {\n borderRadius: 0,\n backgroundColor: `${theme.palette.primary.light}40`,\n margin: 0,\n }),\n ...(isFirstDay && {\n borderTopLeftRadius: \"50%\",\n borderBottomLeftRadius: \"50%\",\n }),\n ...(isLastDay && {\n borderTopRightRadius: \"50%\",\n borderBottomRightRadius: \"50%\",\n }),\n };\n}) as React.ComponentType<CustomPickerDayProps>;\n\nconst Day = (props: PickersDayProps<Date> & { dateRange?: DateRange | null }) => {\n const { day, dateRange, ...other } = props;\n\n if (dateRange == null) {\n return <PickersDay day={day} {...other} />;\n }\n\n const [start, end] = dateRange;\n\n const dayIsBetween = !!end && isAfter(day, start) && isBefore(day, end);\n const isFirstDay = isSameDay(day, start);\n const isLastDay = !!end && isSameDay(day, end);\n const isStartOfWeek = isSameDay(day, startOfWeek(day));\n const isEndOfWeek = isSameDay(day, endOfWeek(day));\n\n return (\n <CustomPickersDayBackground\n dayIsBetween={dayIsBetween}\n isFirstDay={isFirstDay || (dayIsBetween && isStartOfWeek)}\n isLastDay={isLastDay || (dayIsBetween && isEndOfWeek)}\n aria-label={format(day, \"yyyy-MM-dd\")}\n aria-selected={dayIsBetween || isFirstDay || isLastDay}\n role=\"gridcell\"\n >\n <PickersDay {...other} day={day} selected={isFirstDay || isLastDay} />\n </CustomPickersDayBackground>\n );\n};\n\nexport interface DateRangeCalendarProps {\n defaultValue: DateRange;\n onValueChange: (value: DateRange, updatedIndex: number) => void;\n}\nexport const DateRangeCalendar = ({ defaultValue, onValueChange }: DateRangeCalendarProps) => {\n const [value, setValue] = useState(defaultValue);\n const [index, setIndex] = useState(0);\n\n const setValueRange = (newRange: DateRange, index: number, newIndex: number) => {\n setValue(newRange);\n onValueChange(newRange, index);\n setIndex(newIndex);\n };\n\n const handleChange = (newValue: Date | null) => {\n if (!newValue) {\n return;\n }\n\n // If is the end date and is minor than the start date\n if (index === 1 && newValue < value[0]) {\n return setValueRange([newValue, undefined], 0, 1);\n }\n\n // If is the start date and is bigger than the end date\n if (index === 0 && value[1] && newValue > value[1]) {\n return setValueRange([newValue, undefined], 0, 1);\n }\n\n // Default case\n setValueRange(\n [index === 0 ? newValue : value[0], index === 1 ? newValue : value[1]],\n index,\n index === 0 ? 1 : 0,\n );\n };\n return (\n <DateCalendar\n value={null}\n onChange={handleChange}\n slots={{ day: Day }}\n slotProps={{\n day: {\n dateRange: value,\n } as any,\n }}\n aria-label=\"calendar range picker\"\n />\n );\n};\n"],"names":["CustomPickersDayBackground","styled","Box","shouldForwardProp","prop","theme","dayIsBetween","isFirstDay","isLastDay","borderRadius","backgroundColor","palette","primary","light","margin","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","Day","props","day","dateRange","other","_jsx","PickersDay","start","end","isAfter","isBefore","isSameDay","isStartOfWeek","startOfWeek","isEndOfWeek","endOfWeek","format","role","children","selected","DateRangeCalendar","defaultValue","onValueChange","value","setValue","useState","index","setIndex","setValueRange","newRange","newIndex","DateCalendar","onChange","newValue","undefined","slots","slotProps"],"mappings":"iWAeA,MAAMA,EAA6BC,EAAOC,EAAK,CAC7CC,kBAAoBC,GACT,iBAATA,GACS,eAATA,GACS,cAATA,GACS,kBAATA,GACS,gBAATA,GAN+BH,EAOV,EAAGI,QAAOC,eAAcC,aAAYC,gBACpD,KACAD,GAAcC,GAAaF,IAAiB,CAC/CG,aAAc,EACdC,gBAAiB,GAAGL,EAAMM,QAAQC,QAAQC,UAC1CC,OAAQ,MAENP,GAAc,CAChBQ,oBAAqB,MACrBC,uBAAwB,UAEtBR,GAAa,CACfS,qBAAsB,MACtBC,wBAAyB,WAKzBC,EAAOC,IACX,MAAMC,IAAEA,EAAGC,UAAEA,KAAcC,GAAUH,EAErC,GAAiB,MAAbE,EACF,OAAOE,EAACC,EAAW,CAAAJ,IAAKA,KAASE,IAGnC,MAAOG,EAAOC,GAAOL,EAEfhB,IAAiBqB,GAAOC,EAAQP,EAAKK,IAAUG,EAASR,EAAKM,GAC7DpB,EAAauB,EAAUT,EAAKK,GAC5BlB,IAAcmB,GAAOG,EAAUT,EAAKM,GACpCI,EAAgBD,EAAUT,EAAKW,EAAYX,IAC3CY,EAAcH,EAAUT,EAAKa,EAAUb,IAE7C,OACEG,EAACxB,EAA0B,CACzBM,aAAcA,EACdC,WAAYA,GAAeD,GAAgByB,EAC3CvB,UAAWA,GAAcF,GAAgB2B,EAAY,aACzCE,EAAOd,EAAK,cAAa,gBACtBf,GAAgBC,GAAcC,EAC7C4B,KAAK,WAAUC,SAEfb,EAACC,EAAe,IAAAF,EAAOF,IAAKA,EAAKiB,SAAU/B,GAAcC,KAE3D,EAOS+B,EAAoB,EAAGC,eAAcC,oBAChD,MAAOC,EAAOC,GAAYC,EAASJ,IAC5BK,EAAOC,GAAYF,EAAS,GAE7BG,EAAgB,CAACC,EAAqBH,EAAeI,KACzDN,EAASK,GACTP,EAAcO,EAAUH,GACxBC,EAASG,EAAS,EAyBpB,OACEzB,EAAC0B,EAAY,CACXR,MAAO,KACPS,SAzBkBC,IACpB,GAAKA,EAKL,OAAc,IAAVP,GAAeO,EAAWV,EAAM,IAKtB,IAAVG,GAAeH,EAAM,IAAMU,EAAWV,EAAM,GAJvCK,EAAc,CAACK,OAAUC,GAAY,EAAG,QASjDN,EACE,CAAW,IAAVF,EAAcO,EAAWV,EAAM,GAAc,IAAVG,EAAcO,EAAWV,EAAM,IACnEG,EACU,IAAVA,EAAc,EAAI,EACnB,EAMCS,MAAO,CAAEjC,IAAKF,GACdoC,UAAW,CACTlC,IAAK,CACHC,UAAWoB,IAGJ,aAAA,yBAEb"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),a=require("react"),r=require("date-fns"),t=require("@mui/material/Collapse"),i=require("@mui/material/IconButton"),s=require("@mui/material/InputAdornment"),l=require("@mui/material/TextField"),u=require("@mui/material/Paper"),d=require("@mui/icons-material/Event"),n=require("@mui/material/Box"),o=require("@mui/material/styles"),m=require("@mui/x-date-pickers"),c=require("date-fns/esm");function f(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var y=f(t),p=f(i),x=f(s),h=f(l),g=f(u),j=f(d),b=f(n);const D=o.styled(b.default,{shouldForwardProp:e=>"dayIsBetween"!==e&&"isFirstDay"!==e&&"isLastDay"!==e&&"isStartOfWeek"!==e&&"isEndOfWeek"!==e})((({theme:e,dayIsBetween:a,isFirstDay:r,isLastDay:t})=>({...(r||t||a)&&{borderRadius:0,backgroundColor:`${e.palette.primary.light}40`,margin:0},...r&&{borderTopLeftRadius:"50%",borderBottomLeftRadius:"50%"},...t&&{borderTopRightRadius:"50%",borderBottomRightRadius:"50%"}}))),q=a=>{const{day:t,dateRange:i,...s}=a;if(null==i)return e.jsx(m.PickersDay,{day:t,...s});const[l,u]=i,d=!!u&&r.isAfter(t,l)&&c.isBefore(t,u),n=r.isSameDay(t,l),o=!!u&&r.isSameDay(t,u),f=r.isSameDay(t,r.startOfWeek(t)),y=r.isSameDay(t,r.endOfWeek(t));return e.jsx(D,{dayIsBetween:d,isFirstDay:n||d&&f,isLastDay:o||d&&y,"aria-label":r.format(t,"yyyy-MM-dd"),"aria-selected":d||n||o,role:"gridcell",children:e.jsx(m.PickersDay,{...s,day:t,selected:n||o})})},k=({defaultValue:r,onValueChange:t})=>{const[i,s]=a.useState(r),[l,u]=a.useState(0),d=(e,a,r)=>{s(e),t(e,a),u(r)};return e.jsx(m.DateCalendar,{value:null,onChange:e=>{if(e)return 1===l&&e<i[0]||0===l&&i[1]&&e>i[1]?d([e,void 0],0,1):void d([0===l?e:i[0],1===l?e:i[1]],l,0===l?1:0)},slots:{day:q},slotProps:{day:{dateRange:i}},"aria-label":"calendar range picker"})};exports.DateRangePicker=({defaultValue:t,format:i,label:s,fullWidth:l,onValueChange:u,size:d="medium"})=>{const[n,o]=a.useState(!1),[m,c]=a.useState(t);return e.jsxs(e.Fragment,{children:[e.jsx(h.default,{label:s,fullWidth:l,size:d,value:`${r.format(m[0],i)} - ${m[1]?r.format(m[1],i):i.toUpperCase()}`,InputProps:{endAdornment:e.jsx(x.default,{position:"end",children:e.jsx(p.default,{onClick:()=>o((e=>!e)),"aria-label":"open calendar",children:e.jsx(j.default,{})})})}}),e.jsx(g.default,{children:e.jsx(y.default,{in:n,"aria-label":"calendar collapse",children:e.jsx(k,{defaultValue:t,onValueChange:(e,a)=>{c(e),u(e,a),o(a<1)}})})})]})};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/date-range-calendar/date-range-calendar.tsx","../../../src/date-range-picker/date-range-picker.tsx"],"sourcesContent":["import Box, { BoxProps } from \"@mui/material/Box\";\nimport { styled } from \"@mui/material/styles\";\nimport { DateCalendar, PickersDay, PickersDayProps } from \"@mui/x-date-pickers\";\nimport { endOfWeek, format, isAfter, isSameDay, startOfWeek } from \"date-fns\";\nimport { isBefore } from \"date-fns/esm\";\nimport { useState } from \"react\";\n\ntype DateRange = [Date, Date | undefined];\n\ninterface CustomPickerDayProps extends BoxProps {\n dayIsBetween: boolean;\n isFirstDay: boolean;\n isLastDay: boolean;\n}\n\nconst CustomPickersDayBackground = styled(Box, {\n shouldForwardProp: (prop) =>\n prop !== \"dayIsBetween\" &&\n prop !== \"isFirstDay\" &&\n prop !== \"isLastDay\" &&\n prop !== \"isStartOfWeek\" &&\n prop !== \"isEndOfWeek\",\n})<CustomPickerDayProps>(({ theme, dayIsBetween, isFirstDay, isLastDay }) => {\n return {\n ...((isFirstDay || isLastDay || dayIsBetween) && {\n borderRadius: 0,\n backgroundColor: `${theme.palette.primary.light}40`,\n margin: 0,\n }),\n ...(isFirstDay && {\n borderTopLeftRadius: \"50%\",\n borderBottomLeftRadius: \"50%\",\n }),\n ...(isLastDay && {\n borderTopRightRadius: \"50%\",\n borderBottomRightRadius: \"50%\",\n }),\n };\n}) as React.ComponentType<CustomPickerDayProps>;\n\nconst Day = (props: PickersDayProps<Date> & { dateRange?: DateRange | null }) => {\n const { day, dateRange, ...other } = props;\n\n if (dateRange == null) {\n return <PickersDay day={day} {...other} />;\n }\n\n const [start, end] = dateRange;\n\n const dayIsBetween = !!end && isAfter(day, start) && isBefore(day, end);\n const isFirstDay = isSameDay(day, start);\n const isLastDay = !!end && isSameDay(day, end);\n const isStartOfWeek = isSameDay(day, startOfWeek(day));\n const isEndOfWeek = isSameDay(day, endOfWeek(day));\n\n return (\n <CustomPickersDayBackground\n dayIsBetween={dayIsBetween}\n isFirstDay={isFirstDay || (dayIsBetween && isStartOfWeek)}\n isLastDay={isLastDay || (dayIsBetween && isEndOfWeek)}\n aria-label={format(day, \"yyyy-MM-dd\")}\n aria-selected={dayIsBetween || isFirstDay || isLastDay}\n role=\"gridcell\"\n >\n <PickersDay {...other} day={day} selected={isFirstDay || isLastDay} />\n </CustomPickersDayBackground>\n );\n};\n\nexport interface DateRangeCalendarProps {\n defaultValue: DateRange;\n onValueChange: (value: DateRange, updatedIndex: number) => void;\n}\nexport const DateRangeCalendar = ({ defaultValue, onValueChange }: DateRangeCalendarProps) => {\n const [value, setValue] = useState(defaultValue);\n const [index, setIndex] = useState(0);\n\n const setValueRange = (newRange: DateRange, index: number, newIndex: number) => {\n setValue(newRange);\n onValueChange(newRange, index);\n setIndex(newIndex);\n };\n\n const handleChange = (newValue: Date | null) => {\n if (!newValue) {\n return;\n }\n\n // If is the end date and is minor than the start date\n if (index === 1 && newValue < value[0]) {\n return setValueRange([newValue, undefined], 0, 1);\n }\n\n // If is the start date and is bigger than the end date\n if (index === 0 && value[1] && newValue > value[1]) {\n return setValueRange([newValue, undefined], 0, 1);\n }\n\n // Default case\n setValueRange(\n [index === 0 ? newValue : value[0], index === 1 ? newValue : value[1]],\n index,\n index === 0 ? 1 : 0,\n );\n };\n return (\n <DateCalendar\n value={null}\n onChange={handleChange}\n slots={{ day: Day }}\n slotProps={{\n day: {\n dateRange: value,\n } as any,\n }}\n aria-label=\"calendar range picker\"\n />\n );\n};\n","import { useState } from \"react\";\nimport { format } from \"date-fns\";\nimport Collapse from \"@mui/material/Collapse\";\nimport IconButton from \"@mui/material/IconButton\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport TextField from \"@mui/material/TextField\";\nimport Paper from \"@mui/material/Paper\";\nimport EventIcon from \"@mui/icons-material/Event\";\nimport { DateRangeCalendar } from \"~/date-range-calendar\";\n\ntype DateRange = [Date, Date | undefined];\nexport interface DateRangePickerProps {\n label: string;\n defaultValue: DateRange;\n format: string;\n fullWidth?: boolean;\n size?: \"small\" | \"medium\";\n onValueChange: (value: DateRange, index: number) => void;\n}\n\nexport const DateRangePicker = ({\n defaultValue,\n format: fmt,\n label,\n fullWidth,\n onValueChange,\n size = \"medium\",\n}: DateRangePickerProps) => {\n const [isPopoverOpened, setIsPopoverOpened] = useState(false);\n const [value, setValue] = useState(defaultValue);\n\n const handleValueChange = (newValue: DateRange, index: number) => {\n setValue(newValue);\n onValueChange(newValue, index);\n setIsPopoverOpened(index < 1);\n };\n\n return (\n <>\n <TextField\n label={label}\n fullWidth={fullWidth}\n size={size}\n value={`${format(value[0], fmt)} - ${value[1] ? format(value[1], fmt) : fmt.toUpperCase()}`}\n InputProps={{\n endAdornment: (\n <InputAdornment position=\"end\">\n <IconButton onClick={() => setIsPopoverOpened((o) => !o)} aria-label=\"open calendar\">\n <EventIcon />\n </IconButton>\n </InputAdornment>\n ),\n }}\n />\n <Paper>\n <Collapse in={isPopoverOpened} aria-label=\"calendar collapse\">\n <DateRangeCalendar defaultValue={defaultValue} onValueChange={handleValueChange} />\n </Collapse>\n </Paper>\n </>\n );\n};\n"],"names":["CustomPickersDayBackground","styled","Box","shouldForwardProp","prop","theme","dayIsBetween","isFirstDay","isLastDay","borderRadius","backgroundColor","palette","primary","light","margin","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","Day","props","day","dateRange","other","_jsx","PickersDay","start","end","isAfter","isBefore","isSameDay","isStartOfWeek","startOfWeek","isEndOfWeek","endOfWeek","format","role","children","selected","DateRangeCalendar","defaultValue","onValueChange","value","setValue","useState","index","setIndex","setValueRange","newRange","newIndex","DateCalendar","onChange","newValue","undefined","slots","slotProps","fmt","label","fullWidth","size","isPopoverOpened","setIsPopoverOpened","_jsxs","_Fragment","TextField","toUpperCase","InputProps","endAdornment","jsx","InputAdornment","position","IconButton","onClick","o","EventIcon","Paper","Collapse","in"],"mappings":"0mBAeA,MAAMA,EAA6BC,EAAMA,OAACC,UAAK,CAC7CC,kBAAoBC,GACT,iBAATA,GACS,eAATA,GACS,cAATA,GACS,kBAATA,GACS,gBAATA,GAN+BH,EAOV,EAAGI,QAAOC,eAAcC,aAAYC,gBACpD,KACAD,GAAcC,GAAaF,IAAiB,CAC/CG,aAAc,EACdC,gBAAiB,GAAGL,EAAMM,QAAQC,QAAQC,UAC1CC,OAAQ,MAENP,GAAc,CAChBQ,oBAAqB,MACrBC,uBAAwB,UAEtBR,GAAa,CACfS,qBAAsB,MACtBC,wBAAyB,WAKzBC,EAAOC,IACX,MAAMC,IAAEA,EAAGC,UAAEA,KAAcC,GAAUH,EAErC,GAAiB,MAAbE,EACF,OAAOE,EAAAA,IAACC,EAAAA,WAAW,CAAAJ,IAAKA,KAASE,IAGnC,MAAOG,EAAOC,GAAOL,EAEfhB,IAAiBqB,GAAOC,UAAQP,EAAKK,IAAUG,EAAQA,SAACR,EAAKM,GAC7DpB,EAAauB,EAAAA,UAAUT,EAAKK,GAC5BlB,IAAcmB,GAAOG,EAAAA,UAAUT,EAAKM,GACpCI,EAAgBD,EAAAA,UAAUT,EAAKW,EAAAA,YAAYX,IAC3CY,EAAcH,EAAAA,UAAUT,EAAKa,EAAAA,UAAUb,IAE7C,OACEG,EAAAA,IAACxB,EAA0B,CACzBM,aAAcA,EACdC,WAAYA,GAAeD,GAAgByB,EAC3CvB,UAAWA,GAAcF,GAAgB2B,EAAY,aACzCE,EAAAA,OAAOd,EAAK,cAAa,gBACtBf,GAAgBC,GAAcC,EAC7C4B,KAAK,WAAUC,SAEfb,EAAAA,IAACC,EAAUA,WAAK,IAAAF,EAAOF,IAAKA,EAAKiB,SAAU/B,GAAcC,KAE3D,EAOS+B,EAAoB,EAAGC,eAAcC,oBAChD,MAAOC,EAAOC,GAAYC,EAAQA,SAACJ,IAC5BK,EAAOC,GAAYF,EAAQA,SAAC,GAE7BG,EAAgB,CAACC,EAAqBH,EAAeI,KACzDN,EAASK,GACTP,EAAcO,EAAUH,GACxBC,EAASG,EAAS,EAyBpB,OACEzB,MAAC0B,EAAAA,aAAY,CACXR,MAAO,KACPS,SAzBkBC,IACpB,GAAKA,EAKL,OAAc,IAAVP,GAAeO,EAAWV,EAAM,IAKtB,IAAVG,GAAeH,EAAM,IAAMU,EAAWV,EAAM,GAJvCK,EAAc,CAACK,OAAUC,GAAY,EAAG,QASjDN,EACE,CAAW,IAAVF,EAAcO,EAAWV,EAAM,GAAc,IAAVG,EAAcO,EAAWV,EAAM,IACnEG,EACU,IAAVA,EAAc,EAAI,EACnB,EAMCS,MAAO,CAAEjC,IAAKF,GACdoC,UAAW,CACTlC,IAAK,CACHC,UAAWoB,IAGJ,aAAA,yBAEb,0BCjG2B,EAC7BF,eACAL,OAAQqB,EACRC,QACAC,YACAjB,gBACAkB,OAAO,aAEP,MAAOC,EAAiBC,GAAsBjB,EAAQA,UAAC,IAChDF,EAAOC,GAAYC,EAAQA,SAACJ,GAQnC,OACEsB,EAAAA,KACEC,EAAAA,SAAA,CAAA1B,SAAA,CAAAb,EAAAA,IAACwC,EAAAA,QAAS,CACRP,MAAOA,EACPC,UAAWA,EACXC,KAAMA,EACNjB,MAAO,GAAGP,EAAMA,OAACO,EAAM,GAAIc,QAAUd,EAAM,GAAKP,EAAMA,OAACO,EAAM,GAAIc,GAAOA,EAAIS,gBAC5EC,WAAY,CACVC,aACE3C,EAAC4C,IAAAC,WAAeC,SAAS,MAAKjC,SAC5Bb,MAAC+C,EAAAA,QAAU,CAACC,QAAS,IAAMX,GAAoBY,IAAOA,IAAe,aAAA,yBACnEjD,EAAC4C,IAAAM,UAAY,CAAA,UAMvBlD,EAAAA,IAACmD,EAAK,QAAA,CAAAtC,SACJb,MAACoD,EAAAA,QAAS,CAAAC,GAAIjB,EAA4B,aAAA,oBACxCvB,SAAAb,EAAAA,IAACe,EAAiB,CAACC,aAAcA,EAAcC,cAzB7B,CAACW,EAAqBP,KAC9CF,EAASS,GACTX,EAAcW,EAAUP,GACxBgB,EAAmBhB,EAAQ,EAAE,UA0B7B"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@pautena/react-design-system/date-range-picker",
|
|
3
|
+
"private": true,
|
|
4
|
+
"main": "./cjs/index.js",
|
|
5
|
+
"module": "./index.js",
|
|
6
|
+
"types": "./index.d.ts",
|
|
7
|
+
"dependencies": {
|
|
8
|
+
"@mui/icons-material": "^5.11.16",
|
|
9
|
+
"@mui/material": "^5.13.6",
|
|
10
|
+
"@mui/x-date-pickers": "^6.9.0",
|
|
11
|
+
"date-fns": "^2.30.0",
|
|
12
|
+
"react": "^18.2.0"
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e,{useState as
|
|
1
|
+
import{jsx as e,jsxs as a,Fragment as r}from"react/jsx-runtime";import{useState as t}from"react";import{isAfter as i,isSameDay as o,startOfWeek as l,endOfWeek as n,format as m}from"date-fns";import d from"@mui/material/Collapse";import s from"@mui/material/IconButton";import u from"@mui/material/InputAdornment";import p from"@mui/material/TextField";import f from"@mui/material/Paper";import c from"@mui/icons-material/Event";import y from"@mui/material/Box";import{styled as h}from"@mui/material/styles";import{DateCalendar as g,PickersDay as b}from"@mui/x-date-pickers";import{isBefore as R}from"date-fns/esm";const C=h(y,{shouldForwardProp:e=>"dayIsBetween"!==e&&"isFirstDay"!==e&&"isLastDay"!==e&&"isStartOfWeek"!==e&&"isEndOfWeek"!==e})((({theme:e,dayIsBetween:a,isFirstDay:r,isLastDay:t})=>({...(r||t||a)&&{borderRadius:0,backgroundColor:`${e.palette.primary.light}40`,margin:0},...r&&{borderTopLeftRadius:"50%",borderBottomLeftRadius:"50%"},...t&&{borderTopRightRadius:"50%",borderBottomRightRadius:"50%"}}))),B=a=>{const{day:r,dateRange:t,...d}=a;if(null==t)return e(b,{day:r,...d});const[s,u]=t,p=!!u&&i(r,s)&&R(r,u),f=o(r,s),c=!!u&&o(r,u),y=o(r,l(r)),h=o(r,n(r));return e(C,{dayIsBetween:p,isFirstDay:f||p&&y,isLastDay:c||p&&h,"aria-label":m(r,"yyyy-MM-dd"),"aria-selected":p||f||c,role:"gridcell",children:e(b,{...d,day:r,selected:f||c})})},k=({defaultValue:a,onValueChange:r})=>{const[i,o]=t(a),[l,n]=t(0),m=(e,a,t)=>{o(e),r(e,a),n(t)};return e(g,{value:null,onChange:e=>{if(e)return 1===l&&e<i[0]||0===l&&i[1]&&e>i[1]?m([e,void 0],0,1):void m([0===l?e:i[0],1===l?e:i[1]],l,0===l?1:0)},slots:{day:B},slotProps:{day:{dateRange:i}},"aria-label":"calendar range picker"})},D=({defaultValue:i,format:o,label:l,fullWidth:n,onValueChange:y,size:h="medium"})=>{const[g,b]=t(!1),[R,C]=t(i);return a(r,{children:[e(p,{label:l,fullWidth:n,size:h,value:`${m(R[0],o)} - ${R[1]?m(R[1],o):o.toUpperCase()}`,InputProps:{endAdornment:e(u,{position:"end",children:e(s,{onClick:()=>b((e=>!e)),"aria-label":"open calendar",children:e(c,{})})})}}),e(f,{children:e(d,{in:g,"aria-label":"calendar collapse",children:e(k,{defaultValue:i,onValueChange:(e,a)=>{C(e),y(e,a),b(a<1)}})})})]})};export{D as DateRangePicker};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/date-range-calendar/date-range-calendar.tsx","../../src/date-range-picker/date-range-picker.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/date-range-calendar/date-range-calendar.tsx","../../src/date-range-picker/date-range-picker.tsx"],"sourcesContent":["import Box, { BoxProps } from \"@mui/material/Box\";\nimport { styled } from \"@mui/material/styles\";\nimport { DateCalendar, PickersDay, PickersDayProps } from \"@mui/x-date-pickers\";\nimport { endOfWeek, format, isAfter, isSameDay, startOfWeek } from \"date-fns\";\nimport { isBefore } from \"date-fns/esm\";\nimport { useState } from \"react\";\n\ntype DateRange = [Date, Date | undefined];\n\ninterface CustomPickerDayProps extends BoxProps {\n dayIsBetween: boolean;\n isFirstDay: boolean;\n isLastDay: boolean;\n}\n\nconst CustomPickersDayBackground = styled(Box, {\n shouldForwardProp: (prop) =>\n prop !== \"dayIsBetween\" &&\n prop !== \"isFirstDay\" &&\n prop !== \"isLastDay\" &&\n prop !== \"isStartOfWeek\" &&\n prop !== \"isEndOfWeek\",\n})<CustomPickerDayProps>(({ theme, dayIsBetween, isFirstDay, isLastDay }) => {\n return {\n ...((isFirstDay || isLastDay || dayIsBetween) && {\n borderRadius: 0,\n backgroundColor: `${theme.palette.primary.light}40`,\n margin: 0,\n }),\n ...(isFirstDay && {\n borderTopLeftRadius: \"50%\",\n borderBottomLeftRadius: \"50%\",\n }),\n ...(isLastDay && {\n borderTopRightRadius: \"50%\",\n borderBottomRightRadius: \"50%\",\n }),\n };\n}) as React.ComponentType<CustomPickerDayProps>;\n\nconst Day = (props: PickersDayProps<Date> & { dateRange?: DateRange | null }) => {\n const { day, dateRange, ...other } = props;\n\n if (dateRange == null) {\n return <PickersDay day={day} {...other} />;\n }\n\n const [start, end] = dateRange;\n\n const dayIsBetween = !!end && isAfter(day, start) && isBefore(day, end);\n const isFirstDay = isSameDay(day, start);\n const isLastDay = !!end && isSameDay(day, end);\n const isStartOfWeek = isSameDay(day, startOfWeek(day));\n const isEndOfWeek = isSameDay(day, endOfWeek(day));\n\n return (\n <CustomPickersDayBackground\n dayIsBetween={dayIsBetween}\n isFirstDay={isFirstDay || (dayIsBetween && isStartOfWeek)}\n isLastDay={isLastDay || (dayIsBetween && isEndOfWeek)}\n aria-label={format(day, \"yyyy-MM-dd\")}\n aria-selected={dayIsBetween || isFirstDay || isLastDay}\n role=\"gridcell\"\n >\n <PickersDay {...other} day={day} selected={isFirstDay || isLastDay} />\n </CustomPickersDayBackground>\n );\n};\n\nexport interface DateRangeCalendarProps {\n defaultValue: DateRange;\n onValueChange: (value: DateRange, updatedIndex: number) => void;\n}\nexport const DateRangeCalendar = ({ defaultValue, onValueChange }: DateRangeCalendarProps) => {\n const [value, setValue] = useState(defaultValue);\n const [index, setIndex] = useState(0);\n\n const setValueRange = (newRange: DateRange, index: number, newIndex: number) => {\n setValue(newRange);\n onValueChange(newRange, index);\n setIndex(newIndex);\n };\n\n const handleChange = (newValue: Date | null) => {\n if (!newValue) {\n return;\n }\n\n // If is the end date and is minor than the start date\n if (index === 1 && newValue < value[0]) {\n return setValueRange([newValue, undefined], 0, 1);\n }\n\n // If is the start date and is bigger than the end date\n if (index === 0 && value[1] && newValue > value[1]) {\n return setValueRange([newValue, undefined], 0, 1);\n }\n\n // Default case\n setValueRange(\n [index === 0 ? newValue : value[0], index === 1 ? newValue : value[1]],\n index,\n index === 0 ? 1 : 0,\n );\n };\n return (\n <DateCalendar\n value={null}\n onChange={handleChange}\n slots={{ day: Day }}\n slotProps={{\n day: {\n dateRange: value,\n } as any,\n }}\n aria-label=\"calendar range picker\"\n />\n );\n};\n","import { useState } from \"react\";\nimport { format } from \"date-fns\";\nimport Collapse from \"@mui/material/Collapse\";\nimport IconButton from \"@mui/material/IconButton\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport TextField from \"@mui/material/TextField\";\nimport Paper from \"@mui/material/Paper\";\nimport EventIcon from \"@mui/icons-material/Event\";\nimport { DateRangeCalendar } from \"~/date-range-calendar\";\n\ntype DateRange = [Date, Date | undefined];\nexport interface DateRangePickerProps {\n label: string;\n defaultValue: DateRange;\n format: string;\n fullWidth?: boolean;\n size?: \"small\" | \"medium\";\n onValueChange: (value: DateRange, index: number) => void;\n}\n\nexport const DateRangePicker = ({\n defaultValue,\n format: fmt,\n label,\n fullWidth,\n onValueChange,\n size = \"medium\",\n}: DateRangePickerProps) => {\n const [isPopoverOpened, setIsPopoverOpened] = useState(false);\n const [value, setValue] = useState(defaultValue);\n\n const handleValueChange = (newValue: DateRange, index: number) => {\n setValue(newValue);\n onValueChange(newValue, index);\n setIsPopoverOpened(index < 1);\n };\n\n return (\n <>\n <TextField\n label={label}\n fullWidth={fullWidth}\n size={size}\n value={`${format(value[0], fmt)} - ${value[1] ? format(value[1], fmt) : fmt.toUpperCase()}`}\n InputProps={{\n endAdornment: (\n <InputAdornment position=\"end\">\n <IconButton onClick={() => setIsPopoverOpened((o) => !o)} aria-label=\"open calendar\">\n <EventIcon />\n </IconButton>\n </InputAdornment>\n ),\n }}\n />\n <Paper>\n <Collapse in={isPopoverOpened} aria-label=\"calendar collapse\">\n <DateRangeCalendar defaultValue={defaultValue} onValueChange={handleValueChange} />\n </Collapse>\n </Paper>\n </>\n );\n};\n"],"names":["CustomPickersDayBackground","styled","Box","shouldForwardProp","prop","theme","dayIsBetween","isFirstDay","isLastDay","borderRadius","backgroundColor","palette","primary","light","margin","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","Day","props","day","dateRange","other","_jsx","PickersDay","start","end","isAfter","isBefore","isSameDay","isStartOfWeek","startOfWeek","isEndOfWeek","endOfWeek","format","role","children","selected","DateRangeCalendar","defaultValue","onValueChange","value","setValue","useState","index","setIndex","setValueRange","newRange","newIndex","DateCalendar","onChange","newValue","undefined","slots","slotProps","DateRangePicker","fmt","label","fullWidth","size","isPopoverOpened","setIsPopoverOpened","_jsxs","_Fragment","TextField","toUpperCase","InputProps","endAdornment","InputAdornment","position","IconButton","onClick","o","EventIcon","Paper","Collapse","in"],"mappings":"smBAeA,MAAMA,EAA6BC,EAAOC,EAAK,CAC7CC,kBAAoBC,GACT,iBAATA,GACS,eAATA,GACS,cAATA,GACS,kBAATA,GACS,gBAATA,GAN+BH,EAOV,EAAGI,QAAOC,eAAcC,aAAYC,gBACpD,KACAD,GAAcC,GAAaF,IAAiB,CAC/CG,aAAc,EACdC,gBAAiB,GAAGL,EAAMM,QAAQC,QAAQC,UAC1CC,OAAQ,MAENP,GAAc,CAChBQ,oBAAqB,MACrBC,uBAAwB,UAEtBR,GAAa,CACfS,qBAAsB,MACtBC,wBAAyB,WAKzBC,EAAOC,IACX,MAAMC,IAAEA,EAAGC,UAAEA,KAAcC,GAAUH,EAErC,GAAiB,MAAbE,EACF,OAAOE,EAACC,EAAW,CAAAJ,IAAKA,KAASE,IAGnC,MAAOG,EAAOC,GAAOL,EAEfhB,IAAiBqB,GAAOC,EAAQP,EAAKK,IAAUG,EAASR,EAAKM,GAC7DpB,EAAauB,EAAUT,EAAKK,GAC5BlB,IAAcmB,GAAOG,EAAUT,EAAKM,GACpCI,EAAgBD,EAAUT,EAAKW,EAAYX,IAC3CY,EAAcH,EAAUT,EAAKa,EAAUb,IAE7C,OACEG,EAACxB,EAA0B,CACzBM,aAAcA,EACdC,WAAYA,GAAeD,GAAgByB,EAC3CvB,UAAWA,GAAcF,GAAgB2B,EAAY,aACzCE,EAAOd,EAAK,cAAa,gBACtBf,GAAgBC,GAAcC,EAC7C4B,KAAK,WAAUC,SAEfb,EAACC,EAAe,IAAAF,EAAOF,IAAKA,EAAKiB,SAAU/B,GAAcC,KAE3D,EAOS+B,EAAoB,EAAGC,eAAcC,oBAChD,MAAOC,EAAOC,GAAYC,EAASJ,IAC5BK,EAAOC,GAAYF,EAAS,GAE7BG,EAAgB,CAACC,EAAqBH,EAAeI,KACzDN,EAASK,GACTP,EAAcO,EAAUH,GACxBC,EAASG,EAAS,EAyBpB,OACEzB,EAAC0B,EAAY,CACXR,MAAO,KACPS,SAzBkBC,IACpB,GAAKA,EAKL,OAAc,IAAVP,GAAeO,EAAWV,EAAM,IAKtB,IAAVG,GAAeH,EAAM,IAAMU,EAAWV,EAAM,GAJvCK,EAAc,CAACK,OAAUC,GAAY,EAAG,QASjDN,EACE,CAAW,IAAVF,EAAcO,EAAWV,EAAM,GAAc,IAAVG,EAAcO,EAAWV,EAAM,IACnEG,EACU,IAAVA,EAAc,EAAI,EACnB,EAMCS,MAAO,CAAEjC,IAAKF,GACdoC,UAAW,CACTlC,IAAK,CACHC,UAAWoB,IAGJ,aAAA,yBAEb,ECjGSc,EAAkB,EAC7BhB,eACAL,OAAQsB,EACRC,QACAC,YACAlB,gBACAmB,OAAO,aAEP,MAAOC,EAAiBC,GAAsBlB,GAAS,IAChDF,EAAOC,GAAYC,EAASJ,GAQnC,OACEuB,EACEC,EAAA,CAAA3B,SAAA,CAAAb,EAACyC,EAAS,CACRP,MAAOA,EACPC,UAAWA,EACXC,KAAMA,EACNlB,MAAO,GAAGP,EAAOO,EAAM,GAAIe,QAAUf,EAAM,GAAKP,EAAOO,EAAM,GAAIe,GAAOA,EAAIS,gBAC5EC,WAAY,CACVC,aACE5C,EAAC6C,GAAeC,SAAS,MAAKjC,SAC5Bb,EAAC+C,EAAU,CAACC,QAAS,IAAMV,GAAoBW,IAAOA,IAAe,aAAA,yBACnEjD,EAACkD,EAAY,CAAA,UAMvBlD,EAACmD,EAAK,CAAAtC,SACJb,EAACoD,EAAS,CAAAC,GAAIhB,EAA4B,aAAA,oBACxCxB,SAAAb,EAACe,EAAiB,CAACC,aAAcA,EAAcC,cAzB7B,CAACW,EAAqBP,KAC9CF,EAASS,GACTX,EAAcW,EAAUP,GACxBiB,EAAmBjB,EAAQ,EAAE,UA0B7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/dialog/use-dialog.ts"],"sourcesContent":["import { useState } from \"react\";\n\nexport const useDialog = (intialOpen = false) => {\n const [isOpen, setIsOpen] = useState(intialOpen);\n\n const open = () => setIsOpen(true);\n const close = () => setIsOpen(false);\n\n return { isOpen, open, close, setIsOpen };\n};\n"],"names":["intialOpen","isOpen","setIsOpen","useState","open","close"],"mappings":"6GAEyB,CAACA,GAAa,KACrC,MAAOC,EAAQC,GAAaC,EAAQA,SAACH,GAKrC,MAAO,CAAEC,SAAQG,KAHJ,IAAMF,GAAU,GAGNG,MAFT,IAAMH,GAAU,GAEAA,YAAW"}
|
package/dialog/package.json
CHANGED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("@mui/material/styles"),t=require("@mui/material/Drawer"),i=require("@mui/material/Paper"),n=require("@mui/material/Divider"),a=require("@mui/material/IconButton"),s=require("@mui/icons-material/ChevronLeft"),o=require("react");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var p=d(t),l=d(n),u=d(a),c=d(s);const m=o.createContext(void 0),h=new Error("DrawerContext.Provider is required and was undefined"),x=e=>({width:240,transition:e.transitions.create("width",{easing:e.transitions.easing.sharp,duration:e.transitions.duration.enteringScreen}),overflowX:"hidden"}),w=e=>({transition:e.transitions.create("width",{easing:e.transitions.easing.sharp,duration:e.transitions.duration.leavingScreen}),overflowX:"hidden",width:`calc(${e.spacing(7)} + 1px)`,[e.breakpoints.up("sm")]:{width:`calc(${e.spacing(8)} + 1px)`}}),f=r.styled("div")((({theme:e})=>({display:"flex",alignItems:"center",justifyContent:"flex-end",padding:e.spacing(0,1),...e.mixins.toolbar}))),g={temporary:!0,mini:!0,persistent:!0,clipped:!1},v={temporary:"temporary",mini:"permanent",clipped:"permanent",persistent:"persistent"},y=()=>({}),C={mini:(e,r)=>({boxSizing:"border-box",[`& .${i.paperClasses.root}`]:{zIndex:r.zIndex.drawer-1}}),temporary:y,clipped:y,persistent:y};exports.Drawer=({children:i,...n})=>{const a=r.useTheme(),{state:s,switchState:d,underAppBar:y,close:j,drawerWidth:q,variant:b}=(()=>{const e=o.useContext(m);if(void 0===e)throw h;return e})(),D={width:q,flexShrink:0,whiteSpace:"nowrap",..."open"===s&&{...x(a),[`& .${t.drawerClasses.paper}`]:x(a)},..."open"!==s&&{...w(a),[`& .${t.drawerClasses.paper}`]:w(a)},...C[b](s,a)};return e.jsxs(p.default,{open:"open"===s,variant:v[b],role:"menu","aria-hidden":"close"===s,onClose:j,sx:D,...n,children:[e.jsx(f,{children:!y&&g[b]&&e.jsx(u.default,{onClick:d,children:e.jsx(c.default,{})})}),e.jsx(l.default,{}),i]})},exports.DrawerHeader=f,exports.getDrawerItemColors=(e,r)=>({color:r?e.palette.primary.main:void 0,fontWeight:r?e.typography.fontWeightBold:e.typography.fontWeightMedium});
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/drawer-provider/drawer-context.ts","../../../src/drawer-provider/drawer-mixins.ts","../../../src/drawer/drawer.tsx","../../../src/drawer/drawer.types.ts"],"sourcesContent":["import { useContext, createContext } from \"react\";\nimport { DrawerState, DrawerVariant } from \"~/drawer\";\n\nexport interface DrawerContextProps {\n selectedItemId?: string;\n state: DrawerState;\n variant: DrawerVariant;\n drawerWidth: number;\n underAppBar: boolean;\n switchState(): void;\n close(): void;\n collapse(): void;\n open(): void;\n setState: (state: DrawerState) => void;\n}\n\nexport const DrawerContext = createContext<DrawerContextProps | undefined>(undefined);\nexport const UndefinedProvider = new Error(\"DrawerContext.Provider is required and was undefined\");\n\nexport const useDrawer = () => {\n const context = useContext(DrawerContext);\n\n if (context === undefined) {\n throw UndefinedProvider;\n }\n\n return context;\n};\n","import { Theme, CSSObject } from \"@mui/material/styles\";\n\nexport const drawerWidth = 240;\n\nexport const openedMixin = (theme: Theme): CSSObject => ({\n width: drawerWidth,\n transition: theme.transitions.create(\"width\", {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.enteringScreen,\n }),\n overflowX: \"hidden\",\n});\n\nexport const closedMixin = (theme: Theme): CSSObject => ({\n transition: theme.transitions.create(\"width\", {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n overflowX: \"hidden\",\n width: `calc(${theme.spacing(7)} + 1px)`,\n [theme.breakpoints.up(\"sm\")]: {\n width: `calc(${theme.spacing(8)} + 1px)`,\n },\n});\n","import { SxProps, Theme, styled, useTheme } from \"@mui/material/styles\";\nimport MuiDrawer, { drawerClasses } from \"@mui/material/Drawer\";\nimport { paperClasses } from \"@mui/material/Paper\";\nimport Divider from \"@mui/material/Divider\";\nimport IconButton from \"@mui/material/IconButton\";\nimport ChevronLeftIcon from \"@mui/icons-material/ChevronLeft\";\nimport { DrawerComponent, DrawerProps, DrawerState, DrawerVariant } from \"./drawer.types\";\nimport { useDrawer } from \"~/drawer-provider/drawer-context\";\nimport { closedMixin, openedMixin } from \"~/drawer-provider/drawer-mixins\";\n\nexport const DrawerHeader = styled(\"div\")(({ theme }) => ({\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n padding: theme.spacing(0, 1),\n ...theme.mixins.toolbar,\n}));\n\nconst showCloseButton: Record<DrawerVariant, boolean> = {\n temporary: true,\n mini: true,\n persistent: true,\n clipped: false,\n};\n\nconst muiDrawerVariant: Record<DrawerVariant, \"permanent\" | \"persistent\" | \"temporary\"> = {\n temporary: \"temporary\",\n mini: \"permanent\",\n clipped: \"permanent\",\n persistent: \"persistent\",\n};\n\ntype SxGenerator = (state: DrawerState, theme: Theme) => SxProps<Theme>;\nconst NoopSxGenerator = () => ({});\nconst variantsSx: Readonly<Record<DrawerVariant, SxGenerator>> = {\n mini: (state: DrawerState, theme: Theme) => ({\n boxSizing: \"border-box\",\n [`& .${paperClasses.root}`]: {\n zIndex: theme.zIndex.drawer - 1,\n },\n }),\n temporary: NoopSxGenerator,\n clipped: NoopSxGenerator,\n persistent: NoopSxGenerator,\n};\n\nexport const Drawer: DrawerComponent = ({ children, ...rest }: DrawerProps) => {\n const theme = useTheme();\n const { state, switchState, underAppBar, close, drawerWidth, variant } = useDrawer();\n\n const sx: any = {\n width: drawerWidth,\n flexShrink: 0,\n whiteSpace: \"nowrap\",\n ...(state === \"open\" && {\n ...openedMixin(theme),\n [`& .${drawerClasses.paper}`]: openedMixin(theme),\n }),\n ...(state !== \"open\" && {\n ...closedMixin(theme),\n [`& .${drawerClasses.paper}`]: closedMixin(theme),\n }),\n ...variantsSx[variant](state, theme),\n };\n\n return (\n <MuiDrawer\n open={state === \"open\"}\n variant={muiDrawerVariant[variant]}\n role=\"menu\"\n aria-hidden={state === \"close\"}\n onClose={close}\n sx={sx}\n {...rest}\n >\n <DrawerHeader>\n {!underAppBar && showCloseButton[variant] && (\n <IconButton onClick={switchState}>\n <ChevronLeftIcon />\n </IconButton>\n )}\n </DrawerHeader>\n <Divider />\n {children}\n </MuiDrawer>\n );\n};\n","import { FunctionComponent, ReactElement } from \"react\";\nimport { BulletVariant } from \"~/bullet\";\nimport { LabelVariant } from \"~/label\";\nimport { DrawerProps as MuiDrawerProps } from \"@mui/material/Drawer\";\nimport { Theme } from \"@mui/material/styles\";\nimport { DrawerAppBarProps } from \"~/drawer-app-bar\";\n\nexport type DrawerVariant = \"temporary\" | \"mini\" | \"persistent\" | \"clipped\";\nexport type DrawerState = \"open\" | \"collapse\" | \"close\";\nexport type DrawerSize = \"small\" | \"medium\";\n\nexport interface DrawerItemAvatar {\n src: string;\n alt: string;\n}\n\nexport interface DrawerItemLabel {\n text: string;\n variant: LabelVariant;\n}\n\nexport interface DrawerItemBullet {\n variant: BulletVariant;\n}\n\nexport interface DrawerNavigationItemLink {\n id: string;\n text: string;\n href: string;\n icon?: ReactElement;\n avatar?: DrawerItemAvatar;\n label?: DrawerItemLabel;\n bullet?: DrawerItemBullet;\n}\n\nexport type DrawerNavigationItemCollapsable = Pick<\n DrawerNavigationItemLink,\n \"id\" | \"text\" | \"icon\"\n> & {\n items: DrawerNavigationItem[];\n};\n\nexport type DrawerNavigationItem = DrawerNavigationItemLink | DrawerNavigationItemCollapsable;\n\nexport interface DrawerNavigationSection {\n title?: string;\n items: DrawerNavigationItem[];\n}\n\nexport interface DrawerNavigation {\n items: DrawerNavigationSection[];\n}\n\nexport interface DrawerContentProps {\n /**\n * Object with the content that has to be rendered\n */\n nav: DrawerNavigation;\n /**\n * Item size. default to medium\n */\n size?: DrawerSize;\n}\n\nexport type DrawerContentComponent = FunctionComponent<DrawerContentProps>;\nexport type DrawerContentElement = ReactElement<DrawerContentProps, DrawerContentComponent>;\n\nexport interface DrawerProps extends MuiDrawerProps {\n children: DrawerContentElement;\n}\n\nexport type DrawerComponent = FunctionComponent<DrawerProps>;\nexport type DrawerElement = ReactElement<DrawerProps, DrawerComponent>;\n\nexport const getDrawerItemColors = (theme: Theme, selected: boolean | undefined) => ({\n color: selected ? theme.palette.primary.main : undefined,\n fontWeight: selected ? theme.typography.fontWeightBold : theme.typography.fontWeightMedium,\n});\n\nexport type DrawerAppBarComponent = FunctionComponent<DrawerAppBarProps>;\nexport type DrawerAppBarElement = ReactElement<DrawerAppBarProps, DrawerAppBarComponent>;\n"],"names":["DrawerContext","createContext","undefined","UndefinedProvider","Error","openedMixin","theme","width","transition","transitions","create","easing","sharp","duration","enteringScreen","overflowX","closedMixin","leavingScreen","spacing","breakpoints","up","DrawerHeader","styled","display","alignItems","justifyContent","padding","mixins","toolbar","showCloseButton","temporary","mini","persistent","clipped","muiDrawerVariant","NoopSxGenerator","variantsSx","state","boxSizing","paperClasses","root","zIndex","drawer","children","rest","useTheme","switchState","underAppBar","close","drawerWidth","variant","context","useContext","useDrawer","sx","flexShrink","whiteSpace","drawerClasses","paper","_jsxs","MuiDrawer","open","role","onClose","_jsx","IconButton","onClick","ChevronLeftIcon","Divider","selected","color","palette","primary","main","fontWeight","typography","fontWeightBold","fontWeightMedium"],"mappings":"6bAgBO,MAAMA,EAAgBC,EAAAA,mBAA8CC,GAC9DC,EAAoB,IAAIC,MAAM,wDCb9BC,EAAeC,IAA6B,CACvDC,MAHyB,IAIzBC,WAAYF,EAAMG,YAAYC,OAAO,QAAS,CAC5CC,OAAQL,EAAMG,YAAYE,OAAOC,MACjCC,SAAUP,EAAMG,YAAYI,SAASC,iBAEvCC,UAAW,WAGAC,EAAeV,IAA6B,CACvDE,WAAYF,EAAMG,YAAYC,OAAO,QAAS,CAC5CC,OAAQL,EAAMG,YAAYE,OAAOC,MACjCC,SAAUP,EAAMG,YAAYI,SAASI,gBAEvCF,UAAW,SACXR,MAAO,QAAQD,EAAMY,QAAQ,YAC7B,CAACZ,EAAMa,YAAYC,GAAG,OAAQ,CAC5Bb,MAAO,QAAQD,EAAMY,QAAQ,eCXpBG,EAAeC,EAAAA,OAAO,MAAPA,EAAc,EAAGhB,YAAa,CACxDiB,QAAS,OACTC,WAAY,SACZC,eAAgB,WAChBC,QAASpB,EAAMY,QAAQ,EAAG,MACvBZ,EAAMqB,OAAOC,YAGZC,EAAkD,CACtDC,WAAW,EACXC,MAAM,EACNC,YAAY,EACZC,SAAS,GAGLC,EAAoF,CACxFJ,UAAW,YACXC,KAAM,YACNE,QAAS,YACTD,WAAY,cAIRG,EAAkB,KAAO,CAAE,GAC3BC,EAA2D,CAC/DL,KAAM,CAACM,EAAoB/B,KAAkB,CAC3CgC,UAAW,aACX,CAAC,MAAMC,eAAaC,QAAS,CAC3BC,OAAQnC,EAAMmC,OAAOC,OAAS,KAGlCZ,UAAWK,EACXF,QAASE,EACTH,WAAYG,kBAGyB,EAAGQ,cAAaC,MACrD,MAAMtC,EAAQuC,EAAAA,YACRR,MAAEA,EAAKS,YAAEA,EAAWC,YAAEA,EAAWC,MAAEA,EAAKC,YAAEA,EAAWC,QAAEA,GF7BtC,MACvB,MAAMC,EAAUC,aAAWpD,GAE3B,QAAgBE,IAAZiD,EACF,MAAMhD,EAGR,OAAOgD,CAAO,EEsB2DE,GAEnEC,EAAU,CACd/C,MAAO0C,EACPM,WAAY,EACZC,WAAY,YACE,SAAVnB,GAAoB,IACnBhC,EAAYC,GACf,CAAC,MAAMmD,EAAaA,cAACC,SAAUrD,EAAYC,OAE/B,SAAV+B,GAAoB,IACnBrB,EAAYV,GACf,CAAC,MAAMmD,EAAaA,cAACC,SAAU1C,EAAYV,OAE1C8B,EAAWc,GAASb,EAAO/B,IAGhC,OACEqD,OAACC,EAAAA,QAAS,CACRC,KAAgB,SAAVxB,EACNa,QAAShB,EAAiBgB,GAC1BY,KAAK,OACQ,cAAU,UAAVzB,EACb0B,QAASf,EACTM,GAAIA,KACAV,EAEJD,SAAA,CAAAqB,MAAC3C,EAAY,CAAAsB,UACTI,GAAelB,EAAgBqB,IAC/Bc,MAACC,EAAAA,SAAWC,QAASpB,EAAWH,SAC9BqB,EAAAA,IAACG,EAAe,QAAG,QAIzBH,EAAAA,IAACI,EAAO,QAAG,IACVzB,IAEH,qDCX+B,CAACrC,EAAc+D,KAAmC,CACnFC,MAAOD,EAAW/D,EAAMiE,QAAQC,QAAQC,UAAOvE,EAC/CwE,WAAYL,EAAW/D,EAAMqE,WAAWC,eAAiBtE,EAAMqE,WAAWE"}
|