@bigbinary/neeto-molecules 5.1.27 → 5.1.29
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/dist/TimezoneMismatchModal.js +1 -1
- package/dist/TimezoneMismatchModal.js.map +1 -1
- package/dist/cjs/TimezoneMismatchModal.js +1 -1
- package/dist/cjs/TimezoneMismatchModal.js.map +1 -1
- package/dist/cjs/v2/ErrorPage.js +1 -1
- package/dist/cjs/v2/ErrorPage.js.map +1 -1
- package/dist/cjs/v2/KeyboardShortcuts.js +10 -8
- package/dist/cjs/v2/KeyboardShortcuts.js.map +1 -1
- package/dist/cjs/v2/NeetoWidget.js +12 -12
- package/dist/cjs/v2/NeetoWidget.js.map +1 -1
- package/dist/cjs/v2/Onboarding.js +6 -8
- package/dist/cjs/v2/Onboarding.js.map +1 -1
- package/dist/cjs/v2/PublishBlock.js +24 -15
- package/dist/cjs/v2/PublishBlock.js.map +1 -1
- package/dist/cjs/v2/ResponsiveDevicePicker.js +6 -4
- package/dist/cjs/v2/ResponsiveDevicePicker.js.map +1 -1
- package/dist/cjs/v2/TimezoneMismatchModal.js +1 -1
- package/dist/cjs/v2/TimezoneMismatchModal.js.map +1 -1
- package/dist/v2/ErrorPage.js +1 -1
- package/dist/v2/ErrorPage.js.map +1 -1
- package/dist/v2/KeyboardShortcuts.js +11 -9
- package/dist/v2/KeyboardShortcuts.js.map +1 -1
- package/dist/v2/NeetoWidget.js +12 -12
- package/dist/v2/NeetoWidget.js.map +1 -1
- package/dist/v2/Onboarding.js +6 -8
- package/dist/v2/Onboarding.js.map +1 -1
- package/dist/v2/PublishBlock.js +25 -16
- package/dist/v2/PublishBlock.js.map +1 -1
- package/dist/v2/ResponsiveDevicePicker.js +6 -4
- package/dist/v2/ResponsiveDevicePicker.js.map +1 -1
- package/dist/v2/TimezoneMismatchModal.js +1 -1
- package/dist/v2/TimezoneMismatchModal.js.map +1 -1
- package/package.json +11 -11
|
@@ -106,8 +106,9 @@ var Form = function Form(_ref) {
|
|
|
106
106
|
onChange: function onChange(date) {
|
|
107
107
|
setDatetimeValue(date.startOf("hour"));
|
|
108
108
|
}
|
|
109
|
-
}), /*#__PURE__*/jsxRuntime.jsx(
|
|
110
|
-
|
|
109
|
+
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
110
|
+
color: "muted",
|
|
111
|
+
variant: "caption",
|
|
111
112
|
children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
|
|
112
113
|
i18nKey: "neetoMolecules.publishBlock.timezoneDescription",
|
|
113
114
|
values: {
|
|
@@ -141,27 +142,34 @@ var PublishPreview = function PublishPreview(_ref) {
|
|
|
141
142
|
className: "mb-2",
|
|
142
143
|
children: t("neetoMolecules.publishBlock.preview")
|
|
143
144
|
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
144
|
-
className: "bg-muted w-full rounded p-4",
|
|
145
|
+
className: "bg-muted w-full rounded-md p-4",
|
|
145
146
|
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
146
147
|
className: "flex flex-col items-start gap-3",
|
|
147
148
|
children: [coverImageUrl && /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
148
149
|
className: "w-full flex-shrink-0",
|
|
149
150
|
children: /*#__PURE__*/jsxRuntime.jsx("img", {
|
|
150
151
|
alt: title,
|
|
151
|
-
className: "h-52 w-full rounded object-cover",
|
|
152
|
+
className: "h-52 w-full rounded-md object-cover",
|
|
152
153
|
src: coverImageUrl
|
|
153
154
|
})
|
|
154
155
|
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
155
156
|
className: "flex w-full min-w-0 flex-col items-start gap-1",
|
|
156
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(
|
|
157
|
-
|
|
157
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
158
|
+
as: "h4",
|
|
159
|
+
className: "break-words",
|
|
160
|
+
variant: "h6",
|
|
161
|
+
weight: "medium",
|
|
158
162
|
children: title
|
|
159
|
-
}), publicUrl && /*#__PURE__*/jsxRuntime.jsx(
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
163
|
+
}), publicUrl && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
164
|
+
asChild: true,
|
|
165
|
+
className: "break-all",
|
|
166
|
+
color: "primary",
|
|
167
|
+
children: /*#__PURE__*/jsxRuntime.jsx("a", {
|
|
168
|
+
href: publicUrl,
|
|
169
|
+
rel: "noopener noreferrer",
|
|
170
|
+
target: "_blank",
|
|
171
|
+
children: publicUrl
|
|
172
|
+
})
|
|
165
173
|
})]
|
|
166
174
|
})]
|
|
167
175
|
})
|
|
@@ -187,7 +195,6 @@ var PublishSettings = reactUtils.withT(function (_ref) {
|
|
|
187
195
|
onClose: onClose,
|
|
188
196
|
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet.Header, {
|
|
189
197
|
children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet.Title, {
|
|
190
|
-
className: "text-2xl leading-normal font-semibold",
|
|
191
198
|
"data-testid": "publish-pane-heading",
|
|
192
199
|
children: t("neetoMolecules.publishBlock.publishLater")
|
|
193
200
|
})
|
|
@@ -357,9 +364,11 @@ var PublishBlock = function PublishBlock(_ref5) {
|
|
|
357
364
|
}), draftBlockButtons && /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
358
365
|
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
359
366
|
className: "flex items-center gap-2",
|
|
360
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(
|
|
361
|
-
|
|
367
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
368
|
+
as: "span",
|
|
369
|
+
color: "muted",
|
|
362
370
|
"data-testid": "publish-block-draft-label",
|
|
371
|
+
variant: "body3",
|
|
363
372
|
children: t("neetoMolecules.common.actions.draft")
|
|
364
373
|
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
365
374
|
className: "flex items-center gap-1",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublishBlock.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/clock.js","../../../src/v2/components/PublishBlock/AlertBlock.jsx","../../../src/v2/components/PublishBlock/PublishSettings/constants.js","../../../src/v2/components/PublishBlock/PublishSettings/utils.js","../../../src/v2/components/PublishBlock/PublishSettings/Form.jsx","../../../src/v2/components/PublishBlock/PublishSettings/PublishPreview.jsx","../../../src/v2/components/PublishBlock/PublishSettings/index.jsx","../../../src/v2/components/PublishBlock/PublishSchedulePane.jsx","../../../src/v2/components/PublishBlock/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.7.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"M12 6v6l4 2\", key: \"mmk7yg\" }]\n];\nconst Clock = createLucideIcon(\"clock\", __iconNode);\n\nexport { __iconNode, Clock as default };\n//# sourceMappingURL=clock.js.map\n","import { Alert } from \"@bigbinary/neeto-atoms\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nconst AlertBlock = withT(({ t, ...props }) => (\n <Alert\n data-testid=\"reset-alert\"\n submitButtonLabel={t(\"neetoMolecules.common.actions.reset\")}\n {...props}\n />\n));\n\nexport default AlertBlock;\n","import { globalProps } from \"neetocommons/v2/initializers\";\n\nexport const TIME_FORMAT = \"h A\";\n\nexport const DATE_FORMAT = globalProps.user?.dateFormat || \"DD/MM/YYYY\";\n","import { dynamicArray } from \"neetocist\";\nimport { dayjs } from \"neetocommons/v2/utils\";\n\nexport const disabledDate = current =>\n current && current < dayjs().startOf(\"day\");\n\nexport const disabledTime = selectedDate => {\n const current = dayjs(selectedDate).startOf(\"day\");\n const today = dayjs().startOf(\"day\");\n\n if (current.isBefore(today)) {\n return { disabledHours: () => dynamicArray(24, i => i) };\n }\n\n if (current.isSame(today)) {\n const currentTime = dayjs();\n\n return {\n disabledHours: () => dynamicArray(currentTime.hour() + 1, i => i),\n };\n }\n\n return {};\n};\n\nexport const getDefaultDate = () => {\n let currDate = dayjs();\n currDate = currDate.hour(currDate.hour() + 1);\n\n if (currDate.minute() > 30) {\n currDate = currDate.hour(currDate.hour() + 1);\n }\n\n return currDate;\n};\n","import { Button, DatePicker } from \"@bigbinary/neeto-atoms\";\nimport { dayjs } from \"neetocommons/v2/utils\";\nimport { Profile } from \"neetoteam\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { DATE_FORMAT, TIME_FORMAT } from \"./constants\";\nimport { disabledDate, disabledTime } from \"./utils\";\n\nconst Form = ({ datetimeValue, setDatetimeValue, onClose }) => {\n const { t } = useTranslation();\n const [_, setIsProfilePaneOpen] = Profile.usePaneState();\n\n return (\n <div className=\"flex flex-col gap-y-1\">\n <DatePicker\n {...{ disabledDate }}\n required\n showTime\n allowClear={false}\n data-testid=\"publish-later-datepicker-input-field\"\n dateFormat={DATE_FORMAT}\n label={t(\"neetoMolecules.publishBlock.dateTime\")}\n timeFormat={TIME_FORMAT}\n value={datetimeValue}\n timePickerProps={{\n \"data-testid\": \"publish-later-timepicker-input-field\",\n clearIcon: false,\n disabledTime,\n }}\n onChange={date => {\n setDatetimeValue(date.startOf(\"hour\"));\n }}\n />\n <span className=\"text-muted-foreground text-xs\">\n <Trans\n i18nKey=\"neetoMolecules.publishBlock.timezoneDescription\"\n values={{ timezone: globalProps.user?.timeZone ?? dayjs.tz.guess() }}\n components={{\n button: (\n <Button\n size=\"sm\"\n variant=\"link\"\n onClick={() => {\n onClose();\n setIsProfilePaneOpen(true);\n }}\n />\n ),\n }}\n />\n </span>\n </div>\n );\n};\n\nexport default Form;\n","import { Label } from \"@bigbinary/neeto-atoms\";\nimport { useTranslation } from \"react-i18next\";\n\nconst PublishPreview = ({ coverImageUrl, title, publicUrl }) => {\n const { t } = useTranslation();\n\n if (!title) return null;\n\n return (\n <div className=\"flex flex-col\">\n <Label className=\"mb-2\">{t(\"neetoMolecules.publishBlock.preview\")}</Label>\n <div className=\"bg-muted w-full rounded p-4\">\n <div className=\"flex flex-col items-start gap-3\">\n {coverImageUrl && (\n <div className=\"w-full flex-shrink-0\">\n <img\n alt={title}\n className=\"h-52 w-full rounded object-cover\"\n src={coverImageUrl}\n />\n </div>\n )}\n <div className=\"flex w-full min-w-0 flex-col items-start gap-1\">\n <h4 className=\"text-lg font-medium break-words\">{title}</h4>\n {publicUrl && (\n <a\n className=\"text-primary break-all\"\n href={publicUrl}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n {publicUrl}\n </a>\n )}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default PublishPreview;\n","import { Button, Sheet } from \"@bigbinary/neeto-atoms\";\nimport { noop } from \"neetocist\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nimport Form from \"./Form\";\nimport PublishPreview from \"./PublishPreview\";\n\nconst PublishSettings = withT(\n ({\n t,\n isOpen,\n onClose,\n isSubmitting = false,\n onPublish = noop,\n datetimeValue,\n setDatetimeValue,\n previewProps,\n }) => (\n <Sheet {...{ isOpen, onClose }}>\n <Sheet.Header>\n <Sheet.Title\n className=\"text-2xl leading-normal font-semibold\"\n data-testid=\"publish-pane-heading\"\n >\n {t(\"neetoMolecules.publishBlock.publishLater\")}\n </Sheet.Title>\n </Sheet.Header>\n <Sheet.Body hasFooter>\n <div className=\"flex w-full flex-col gap-y-6 pb-6\">\n <Form {...{ datetimeValue, onClose, setDatetimeValue }} />\n {previewProps && <PublishPreview {...previewProps} />}\n </div>\n </Sheet.Body>\n <Sheet.Footer className=\"flex items-center gap-x-2\">\n <Button\n data-testid=\"publish-submit-button\"\n disabled={isSubmitting}\n loading={isSubmitting}\n onClick={() => onPublish({ datetimeValue })}\n >\n {t(\"neetoMolecules.publishBlock.publishLater\")}\n </Button>\n <Button\n data-testid=\"publish-cancel-button\"\n variant=\"ghost\"\n onClick={onClose}\n >\n {t(\"neetoMolecules.common.actions.cancel\")}\n </Button>\n </Sheet.Footer>\n </Sheet>\n )\n);\n\nexport default PublishSettings;\n","import { useEffect, useState } from \"react\";\n\nimport PropTypes from \"prop-types\";\n\nimport PublishSettings from \"./PublishSettings\";\n\nconst PublishSchedulePane = ({\n onPublish,\n onClose,\n isSubmitting,\n datetime,\n isOpen,\n previewProps,\n}) => {\n const [datetimeValue, setDatetimeValue] = useState(datetime);\n\n useEffect(() => {\n setDatetimeValue(datetime);\n }, [datetime]);\n\n return (\n <PublishSettings\n {...{\n datetimeValue,\n isOpen,\n isSubmitting,\n onClose,\n onPublish,\n previewProps,\n setDatetimeValue,\n }}\n />\n );\n};\n\nPublishSchedulePane.propTypes = {\n onPublish: PropTypes.func.isRequired,\n onClose: PropTypes.func.isRequired,\n isSubmitting: PropTypes.bool,\n datetime: PropTypes.string,\n isOpen: PropTypes.bool,\n previewProps: PropTypes.shape({\n coverImageUrl: PropTypes.string,\n title: PropTypes.string,\n publicUrl: PropTypes.string,\n }),\n};\n\nexport default PublishSchedulePane;\n","import { Button, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Clock, ExternalLink, Trash2 } from \"lucide-react\";\nimport { isPresent } from \"neetocist\";\nimport { withT } from \"neetocommons/v2/react-utils\";\nimport { dateFormat } from \"neetocommons/v2/utils\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport AlertBlock from \"./AlertBlock\";\nimport PublishSchedulePane from \"./PublishSchedulePane\";\n\nconst ViewDraftButton = withT(({ t, ...props }) => (\n <Tooltip\n content={t(\"neetoMolecules.publishBlock.viewDraftVersion\")}\n position=\"top\"\n >\n <span className=\"inline-flex\">\n <Button\n data-testid=\"view-draft-button\"\n icon={ExternalLink}\n target=\"_blank\"\n variant=\"secondary\"\n {...props}\n />\n </span>\n </Tooltip>\n));\n\nconst ResetDraftButton = withT(({ t, ...props }) => (\n <Tooltip\n content={t(\"neetoMolecules.publishBlock.deleteDraftVersion\")}\n position=\"top\"\n >\n <span className=\"inline-flex\">\n <Button\n data-testid=\"draft-button\"\n icon={Trash2}\n variant=\"secondary\"\n {...props}\n />\n </span>\n </Tooltip>\n));\n\nconst PublishButton = ({\n tooltipProps,\n showTooltipWhenDisabled = false,\n disabled = false,\n ...props\n}) => {\n const { t } = useTranslation();\n\n const isTooltipDisabled =\n !tooltipProps || (!showTooltipWhenDisabled && disabled);\n\n return (\n <Tooltip\n content={tooltipProps?.content}\n disabled={isTooltipDisabled}\n position={tooltipProps?.position}\n >\n <div className=\"inline-flex\">\n <Button {...{ disabled }} data-testid=\"publish-button\" {...props}>\n {t(\"neetoMolecules.common.actions.publish\")}\n </Button>\n </div>\n </Tooltip>\n );\n};\n\nconst PublishPreviewButton = withT(({ t, ...props }) => (\n <Tooltip\n content={t(\"neetoMolecules.publishBlock.viewPublishedVersion\")}\n position=\"top\"\n >\n <span className=\"inline-flex\">\n <Button\n data-testid=\"publish-preview-button\"\n icon={ExternalLink}\n target=\"_blank\"\n className={classnames(\n { \"pointer-events-none\": props.disabled },\n props.className\n )}\n {...props}\n />\n </span>\n </Tooltip>\n));\n\nconst PublishBlock = ({\n renderDraftButtons,\n renderPublishButtons,\n datetime,\n}) => {\n const { t } = useTranslation();\n\n const draftBlockButtons = renderDraftButtons({\n ViewDraftButton,\n ResetDraftButton,\n });\n\n return (\n <div\n className=\"neeto-molecules-publish-block flex items-center justify-end gap-3\"\n data-testid=\"neeto-molecules-publish-block\"\n >\n {isPresent(datetime) && (\n <Tooltip\n position=\"bottom\"\n content={t(\"neetoMolecules.publishBlock.tooltip.publishLater\", {\n date: dateFormat.dateTime(datetime),\n })}\n >\n <div>\n <Clock className=\"size-4\" />\n </div>\n </Tooltip>\n )}\n {draftBlockButtons && (\n <>\n <div className=\"flex items-center gap-2\">\n <span\n className=\"text-muted-foreground text-sm leading-normal\"\n data-testid=\"publish-block-draft-label\"\n >\n {t(\"neetoMolecules.common.actions.draft\")}\n </span>\n <div className=\"flex items-center gap-1\">{draftBlockButtons}</div>\n </div>\n <div className=\"bg-border h-6 w-px\" />\n </>\n )}\n <div className=\"neeto-molecules-publish-block__action-btn inline-flex flex-row items-center justify-center gap-px\">\n {renderPublishButtons({ PublishButton, PublishPreviewButton })}\n </div>\n </div>\n );\n};\n\nPublishBlock.Alert = AlertBlock;\nPublishBlock.SchedulePane = PublishSchedulePane;\n\nPublishBlock.propTypes = {\n renderDraftButtons: PropTypes.func,\n renderPublishButtons: PropTypes.func,\n datetime: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n};\n\nexport default PublishBlock;\n"],"names":["createLucideIcon","AlertBlock","withT","_ref","t","props","_objectWithoutProperties","_excluded","_jsx","Alert","_objectSpread","submitButtonLabel","TIME_FORMAT","DATE_FORMAT","_globalProps$user","globalProps","user","dateFormat","disabledDate","current","dayjs","startOf","disabledTime","selectedDate","today","isBefore","disabledHours","dynamicArray","i","isSame","currentTime","hour","Form","_globalProps$user$tim","datetimeValue","setDatetimeValue","onClose","_useTranslation","useTranslation","_Profile$usePaneState","Profile","usePaneState","_Profile$usePaneState2","_slicedToArray","_","setIsProfilePaneOpen","_jsxs","className","children","DatePicker","required","showTime","allowClear","label","timeFormat","value","timePickerProps","clearIcon","onChange","date","Trans","i18nKey","values","timezone","timeZone","tz","guess","components","button","Button","size","variant","onClick","PublishPreview","coverImageUrl","title","publicUrl","Label","alt","src","href","rel","target","PublishSettings","isOpen","_ref$isSubmitting","isSubmitting","_ref$onPublish","onPublish","noop","previewProps","Sheet","Header","Title","Body","hasFooter","Footer","disabled","loading","PublishSchedulePane","datetime","_useState","useState","_useState2","useEffect","ViewDraftButton","Tooltip","content","position","icon","ExternalLink","ResetDraftButton","_ref2","_excluded2","Trash2","PublishButton","_ref3","tooltipProps","_ref3$showTooltipWhen","showTooltipWhenDisabled","_ref3$disabled","_excluded3","isTooltipDisabled","PublishPreviewButton","_ref4","_excluded4","classnames","PublishBlock","_ref5","renderDraftButtons","renderPublishButtons","_useTranslation2","draftBlockButtons","isPresent","dateTime","Clock","_Fragment","SchedulePane"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"PublishBlock.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/clock.js","../../../src/v2/components/PublishBlock/AlertBlock.jsx","../../../src/v2/components/PublishBlock/PublishSettings/constants.js","../../../src/v2/components/PublishBlock/PublishSettings/utils.js","../../../src/v2/components/PublishBlock/PublishSettings/Form.jsx","../../../src/v2/components/PublishBlock/PublishSettings/PublishPreview.jsx","../../../src/v2/components/PublishBlock/PublishSettings/index.jsx","../../../src/v2/components/PublishBlock/PublishSchedulePane.jsx","../../../src/v2/components/PublishBlock/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.7.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"M12 6v6l4 2\", key: \"mmk7yg\" }]\n];\nconst Clock = createLucideIcon(\"clock\", __iconNode);\n\nexport { __iconNode, Clock as default };\n//# sourceMappingURL=clock.js.map\n","import { Alert } from \"@bigbinary/neeto-atoms\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nconst AlertBlock = withT(({ t, ...props }) => (\n <Alert\n data-testid=\"reset-alert\"\n submitButtonLabel={t(\"neetoMolecules.common.actions.reset\")}\n {...props}\n />\n));\n\nexport default AlertBlock;\n","import { globalProps } from \"neetocommons/v2/initializers\";\n\nexport const TIME_FORMAT = \"h A\";\n\nexport const DATE_FORMAT = globalProps.user?.dateFormat || \"DD/MM/YYYY\";\n","import { dynamicArray } from \"neetocist\";\nimport { dayjs } from \"neetocommons/v2/utils\";\n\nexport const disabledDate = current =>\n current && current < dayjs().startOf(\"day\");\n\nexport const disabledTime = selectedDate => {\n const current = dayjs(selectedDate).startOf(\"day\");\n const today = dayjs().startOf(\"day\");\n\n if (current.isBefore(today)) {\n return { disabledHours: () => dynamicArray(24, i => i) };\n }\n\n if (current.isSame(today)) {\n const currentTime = dayjs();\n\n return {\n disabledHours: () => dynamicArray(currentTime.hour() + 1, i => i),\n };\n }\n\n return {};\n};\n\nexport const getDefaultDate = () => {\n let currDate = dayjs();\n currDate = currDate.hour(currDate.hour() + 1);\n\n if (currDate.minute() > 30) {\n currDate = currDate.hour(currDate.hour() + 1);\n }\n\n return currDate;\n};\n","import { Button, DatePicker, Typography } from \"@bigbinary/neeto-atoms\";\nimport { dayjs } from \"neetocommons/v2/utils\";\nimport { Profile } from \"neetoteam\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { DATE_FORMAT, TIME_FORMAT } from \"./constants\";\nimport { disabledDate, disabledTime } from \"./utils\";\n\nconst Form = ({ datetimeValue, setDatetimeValue, onClose }) => {\n const { t } = useTranslation();\n const [_, setIsProfilePaneOpen] = Profile.usePaneState();\n\n return (\n <div className=\"flex flex-col gap-y-1\">\n <DatePicker\n {...{ disabledDate }}\n required\n showTime\n allowClear={false}\n data-testid=\"publish-later-datepicker-input-field\"\n dateFormat={DATE_FORMAT}\n label={t(\"neetoMolecules.publishBlock.dateTime\")}\n timeFormat={TIME_FORMAT}\n value={datetimeValue}\n timePickerProps={{\n \"data-testid\": \"publish-later-timepicker-input-field\",\n clearIcon: false,\n disabledTime,\n }}\n onChange={date => {\n setDatetimeValue(date.startOf(\"hour\"));\n }}\n />\n <Typography color=\"muted\" variant=\"caption\">\n <Trans\n i18nKey=\"neetoMolecules.publishBlock.timezoneDescription\"\n values={{ timezone: globalProps.user?.timeZone ?? dayjs.tz.guess() }}\n components={{\n button: (\n <Button\n size=\"sm\"\n variant=\"link\"\n onClick={() => {\n onClose();\n setIsProfilePaneOpen(true);\n }}\n />\n ),\n }}\n />\n </Typography>\n </div>\n );\n};\n\nexport default Form;\n","import { Label, Typography } from \"@bigbinary/neeto-atoms\";\nimport { useTranslation } from \"react-i18next\";\n\nconst PublishPreview = ({ coverImageUrl, title, publicUrl }) => {\n const { t } = useTranslation();\n\n if (!title) return null;\n\n return (\n <div className=\"flex flex-col\">\n <Label className=\"mb-2\">{t(\"neetoMolecules.publishBlock.preview\")}</Label>\n <div className=\"bg-muted w-full rounded-md p-4\">\n <div className=\"flex flex-col items-start gap-3\">\n {coverImageUrl && (\n <div className=\"w-full flex-shrink-0\">\n <img\n alt={title}\n className=\"h-52 w-full rounded-md object-cover\"\n src={coverImageUrl}\n />\n </div>\n )}\n <div className=\"flex w-full min-w-0 flex-col items-start gap-1\">\n <Typography\n as=\"h4\"\n className=\"break-words\"\n variant=\"h6\"\n weight=\"medium\"\n >\n {title}\n </Typography>\n {publicUrl && (\n <Typography asChild className=\"break-all\" color=\"primary\">\n <a href={publicUrl} rel=\"noopener noreferrer\" target=\"_blank\">\n {publicUrl}\n </a>\n </Typography>\n )}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default PublishPreview;\n","import { Button, Sheet } from \"@bigbinary/neeto-atoms\";\nimport { noop } from \"neetocist\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nimport Form from \"./Form\";\nimport PublishPreview from \"./PublishPreview\";\n\nconst PublishSettings = withT(\n ({\n t,\n isOpen,\n onClose,\n isSubmitting = false,\n onPublish = noop,\n datetimeValue,\n setDatetimeValue,\n previewProps,\n }) => (\n <Sheet {...{ isOpen, onClose }}>\n <Sheet.Header>\n <Sheet.Title data-testid=\"publish-pane-heading\">\n {t(\"neetoMolecules.publishBlock.publishLater\")}\n </Sheet.Title>\n </Sheet.Header>\n <Sheet.Body hasFooter>\n <div className=\"flex w-full flex-col gap-y-6 pb-6\">\n <Form {...{ datetimeValue, onClose, setDatetimeValue }} />\n {previewProps && <PublishPreview {...previewProps} />}\n </div>\n </Sheet.Body>\n <Sheet.Footer className=\"flex items-center gap-x-2\">\n <Button\n data-testid=\"publish-submit-button\"\n disabled={isSubmitting}\n loading={isSubmitting}\n onClick={() => onPublish({ datetimeValue })}\n >\n {t(\"neetoMolecules.publishBlock.publishLater\")}\n </Button>\n <Button\n data-testid=\"publish-cancel-button\"\n variant=\"ghost\"\n onClick={onClose}\n >\n {t(\"neetoMolecules.common.actions.cancel\")}\n </Button>\n </Sheet.Footer>\n </Sheet>\n )\n);\n\nexport default PublishSettings;\n","import { useEffect, useState } from \"react\";\n\nimport PropTypes from \"prop-types\";\n\nimport PublishSettings from \"./PublishSettings\";\n\nconst PublishSchedulePane = ({\n onPublish,\n onClose,\n isSubmitting,\n datetime,\n isOpen,\n previewProps,\n}) => {\n const [datetimeValue, setDatetimeValue] = useState(datetime);\n\n useEffect(() => {\n setDatetimeValue(datetime);\n }, [datetime]);\n\n return (\n <PublishSettings\n {...{\n datetimeValue,\n isOpen,\n isSubmitting,\n onClose,\n onPublish,\n previewProps,\n setDatetimeValue,\n }}\n />\n );\n};\n\nPublishSchedulePane.propTypes = {\n onPublish: PropTypes.func.isRequired,\n onClose: PropTypes.func.isRequired,\n isSubmitting: PropTypes.bool,\n datetime: PropTypes.string,\n isOpen: PropTypes.bool,\n previewProps: PropTypes.shape({\n coverImageUrl: PropTypes.string,\n title: PropTypes.string,\n publicUrl: PropTypes.string,\n }),\n};\n\nexport default PublishSchedulePane;\n","import { Button, Tooltip, Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Clock, ExternalLink, Trash2 } from \"lucide-react\";\nimport { isPresent } from \"neetocist\";\nimport { withT } from \"neetocommons/v2/react-utils\";\nimport { dateFormat } from \"neetocommons/v2/utils\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport AlertBlock from \"./AlertBlock\";\nimport PublishSchedulePane from \"./PublishSchedulePane\";\n\nconst ViewDraftButton = withT(({ t, ...props }) => (\n <Tooltip\n content={t(\"neetoMolecules.publishBlock.viewDraftVersion\")}\n position=\"top\"\n >\n <span className=\"inline-flex\">\n <Button\n data-testid=\"view-draft-button\"\n icon={ExternalLink}\n target=\"_blank\"\n variant=\"secondary\"\n {...props}\n />\n </span>\n </Tooltip>\n));\n\nconst ResetDraftButton = withT(({ t, ...props }) => (\n <Tooltip\n content={t(\"neetoMolecules.publishBlock.deleteDraftVersion\")}\n position=\"top\"\n >\n <span className=\"inline-flex\">\n <Button\n data-testid=\"draft-button\"\n icon={Trash2}\n variant=\"secondary\"\n {...props}\n />\n </span>\n </Tooltip>\n));\n\nconst PublishButton = ({\n tooltipProps,\n showTooltipWhenDisabled = false,\n disabled = false,\n ...props\n}) => {\n const { t } = useTranslation();\n\n const isTooltipDisabled =\n !tooltipProps || (!showTooltipWhenDisabled && disabled);\n\n return (\n <Tooltip\n content={tooltipProps?.content}\n disabled={isTooltipDisabled}\n position={tooltipProps?.position}\n >\n <div className=\"inline-flex\">\n <Button {...{ disabled }} data-testid=\"publish-button\" {...props}>\n {t(\"neetoMolecules.common.actions.publish\")}\n </Button>\n </div>\n </Tooltip>\n );\n};\n\nconst PublishPreviewButton = withT(({ t, ...props }) => (\n <Tooltip\n content={t(\"neetoMolecules.publishBlock.viewPublishedVersion\")}\n position=\"top\"\n >\n <span className=\"inline-flex\">\n <Button\n data-testid=\"publish-preview-button\"\n icon={ExternalLink}\n target=\"_blank\"\n className={classnames(\n { \"pointer-events-none\": props.disabled },\n props.className\n )}\n {...props}\n />\n </span>\n </Tooltip>\n));\n\nconst PublishBlock = ({\n renderDraftButtons,\n renderPublishButtons,\n datetime,\n}) => {\n const { t } = useTranslation();\n\n const draftBlockButtons = renderDraftButtons({\n ViewDraftButton,\n ResetDraftButton,\n });\n\n return (\n <div\n className=\"neeto-molecules-publish-block flex items-center justify-end gap-3\"\n data-testid=\"neeto-molecules-publish-block\"\n >\n {isPresent(datetime) && (\n <Tooltip\n position=\"bottom\"\n content={t(\"neetoMolecules.publishBlock.tooltip.publishLater\", {\n date: dateFormat.dateTime(datetime),\n })}\n >\n <div>\n <Clock className=\"size-4\" />\n </div>\n </Tooltip>\n )}\n {draftBlockButtons && (\n <>\n <div className=\"flex items-center gap-2\">\n <Typography\n as=\"span\"\n color=\"muted\"\n data-testid=\"publish-block-draft-label\"\n variant=\"body3\"\n >\n {t(\"neetoMolecules.common.actions.draft\")}\n </Typography>\n <div className=\"flex items-center gap-1\">{draftBlockButtons}</div>\n </div>\n <div className=\"bg-border h-6 w-px\" />\n </>\n )}\n <div className=\"neeto-molecules-publish-block__action-btn inline-flex flex-row items-center justify-center gap-px\">\n {renderPublishButtons({ PublishButton, PublishPreviewButton })}\n </div>\n </div>\n );\n};\n\nPublishBlock.Alert = AlertBlock;\nPublishBlock.SchedulePane = PublishSchedulePane;\n\nPublishBlock.propTypes = {\n renderDraftButtons: PropTypes.func,\n renderPublishButtons: PropTypes.func,\n datetime: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n};\n\nexport default PublishBlock;\n"],"names":["createLucideIcon","AlertBlock","withT","_ref","t","props","_objectWithoutProperties","_excluded","_jsx","Alert","_objectSpread","submitButtonLabel","TIME_FORMAT","DATE_FORMAT","_globalProps$user","globalProps","user","dateFormat","disabledDate","current","dayjs","startOf","disabledTime","selectedDate","today","isBefore","disabledHours","dynamicArray","i","isSame","currentTime","hour","Form","_globalProps$user$tim","datetimeValue","setDatetimeValue","onClose","_useTranslation","useTranslation","_Profile$usePaneState","Profile","usePaneState","_Profile$usePaneState2","_slicedToArray","_","setIsProfilePaneOpen","_jsxs","className","children","DatePicker","required","showTime","allowClear","label","timeFormat","value","timePickerProps","clearIcon","onChange","date","Typography","color","variant","Trans","i18nKey","values","timezone","timeZone","tz","guess","components","button","Button","size","onClick","PublishPreview","coverImageUrl","title","publicUrl","Label","alt","src","as","weight","asChild","href","rel","target","PublishSettings","isOpen","_ref$isSubmitting","isSubmitting","_ref$onPublish","onPublish","noop","previewProps","Sheet","Header","Title","Body","hasFooter","Footer","disabled","loading","PublishSchedulePane","datetime","_useState","useState","_useState2","useEffect","ViewDraftButton","Tooltip","content","position","icon","ExternalLink","ResetDraftButton","_ref2","_excluded2","Trash2","PublishButton","_ref3","tooltipProps","_ref3$showTooltipWhen","showTooltipWhenDisabled","_ref3$disabled","_excluded3","isTooltipDisabled","PublishPreviewButton","_ref4","_excluded4","classnames","PublishBlock","_ref5","renderDraftButtons","renderPublishButtons","_useTranslation2","draftBlockButtons","isPresent","dateTime","Clock","_Fragment","SchedulePane"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -65,16 +65,18 @@ var ResponsiveDevicePicker = function ResponsiveDevicePicker(_ref) {
|
|
|
65
65
|
var isActive = key === selectedDevice;
|
|
66
66
|
return /*#__PURE__*/React.createElement(neetoAtoms.Button, {
|
|
67
67
|
icon: icon,
|
|
68
|
-
"
|
|
68
|
+
"aria-label": label,
|
|
69
|
+
"aria-pressed": isActive,
|
|
70
|
+
"data-testid": "".concat(key, "-device-button"),
|
|
69
71
|
key: key,
|
|
70
|
-
size: "icon",
|
|
72
|
+
size: "icon-sm",
|
|
71
73
|
title: label,
|
|
72
74
|
variant: "outline",
|
|
73
|
-
className: classnames("focus:z-10", {
|
|
75
|
+
className: classnames("cursor-pointer focus:z-10", {
|
|
74
76
|
"rounded-e-none": isFirst,
|
|
75
77
|
"-ms-px rounded-none": !isFirst && !isLast,
|
|
76
78
|
"-ms-px rounded-s-none": isLast,
|
|
77
|
-
"border-primary
|
|
79
|
+
"border-primary text-primary hover:text-primary z-10": isActive
|
|
78
80
|
}),
|
|
79
81
|
onClick: function onClick() {
|
|
80
82
|
return onDeviceChange(key);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponsiveDevicePicker.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/tablet.js","../../../src/v2/components/ResponsiveDevicePicker/constants.js","../../../src/v2/components/ResponsiveDevicePicker/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.7.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"rect\", { width: \"16\", height: \"20\", x: \"4\", y: \"2\", rx: \"2\", ry: \"2\", key: \"76otgf\" }],\n [\"line\", { x1: \"12\", x2: \"12.01\", y1: \"18\", y2: \"18\", key: \"1dp563\" }]\n];\nconst Tablet = createLucideIcon(\"tablet\", __iconNode);\n\nexport { __iconNode, Tablet as default };\n//# sourceMappingURL=tablet.js.map\n","import { t } from \"i18next\";\nimport { Monitor, Tablet, Smartphone } from \"lucide-react\";\n\nexport const RESPONSIVE_DEVICES = {\n DESKTOP: \"desktop\",\n TABLET: \"tablet\",\n MOBILE: \"mobile\",\n};\n\nexport const RESPONSIVE_DEVICES_MAP = {\n [RESPONSIVE_DEVICES.DESKTOP]: {\n icon: Monitor,\n label: t(\"neetoMolecules.responsiveDevicePicker.desktop\"),\n },\n [RESPONSIVE_DEVICES.TABLET]: {\n icon: Tablet,\n label: t(\"neetoMolecules.responsiveDevicePicker.tablet\"),\n },\n [RESPONSIVE_DEVICES.MOBILE]: {\n icon: Smartphone,\n label: t(\"neetoMolecules.responsiveDevicePicker.mobile\"),\n },\n};\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport { RESPONSIVE_DEVICES_MAP } from \"./constants\";\n\nconst ResponsiveDevicePicker = ({\n className = \"\",\n selectedDevice,\n onDeviceChange,\n ...otherProps\n}) => {\n const devices = Object.entries(RESPONSIVE_DEVICES_MAP);\n\n return (\n <div\n className={classnames(\"flex items-center justify-center\", className)}\n {...otherProps}\n >\n {devices.map(([key, { icon, label }], index) => {\n const isFirst = index === 0;\n const isLast = index === devices.length - 1;\n const isActive = key === selectedDevice;\n\n return (\n <Button\n {...{ icon }}\n data-testid={`${
|
|
1
|
+
{"version":3,"file":"ResponsiveDevicePicker.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/tablet.js","../../../src/v2/components/ResponsiveDevicePicker/constants.js","../../../src/v2/components/ResponsiveDevicePicker/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.7.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"rect\", { width: \"16\", height: \"20\", x: \"4\", y: \"2\", rx: \"2\", ry: \"2\", key: \"76otgf\" }],\n [\"line\", { x1: \"12\", x2: \"12.01\", y1: \"18\", y2: \"18\", key: \"1dp563\" }]\n];\nconst Tablet = createLucideIcon(\"tablet\", __iconNode);\n\nexport { __iconNode, Tablet as default };\n//# sourceMappingURL=tablet.js.map\n","import { t } from \"i18next\";\nimport { Monitor, Tablet, Smartphone } from \"lucide-react\";\n\nexport const RESPONSIVE_DEVICES = {\n DESKTOP: \"desktop\",\n TABLET: \"tablet\",\n MOBILE: \"mobile\",\n};\n\nexport const RESPONSIVE_DEVICES_MAP = {\n [RESPONSIVE_DEVICES.DESKTOP]: {\n icon: Monitor,\n label: t(\"neetoMolecules.responsiveDevicePicker.desktop\"),\n },\n [RESPONSIVE_DEVICES.TABLET]: {\n icon: Tablet,\n label: t(\"neetoMolecules.responsiveDevicePicker.tablet\"),\n },\n [RESPONSIVE_DEVICES.MOBILE]: {\n icon: Smartphone,\n label: t(\"neetoMolecules.responsiveDevicePicker.mobile\"),\n },\n};\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport { RESPONSIVE_DEVICES_MAP } from \"./constants\";\n\nconst ResponsiveDevicePicker = ({\n className = \"\",\n selectedDevice,\n onDeviceChange,\n ...otherProps\n}) => {\n const devices = Object.entries(RESPONSIVE_DEVICES_MAP);\n\n return (\n <div\n className={classnames(\"flex items-center justify-center\", className)}\n {...otherProps}\n >\n {devices.map(([key, { icon, label }], index) => {\n const isFirst = index === 0;\n const isLast = index === devices.length - 1;\n const isActive = key === selectedDevice;\n\n return (\n <Button\n {...{ icon }}\n aria-label={label}\n aria-pressed={isActive}\n data-testid={`${key}-device-button`}\n key={key}\n size=\"icon-sm\"\n title={label}\n variant=\"outline\"\n className={classnames(\"cursor-pointer focus:z-10\", {\n \"rounded-e-none\": isFirst,\n \"-ms-px rounded-none\": !isFirst && !isLast,\n \"-ms-px rounded-s-none\": isLast,\n \"border-primary text-primary hover:text-primary z-10\": isActive,\n })}\n onClick={() => onDeviceChange(key)}\n />\n );\n })}\n </div>\n );\n};\n\nResponsiveDevicePicker.propTypes = {\n /**\n * To specify external classnames as overrides.\n */\n className: PropTypes.string,\n /**\n * To show the active device.\n */\n selectedDevice: PropTypes.string,\n /**\n * Handler function that is triggered when one of the device options are selected.\n */\n onDeviceChange: PropTypes.func,\n};\n\nexport default ResponsiveDevicePicker;\n"],"names":["createLucideIcon","RESPONSIVE_DEVICES","DESKTOP","TABLET","MOBILE","RESPONSIVE_DEVICES_MAP","_defineProperty","icon","Monitor","label","t","Tablet","Smartphone","ResponsiveDevicePicker","_ref","_ref$className","className","selectedDevice","onDeviceChange","otherProps","_objectWithoutProperties","_excluded","devices","Object","entries","_jsx","_objectSpread","classnames","children","map","_ref2","index","_ref3","_slicedToArray","key","_ref3$","isFirst","isLast","length","isActive","_createElement","Button","concat","size","title","variant","onClick"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -73,7 +73,7 @@ var TimezoneMismatchModal = function TimezoneMismatchModal(_ref) {
|
|
|
73
73
|
onClose();
|
|
74
74
|
};
|
|
75
75
|
React.useEffect(function () {
|
|
76
|
-
if (!(process.env.RAILS_ENV
|
|
76
|
+
if (!["heroku", "transit"].includes(process.env.RAILS_ENV)) return;
|
|
77
77
|
setIsTimezoneModalOpen(!isUserAndBrowserTimeZoneSame);
|
|
78
78
|
}, []);
|
|
79
79
|
return /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Dialog, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimezoneMismatchModal.js","sources":["../../../src/v2/components/TimezoneMismatchModal/apis/time_zone.js","../../../src/v2/components/TimezoneMismatchModal/useTimeZoneApi.js","../../../src/v2/components/TimezoneMismatchModal/utils.js","../../../src/v2/components/TimezoneMismatchModal/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nconst timeZoneUrl = \"api/v1/time_zone\";\n\nconst updateTimeZone = payload => axios.patch(timeZoneUrl, payload);\n\nconst timeZoneApi = { updateTimeZone };\n\nexport default timeZoneApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport timeZoneApi from \"./apis/time_zone\";\n\nconst useUpdateTimeZone = () =>\n useMutation({\n mutationFn: timeZoneApi.updateTimeZone,\n onSuccess: () => window.location.reload(),\n });\n\nexport { useUpdateTimeZone };\n","import { globalProps } from \"neetocommons/v2/initializers\";\nimport { dayjs } from \"neetocommons/v2/utils\";\n\nexport const getBrowserTimeZone = () => dayjs.tz.guess();\n\nexport const getUserTimeZone = () => globalProps.user?.timeZone;\n\nexport const checkIfTwoTimeZonesAreSame = (timeZone1, timeZone2) =>\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n dayjs().tz(timeZone1).format(\"Z\") === dayjs().tz(timeZone2).format(\"Z\");\n","import { useEffect, useState } from \"react\";\n\nimport { Button, Dialog, Typography } from \"@bigbinary/neeto-atoms\";\nimport { noop } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport PropTypes from \"prop-types\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useUpdateTimeZone } from \"./useTimeZoneApi\";\nimport {\n checkIfTwoTimeZonesAreSame,\n getBrowserTimeZone,\n getUserTimeZone,\n} from \"./utils\";\n\nconst TimezoneMismatchModal = ({ isOpen = false, onClose = noop }) => {\n const { t } = useTranslation();\n const [isTimezoneModalOpen, setIsTimezoneModalOpen] = useState(false);\n const { isPending, mutate: updateTimeZone } = useUpdateTimeZone();\n const isUserAndBrowserTimeZoneSame = checkIfTwoTimeZonesAreSame(\n getUserTimeZone(),\n getBrowserTimeZone()\n );\n\n const handleUpdateTimeZone = () => {\n const payload = { timeZone: getBrowserTimeZone() };\n\n updateTimeZone(payload, {\n onSuccess: () => {\n setIsTimezoneModalOpen(false);\n onClose();\n },\n });\n };\n\n const handleCancel = () => {\n setIsTimezoneModalOpen(false);\n onClose();\n };\n\n useEffect(() => {\n if (!(process.env.RAILS_ENV
|
|
1
|
+
{"version":3,"file":"TimezoneMismatchModal.js","sources":["../../../src/v2/components/TimezoneMismatchModal/apis/time_zone.js","../../../src/v2/components/TimezoneMismatchModal/useTimeZoneApi.js","../../../src/v2/components/TimezoneMismatchModal/utils.js","../../../src/v2/components/TimezoneMismatchModal/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nconst timeZoneUrl = \"api/v1/time_zone\";\n\nconst updateTimeZone = payload => axios.patch(timeZoneUrl, payload);\n\nconst timeZoneApi = { updateTimeZone };\n\nexport default timeZoneApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport timeZoneApi from \"./apis/time_zone\";\n\nconst useUpdateTimeZone = () =>\n useMutation({\n mutationFn: timeZoneApi.updateTimeZone,\n onSuccess: () => window.location.reload(),\n });\n\nexport { useUpdateTimeZone };\n","import { globalProps } from \"neetocommons/v2/initializers\";\nimport { dayjs } from \"neetocommons/v2/utils\";\n\nexport const getBrowserTimeZone = () => dayjs.tz.guess();\n\nexport const getUserTimeZone = () => globalProps.user?.timeZone;\n\nexport const checkIfTwoTimeZonesAreSame = (timeZone1, timeZone2) =>\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n dayjs().tz(timeZone1).format(\"Z\") === dayjs().tz(timeZone2).format(\"Z\");\n","import { useEffect, useState } from \"react\";\n\nimport { Button, Dialog, Typography } from \"@bigbinary/neeto-atoms\";\nimport { noop } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport PropTypes from \"prop-types\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useUpdateTimeZone } from \"./useTimeZoneApi\";\nimport {\n checkIfTwoTimeZonesAreSame,\n getBrowserTimeZone,\n getUserTimeZone,\n} from \"./utils\";\n\nconst TimezoneMismatchModal = ({ isOpen = false, onClose = noop }) => {\n const { t } = useTranslation();\n const [isTimezoneModalOpen, setIsTimezoneModalOpen] = useState(false);\n const { isPending, mutate: updateTimeZone } = useUpdateTimeZone();\n const isUserAndBrowserTimeZoneSame = checkIfTwoTimeZonesAreSame(\n getUserTimeZone(),\n getBrowserTimeZone()\n );\n\n const handleUpdateTimeZone = () => {\n const payload = { timeZone: getBrowserTimeZone() };\n\n updateTimeZone(payload, {\n onSuccess: () => {\n setIsTimezoneModalOpen(false);\n onClose();\n },\n });\n };\n\n const handleCancel = () => {\n setIsTimezoneModalOpen(false);\n onClose();\n };\n\n useEffect(() => {\n if (![\"heroku\", \"transit\"].includes(process.env.RAILS_ENV)) return;\n setIsTimezoneModalOpen(!isUserAndBrowserTimeZoneSame);\n }, []);\n\n return (\n <Dialog\n aria-describedby={undefined}\n closeOnOutsideClick={false}\n isOpen={isTimezoneModalOpen || isOpen}\n size=\"large\"\n onClose={handleCancel}\n >\n <Dialog.Header>\n <Dialog.Title>{t(\"neetoMolecules.alert.timezone.title\")}</Dialog.Title>\n </Dialog.Header>\n <Dialog.Body>\n <span className=\"flex flex-col gap-y-4\">\n <Typography as=\"span\" variant=\"body2\">\n {t(\"neetoMolecules.alert.timezone.message\", {\n entity: globalProps.appName,\n })}\n </Typography>\n <Typography as=\"span\" variant=\"h4\">\n <Trans\n i18nKey=\"neetoMolecules.alert.timezone.userTimezone\"\n values={{ entity: getUserTimeZone() }}\n />\n </Typography>\n <Typography as=\"span\" variant=\"h4\">\n <Trans\n i18nKey=\"neetoMolecules.alert.timezone.browserTimezone\"\n values={{ entity: getBrowserTimeZone() }}\n />\n </Typography>\n </span>\n </Dialog.Body>\n <Dialog.Footer className=\"flex items-center gap-x-2\">\n <Button\n data-testid=\"update-timezone-button\"\n disabled={isPending}\n label={t(\"neetoMolecules.alert.timezone.updateProfile\")}\n loading={isPending}\n onClick={handleUpdateTimeZone}\n />\n <Button\n label={t(\"neetoMolecules.common.actions.cancel\")}\n variant=\"ghost\"\n onClick={handleCancel}\n />\n </Dialog.Footer>\n </Dialog>\n );\n};\n\nTimezoneMismatchModal.propTypes = {\n /**\n * Boolean value to toggle the modal.\n */\n isOpen: PropTypes.bool,\n /**\n * The function that's called after the modal is closed.\n */\n onClose: PropTypes.func,\n};\n\nexport default TimezoneMismatchModal;\n"],"names":["timeZoneUrl","updateTimeZone","payload","axios","patch","timeZoneApi","useUpdateTimeZone","useMutation","mutationFn","onSuccess","window","location","reload","getBrowserTimeZone","dayjs","tz","guess","getUserTimeZone","_globalProps$user","globalProps","user","timeZone","checkIfTwoTimeZonesAreSame","timeZone1","timeZone2","format","TimezoneMismatchModal","_ref","_ref$isOpen","isOpen","_ref$onClose","onClose","noop","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isTimezoneModalOpen","setIsTimezoneModalOpen","_useUpdateTimeZone","isPending","mutate","isUserAndBrowserTimeZoneSame","handleUpdateTimeZone","handleCancel","useEffect","includes","process","env","RAILS_ENV","_jsxs","Dialog","undefined","closeOnOutsideClick","size","children","_jsx","Header","Title","Body","className","Typography","as","variant","entity","appName","Trans","i18nKey","values","Footer","Button","disabled","label","loading","onClick"],"mappings":"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"}
|
package/dist/v2/ErrorPage.js
CHANGED
|
@@ -173,7 +173,7 @@ var ErrorPage = function ErrorPage(_ref) {
|
|
|
173
173
|
}
|
|
174
174
|
})
|
|
175
175
|
}), /*#__PURE__*/jsxs("div", {
|
|
176
|
-
className: "flex flex-wrap items-center gap-3 [&_a]:no-underline",
|
|
176
|
+
className: "flex flex-wrap items-center justify-center gap-3 @[768px]/error-page:justify-start [&_a]:no-underline",
|
|
177
177
|
children: [primaryAction === "back" ? /*#__PURE__*/jsx(Button, {
|
|
178
178
|
asChild: true,
|
|
179
179
|
size: "lg",
|
package/dist/v2/ErrorPage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorPage.js","sources":["../../node_modules/lucide-react/dist/esm/icons/lock.js","../../src/v2/components/ErrorPage/constants.js","../../src/v2/components/ErrorPage/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.7.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"rect\", { width: \"18\", height: \"11\", x: \"3\", y: \"11\", rx: \"2\", ry: \"2\", key: \"1w4ew1\" }],\n [\"path\", { d: \"M7 11V7a5 5 0 0 1 10 0v4\", key: \"fwvmzm\" }]\n];\nconst Lock = createLucideIcon(\"lock\", __iconNode);\n\nexport { __iconNode, Lock as default };\n//# sourceMappingURL=lock.js.map\n","import { Lock, Search, TriangleAlert } from \"lucide-react\";\n\nexport const ERRORS = {\n 404: {\n Icon: Search,\n errorKey: \"neetoMolecules.errorPage.cantBeFound\",\n titleKey: \"neetoMolecules.errorPage.title.cantBeFound\",\n descriptionKey: \"neetoMolecules.errorPage.description.cantBeFound\",\n primaryAction: \"home\",\n usesChat: true,\n },\n 403: {\n Icon: Lock,\n errorKey: \"neetoMolecules.errorPage.unauthorized\",\n titleKey: \"neetoMolecules.errorPage.title.unauthorized\",\n descriptionKey: \"neetoMolecules.errorPage.description.unauthorized\",\n primaryAction: \"back\",\n usesChat: false,\n },\n 500: {\n Icon: TriangleAlert,\n errorKey: \"neetoMolecules.errorPage.internalServerError\",\n titleKey: \"neetoMolecules.errorPage.title.internalServerError\",\n descriptionKey: \"neetoMolecules.errorPage.description.internalServerError\",\n primaryAction: \"home\",\n usesChat: true,\n },\n};\n","import { useEffect } from \"react\";\n\nimport { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport DOMPurify from \"dompurify\";\nimport { ChevronLeft, House } from \"lucide-react\";\nimport { useErrorDisplayStore } from \"neetocommons/v2/react-utils/useDisplayErrorPage\";\nimport PropTypes from \"prop-types\";\nimport { Helmet } from \"react-helmet\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { ERRORS } from \"./constants\";\n\nconst sanitize = DOMPurify.sanitize;\n\nconst ErrorPage = ({\n homeUrl = \"/\",\n status,\n backToHomeButtonProps,\n children,\n showNeetoChatWidget = true,\n description,\n title,\n hideBackToHomeButton = false,\n}) => {\n const { t } = useTranslation();\n const { statusCode: storeStatusCode, showErrorPage } =\n useErrorDisplayStore.pick();\n\n status = status || storeStatusCode;\n const { Icon, errorKey, titleKey, descriptionKey, primaryAction, usesChat } =\n ERRORS[status] || ERRORS[404];\n\n useEffect(() => {\n const pageLoader = document.getElementById(\"neeto-page-loader\");\n if (pageLoader) pageLoader.remove();\n\n const onBackButtonPress = () => {\n if (!showErrorPage) return;\n useErrorDisplayStore.setState({ showErrorPage: false });\n };\n\n window.addEventListener(\"popstate\", onBackButtonPress);\n\n return () => {\n window.removeEventListener(\"popstate\", onBackButtonPress);\n };\n }, []);\n\n const openChatWidget = () => {\n window.NeetoChat?.contextualHelp?.maximizeWidget();\n window.NeetoChat?.contextualHelp?.openWidget();\n };\n\n // Falls back to homeUrl when the user landed on the error page directly\n // (deep link / fresh tab) and has no in-app history to go back to.\n const handleGoBack = () => {\n if (window.history.length > 1) {\n window.history.back();\n } else {\n window.location.href = homeUrl;\n }\n };\n\n const showDefaultDescription = !usesChat || showNeetoChatWidget;\n\n return (\n <div\n className=\"@container/error-page flex min-h-dvh w-full flex-col items-center justify-center\"\n data-testid=\"error-page-container\"\n >\n <div className=\"flex w-[768px] max-w-full flex-col items-center gap-8 p-4 text-center @[768px]/error-page:flex-row @[768px]/error-page:items-center @[768px]/error-page:gap-12 @[768px]/error-page:p-6 @[768px]/error-page:text-left\">\n <div\n className=\"bg-muted text-muted-foreground flex size-24 shrink-0 items-center justify-center rounded-full border\"\n data-testid=\"error-image\"\n >\n <Icon className=\"size-10\" strokeWidth={1.5} />\n </div>\n <div className=\"flex flex-col justify-center md:min-w-0 md:flex-grow\">\n <Helmet>\n <title>{t(titleKey)}</title>\n </Helmet>\n {!!status && (\n <Typography\n className=\"text-muted-foreground mb-2 tracking-[0.08em] uppercase\"\n data-testid=\"status-code\"\n variant=\"body3\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.errorPage.statusCodeLabel\", { status })}\n </Typography>\n )}\n <Typography\n className=\"mb-3\"\n data-testid=\"title\"\n variant=\"h3\"\n weight=\"semibold\"\n >\n {title || <Trans i18nKey={errorKey} />}\n </Typography>\n {description ? (\n <Typography\n className=\"mb-6\"\n dangerouslySetInnerHTML={{ __html: sanitize(description) }}\n data-testid=\"description\"\n variant=\"body1\"\n />\n ) : (\n showDefaultDescription && (\n <Typography\n className=\"mb-6\"\n data-testid=\"description\"\n variant=\"body1\"\n >\n <Trans\n i18nKey={descriptionKey}\n components={{\n contactLink: (\n <Button\n className=\"h-auto p-0 text-base\"\n variant=\"link\"\n onClick={openChatWidget}\n />\n ),\n }}\n />\n </Typography>\n )\n )}\n <div className=\"flex flex-wrap items-center gap-3 [&_a]:no-underline\">\n {primaryAction === \"back\" ? (\n <Button asChild size=\"lg\" variant=\"default\">\n <button type=\"button\" onClick={handleGoBack}>\n <ChevronLeft className=\"size-4\" />\n {t(\"neetoMolecules.errorPage.goBack\")}\n </button>\n </Button>\n ) : (\n !hideBackToHomeButton && (\n <Button\n asChild\n size=\"lg\"\n variant=\"default\"\n {...backToHomeButtonProps}\n >\n <a href={homeUrl}>\n <House className=\"size-4\" />\n {t(\"neetoMolecules.errorPage.backToHome\")}\n </a>\n </Button>\n )\n )}\n {children}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nErrorPage.propTypes = {\n /**\n * The URL to which the user will be taken to when user clicks on back to home button.\n */\n homeUrl: PropTypes.string,\n /**\n * The status code of the error.\n */\n status: PropTypes.oneOf([403, 404, 500]),\n /**\n * Decides whether 'contact us' link should be displayed or not.\n */\n showNeetoChatWidget: PropTypes.bool,\n /**\n * Description about the error.\n */\n description: PropTypes.string,\n /**\n * Decides whether 'back to home' button should be displayed or not.\n */\n hideBackToHomeButton: PropTypes.bool,\n /**\n * The title of the error page.\n */\n title: PropTypes.string,\n};\n\nexport default ErrorPage;\n"],"names":["ERRORS","Icon","Search","errorKey","titleKey","descriptionKey","primaryAction","usesChat","Lock","TriangleAlert","sanitize","DOMPurify","ErrorPage","_ref","_ref$homeUrl","homeUrl","status","backToHomeButtonProps","children","_ref$showNeetoChatWid","showNeetoChatWidget","description","title","_ref$hideBackToHomeBu","hideBackToHomeButton","_useTranslation","useTranslation","t","_useErrorDisplayStore","useErrorDisplayStore","useShallow","store","statusCode","showErrorPage","storeStatusCode","_ref2","useEffect","pageLoader","document","getElementById","remove","onBackButtonPress","setState","window","addEventListener","removeEventListener","openChatWidget","_window$NeetoChat","_window$NeetoChat2","NeetoChat","contextualHelp","maximizeWidget","openWidget","handleGoBack","history","length","back","location","href","showDefaultDescription","_jsx","className","_jsxs","strokeWidth","Helmet","Typography","variant","weight","Trans","i18nKey","dangerouslySetInnerHTML","__html","components","contactLink","Button","onClick","asChild","size","type","ChevronLeft","_objectSpread","House"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"ErrorPage.js","sources":["../../node_modules/lucide-react/dist/esm/icons/lock.js","../../src/v2/components/ErrorPage/constants.js","../../src/v2/components/ErrorPage/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.7.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"rect\", { width: \"18\", height: \"11\", x: \"3\", y: \"11\", rx: \"2\", ry: \"2\", key: \"1w4ew1\" }],\n [\"path\", { d: \"M7 11V7a5 5 0 0 1 10 0v4\", key: \"fwvmzm\" }]\n];\nconst Lock = createLucideIcon(\"lock\", __iconNode);\n\nexport { __iconNode, Lock as default };\n//# sourceMappingURL=lock.js.map\n","import { Lock, Search, TriangleAlert } from \"lucide-react\";\n\nexport const ERRORS = {\n 404: {\n Icon: Search,\n errorKey: \"neetoMolecules.errorPage.cantBeFound\",\n titleKey: \"neetoMolecules.errorPage.title.cantBeFound\",\n descriptionKey: \"neetoMolecules.errorPage.description.cantBeFound\",\n primaryAction: \"home\",\n usesChat: true,\n },\n 403: {\n Icon: Lock,\n errorKey: \"neetoMolecules.errorPage.unauthorized\",\n titleKey: \"neetoMolecules.errorPage.title.unauthorized\",\n descriptionKey: \"neetoMolecules.errorPage.description.unauthorized\",\n primaryAction: \"back\",\n usesChat: false,\n },\n 500: {\n Icon: TriangleAlert,\n errorKey: \"neetoMolecules.errorPage.internalServerError\",\n titleKey: \"neetoMolecules.errorPage.title.internalServerError\",\n descriptionKey: \"neetoMolecules.errorPage.description.internalServerError\",\n primaryAction: \"home\",\n usesChat: true,\n },\n};\n","import { useEffect } from \"react\";\n\nimport { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport DOMPurify from \"dompurify\";\nimport { ChevronLeft, House } from \"lucide-react\";\nimport { useErrorDisplayStore } from \"neetocommons/v2/react-utils/useDisplayErrorPage\";\nimport PropTypes from \"prop-types\";\nimport { Helmet } from \"react-helmet\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { ERRORS } from \"./constants\";\n\nconst sanitize = DOMPurify.sanitize;\n\nconst ErrorPage = ({\n homeUrl = \"/\",\n status,\n backToHomeButtonProps,\n children,\n showNeetoChatWidget = true,\n description,\n title,\n hideBackToHomeButton = false,\n}) => {\n const { t } = useTranslation();\n const { statusCode: storeStatusCode, showErrorPage } =\n useErrorDisplayStore.pick();\n\n status = status || storeStatusCode;\n const { Icon, errorKey, titleKey, descriptionKey, primaryAction, usesChat } =\n ERRORS[status] || ERRORS[404];\n\n useEffect(() => {\n const pageLoader = document.getElementById(\"neeto-page-loader\");\n if (pageLoader) pageLoader.remove();\n\n const onBackButtonPress = () => {\n if (!showErrorPage) return;\n useErrorDisplayStore.setState({ showErrorPage: false });\n };\n\n window.addEventListener(\"popstate\", onBackButtonPress);\n\n return () => {\n window.removeEventListener(\"popstate\", onBackButtonPress);\n };\n }, []);\n\n const openChatWidget = () => {\n window.NeetoChat?.contextualHelp?.maximizeWidget();\n window.NeetoChat?.contextualHelp?.openWidget();\n };\n\n // Falls back to homeUrl when the user landed on the error page directly\n // (deep link / fresh tab) and has no in-app history to go back to.\n const handleGoBack = () => {\n if (window.history.length > 1) {\n window.history.back();\n } else {\n window.location.href = homeUrl;\n }\n };\n\n const showDefaultDescription = !usesChat || showNeetoChatWidget;\n\n return (\n <div\n className=\"@container/error-page flex min-h-dvh w-full flex-col items-center justify-center\"\n data-testid=\"error-page-container\"\n >\n <div className=\"flex w-[768px] max-w-full flex-col items-center gap-8 p-4 text-center @[768px]/error-page:flex-row @[768px]/error-page:items-center @[768px]/error-page:gap-12 @[768px]/error-page:p-6 @[768px]/error-page:text-left\">\n <div\n className=\"bg-muted text-muted-foreground flex size-24 shrink-0 items-center justify-center rounded-full border\"\n data-testid=\"error-image\"\n >\n <Icon className=\"size-10\" strokeWidth={1.5} />\n </div>\n <div className=\"flex flex-col justify-center md:min-w-0 md:flex-grow\">\n <Helmet>\n <title>{t(titleKey)}</title>\n </Helmet>\n {!!status && (\n <Typography\n className=\"text-muted-foreground mb-2 tracking-[0.08em] uppercase\"\n data-testid=\"status-code\"\n variant=\"body3\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.errorPage.statusCodeLabel\", { status })}\n </Typography>\n )}\n <Typography\n className=\"mb-3\"\n data-testid=\"title\"\n variant=\"h3\"\n weight=\"semibold\"\n >\n {title || <Trans i18nKey={errorKey} />}\n </Typography>\n {description ? (\n <Typography\n className=\"mb-6\"\n dangerouslySetInnerHTML={{ __html: sanitize(description) }}\n data-testid=\"description\"\n variant=\"body1\"\n />\n ) : (\n showDefaultDescription && (\n <Typography\n className=\"mb-6\"\n data-testid=\"description\"\n variant=\"body1\"\n >\n <Trans\n i18nKey={descriptionKey}\n components={{\n contactLink: (\n <Button\n className=\"h-auto p-0 text-base\"\n variant=\"link\"\n onClick={openChatWidget}\n />\n ),\n }}\n />\n </Typography>\n )\n )}\n <div className=\"flex flex-wrap items-center justify-center gap-3 @[768px]/error-page:justify-start [&_a]:no-underline\">\n {primaryAction === \"back\" ? (\n <Button asChild size=\"lg\" variant=\"default\">\n <button type=\"button\" onClick={handleGoBack}>\n <ChevronLeft className=\"size-4\" />\n {t(\"neetoMolecules.errorPage.goBack\")}\n </button>\n </Button>\n ) : (\n !hideBackToHomeButton && (\n <Button\n asChild\n size=\"lg\"\n variant=\"default\"\n {...backToHomeButtonProps}\n >\n <a href={homeUrl}>\n <House className=\"size-4\" />\n {t(\"neetoMolecules.errorPage.backToHome\")}\n </a>\n </Button>\n )\n )}\n {children}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nErrorPage.propTypes = {\n /**\n * The URL to which the user will be taken to when user clicks on back to home button.\n */\n homeUrl: PropTypes.string,\n /**\n * The status code of the error.\n */\n status: PropTypes.oneOf([403, 404, 500]),\n /**\n * Decides whether 'contact us' link should be displayed or not.\n */\n showNeetoChatWidget: PropTypes.bool,\n /**\n * Description about the error.\n */\n description: PropTypes.string,\n /**\n * Decides whether 'back to home' button should be displayed or not.\n */\n hideBackToHomeButton: PropTypes.bool,\n /**\n * The title of the error page.\n */\n title: PropTypes.string,\n};\n\nexport default ErrorPage;\n"],"names":["ERRORS","Icon","Search","errorKey","titleKey","descriptionKey","primaryAction","usesChat","Lock","TriangleAlert","sanitize","DOMPurify","ErrorPage","_ref","_ref$homeUrl","homeUrl","status","backToHomeButtonProps","children","_ref$showNeetoChatWid","showNeetoChatWidget","description","title","_ref$hideBackToHomeBu","hideBackToHomeButton","_useTranslation","useTranslation","t","_useErrorDisplayStore","useErrorDisplayStore","useShallow","store","statusCode","showErrorPage","storeStatusCode","_ref2","useEffect","pageLoader","document","getElementById","remove","onBackButtonPress","setState","window","addEventListener","removeEventListener","openChatWidget","_window$NeetoChat","_window$NeetoChat2","NeetoChat","contextualHelp","maximizeWidget","openWidget","handleGoBack","history","length","back","location","href","showDefaultDescription","_jsx","className","_jsxs","strokeWidth","Helmet","Typography","variant","weight","Trans","i18nKey","dangerouslySetInnerHTML","__html","components","contactLink","Button","onClick","asChild","size","type","ChevronLeft","_objectSpread","House"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { u as useKeyboardShortcutsPaneState } from '../useKeyboardShortcutsPaneState-BlyFMEtW.js';
|
|
2
2
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
3
|
-
import { Tooltip, Kbd, Button } from '@bigbinary/neeto-atoms';
|
|
3
|
+
import { Typography, Tooltip, Kbd, Button } from '@bigbinary/neeto-atoms';
|
|
4
4
|
import classnames from 'classnames';
|
|
5
5
|
import useHotkeys from '@bigbinary/neeto-hotkeys';
|
|
6
6
|
import { manager } from '@bigbinary/neetoui/managers';
|
|
@@ -119,7 +119,6 @@ var KbdWithRef = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
119
119
|
ref: ref
|
|
120
120
|
}, props)), {}, {
|
|
121
121
|
children: /*#__PURE__*/jsx(Kbd, {
|
|
122
|
-
className: "nv-kbd",
|
|
123
122
|
children: children
|
|
124
123
|
})
|
|
125
124
|
}));
|
|
@@ -138,7 +137,6 @@ var KbdKey = function KbdKey(_ref2) {
|
|
|
138
137
|
});
|
|
139
138
|
}
|
|
140
139
|
return /*#__PURE__*/jsx(Kbd, {
|
|
141
|
-
className: "nv-kbd",
|
|
142
140
|
children: keyName
|
|
143
141
|
});
|
|
144
142
|
};
|
|
@@ -162,8 +160,9 @@ var HotKey = function HotKey(_ref3) {
|
|
|
162
160
|
children: /*#__PURE__*/jsxs("div", {
|
|
163
161
|
className: "flex items-center justify-between gap-3",
|
|
164
162
|
"data-testid": "hotkey-item",
|
|
165
|
-
children: [/*#__PURE__*/jsx(
|
|
166
|
-
|
|
163
|
+
children: [/*#__PURE__*/jsx(Typography, {
|
|
164
|
+
as: "span",
|
|
165
|
+
className: "min-w-0 flex-grow break-words",
|
|
167
166
|
children: description
|
|
168
167
|
}), /*#__PURE__*/jsx("div", {
|
|
169
168
|
className: "flex flex-shrink-0 items-center gap-1",
|
|
@@ -191,8 +190,10 @@ var HotKeyList = withT(function (_ref) {
|
|
|
191
190
|
var fullShortcutsLink = categoryValues[FULL_SHORTCUTS_LINK_PROP_NAME];
|
|
192
191
|
return /*#__PURE__*/jsxs("div", {
|
|
193
192
|
className: "mt-4 px-4",
|
|
194
|
-
children: [/*#__PURE__*/jsx(
|
|
195
|
-
className: "
|
|
193
|
+
children: [/*#__PURE__*/jsx(Typography, {
|
|
194
|
+
className: "uppercase",
|
|
195
|
+
variant: "caption",
|
|
196
|
+
weight: "bold",
|
|
196
197
|
children: categoryName
|
|
197
198
|
}), Object.entries(categoryValues).map(function (_ref2) {
|
|
198
199
|
var _ref3 = _slicedToArray(_ref2, 2),
|
|
@@ -261,9 +262,10 @@ var KeyboardShortcutsPane = function KeyboardShortcutsPane(_ref) {
|
|
|
261
262
|
className: "h-full w-80 overflow-y-auto",
|
|
262
263
|
children: [/*#__PURE__*/jsxs("div", {
|
|
263
264
|
className: "border-border my-2 flex items-center justify-between border-b px-4 pb-2",
|
|
264
|
-
children: [/*#__PURE__*/jsx(
|
|
265
|
-
|
|
265
|
+
children: [/*#__PURE__*/jsx(Typography, {
|
|
266
|
+
as: "h4",
|
|
266
267
|
"data-testid": "keyboard-shortcuts-pane-title",
|
|
268
|
+
variant: "h6",
|
|
267
269
|
children: t("neetoMolecules.keyboardShortcuts.title")
|
|
268
270
|
}), /*#__PURE__*/jsx(Button, {
|
|
269
271
|
"data-testid": "keyboard-shortcuts-pane-close-button",
|