@startlibs/components 1.1.5 → 1.2.0-rc.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.
Files changed (123) hide show
  1. package/lib/BasicBulletList.mjs +1 -1
  2. package/lib/BasicBulletList.mjs.map +1 -1
  3. package/lib/Button.mjs +3 -3
  4. package/lib/Button.mjs.map +1 -1
  5. package/lib/ContextMenu.mjs +22 -6
  6. package/lib/ContextMenu.mjs.map +1 -1
  7. package/lib/Dialog.mjs +60 -24
  8. package/lib/Dialog.mjs.map +1 -1
  9. package/lib/Icon.mjs +10 -4
  10. package/lib/Icon.mjs.map +1 -1
  11. package/lib/Loading.mjs +26 -3
  12. package/lib/Loading.mjs.map +1 -1
  13. package/lib/PageLoader.mjs +2 -2
  14. package/lib/PageLoader.mjs.map +1 -1
  15. package/lib/PersistentNotifications.mjs +1 -1
  16. package/lib/PersistentNotifications.mjs.map +1 -1
  17. package/lib/SplitColumnsContainer.mjs +77 -6
  18. package/lib/SplitColumnsContainer.mjs.map +1 -1
  19. package/lib/TextButton.mjs +1 -1
  20. package/lib/TextButton.mjs.map +1 -1
  21. package/lib/ToastNotifications.mjs +16 -14
  22. package/lib/ToastNotifications.mjs.map +1 -1
  23. package/lib/alt/dialogs/DialogWithImageHeader.mjs +1 -1
  24. package/lib/alt/dialogs/DialogWithImageHeader.mjs.map +1 -1
  25. package/lib/alt/dialogs/DialogWithSidebar.mjs +7 -3
  26. package/lib/alt/dialogs/DialogWithSidebar.mjs.map +1 -1
  27. package/lib/alt/dialogs/MobileBubbleDialog.mjs +1 -1
  28. package/lib/alt/dialogs/MobileBubbleDialog.mjs.map +1 -1
  29. package/lib/containers/DialogContainer.mjs +31 -12
  30. package/lib/containers/DialogContainer.mjs.map +1 -1
  31. package/lib/index.cjs +288 -95
  32. package/lib/index.cjs.map +1 -1
  33. package/lib/willUseIsSticky.mjs +23 -2
  34. package/lib/willUseIsSticky.mjs.map +1 -1
  35. package/lib-yak/BasicBulletList.mjs +27 -0
  36. package/lib-yak/BasicBulletList.mjs.map +1 -0
  37. package/lib-yak/Button.mjs +374 -0
  38. package/lib-yak/Button.mjs.map +1 -0
  39. package/lib-yak/ContextMenu.mjs +642 -0
  40. package/lib-yak/ContextMenu.mjs.map +1 -0
  41. package/lib-yak/Dialog.mjs +468 -0
  42. package/lib-yak/Dialog.mjs.map +1 -0
  43. package/lib-yak/Draggable.mjs +892 -0
  44. package/lib-yak/Draggable.mjs.map +1 -0
  45. package/lib-yak/ErrorBoundary.mjs +108 -0
  46. package/lib-yak/ErrorBoundary.mjs.map +1 -0
  47. package/lib-yak/FillLastLineResizer.mjs +238 -0
  48. package/lib-yak/FillLastLineResizer.mjs.map +1 -0
  49. package/lib-yak/Flip.mjs +644 -0
  50. package/lib-yak/Flip.mjs.map +1 -0
  51. package/lib-yak/FlipList.mjs +186 -0
  52. package/lib-yak/FlipList.mjs.map +1 -0
  53. package/lib-yak/FormatDate.mjs +25 -0
  54. package/lib-yak/FormatDate.mjs.map +1 -0
  55. package/lib-yak/Icon.mjs +74 -0
  56. package/lib-yak/Icon.mjs.map +1 -0
  57. package/lib-yak/Image.mjs +41 -0
  58. package/lib-yak/Image.mjs.map +1 -0
  59. package/lib-yak/Link.mjs +116 -0
  60. package/lib-yak/Link.mjs.map +1 -0
  61. package/lib-yak/Loading.mjs +54 -0
  62. package/lib-yak/Loading.mjs.map +1 -0
  63. package/lib-yak/LoadingDiv.mjs +82 -0
  64. package/lib-yak/LoadingDiv.mjs.map +1 -0
  65. package/lib-yak/Notifications.mjs +99 -0
  66. package/lib-yak/Notifications.mjs.map +1 -0
  67. package/lib-yak/PageLoader.mjs +61 -0
  68. package/lib-yak/PageLoader.mjs.map +1 -0
  69. package/lib-yak/PersistentNotifications.mjs +209 -0
  70. package/lib-yak/PersistentNotifications.mjs.map +1 -0
  71. package/lib-yak/Popup.mjs +66 -0
  72. package/lib-yak/Popup.mjs.map +1 -0
  73. package/lib-yak/SplitColumnsContainer.mjs +140 -0
  74. package/lib-yak/SplitColumnsContainer.mjs.map +1 -0
  75. package/lib-yak/SwitchDiv.mjs +60 -0
  76. package/lib-yak/SwitchDiv.mjs.map +1 -0
  77. package/lib-yak/TextButton.mjs +61 -0
  78. package/lib-yak/TextButton.mjs.map +1 -0
  79. package/lib-yak/ToastNotifications.mjs +316 -0
  80. package/lib-yak/ToastNotifications.mjs.map +1 -0
  81. package/lib-yak/Tooltip.mjs +176 -0
  82. package/lib-yak/Tooltip.mjs.map +1 -0
  83. package/lib-yak/TransitionDiv.mjs +59 -0
  84. package/lib-yak/TransitionDiv.mjs.map +1 -0
  85. package/lib-yak/WarningDialog.mjs +107 -0
  86. package/lib-yak/WarningDialog.mjs.map +1 -0
  87. package/lib-yak/alt/buttons/OnClickLoadingButton.mjs +36 -0
  88. package/lib-yak/alt/buttons/OnClickLoadingButton.mjs.map +1 -0
  89. package/lib-yak/alt/dialogs/DialogWithImageHeader.mjs +50 -0
  90. package/lib-yak/alt/dialogs/DialogWithImageHeader.mjs.map +1 -0
  91. package/lib-yak/alt/dialogs/DialogWithSidebar.mjs +193 -0
  92. package/lib-yak/alt/dialogs/DialogWithSidebar.mjs.map +1 -0
  93. package/lib-yak/alt/dialogs/MobileBubbleDialog.mjs +82 -0
  94. package/lib-yak/alt/dialogs/MobileBubbleDialog.mjs.map +1 -0
  95. package/lib-yak/containers/DialogContainer.mjs +482 -0
  96. package/lib-yak/containers/DialogContainer.mjs.map +1 -0
  97. package/lib-yak/containers/Reposition.mjs +35 -0
  98. package/lib-yak/containers/Reposition.mjs.map +1 -0
  99. package/lib-yak/containers/usePositioning.mjs +311 -0
  100. package/lib-yak/containers/usePositioning.mjs.map +1 -0
  101. package/lib-yak/index.mjs +37 -0
  102. package/lib-yak/index.mjs.map +1 -0
  103. package/lib-yak/useDialogWithToggle.mjs +18 -0
  104. package/lib-yak/useDialogWithToggle.mjs.map +1 -0
  105. package/lib-yak/willUseIsSticky.mjs +147 -0
  106. package/lib-yak/willUseIsSticky.mjs.map +1 -0
  107. package/package.json +12 -3
  108. package/src/BasicBulletList.jsx +1 -1
  109. package/src/Button.jsx +36 -30
  110. package/src/ContextMenu.jsx +21 -7
  111. package/src/Dialog.jsx +30 -12
  112. package/src/Icon.jsx +5 -4
  113. package/src/Loading.jsx +19 -5
  114. package/src/PageLoader.jsx +3 -3
  115. package/src/PersistentNotifications.jsx +2 -2
  116. package/src/SplitColumnsContainer.jsx +89 -30
  117. package/src/TextButton.jsx +1 -1
  118. package/src/ToastNotifications.jsx +15 -8
  119. package/src/alt/dialogs/DialogWithImageHeader.jsx +2 -2
  120. package/src/alt/dialogs/DialogWithSidebar.jsx +6 -5
  121. package/src/alt/dialogs/MobileBubbleDialog.jsx +1 -1
  122. package/src/containers/DialogContainer.jsx +13 -6
  123. package/src/willUseIsSticky.jsx +22 -2
@@ -0,0 +1,107 @@
1
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
2
+ import _extends from '@babel/runtime/helpers/extends';
3
+ import _isString from 'lodash/fp/isString';
4
+ import { yakDomTag } from '@startlibs/utils/yakDomTag';
5
+ import { willUseSharedState } from '@startlibs/core';
6
+ import { Button } from './Button.mjs';
7
+ import { Dialog } from './Dialog.mjs';
8
+ import { Icon } from './Icon.mjs';
9
+ import { useDialogWithToggle } from './useDialogWithToggle.mjs';
10
+ import { callIfFunction, getColor } from '@startlibs/utils';
11
+ import React from 'react';
12
+ import { styled, css } from '@yak/react';
13
+
14
+ const _excluded = ["as"];
15
+ const WarningDialog = styled(_ref => {
16
+ let {
17
+ content,
18
+ footer,
19
+ withX,
20
+ closeDialog,
21
+ leftButton,
22
+ additionalContent,
23
+ title,
24
+ rightButton,
25
+ className,
26
+ color = "alert",
27
+ icon = "warning",
28
+ confirmLabel = "Entendi",
29
+ noActions,
30
+ children
31
+ } = _ref;
32
+ return /*#__PURE__*/React.createElement(Dialog, {
33
+ className: className,
34
+ closeDialog: withX && closeDialog
35
+ }, _isString(icon) ? /*#__PURE__*/React.createElement(WarningDialogIcon, {
36
+ icon: icon,
37
+ color: color
38
+ }) : icon, title && /*#__PURE__*/React.createElement(WarningDialogTitle, {
39
+ color: color
40
+ }, title), content && /*#__PURE__*/React.createElement(Content, {
41
+ noTitle: !title,
42
+ noActions: noActions
43
+ }, content), additionalContent, callIfFunction(leftButton, closeDialog), confirmLabel !== false && /*#__PURE__*/React.createElement(Button, {
44
+ highlight: true,
45
+ onClick: closeDialog
46
+ }, confirmLabel), callIfFunction(rightButton, closeDialog), callIfFunction(footer, closeDialog), children);
47
+ }).attrs({
48
+ className: "styled-warning-dialog"
49
+ })`
50
+ text-align: center;
51
+ max-width: 36rem;
52
+ padding: 2.5rem;
53
+ ${Button} {
54
+ margin: 0.5rem !important;
55
+ }
56
+ `;
57
+ const WarningDialogTitle = styled(yakDomTag("h3")).attrs({
58
+ className: "styled-warning-dialog-title"
59
+ })`
60
+ color: ${props => getColor(props.color)(props)};
61
+ font-weight: 500;
62
+ font-size: 20px;
63
+ `;
64
+ const Content = styled(yakDomTag("div"))`
65
+ font-size: 15px;
66
+ max-width: 27rem;
67
+ margin: 0 auto;
68
+ line-height: 130%;
69
+ ${props => !props.noActions && css`
70
+ margin: 0 auto 1.5rem;
71
+ `}
72
+ ${props => props.noTitle && css`
73
+ font-weight: 500;
74
+ font-size: 16px;
75
+ `}
76
+ `;
77
+ const WarningDialogIcon = styled(Icon).attrs({
78
+ className: "styled-warning-dialog-icon"
79
+ })`
80
+ color: ${props => getColor(props.color)(props)};;
81
+ font-size: 46px;
82
+ display: block;
83
+ margin-bottom: 1.25rem;
84
+ `;
85
+ const useWarningDialog = () => useDialogWithToggle(toggle => /*#__PURE__*/React.createElement(WarningDialog, _extends({}, toggle.isOpen, {
86
+ closeDialog: toggle.close
87
+ })));
88
+ const [useRenderDefaultWarningDialog,, _setWarningDialog] = willUseSharedState();
89
+ const setWarningDialog = _ref2 => {
90
+ let {
91
+ as: Dialog = WarningDialog
92
+ } = _ref2,
93
+ props = _objectWithoutProperties(_ref2, _excluded);
94
+ return _setWarningDialog(/*#__PURE__*/React.createElement(Dialog, _extends({}, props, {
95
+ closeDialog: () => _setWarningDialog(null)
96
+ })));
97
+ };
98
+ const DefaultWarningDialog = () => {
99
+ const [warningDialog] = useRenderDefaultWarningDialog();
100
+ if (warningDialog) {
101
+ return warningDialog;
102
+ }
103
+ return null;
104
+ };
105
+
106
+ export { DefaultWarningDialog, WarningDialog, WarningDialogIcon, WarningDialogTitle, setWarningDialog, useWarningDialog };
107
+ //# sourceMappingURL=WarningDialog.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WarningDialog.mjs","sources":["../src/WarningDialog.jsx"],"sourcesContent":["import {willUseSharedState} from '@startlibs/core'\nimport {Button} from './Button'\nimport {Dialog} from './Dialog'\nimport {Icon} from './Icon'\nimport {useDialogWithToggle} from './useDialogWithToggle'\nimport { getColor, callIfFunction } from '@startlibs/utils';\nimport React from 'react'\nimport _ from 'lodash/fp'\nimport styled from 'styled-components';\n\nexport const WarningDialog = styled(({content, footer, withX ,closeDialog,leftButton,additionalContent,title,rightButton,className, color = \"alert\", icon = \"warning\",confirmLabel = \"Entendi\",noActions,children}) => {\n return <Dialog className={className} closeDialog={withX && closeDialog}>\n {_.isString(icon) ? <WarningDialogIcon icon={icon} color={color}/> : icon}\n {title && <WarningDialogTitle color={color}>{title}</WarningDialogTitle>}\n {content && <Content noTitle={!title} noActions={noActions}>{content}</Content>}\n {additionalContent}\n {callIfFunction(leftButton,closeDialog)}\n {confirmLabel !== false && <Button highlight onClick={closeDialog}>{confirmLabel}</Button>}\n {callIfFunction(rightButton,closeDialog)}\n {callIfFunction(footer,closeDialog)}\n {children}\n </Dialog>\n})`\n text-align: center;\n max-width: 36rem;\n padding: 2.5rem;\n ${Button} {\n margin: 0.5rem !important;\n }\n`\nexport const WarningDialogTitle = styled.h3 `\n color: ${props => getColor(props.color)(props)};\n font-weight: 500;\n font-size: 20px;\n`\nconst Content = styled.div `\n font-size: 15px;\n max-width: 27rem;\n margin: 0 auto;\n line-height: 130%;\n ${props => !props.noActions && `\n margin: 0 auto 1.5rem;\n `}\n ${props => props.noTitle &&`\n font-weight: 500;\n font-size: 16px;\n `}\n`\nexport const WarningDialogIcon = styled(Icon)`\n color: ${props => getColor(props.color)(props)};;\n font-size: 46px;\n display: block;\n margin-bottom: 1.25rem;\n`\n\nexport const useWarningDialog = () => useDialogWithToggle((toggle) =>\n <WarningDialog {...toggle.isOpen} closeDialog={toggle.close} />\n\n)\nconst [useRenderDefaultWarningDialog,,_setWarningDialog] = willUseSharedState()\n\nexport const setWarningDialog = ({as: Dialog = WarningDialog,...props}) => _setWarningDialog(<Dialog {...props} closeDialog={() => _setWarningDialog(null)}/>)\n\nexport const DefaultWarningDialog = () => {\n const [warningDialog] = useRenderDefaultWarningDialog()\n if (warningDialog) {\n return warningDialog\n }\n return null\n}"],"names":["WarningDialog","styled","_ref","content","footer","withX","closeDialog","leftButton","additionalContent","title","rightButton","className","color","icon","confirmLabel","noActions","children","React","createElement","Dialog","_isString","WarningDialogIcon","WarningDialogTitle","Content","noTitle","callIfFunction","Button","highlight","onClick","attrs","yakDomTag","props","getColor","css","Icon","useWarningDialog","useDialogWithToggle","toggle","_extends","isOpen","close","useRenderDefaultWarningDialog","_setWarningDialog","willUseSharedState","setWarningDialog","_ref2","as","_objectWithoutProperties","_excluded","DefaultWarningDialog","warningDialog"],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import _extends from '@babel/runtime/helpers/extends';
2
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
3
+ import React from 'react';
4
+ import { useToggle } from '@startlibs/core';
5
+ import { callIfFunction } from '@startlibs/utils';
6
+ import { Button } from '../../Button.mjs';
7
+
8
+ const _excluded = ["onClick", "children", "onSuccess", "as", "onFailure", "className"];
9
+ const OnClickLoadingButton = _ref => {
10
+ let {
11
+ onClick,
12
+ children,
13
+ onSuccess,
14
+ as = Button,
15
+ onFailure,
16
+ className
17
+ } = _ref,
18
+ props = _objectWithoutProperties(_ref, _excluded);
19
+ const loading = useToggle();
20
+ const Element = as;
21
+ return /*#__PURE__*/React.createElement(Element, _extends({
22
+ className: className,
23
+ isLoading: loading.isOpen
24
+ }, props, {
25
+ onClick: e => loading.wait(onClick(e).then(async e => {
26
+ await callIfFunction(onSuccess, e);
27
+ return e;
28
+ }, async e => {
29
+ await callIfFunction(onFailure, e);
30
+ throw e;
31
+ }))
32
+ }), children);
33
+ };
34
+
35
+ export { OnClickLoadingButton };
36
+ //# sourceMappingURL=OnClickLoadingButton.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OnClickLoadingButton.mjs","sources":["../../../src/alt/buttons/OnClickLoadingButton.jsx"],"sourcesContent":["import React from 'react'\nimport {useToggle} from '@startlibs/core'\nimport {callIfFunction} from '@startlibs/utils'\nimport {Button} from '../../Button'\n\nexport const OnClickLoadingButton = ({onClick,children,onSuccess, as = Button, onFailure, className,...props}) => {\n const loading = useToggle()\n const Element = as\n return <Element className={className} isLoading={loading.isOpen} {...props} onClick={(e) => loading.wait(onClick(e).then(async (e) => {\n await callIfFunction(onSuccess,e)\n return e\n },async (e) => {\n await callIfFunction(onFailure,e)\n throw e\n }))}>{children}</Element>\n}"],"names":["OnClickLoadingButton","_ref","onClick","children","onSuccess","as","Button","onFailure","className","props","_objectWithoutProperties","_excluded","loading","useToggle","Element","React","createElement","_extends","isLoading","isOpen","e","wait","then","callIfFunction"],"mappings":";;;;;;;;AAKaA,MAAAA,oBAAoB,GAAGC,IAAA,IAA8E;EAAA,IAA7E;MAACC,OAAO;MAACC,QAAQ;MAACC,SAAS;AAAEC,MAAAA,EAAE,GAAGC,MAAM;MAAEC,SAAS;AAAEC,MAAAA,SAAAA;AAAkB,KAAC,GAAAP,IAAA;AAANQ,IAAAA,KAAK,GAAAC,wBAAA,CAAAT,IAAA,EAAAU,SAAA,CAAA,CAAA;AAC1G,EAAA,MAAMC,OAAO,GAAGC,SAAS,EAAE,CAAA;EAC3B,MAAMC,OAAO,GAAGT,EAAE,CAAA;AAClB,EAAA,oBAAOU,KAAA,CAAAC,aAAA,CAACF,OAAO,EAAAG,QAAA,CAAA;AAACT,IAAAA,SAAS,EAAEA,SAAU;IAACU,SAAS,EAAEN,OAAO,CAACO,MAAAA;AAAO,GAAA,EAAKV,KAAK,EAAA;AAAEP,IAAAA,OAAO,EAAGkB,CAAC,IAAKR,OAAO,CAACS,IAAI,CAACnB,OAAO,CAACkB,CAAC,CAAC,CAACE,IAAI,CAAC,MAAOF,CAAC,IAAK;AACpI,MAAA,MAAMG,cAAc,CAACnB,SAAS,EAACgB,CAAC,CAAC,CAAA;AACjC,MAAA,OAAOA,CAAC,CAAA;KACT,EAAC,MAAOA,CAAC,IAAK;AACb,MAAA,MAAMG,cAAc,CAAChB,SAAS,EAACa,CAAC,CAAC,CAAA;AACjC,MAAA,MAAMA,CAAC,CAAA;AACT,KAAC,CAAC,CAAA;AAAE,GAAA,CAAA,EAAEjB,QAAkB,CAAC,CAAA;AAC3B;;;;"}
@@ -0,0 +1,50 @@
1
+ import 'react';
2
+ import { styled } from '@yak/react';
3
+ import { getColor } from '@startlibs/utils';
4
+ import { Dialog, CloseIcon } from '../../Dialog.mjs';
5
+
6
+ const DialogWithImageHeader = styled(Dialog).attrs({
7
+ className: "styled-dialog-with-image-header"
8
+ })`
9
+ max-width: 51rem;
10
+
11
+ ${CloseIcon} {
12
+ background: ${__yakProps => {
13
+ const v = getColor('gray240');
14
+ return typeof v === 'function' ? v(__yakProps) : v;
15
+ }};
16
+ text-shadow: none;
17
+ color: rgba(120,120,120,1);
18
+ font-size: 20px;
19
+ box-shadow: rgba(0,0,0,0.2) 0px 1px 3px 0px, rgba(0,0,0,0.05) 0px 0px 0px 1px;
20
+ width: 36px;
21
+ height: 36px;
22
+ line-height: 36px;
23
+ transition: 0.1s ease-out;
24
+ &:hover {
25
+ background-color: rgb(230,230,230);
26
+ }
27
+ &:active {
28
+ background-color: rgb(220,220,220);
29
+ transition: 0s ease-out;
30
+ }
31
+ @supports (position: sticky) {
32
+ position: sticky;
33
+ top: -2.5rem;
34
+ right: 0rem;
35
+ float: right;
36
+ margin-right: -1.25rem;
37
+ margin-top: 0.75rem;
38
+ }
39
+ @media (max-width: 600px) {
40
+ @supports (position: sticky) {
41
+ top: 0;
42
+ margin-right: -1rem;
43
+ }
44
+ }
45
+
46
+ }
47
+ `;
48
+
49
+ export { DialogWithImageHeader };
50
+ //# sourceMappingURL=DialogWithImageHeader.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DialogWithImageHeader.mjs","sources":["../../../src/alt/dialogs/DialogWithImageHeader.jsx"],"sourcesContent":["import React from 'react'\nimport styled from 'styled-components'\nimport {media, getColor} from '@startlibs/utils'\nimport {CloseIcon, Dialog} from '../../Dialog'\n\nexport const DialogWithImageHeader = styled(Dialog)`\n max-width: 51rem;\n \n ${CloseIcon} {\n background: ${getColor('gray240')};\n text-shadow: none;\n color: rgba(120,120,120,1);\n font-size: 20px;\n box-shadow: rgba(0,0,0,0.2) 0px 1px 3px 0px, rgba(0,0,0,0.05) 0px 0px 0px 1px;\n width: 36px;\n height: 36px;\n line-height: 36px;\n transition: 0.1s ease-out;\n &:hover {\n background-color: rgb(230,230,230);\n }\n &:active {\n background-color: rgb(220,220,220);\n transition: 0s ease-out;\n }\n @supports (position: sticky) {\n position: sticky;\n top: -2.5rem;\n right: 0rem;\n float: right;\n margin-right: -1.25rem;\n margin-top: 0.75rem;\n }\n ${media.mobile`\n @supports (position: sticky) {\n top: 0;\n margin-right: -1rem;\n }\n `}\n \n }\n`"],"names":["DialogWithImageHeader","styled","Dialog","attrs","className","CloseIcon","__yakProps","v","getColor"],"mappings":";;;;;AAKO,MAAMA,qBAAqB,GAAGC,MAAM,CAACC,MAAM,CAAC,CAAAC,KAAA,CAAA;EAAAC,SAAA,EAAA,iCAAA;AAAA,CAAA,CAAA,CAAA;AACnD;AACA;AACA,EAAA,EAAIC,SAAS,CAAA;AACb,gBAAA,EADaC,UAAA,IAAA;AAAA,EAAA,MAAAC,CAAA,GACKC,QAAQ,CAAC,SAAS,CAAC,CAAA;AAAA,EAAA,OAAA,OAAAD,CAAA,KAAAA,UAAAA,GAAAA,CAAA,CAAAD,UAAA,IAAAC,CAAA,CAAA;AAAA,CAAA,CAAA;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;"}
@@ -0,0 +1,193 @@
1
+ import _extends from '@babel/runtime/helpers/extends';
2
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
3
+ import { yakDomTag } from '@startlibs/utils/yakDomTag';
4
+ import React, { useRef } from 'react';
5
+ import { styled, css } from '@yak/react';
6
+ import { getColor, twoWayAnimation, oneWayAnimation, callIfFunction } from '@startlibs/utils';
7
+ import { useToggle, usePopupToggle, useLazyConstant } from '@startlibs/core';
8
+ import { CloseIcon, Dialog } from '../../Dialog.mjs';
9
+ import { willUseFlipSwitch } from '../../Flip.mjs';
10
+ import { Loading } from '../../Loading.mjs';
11
+ import { DialogContainer } from '../../containers/DialogContainer.mjs';
12
+
13
+ const _excluded = ["className", "style", "tabIsOpen", "menuIsOpen", "sidebar", "Content", "openTab", "children", "title"];
14
+ const SideMenu = styled(yakDomTag("div")).attrs({
15
+ className: "styled-side-menu"
16
+ })`
17
+ background-color: ${__yakProps => {
18
+ const v = getColor('lightBluishGray');
19
+ return typeof v === 'function' ? v(__yakProps) : v;
20
+ }};
21
+ border-top-left-radius: 18px;
22
+ border-bottom-left-radius: 18px;
23
+ width: 19rem;
24
+ flex-shrink: 0;
25
+ padding: 1.25rem 0;
26
+ ${props => !props.visibleOnDesktop && css`display:none;`}
27
+ @media (max-width: 600px) {
28
+ display:block;
29
+ position:fixed;
30
+ top:0;
31
+ left:0;
32
+ bottom:0;
33
+ z-index:1000;
34
+ transition: 0.25s transform ease-out;
35
+ background-color: ${__yakProps => {
36
+ const v = getColor('gray240');
37
+ return typeof v === 'function' ? v(__yakProps) : v;
38
+ }};
39
+ box-shadow: -5px 0 20px 5px rgba(0,0,0,0.4);
40
+ border-radius: 0;
41
+ ${props => !props.isOpen && css`
42
+ transform: translateX(-100%);
43
+ box-shadow: none;
44
+ `}
45
+ }
46
+ `;
47
+ const DialogTabMenu = styled(yakDomTag("ul")).attrs({
48
+ className: "styled-dialog-tab-menu"
49
+ })`
50
+ cursor: default;
51
+ overflow: auto;
52
+ text-align: left;
53
+ color: inherit;
54
+ user-select: none;
55
+ li {
56
+ position: relative;
57
+ padding: 1rem 2rem 1rem 4.1rem;
58
+ font-size: 14px;
59
+ @media (max-width: 600px) {
60
+ font-size: 16px;
61
+ }
62
+ &:hover {
63
+ background-color: ${__yakProps => {
64
+ const v = getColor('bluishGray');
65
+ return typeof v === 'function' ? v(__yakProps) : v;
66
+ }};
67
+ cursor: pointer;
68
+ }
69
+ &.selected {
70
+ color: ${__yakProps => {
71
+ const v = getColor('main');
72
+ return typeof v === 'function' ? v(__yakProps) : v;
73
+ }};
74
+ background: rgba(0, 132, 214, 0.125);
75
+ pointer-events: none;
76
+ }
77
+ }
78
+ .icon{
79
+ position: absolute;
80
+ left: 1rem;
81
+ top: 50%;
82
+ transform: translateY(-50%);
83
+ width: 3rem;
84
+ text-align: center;
85
+ line-height: 0;
86
+ font-size: 26px;
87
+ }
88
+ ${props => props.menuTabIsOpen && css`
89
+ li {
90
+ padding: 1.25rem 2rem 1.25rem 3.25rem;
91
+ border-radius: 6px;
92
+ }
93
+ .icon{
94
+ left: 0;
95
+ }
96
+ `}
97
+ `;
98
+ const [fadeIn, relativeFadeout] = twoWayAnimation('opacity: 0;', 'opacity: 0;', 'opacity: 1;');
99
+ const absoluteOnLeave = oneWayAnimation('position: absolute;', 'position: absolute;');
100
+ const fadeOut = [absoluteOnLeave, relativeFadeout];
101
+ const MENU_TAB = '$menu$';
102
+
103
+ // ponytail: sem footer — padrão do dialog com barra lateral; fecha pelo X ou por fora
104
+ const DialogWithSidebarPresentation = _ref => {
105
+ let {
106
+ className,
107
+ style,
108
+ tabIsOpen,
109
+ menuIsOpen,
110
+ sidebar,
111
+ Content,
112
+ openTab,
113
+ children,
114
+ title
115
+ } = _ref,
116
+ props = _objectWithoutProperties(_ref, _excluded);
117
+ const tab = useToggle(tabIsOpen);
118
+ const sideMenu = usePopupToggle(menuIsOpen);
119
+ const ref = useRef();
120
+ const switchAnimation = useLazyConstant(willUseFlipSwitch);
121
+ const menuTabIsOpen = tab.isOpen === MENU_TAB;
122
+ return /*#__PURE__*/React.createElement(DialogContainer, _extends({}, props, {
123
+ ref: ref
124
+ }), _ref2 => {
125
+ let {
126
+ confirmCloseDialog
127
+ } = _ref2;
128
+ return /*#__PURE__*/React.createElement("div", {
129
+ className: className + " JS-has-wc",
130
+ style: style,
131
+ ref: ref
132
+ }, props.closeDialog && /*#__PURE__*/React.createElement(CloseIcon, {
133
+ onClick: confirmCloseDialog
134
+ }), /*#__PURE__*/React.createElement(SideMenu, {
135
+ isOpen: sideMenu.isOpen,
136
+ visibleOnDesktop: true
137
+ }, sidebar(tab)), /*#__PURE__*/React.createElement("div", {
138
+ className: (menuTabIsOpen ? "menuTabIsOpen " : "") + "main-container"
139
+ }, /*#__PURE__*/React.createElement("h2", null, menuTabIsOpen ? "Configurações gerais" : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", {
140
+ className: "icon icon-menu mobile-only",
141
+ onClick: sideMenu.open
142
+ }), title(tab))), /*#__PURE__*/React.createElement(React.Suspense, {
143
+ fallback: /*#__PURE__*/React.createElement(TabContent, {
144
+ key: "loading",
145
+ switchAnimation: switchAnimation,
146
+ tab: tab,
147
+ children: /*#__PURE__*/React.createElement(Loading, {
148
+ absolute: true
149
+ })
150
+ })
151
+ }, /*#__PURE__*/React.createElement(TabContent, {
152
+ key: tab.isOpen,
153
+ switchAnimation: switchAnimation,
154
+ tab: tab,
155
+ Content: Content,
156
+ children: children
157
+ }))));
158
+ });
159
+ };
160
+ const TabContent = _ref3 => {
161
+ let {
162
+ Content,
163
+ children,
164
+ tab,
165
+ switchAnimation
166
+ } = _ref3;
167
+ const contentRef = useRef();
168
+ switchAnimation(contentRef, fadeIn, fadeOut);
169
+ return /*#__PURE__*/React.createElement("div", {
170
+ ref: contentRef,
171
+ className: "dialog-content"
172
+ }, callIfFunction(Content, tab), callIfFunction(children, tab));
173
+ };
174
+
175
+ // R6: "as" não existe no yak. Dialog expõe "tagAs" no lugar (ver Dialog.jsx).
176
+ const DialogWithSidebar = styled(props => /*#__PURE__*/React.createElement(Dialog, _extends({
177
+ fullscreenOnMobile: true,
178
+ tagAs: DialogWithSidebarPresentation
179
+ }, props))).attrs({
180
+ className: "styled-dialog-with-sidebar"
181
+ })`
182
+ max-width: 59rem;
183
+ display: flex;
184
+ padding: 0;
185
+ flex-direction: row;
186
+ @media (max-width: 600px) {
187
+ min-height: 100%;
188
+ overflow: hidden;
189
+ }
190
+ `;
191
+
192
+ export { DialogTabMenu, DialogWithSidebar, DialogWithSidebarPresentation, MENU_TAB, SideMenu };
193
+ //# sourceMappingURL=DialogWithSidebar.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DialogWithSidebar.mjs","sources":["../../../src/alt/dialogs/DialogWithSidebar.jsx"],"sourcesContent":["import React, {useRef} from 'react'\nimport styled from 'styled-components'\nimport {media, callIfFunction, getColor, twoWayAnimation, oneWayAnimation} from '@startlibs/utils'\nimport {useToggle, usePopupToggle, useLazyConstant} from '@startlibs/core'\nimport {CloseIcon, Dialog} from '../../Dialog'\nimport {willUseFlipSwitch} from '../../Flip'\nimport {Loading} from '../../Loading'\nimport {DialogContainer} from '../../containers/DialogContainer'\n\nexport const SideMenu = styled.div`\n background-color: ${getColor('lightBluishGray')};\n border-top-left-radius: 18px;\n border-bottom-left-radius: 18px;\n width: 19rem;\n flex-shrink: 0;\n padding: 1.25rem 0;\n ${props => !props.visibleOnDesktop && 'display:none;'}\n ${media.mobile`\n display:block;\n position:fixed;\n top:0;\n left:0;\n bottom:0;\n z-index:1000;\n transition: 0.25s transform ease-out;\n background-color: ${getColor('gray240')};\n box-shadow: -5px 0 20px 5px rgba(0,0,0,0.4);\n border-radius: 0;\n ${props => !props.isOpen && `\n transform: translateX(-100%);\n box-shadow: none;\n `}\n `}\n`\nexport const DialogTabMenu = styled.ul`\n cursor: default;\n overflow: auto;\n text-align: left;\n color: inherit;\n user-select: none;\n li {\n position: relative;\n padding: 1rem 2rem 1rem 4.1rem;\n font-size: 14px;\n ${media.mobile`\n font-size: 16px;\n `}\n &:hover {\n background-color: ${getColor('bluishGray')};\n cursor: pointer;\n }\n &.selected {\n color: ${getColor('main')};\n background: rgba(0, 132, 214, 0.125);\n pointer-events: none;\n }\n }\n .icon{\n position: absolute;\n left: 1rem;\n top: 50%;\n transform: translateY(-50%);\n width: 3rem;\n text-align: center;\n line-height: 0;\n font-size: 26px;\n }\n ${props => props.menuTabIsOpen && `\n li {\n padding: 1.25rem 2rem 1.25rem 3.25rem;\n border-radius: 6px;\n }\n .icon{\n left: 0;\n }\n `}\n`\n\nconst [fadeIn, relativeFadeout] = twoWayAnimation('opacity: 0;','opacity: 0;', 'opacity: 1;')\nconst absoluteOnLeave = oneWayAnimation('position: absolute;', 'position: absolute;')\nconst fadeOut = [absoluteOnLeave,relativeFadeout]\n\nexport const MENU_TAB = '$menu$'\n\n// ponytail: sem footer — padrão do dialog com barra lateral; fecha pelo X ou por fora\nexport const DialogWithSidebarPresentation = ({className, style, tabIsOpen, menuIsOpen, sidebar, Content, openTab, children, title, ...props}) => {\n const tab = useToggle(tabIsOpen)\n const sideMenu = usePopupToggle(menuIsOpen)\n const ref = useRef()\n const switchAnimation = useLazyConstant(willUseFlipSwitch)\n\n const menuTabIsOpen = tab.isOpen === MENU_TAB\n\n return <DialogContainer {...props} ref={ref}>{({confirmCloseDialog}) =>\n <div className={className + \" JS-has-wc\"} style={style} ref={ref}>\n {\n props.closeDialog &&\n <CloseIcon onClick={confirmCloseDialog}/>\n }\n <SideMenu isOpen={sideMenu.isOpen} visibleOnDesktop>\n {sidebar(tab)}\n </SideMenu>\n\n <div className={(menuTabIsOpen ? \"menuTabIsOpen \" : \"\") + \"main-container\"}>\n <h2>{\n menuTabIsOpen ? \"Configurações gerais\" : <><span className=\"icon icon-menu mobile-only\" onClick={sideMenu.open}/>\n {title(tab)}</>}</h2>\n <React.Suspense fallback={<TabContent key=\"loading\" switchAnimation={switchAnimation} tab={tab} children={<Loading absolute/>} />}>\n <TabContent key={tab.isOpen} switchAnimation={switchAnimation} tab={tab} Content={Content} children={children} />\n </React.Suspense>\n </div>\n </div>\n }</DialogContainer>\n}\n\nconst TabContent = ({Content,children,tab,switchAnimation}) => {\n const contentRef = useRef()\n switchAnimation(contentRef,fadeIn,fadeOut)\n\n return <div ref={contentRef} className=\"dialog-content\">\n {callIfFunction(Content,tab)}\n {callIfFunction(children,tab)}\n </div>\n}\n\n// R6: \"as\" não existe no yak. Dialog expõe \"tagAs\" no lugar (ver Dialog.jsx).\nexport const DialogWithSidebar = styled((props) => <Dialog fullscreenOnMobile tagAs={DialogWithSidebarPresentation} {...props} />)`\n max-width: 59rem;\n display: flex;\n padding: 0;\n flex-direction: row;\n ${media.mobile`\n min-height: 100%;\n overflow: hidden;\n `}\n`\n"],"names":["SideMenu","styled","yakDomTag","attrs","className","__yakProps","v","getColor","props","visibleOnDesktop","css","isOpen","DialogTabMenu","menuTabIsOpen","fadeIn","relativeFadeout","twoWayAnimation","absoluteOnLeave","oneWayAnimation","fadeOut","MENU_TAB","DialogWithSidebarPresentation","_ref","style","tabIsOpen","menuIsOpen","sidebar","Content","openTab","children","title","_objectWithoutProperties","_excluded","tab","useToggle","sideMenu","usePopupToggle","ref","useRef","switchAnimation","useLazyConstant","willUseFlipSwitch","React","createElement","DialogContainer","_extends","_ref2","confirmCloseDialog","closeDialog","CloseIcon","onClick","Fragment","open","Suspense","fallback","TabContent","key","Loading","absolute","_ref3","contentRef","callIfFunction","DialogWithSidebar","Dialog","fullscreenOnMobile","tagAs"],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ import _extends from '@babel/runtime/helpers/extends';
2
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
3
+ import { yakDomTag } from '@startlibs/utils/yakDomTag';
4
+ import React, { useRef } from 'react';
5
+ import { getColor, callIfFunction } from '@startlibs/utils';
6
+ import { styled } from '@yak/react';
7
+ import { DialogErrorContent } from '../../Dialog.mjs';
8
+ import { DialogContainer } from '../../containers/DialogContainer.mjs';
9
+
10
+ const _excluded = ["className", "footer", "Content", "children", "title", "illustration", "icon", "auxiliarActions"];
11
+ const MobileBubbleDialogFooter = styled(yakDomTag("div"))`
12
+ background-color: ${__yakProps => {
13
+ const v = getColor('gray240');
14
+ return typeof v === 'function' ? v(__yakProps) : v;
15
+ }};
16
+ min-height: 5rem;
17
+ color: ${__yakProps => {
18
+ const v = getColor('main');
19
+ return typeof v === 'function' ? v(__yakProps) : v;
20
+ }};
21
+ font-size: 13px;
22
+ font-weight: 500;
23
+ text-transform: uppercase;
24
+ padding: 1rem;
25
+ user-select: none;
26
+ display: flex;
27
+ align-items: center;
28
+ justify-content: center;
29
+ cursor: pointer;
30
+ border-bottom-left-radius: 10px;
31
+ border-bottom-right-radius: 10px;
32
+ &:active {
33
+ background: rgb(232,232,232);
34
+ }
35
+ `;
36
+ const MobileBubbleDialog = styled(_ref => {
37
+ let {
38
+ className,
39
+ footer,
40
+ Content,
41
+ children,
42
+ title,
43
+ illustration,
44
+ icon,
45
+ auxiliarActions
46
+ } = _ref,
47
+ props = _objectWithoutProperties(_ref, _excluded);
48
+ const ref = useRef();
49
+ return /*#__PURE__*/React.createElement(DialogContainer, _extends({}, props, {
50
+ closeOnClick: true,
51
+ ref: ref,
52
+ DialogErrorContent: DialogErrorContent,
53
+ title: title
54
+ }), _ref2 => {
55
+ let {
56
+ confirmCloseDialog
57
+ } = _ref2;
58
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
59
+ className: className,
60
+ ref: ref
61
+ }, children && callIfFunction(children), /*#__PURE__*/React.createElement(MobileBubbleDialogFooter, {
62
+ onClick: confirmCloseDialog
63
+ }, "Fechar")));
64
+ });
65
+ }).attrs({
66
+ className: "styled-mobile-bubble-dialog"
67
+ })`
68
+ border-radius: 10px;
69
+ background-color: white;
70
+ width: 100%;
71
+ margin: auto;
72
+ position: relative;
73
+ align-self: baseline;
74
+ overflow: hidden;
75
+ @supports (flex-wrap: wrap) {
76
+ display: flex;
77
+ flex-direction: column;
78
+ }
79
+ `;
80
+
81
+ export { MobileBubbleDialog };
82
+ //# sourceMappingURL=MobileBubbleDialog.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MobileBubbleDialog.mjs","sources":["../../../src/alt/dialogs/MobileBubbleDialog.jsx"],"sourcesContent":["import React, {useRef} from 'react'\n\nimport {callIfFunction, getColor} from '@startlibs/utils'\nimport styled from 'styled-components'\n\nimport {DialogErrorContent} from '../../Dialog'\nimport {DialogContainer} from '../../containers/DialogContainer'\n\nconst MobileBubbleDialogFooter = styled.div `\n background-color: ${getColor('gray240')};\n min-height: 5rem;\n color: ${getColor('main')};\n font-size: 13px;\n font-weight: 500;\n text-transform: uppercase;\n padding: 1rem;\n user-select: none;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n border-bottom-left-radius: 10px;\n border-bottom-right-radius: 10px;\n &:active {\n background: rgb(232,232,232);\n }\n`\n\nexport const MobileBubbleDialog = styled(({className, footer, Content, children, title, illustration, icon, auxiliarActions, ...props}) => {\n const ref = useRef()\n return <DialogContainer {...props} closeOnClick ref={ref} DialogErrorContent={DialogErrorContent} title={title}>{({confirmCloseDialog}) =>\n <>\n <div className={className} ref={ref}>\n {\n children && callIfFunction(children)\n }\n <MobileBubbleDialogFooter onClick={confirmCloseDialog}>\n Fechar\n </MobileBubbleDialogFooter>\n </div>\n </>\n }</DialogContainer>\n})`\n border-radius: 10px;\n background-color: white;\n width: 100%;\n margin: auto;\n position: relative;\n align-self: baseline;\n overflow: hidden;\n @supports (flex-wrap: wrap) {\n display: flex;\n flex-direction: column;\n }\n`\n\n"],"names":["MobileBubbleDialogFooter","styled","yakDomTag","__yakProps","v","getColor","MobileBubbleDialog","_ref","className","footer","Content","children","title","illustration","icon","auxiliarActions","props","_objectWithoutProperties","_excluded","ref","useRef","React","createElement","DialogContainer","_extends","closeOnClick","DialogErrorContent","_ref2","confirmCloseDialog","Fragment","callIfFunction","onClick","attrs"],"mappings":";;;;;;;;;;AAQA,MAAMA,wBAAwB,GAAGC,MAAA,CAAAC,SAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AACjC,oBAAA,EADiCC,UAAA,IAAA;AAAA,EAAA,MAAAC,CAAA,GACXC,QAAQ,CAAC,SAAS,CAAC,CAAA;AAAA,EAAA,OAAA,OAAAD,CAAA,KAAAA,UAAAA,GAAAA,CAAA,CAAAD,UAAA,IAAAC,CAAA,CAAA;AAAA,CAAA,CAAA;AACzC;AACA,SAAA,EAFyCD,UAAA,IAAA;AAAA,EAAA,MAAAC,CAAA,GAE9BC,QAAQ,CAAC,MAAM,CAAC,CAAA;AAAA,EAAA,OAAA,OAAAD,CAAA,KAAAA,UAAAA,GAAAA,CAAA,CAAAD,UAAA,IAAAC,CAAA,CAAA;AAAA,CAAA,CAAA;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAA;MAEYE,kBAAkB,GAAGL,MAAM,CAACM,IAAA,IAAkG;EAAA,IAAjG;MAACC,SAAS;MAAEC,MAAM;MAAEC,OAAO;MAAEC,QAAQ;MAAEC,KAAK;MAAEC,YAAY;MAAEC,IAAI;AAAEC,MAAAA,eAAAA;AAAyB,KAAC,GAAAR,IAAA;AAANS,IAAAA,KAAK,GAAAC,wBAAA,CAAAV,IAAA,EAAAW,SAAA,CAAA,CAAA;AACnI,EAAA,MAAMC,GAAG,GAAGC,MAAM,EAAE,CAAA;EACpB,oBAAOC,KAAA,CAAAC,aAAA,CAACC,eAAe,EAAAC,QAAA,KAAKR,KAAK,EAAA;IAAES,YAAY,EAAA,IAAA;AAACN,IAAAA,GAAG,EAAEA,GAAI;AAACO,IAAAA,kBAAkB,EAAEA,kBAAmB;AAACd,IAAAA,KAAK,EAAEA,KAAAA;AAAM,GAAA,CAAA,EAAEe,KAAA,IAAA;IAAA,IAAC;AAACC,MAAAA,kBAAAA;AAAkB,KAAC,GAAAD,KAAA,CAAA;IAAA,oBACpIN,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAQ,QAAA,EAAA,IAAA,eACAR,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKd,MAAAA,SAAS,EAAEA,SAAU;AAACW,MAAAA,GAAG,EAAEA,GAAAA;KAE5BR,EAAAA,QAAQ,IAAImB,cAAc,CAACnB,QAAQ,CAAC,eAEtCU,KAAA,CAAAC,aAAA,CAACtB,wBAAwB,EAAA;AAAC+B,MAAAA,OAAO,EAAEH,kBAAAA;KAAoB,EAAA,QAE7B,CACvB,CACH,CAAC,CAAA;AAAA,GACa,CAAC,CAAA;AACrB,CAAC,CAAC,CAAAI,KAAA,CAAA;EAAAxB,SAAA,EAAA,6BAAA;AAAA,CAAA,CAAA,CAAA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;"}