openstack-uicore-foundation 5.0.17-beta.4 → 5.0.18-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/index.js +1 -1
- package/lib/components/index.js.map +1 -1
- package/lib/components/mui/form-item-table.js +1 -1
- package/lib/components/mui/form-item-table.js.map +1 -1
- package/lib/components/mui/formik-inputs/additional-input-list.js +1 -1
- package/lib/components/mui/formik-inputs/additional-input-list.js.map +1 -1
- package/lib/components/mui/formik-inputs/additional-input.js +1 -1
- package/lib/components/mui/formik-inputs/additional-input.js.map +1 -1
- package/lib/components/mui/formik-inputs/select.js +1 -1
- package/lib/components/mui/formik-inputs/select.js.map +1 -1
- package/lib/components/mui/search-input.js +1 -1
- package/lib/components/mui/search-input.js.map +1 -1
- package/lib/i18n.js +1 -1
- package/lib/i18n.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components/mui/formik-inputs/additional-input.js","mappings":"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","sources":["webpack://openstack-uicore-foundation/webpack/universalModuleDefinition","webpack://openstack-uicore-foundation/external commonjs \"@mui/icons-material/Info\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/icons-material/Warning\"","webpack://openstack-uicore-foundation/./src/components/mui/confirm-dialog.js","webpack://openstack-uicore-foundation/external commonjs \"react-beautiful-dnd\"","webpack://openstack-uicore-foundation/./src/components/mui/dnd-list.js","webpack://openstack-uicore-foundation/./src/components/mui/formik-inputs/mui-formik-checkbox.js","webpack://openstack-uicore-foundation/./src/components/mui/formik-inputs/mui-formik-select.js","webpack://openstack-uicore-foundation/./src/components/mui/formik-inputs/mui-formik-textfield.js","webpack://openstack-uicore-foundation/./src/components/mui/showConfirmDialog.js","webpack://openstack-uicore-foundation/./src/utils/constants.js","webpack://openstack-uicore-foundation/external commonjs \"@babel/runtime/helpers/defineProperty\"","webpack://openstack-uicore-foundation/external commonjs \"@babel/runtime/helpers/extends\"","webpack://openstack-uicore-foundation/external commonjs \"@babel/runtime/helpers/objectWithoutProperties\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/icons-material/CheckCircle\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/icons-material/Clear\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/icons-material/Error\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/material\"","webpack://openstack-uicore-foundation/external commonjs \"formik\"","webpack://openstack-uicore-foundation/external commonjs \"prop-types\"","webpack://openstack-uicore-foundation/external commonjs \"react\"","webpack://openstack-uicore-foundation/webpack/bootstrap","webpack://openstack-uicore-foundation/webpack/runtime/compat get default export","webpack://openstack-uicore-foundation/webpack/runtime/define property getters","webpack://openstack-uicore-foundation/webpack/runtime/hasOwnProperty shorthand","webpack://openstack-uicore-foundation/webpack/runtime/make namespace object","webpack://openstack-uicore-foundation/external commonjs \"i18n-react/dist/i18n-react\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/icons-material/Delete\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/icons-material/Add\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/icons-material/Close\"","webpack://openstack-uicore-foundation/./src/components/mui/formik-inputs/additional-input/meta-field-values.js","webpack://openstack-uicore-foundation/./src/components/mui/formik-inputs/additional-input/additional-input.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"openstack-uicore-foundation\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"openstack-uicore-foundation\"] = factory();\n\telse\n\t\troot[\"openstack-uicore-foundation\"] = factory();\n})(this, () => {\nreturn ","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@mui/icons-material/Info\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@mui/icons-material/Warning\");","/**\n * Copyright 2026 OpenStack Foundation\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * */\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport {\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n Divider,\n Typography\n} from \"@mui/material\";\nimport CheckCircle from \"@mui/icons-material/CheckCircle\";\nimport Error from \"@mui/icons-material/Error\";\nimport Info from \"@mui/icons-material/Info\";\nimport Warning from \"@mui/icons-material/Warning\";\n\nconst iconMap = {\n warning: <Warning color=\"warning\" />,\n success: <CheckCircle color=\"success\" />,\n error: <Error color=\"error\" />,\n info: <Info color=\"info\" />\n};\n\nconst ConfirmDialog = ({\n open,\n title,\n text,\n iconType = \"\",\n onConfirm,\n onCancel,\n confirmButtonText = \"Confirm\",\n confirmButtonColor = \"primary\",\n cancelButtonText = \"Cancel\",\n cancelButtonColor = \"primary\"\n}) => (\n <Dialog open={open} onClose={onCancel}>\n <DialogTitle sx={{ p: 2 }} component=\"div\">\n <Typography variant=\"h5\">{title}</Typography>\n </DialogTitle>\n <Divider />\n <DialogContent sx={{ p: 2 }}>\n <div style={{ display: \"flex\", alignItems: \"center\" }}>\n {iconMap[iconType] && (\n <div style={{ marginRight: 10 }}>{iconMap[iconType]}</div>\n )}\n <Typography variant=\"body1\">{text}</Typography>\n </div>\n </DialogContent>\n <Divider sx={{ margin: \"10px 0px 10px 0px\" }} />\n <DialogActions>\n <Button\n fullWidth\n onClick={onCancel}\n color={cancelButtonColor}\n variant=\"outlined\"\n sx={{ whiteSpace: \"nowrap\", minWidth: 100 }}\n >\n {cancelButtonText}\n </Button>\n <Button\n fullWidth\n onClick={onConfirm}\n color={confirmButtonColor}\n variant=\"contained\"\n sx={{ whiteSpace: \"nowrap\", minWidth: 100 }}\n >\n {confirmButtonText}\n </Button>\n </DialogActions>\n </Dialog>\n);\n\nConfirmDialog.propTypes = {\n open: PropTypes.bool,\n title: PropTypes.string.isRequired,\n text: PropTypes.string.isRequired,\n iconType: PropTypes.string,\n onConfirm: PropTypes.func.isRequired,\n onCancel: PropTypes.func.isRequired,\n confirmButtonText: PropTypes.string,\n confirmButtonColor: PropTypes.string,\n cancelButtonText: PropTypes.string,\n cancelButtonColor: PropTypes.string\n};\n\nConfirmDialog.defaultProps = {\n open: false,\n iconType: \"warning\",\n confirmButtonText: \"Confirm\",\n confirmButtonColor: \"primary\",\n cancelButtonText: \"Cancel\",\n cancelButtonColor: \"default\"\n};\n\nexport default ConfirmDialog;\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react-beautiful-dnd\");","/**\n * Copyright 2026 OpenStack Foundation\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * */\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { DragDropContext, Droppable, Draggable } from \"react-beautiful-dnd\";\nimport { Box } from \"@mui/material\";\n\nconst reorder = (list, startIndex, endIndex, updateOrderKey) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n result.splice(endIndex, 0, removed);\n return result.map((item, index) => ({\n ...item,\n [updateOrderKey]: index + 1\n }));\n};\n\nconst DragAndDropList = ({\n items,\n onReorder,\n renderItem,\n idKey,\n updateOrderKey,\n droppableId\n}) => {\n const handleDragEnd = (result) => {\n if (!result.destination) return;\n\n const newItems = reorder(\n items,\n result.source.index,\n result.destination.index,\n updateOrderKey\n );\n onReorder(newItems, result);\n };\n\n return (\n <DragDropContext onDragEnd={handleDragEnd}>\n <Droppable droppableId={droppableId}>\n {(provided) => (\n <Box\n ref={provided.innerRef}\n {...provided.droppableProps}\n sx={{ width: \"100%\" }}\n >\n {items.map((item, index) => (\n <Draggable\n key={String(item[idKey] || `new-${index}`)}\n draggableId={String(item[idKey] || `new-${index}`)}\n index={index}\n >\n {(provided, snapshot) => (\n <Box\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n sx={{\n background: snapshot.isDragging ? \"#f0f0f0\" : \"inherit\",\n transition: \"background 0.2s ease\"\n }}\n >\n {renderItem(item, index, provided, snapshot)}\n </Box>\n )}\n </Draggable>\n ))}\n {provided.placeholder}\n </Box>\n )}\n </Droppable>\n </DragDropContext>\n );\n};\n\nDragAndDropList.propTypes = {\n items: PropTypes.array.isRequired,\n onReorder: PropTypes.func.isRequired,\n renderItem: PropTypes.func.isRequired,\n idKey: PropTypes.string,\n updateOrderKey: PropTypes.string,\n droppableId: PropTypes.string\n};\n\nDragAndDropList.defaultProps = {\n idKey: \"id\",\n updateOrderKey: \"order\",\n droppableId: \"droppable\"\n};\n\nexport default DragAndDropList;\n","/**\n * Copyright 2026 OpenStack Foundation\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * */\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport {\n Checkbox,\n FormControl,\n FormControlLabel,\n FormHelperText\n} from \"@mui/material\";\nimport { useField } from \"formik\";\n\nconst MuiFormikCheckbox = ({ name, label, ...props }) => {\n const [field, meta] = useField({ name, type: \"checkbox\" });\n\n return (\n <FormControl\n fullWidth\n margin=\"normal\"\n error={meta.touched && Boolean(meta.error)}\n >\n <FormControlLabel\n control={\n <Checkbox\n name={name}\n {...field}\n checked={field.value}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...props}\n />\n }\n label={label}\n />\n {meta.touched && meta.error && (\n <FormHelperText>{meta.error}</FormHelperText>\n )}\n </FormControl>\n );\n};\n\nMuiFormikCheckbox.propTypes = {\n name: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired\n};\n\nexport default MuiFormikCheckbox;\n","/**\n * Copyright 2026 OpenStack Foundation\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * */\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport {\n Select,\n FormHelperText,\n FormControl,\n InputAdornment,\n IconButton,\n InputLabel\n} from \"@mui/material\";\nimport ClearIcon from \"@mui/icons-material/Clear\";\nimport { useField } from \"formik\";\n\nconst MuiFormikSelect = ({\n name,\n label,\n placeholder,\n children,\n isClearable,\n ...rest\n}) => {\n const [field, meta, helpers] = useField(name);\n\n const handleClear = (ev) => {\n ev.stopPropagation();\n helpers.setValue(\"\");\n };\n\n const hasValue = field?.value && field.value !== \"\";\n const shouldShrink = hasValue || Boolean(placeholder);\n\n return (\n <FormControl fullWidth error={meta.touched && Boolean(meta.error)}>\n {label && (\n <InputLabel htmlFor={name} id={`${name}-label`} shrink={shouldShrink}>\n {label}\n </InputLabel>\n )}\n <Select\n name={name}\n id={name}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...field}\n labelId={`${name}-label`}\n label={label}\n notched={shouldShrink}\n displayEmpty\n renderValue={(selected) => {\n if (!selected || selected === \"\") {\n return <span style={{ color: \"#aaa\" }}>{placeholder}</span>;\n }\n return selected;\n }}\n endAdornment={\n isClearable && field.value ? (\n <InputAdornment position=\"end\" sx={{ mr: 2 }}>\n <IconButton size=\"small\" onClick={handleClear}>\n <ClearIcon fontSize=\"small\" />\n </IconButton>\n </InputAdornment>\n ) : null\n }\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...rest}\n >\n {children}\n </Select>\n {meta.touched && meta.error && (\n <FormHelperText>{meta.error}</FormHelperText>\n )}\n </FormControl>\n );\n};\n\nMuiFormikSelect.propTypes = {\n name: PropTypes.string.isRequired,\n children: PropTypes.node.isRequired,\n placeholder: PropTypes.string,\n isClearable: PropTypes.bool\n};\n\nexport default MuiFormikSelect;\n","/**\n * Copyright 2026 OpenStack Foundation\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * */\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Box, TextField, Typography } from \"@mui/material\";\nimport { useField } from \"formik\";\n\nconst MuiFormikTextField = ({\n name,\n label,\n maxLength,\n required = false,\n ...props\n}) => {\n const [field, meta] = useField(name);\n const currentLength = field.value?.length || 0;\n\n let finalLabel = \"\";\n\n if (label) {\n finalLabel = required ? `${label} *` : label;\n }\n\n return (\n <Box>\n <TextField\n name={name}\n label={finalLabel}\n {...field}\n onBlur={field.onBlur}\n margin=\"normal\"\n error={meta.touched && Boolean(meta.error)}\n helperText={meta.touched && meta.error}\n slotProps={{\n htmlInput: {\n maxLength\n }\n }}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...props}\n />\n {maxLength && (\n <Typography sx={{ fontSize: \"1.2rem\", color: \"#00000099\", pl: 2 }}>\n {`${maxLength - currentLength} characters left`}\n </Typography>\n )}\n </Box>\n );\n};\n\nMuiFormikTextField.propTypes = {\n name: PropTypes.string.isRequired,\n label: PropTypes.string,\n maxLength: PropTypes.number,\n required: PropTypes.bool\n};\n\nexport default MuiFormikTextField;\n","/**\n * Copyright 2026 OpenStack Foundation\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * */\n\nimport React, { useState, useEffect } from \"react\";\nimport ConfirmDialog from \"./confirm-dialog\";\n\n/**\n * Imperative confirm dialog API.\n *\n * SETUP (required):\n * Place <GlobalConfirmDialog /> at the root of your app:\n *\n * import { GlobalConfirmDialog } from\n * 'openstack-uicore-foundation/lib/components/mui/show-confirm-dialog';\n *\n * function App() {\n * return (\n * <>\n * <YourApp />\n * <GlobalConfirmDialog />\n * </>\n * );\n * }\n *\n * USAGE (works from any file — the bridge is shared via globalThis):\n * import showConfirmDialog from\n * 'openstack-uicore-foundation/lib/components/mui/show-confirm-dialog';\n *\n * const confirmed = await showConfirmDialog({\n * title: 'Delete Item?',\n * text: 'This cannot be undone'\n * });\n */\n\n// Shared bridge reference stored on globalThis so that all webpack bundles\n// (table, sortable-table, show-confirm-dialog, index, etc.) read/write the\n// same callback. A module-level variable would be duplicated per bundle.\nconst BRIDGE_KEY = \"__oif_confirm_dialog_bridge__\";\nconst _global = typeof globalThis !== \"undefined\" ? globalThis : typeof window !== \"undefined\" ? window : {};\n\n/**\n * @param param0\n * @param param0.title\n * @param param0.text\n * @param param0.iconType\n * @param param0.confirmButtonText\n * @param param0.cancelButtonText\n * @param param0.confirmButtonColor\n * @param param0.cancelButtonColor\n * @returns {Promise<boolean>}\n */\nconst showConfirmDialog = ({\n title,\n text,\n iconType = \"\",\n confirmButtonText = \"Confirm\",\n cancelButtonText = \"Cancel\",\n confirmButtonColor = \"primary\",\n cancelButtonColor = \"primary\"\n}) => {\n if (!_global[BRIDGE_KEY]) {\n throw new Error(\n \"[openstack-uicore-foundation] showConfirmDialog: <GlobalConfirmDialog /> is not mounted. \" +\n \"Add <GlobalConfirmDialog /> to the root of your app.\"\n );\n }\n\n return _global[BRIDGE_KEY]({\n title,\n text,\n iconType,\n confirmButtonText,\n cancelButtonText,\n confirmButtonColor,\n cancelButtonColor\n });\n};\n\n/**\n * Global confirm dialog component. Place at the root of your app:\n *\n * <App>\n * ...\n * <GlobalConfirmDialog />\n * </App>\n *\n * Then call showConfirmDialog() anywhere.\n */\nexport const GlobalConfirmDialog = () => {\n const [dialogState, setDialogState] = useState(null);\n\n useEffect(() => {\n _global[BRIDGE_KEY] = (options) => {\n return new Promise((resolve) => {\n setDialogState({ ...options, open: true, onResolve: resolve });\n });\n };\n return () => { _global[BRIDGE_KEY] = null; };\n }, []);\n\n const handleConfirm = () => {\n if (dialogState?.onResolve) dialogState.onResolve(true);\n setDialogState(null);\n };\n\n const handleCancel = () => {\n if (dialogState?.onResolve) dialogState.onResolve(false);\n setDialogState(null);\n };\n\n if (!dialogState) return null;\n\n return (\n <ConfirmDialog\n open={dialogState.open}\n title={dialogState.title}\n text={dialogState.text}\n iconType={dialogState.iconType}\n confirmButtonText={dialogState.confirmButtonText}\n cancelButtonText={dialogState.cancelButtonText}\n confirmButtonColor={dialogState.confirmButtonColor}\n cancelButtonColor={dialogState.cancelButtonColor}\n onConfirm={handleConfirm}\n onCancel={handleCancel}\n />\n );\n};\n\nexport default showConfirmDialog;\n","export const CENTS_FACTOR = 100n;\nexport const TWO_DECIMAL_PLACES = 2;\nexport const THREE_DECIMAL_PLACES = 3;\nexport const ONE_CENT = 1n;\nexport const ZERO_INT = 0;\n\nexport const CODE_200 = 200;\n\nexport const DEBOUNCE_WAIT_250 = 250;\nexport const DEBOUNCE_WAIT = 500;\n\nexport const NOTIFICATION_TIMEOUT = 2000;\nexport const DEFAULT_PER_PAGE = 10;\nexport const TWENTY_PER_PAGE = 20;\nexport const FIFTY_PER_PAGE = 50;\nexport const MAX_PER_PAGE = 100;\n\nexport const INT_BASE = 10;\n\nexport const ONE_HUNDRED = 100;\nexport const MILLISECONDS_IN_SECOND = 1000;\n\nexport const MILLISECONDS_TO_SECONDS = 1000;\n\nexport const BYTES_PER_MB = 1_048_576; // 1024 * 1024\n\nexport const MAX_INVENTORY_IMAGE_UPLOAD_SIZE = 512000;\nexport const MAX_INVENTORY_IMAGES_UPLOAD_QTY = 5;\nexport const ALLOWED_INVENTORY_IMAGE_FORMATS = [\"jpg\", \"jpeg\", \"png\"];\n\nexport const METAFIELD_TYPES_WITH_OPTIONS = [\n \"CheckBoxList\",\n \"ComboBox\",\n \"RadioButtonList\"\n];\n\nexport const METAFIELD_TYPES = [\n \"CheckBox\",\n ...METAFIELD_TYPES_WITH_OPTIONS,\n \"Text\",\n \"TextArea\",\n \"Quantity\",\n \"DateTime\",\n \"Time\"\n];\n\nexport const DISCOUNT_TYPES = {\n AMOUNT: \"Amount\",\n RATE: \"Rate\"\n};\n\nexport const RATE_FIELDS = {\n EARLY_BIRD: \"early_bird_rate\",\n STANDARD: \"standard_rate\",\n ONSITE: \"onsite_rate\"\n};\n\nexport const DECIMAL_DIGITS = 2;\n\nexport const FILE_UPLOAD_STATUS = {\n PENDING: \"PENDING\",\n DEADLINE_ALERT: \"DEADLINE ALERT\",\n DEADLINE_MISSED: \"DEADLINE MISSED\",\n COMPLETE: \"COMPLETE\"\n};\n\nexport const FILE_UPLOAD_STATUS_COLOR = {\n [FILE_UPLOAD_STATUS.COMPLETE]: \"success.light\",\n [FILE_UPLOAD_STATUS.DEADLINE_MISSED]: \"error\",\n [FILE_UPLOAD_STATUS.DEADLINE_ALERT]: \"warning.light\",\n [FILE_UPLOAD_STATUS.PENDING]: \"default\"\n};\n\nexport const FILE_UPLOAD_STATUS_BKGR_COLOR = {\n [FILE_UPLOAD_STATUS.COMPLETE]: \"white\",\n [FILE_UPLOAD_STATUS.DEADLINE_MISSED]: \"#D32F2F0A\",\n [FILE_UPLOAD_STATUS.DEADLINE_ALERT]: \"#EF6C000A\",\n [FILE_UPLOAD_STATUS.PENDING]: \"white\"\n};\n\nexport const DATE_FORMAT = \"MM/DD/YYYY\";\nexport const DATETIME_FORMAT = \"MM/DD/YYYY hh:mm a\";","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","module.exports = require(\"@babel/runtime/helpers/extends\");","module.exports = require(\"@babel/runtime/helpers/objectWithoutProperties\");","module.exports = require(\"@mui/icons-material/CheckCircle\");","module.exports = require(\"@mui/icons-material/Clear\");","module.exports = require(\"@mui/icons-material/Error\");","module.exports = require(\"@mui/material\");","module.exports = require(\"formik\");","module.exports = require(\"prop-types\");","module.exports = require(\"react\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"i18n-react/dist/i18n-react\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@mui/icons-material/Delete\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@mui/icons-material/Add\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@mui/icons-material/Close\");","/**\n * Copyright 2026 OpenStack Foundation\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * */\n\nimport React from \"react\";\nimport T from \"i18n-react/dist/i18n-react\";\nimport { useFormikContext } from \"formik\";\nimport { Box, Button, Grid2, Divider, IconButton } from \"@mui/material\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport DragAndDropList from \"../../dnd-list\";\nimport showConfirmDialog from \"../../showConfirmDialog\";\nimport MuiFormikTextField from \"../mui-formik-textfield\";\nimport MuiFormikCheckbox from \"../mui-formik-checkbox\";\n\nconst MetaFieldValues = ({\n field,\n fieldIndex,\n baseName = \"meta_fields\",\n onMetaFieldTypeValueDeleted,\n entityId\n}) => {\n const { values, setFieldValue } = useFormikContext();\n\n const metaFields = values[baseName] || [];\n const sortedValues = [...field.values].sort((a, b) => a.order - b.order);\n\n const buildValueFieldName = (valueIndex, fieldName) =>\n `${baseName}[${fieldIndex}].values[${valueIndex}].${fieldName}`;\n\n const onReorder = (newValues) => {\n const newMetaFields = [...metaFields];\n newMetaFields[fieldIndex].values = newValues;\n setFieldValue(baseName, newMetaFields);\n };\n\n const handleAddValue = () => {\n const newFields = [...metaFields];\n newFields[fieldIndex].values.push({\n value: \"\",\n name: \"\",\n is_default: false\n });\n setFieldValue(baseName, newFields);\n };\n\n const handleDefaultChange = (valueIndex, checked) => {\n const newFields = [...metaFields];\n if (checked) {\n newFields[fieldIndex].values.forEach((v) => {\n v.is_default = false;\n });\n }\n newFields[fieldIndex].values[valueIndex].is_default = checked;\n setFieldValue(baseName, newFields);\n };\n\n const isMetafieldValueIncomplete = () => {\n if (field.values.length > 0) {\n return field.values.some((v) => !v.name?.trim() || !v.value?.trim());\n }\n return false;\n };\n\n const handleRemoveValue = async (metaFieldValue, valueIndex) => {\n const isConfirmed = await showConfirmDialog({\n title: T.translate(\"general.are_you_sure\"),\n text: T.translate(\"meta_fields.delete_value_warning\"),\n type: \"warning\",\n confirmButtonColor: \"#DD6B55\",\n confirmButtonText: T.translate(\"general.yes_delete\")\n });\n\n if (!isConfirmed) return;\n\n const removeValueFromFields = () => {\n const newFields = [...metaFields];\n newFields[fieldIndex].values = newFields[fieldIndex].values.filter(\n (_, index) => index !== valueIndex\n );\n setFieldValue(baseName, newFields);\n };\n\n if (field.id && metaFieldValue.id && onMetaFieldTypeValueDeleted) {\n onMetaFieldTypeValueDeleted(entityId, field.id, metaFieldValue.id).then(\n () => removeValueFromFields()\n );\n } else {\n removeValueFromFields();\n }\n };\n\n const renderMetaFieldValue = (val, sortedIndex, provided, snapshot) => {\n const originalIndex = field.values.findIndex(\n (v) => (v.id && v.id === val.id) || v === val\n );\n const valueIndex = originalIndex !== -1 ? originalIndex : sortedIndex;\n\n return (\n <Box key={val.id || `value-${valueIndex}`}>\n <Grid2\n container\n spacing={2}\n sx={{\n alignItems: \"start\",\n background: snapshot?.isDragging ? \"#ebebeb\" : \"inherit\",\n boxShadow: snapshot?.isDragging\n ? \"0px 5px 15px rgba(0,0,0,0.3)\"\n : \"none\",\n transition: \"transform 0.2s ease, box-shadow 0.2s ease\",\n transform: snapshot?.isDragging ? \"scale(1.02)\" : \"none\",\n py: 2\n }}\n >\n <Grid2 size={4}>\n <MuiFormikTextField\n name={buildValueFieldName(valueIndex, \"name\")}\n placeholder={T.translate(\n \"meta_fields.placeholders.name\"\n )}\n margin=\"none\"\n fullWidth\n />\n </Grid2>\n <Grid2 size={4}>\n <MuiFormikTextField\n name={buildValueFieldName(valueIndex, \"value\")}\n placeholder={T.translate(\n \"meta_fields.placeholders.value\"\n )}\n margin=\"none\"\n fullWidth\n InputProps={{\n endAdornment: (\n <IconButton\n onClick={() => handleRemoveValue(val, valueIndex)}\n aria-label=\"remove value\"\n >\n <CloseIcon />\n </IconButton>\n )\n }}\n />\n </Grid2>\n <Grid2 size={4}>\n <MuiFormikCheckbox\n name={buildValueFieldName(valueIndex, \"is_default\")}\n label={T.translate(\"meta_fields.is_default\")}\n onChange={(e) =>\n handleDefaultChange(valueIndex, e.target.checked)\n }\n />\n </Grid2>\n </Grid2>\n <Divider />\n </Box>\n );\n };\n\n return (\n <Box>\n <DragAndDropList\n items={sortedValues}\n onReorder={onReorder}\n renderItem={renderMetaFieldValue}\n idKey=\"id\"\n updateOrderKey=\"order\"\n droppableId={`droppable-values-${fieldIndex}`}\n />\n <Grid2 container spacing={2} sx={{ mt: 2 }} offset={4}>\n <Button\n startIcon={<AddIcon />}\n disabled={isMetafieldValueIncomplete()}\n onClick={handleAddValue}\n variant=\"text\"\n >\n {T.translate(\"meta_fields.add_value\")}\n </Button>\n </Grid2>\n </Box>\n );\n};\n\nexport default MetaFieldValues;\n","/**\n * Copyright 2026 OpenStack Foundation\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * */\n\nimport React from \"react\";\nimport {\n Box,\n Button,\n Divider,\n FormHelperText,\n Grid2,\n InputLabel,\n MenuItem\n} from \"@mui/material\";\nimport { useFormikContext, getIn } from \"formik\";\nimport T from \"i18n-react/dist/i18n-react\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport MetaFieldValues from \"./meta-field-values\";\nimport MuiFormikTextField from \"../mui-formik-textfield\";\nimport MuiFormikSelect from \"../mui-formik-select\";\nimport MuiFormikCheckbox from \"../mui-formik-checkbox\";\nimport {\n METAFIELD_TYPES,\n METAFIELD_TYPES_WITH_OPTIONS\n} from \"../../../../utils/constants\";\n\nconst AdditionalInput = ({\n item,\n itemIdx,\n baseName,\n onAdd,\n onDelete,\n onDeleteValue,\n entityId,\n isAddDisabled\n}) => {\n const { errors, touched, values } = useFormikContext();\n\n const buildFieldName = (fieldName) => `${baseName}[${itemIdx}].${fieldName}`;\n const currentType = getIn(values, buildFieldName(\"type\"));\n\n const fieldErrors = getIn(errors, `${baseName}[${itemIdx}]`);\n const fieldTouched = getIn(touched, `${baseName}[${itemIdx}]`);\n\n const showValuesError =\n fieldTouched?.values &&\n fieldErrors?.values &&\n typeof fieldErrors.values === \"string\";\n\n return (\n <Grid2 container spacing={2} sx={{ alignItems: \"center\" }}>\n <Grid2 size={11}>\n <Box\n sx={{\n border: \"1px solid #0000001F\",\n borderRadius: \"4px\",\n p: 2,\n my: 2\n }}\n >\n <Grid2 container spacing={2} sx={{ alignItems: \"start\" }}>\n <Grid2 size={4}>\n <InputLabel htmlFor={buildFieldName(\"name\")}>\n {T.translate(\"additional_inputs.title\")}\n </InputLabel>\n <MuiFormikTextField\n name={buildFieldName(\"name\")}\n margin=\"none\"\n placeholder={T.translate(\n \"additional_inputs.placeholders.title\"\n )}\n fullWidth\n />\n </Grid2>\n <Grid2 size={4}>\n <InputLabel htmlFor={buildFieldName(\"type\")}>\n {T.translate(\"additional_inputs.type\")}\n </InputLabel>\n <MuiFormikSelect\n name={buildFieldName(\"type\")}\n placeholder={T.translate(\n \"additional_inputs.placeholders.type\"\n )}\n >\n {METAFIELD_TYPES.map((fieldType) => (\n <MenuItem key={fieldType} value={fieldType}>\n {fieldType}\n </MenuItem>\n ))}\n </MuiFormikSelect>\n </Grid2>\n <Grid2 size={4} sx={{ alignSelf: \"end\" }}>\n <MuiFormikCheckbox\n name={buildFieldName(\"is_required\")}\n label={T.translate(\"additional_inputs.required\")}\n />\n </Grid2>\n </Grid2>\n {METAFIELD_TYPES_WITH_OPTIONS.includes(currentType) && (\n <>\n <Divider sx={{ mt: 2 }} />\n <MetaFieldValues\n field={item}\n fieldIndex={itemIdx}\n baseName={baseName}\n onMetaFieldTypeValueDeleted={onDeleteValue}\n entityId={entityId}\n />\n {showValuesError && (\n <FormHelperText error sx={{ mt: 1 }}>\n {fieldErrors.values}\n </FormHelperText>\n )}\n </>\n )}\n {currentType === \"Quantity\" && (\n <Grid2 container spacing={2} sx={{ alignItems: \"start\", mt: 2 }}>\n <Grid2 size={4}>\n <MuiFormikTextField\n name={buildFieldName(\"minimum_quantity\")}\n placeholder={T.translate(\n \"additional_inputs.placeholders.minimum_quantity\"\n )}\n type=\"number\"\n margin=\"none\"\n fullWidth\n />\n </Grid2>\n <Grid2 size={4}>\n <MuiFormikTextField\n name={buildFieldName(\"maximum_quantity\")}\n placeholder={T.translate(\n \"additional_inputs.placeholders.maximum_quantity\"\n )}\n type=\"number\"\n margin=\"none\"\n fullWidth\n />\n </Grid2>\n </Grid2>\n )}\n </Box>\n </Grid2>\n <Grid2 size={1}>\n <Box\n sx={{\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: 1\n }}\n >\n <Button\n variant=\"outlined\"\n aria-label=\"delete\"\n sx={{\n width: 40,\n height: 40,\n minWidth: \"auto\",\n borderRadius: \"50%\",\n padding: 0\n }}\n onClick={() => onDelete(item, itemIdx)}\n >\n <DeleteIcon />\n </Button>\n <Button\n variant=\"contained\"\n aria-label=\"add\"\n disabled={isAddDisabled}\n sx={{\n width: 40,\n height: 40,\n minWidth: \"auto\",\n borderRadius: \"50%\",\n padding: 0\n }}\n onClick={onAdd}\n >\n <AddIcon />\n </Button>\n </Box>\n </Grid2>\n </Grid2>\n );\n};\n\nexport default AdditionalInput;\n"],"names":["root","factory","exports","module","define","amd","this","require","iconMap","warning","React","Warning","color","success","CheckCircle","error","Error","info","Info","ConfirmDialog","open","title","text","iconType","onConfirm","onCancel","confirmButtonText","confirmButtonColor","cancelButtonText","cancelButtonColor","Dialog","onClose","DialogTitle","sx","p","component","Typography","variant","Divider","DialogContent","style","display","alignItems","marginRight","margin","DialogActions","Button","fullWidth","onClick","whiteSpace","minWidth","propTypes","PropTypes","isRequired","defaultProps","DragAndDropList","items","onReorder","renderItem","idKey","updateOrderKey","droppableId","DragDropContext","onDragEnd","result","destination","newItems","reorder","list","startIndex","endIndex","Array","from","removed","splice","map","item","index","_objectSpread","source","Droppable","provided","Box","_extends","ref","innerRef","droppableProps","width","Draggable","key","String","draggableId","snapshot","draggableProps","dragHandleProps","background","isDragging","transition","placeholder","MuiFormikCheckbox","_ref","name","label","props","_objectWithoutProperties","_excluded","field","meta","useField","type","FormControl","touched","Boolean","FormControlLabel","control","Checkbox","checked","value","FormHelperText","MuiFormikSelect","children","isClearable","rest","helpers","shouldShrink","InputLabel","htmlFor","id","shrink","Select","labelId","notched","displayEmpty","renderValue","selected","endAdornment","InputAdornment","position","mr","IconButton","size","ev","stopPropagation","setValue","ClearIcon","fontSize","MuiFormikTextField","_field$value","maxLength","required","currentLength","length","finalLabel","TextField","onBlur","helperText","slotProps","htmlInput","pl","BRIDGE_KEY","_global","globalThis","window","showConfirmDialog","METAFIELD_TYPES_WITH_OPTIONS","METAFIELD_TYPES","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","n","getter","__esModule","d","a","definition","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","MetaFieldValues","fieldIndex","baseName","onMetaFieldTypeValueDeleted","entityId","values","setFieldValue","useFormikContext","metaFields","sortedValues","sort","b","order","buildValueFieldName","valueIndex","fieldName","newValues","newMetaFields","renderMetaFieldValue","val","sortedIndex","originalIndex","findIndex","v","Grid2","container","spacing","boxShadow","transform","py","T","InputProps","async","metaFieldValue","removeValueFromFields","newFields","filter","_","then","handleRemoveValue","CloseIcon","onChange","e","handleDefaultChange","forEach","is_default","target","mt","offset","startIcon","AddIcon","disabled","isMetafieldValueIncomplete","some","_v$name","_v$value","trim","handleAddValue","push","AdditionalInput","itemIdx","onAdd","onDelete","onDeleteValue","isAddDisabled","errors","buildFieldName","currentType","getIn","fieldErrors","fieldTouched","showValuesError","border","borderRadius","my","fieldType","MenuItem","alignSelf","includes","flexDirection","gap","height","padding","DeleteIcon"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"components/mui/formik-inputs/additional-input.js","mappings":"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","sources":["webpack://openstack-uicore-foundation/webpack/universalModuleDefinition","webpack://openstack-uicore-foundation/external commonjs \"@mui/icons-material/Info\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/icons-material/Warning\"","webpack://openstack-uicore-foundation/./src/components/mui/confirm-dialog.js","webpack://openstack-uicore-foundation/external commonjs \"react-beautiful-dnd\"","webpack://openstack-uicore-foundation/./src/components/mui/dnd-list.js","webpack://openstack-uicore-foundation/./src/components/mui/formik-inputs/mui-formik-checkbox.js","webpack://openstack-uicore-foundation/external commonjs \"@mui/icons-material/Clear\"","webpack://openstack-uicore-foundation/./src/components/mui/formik-inputs/mui-formik-select.js","webpack://openstack-uicore-foundation/./src/components/mui/formik-inputs/mui-formik-textfield.js","webpack://openstack-uicore-foundation/./src/components/mui/showConfirmDialog.js","webpack://openstack-uicore-foundation/./src/utils/constants.js","webpack://openstack-uicore-foundation/external commonjs \"@babel/runtime/helpers/defineProperty\"","webpack://openstack-uicore-foundation/external commonjs \"@babel/runtime/helpers/extends\"","webpack://openstack-uicore-foundation/external commonjs \"@babel/runtime/helpers/objectWithoutProperties\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/icons-material/CheckCircle\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/icons-material/Error\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/material\"","webpack://openstack-uicore-foundation/external commonjs \"formik\"","webpack://openstack-uicore-foundation/external commonjs \"prop-types\"","webpack://openstack-uicore-foundation/external commonjs \"react\"","webpack://openstack-uicore-foundation/webpack/bootstrap","webpack://openstack-uicore-foundation/webpack/runtime/compat get default export","webpack://openstack-uicore-foundation/webpack/runtime/define property getters","webpack://openstack-uicore-foundation/webpack/runtime/hasOwnProperty shorthand","webpack://openstack-uicore-foundation/webpack/runtime/make namespace object","webpack://openstack-uicore-foundation/external commonjs \"i18n-react/dist/i18n-react\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/icons-material/Delete\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/icons-material/Add\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/icons-material/Close\"","webpack://openstack-uicore-foundation/./src/components/mui/formik-inputs/additional-input/meta-field-values.js","webpack://openstack-uicore-foundation/./src/components/mui/formik-inputs/additional-input/additional-input.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"openstack-uicore-foundation\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"openstack-uicore-foundation\"] = factory();\n\telse\n\t\troot[\"openstack-uicore-foundation\"] = factory();\n})(this, () => {\nreturn ","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@mui/icons-material/Info\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@mui/icons-material/Warning\");","/**\n * Copyright 2026 OpenStack Foundation\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * */\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport {\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n Divider,\n Typography\n} from \"@mui/material\";\nimport CheckCircle from \"@mui/icons-material/CheckCircle\";\nimport Error from \"@mui/icons-material/Error\";\nimport Info from \"@mui/icons-material/Info\";\nimport Warning from \"@mui/icons-material/Warning\";\n\nconst iconMap = {\n warning: <Warning color=\"warning\" />,\n success: <CheckCircle color=\"success\" />,\n error: <Error color=\"error\" />,\n info: <Info color=\"info\" />\n};\n\nconst ConfirmDialog = ({\n open,\n title,\n text,\n iconType = \"\",\n onConfirm,\n onCancel,\n confirmButtonText = \"Confirm\",\n confirmButtonColor = \"primary\",\n cancelButtonText = \"Cancel\",\n cancelButtonColor = \"primary\"\n}) => (\n <Dialog open={open} onClose={onCancel}>\n <DialogTitle sx={{ p: 2 }} component=\"div\">\n <Typography variant=\"h5\">{title}</Typography>\n </DialogTitle>\n <Divider />\n <DialogContent sx={{ p: 2 }}>\n <div style={{ display: \"flex\", alignItems: \"center\" }}>\n {iconMap[iconType] && (\n <div style={{ marginRight: 10 }}>{iconMap[iconType]}</div>\n )}\n <Typography variant=\"body1\">{text}</Typography>\n </div>\n </DialogContent>\n <Divider sx={{ margin: \"10px 0px 10px 0px\" }} />\n <DialogActions>\n <Button\n fullWidth\n onClick={onCancel}\n color={cancelButtonColor}\n variant=\"outlined\"\n sx={{ whiteSpace: \"nowrap\", minWidth: 100 }}\n >\n {cancelButtonText}\n </Button>\n <Button\n fullWidth\n onClick={onConfirm}\n color={confirmButtonColor}\n variant=\"contained\"\n sx={{ whiteSpace: \"nowrap\", minWidth: 100 }}\n >\n {confirmButtonText}\n </Button>\n </DialogActions>\n </Dialog>\n);\n\nConfirmDialog.propTypes = {\n open: PropTypes.bool,\n title: PropTypes.string.isRequired,\n text: PropTypes.string.isRequired,\n iconType: PropTypes.string,\n onConfirm: PropTypes.func.isRequired,\n onCancel: PropTypes.func.isRequired,\n confirmButtonText: PropTypes.string,\n confirmButtonColor: PropTypes.string,\n cancelButtonText: PropTypes.string,\n cancelButtonColor: PropTypes.string\n};\n\nConfirmDialog.defaultProps = {\n open: false,\n iconType: \"warning\",\n confirmButtonText: \"Confirm\",\n confirmButtonColor: \"primary\",\n cancelButtonText: \"Cancel\",\n cancelButtonColor: \"default\"\n};\n\nexport default ConfirmDialog;\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react-beautiful-dnd\");","/**\n * Copyright 2026 OpenStack Foundation\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * */\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { DragDropContext, Droppable, Draggable } from \"react-beautiful-dnd\";\nimport { Box } from \"@mui/material\";\n\nconst reorder = (list, startIndex, endIndex, updateOrderKey) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n result.splice(endIndex, 0, removed);\n return result.map((item, index) => ({\n ...item,\n [updateOrderKey]: index + 1\n }));\n};\n\nconst DragAndDropList = ({\n items,\n onReorder,\n renderItem,\n idKey,\n updateOrderKey,\n droppableId\n}) => {\n const handleDragEnd = (result) => {\n if (!result.destination) return;\n\n const newItems = reorder(\n items,\n result.source.index,\n result.destination.index,\n updateOrderKey\n );\n onReorder(newItems, result);\n };\n\n return (\n <DragDropContext onDragEnd={handleDragEnd}>\n <Droppable droppableId={droppableId}>\n {(provided) => (\n <Box\n ref={provided.innerRef}\n {...provided.droppableProps}\n sx={{ width: \"100%\" }}\n >\n {items.map((item, index) => (\n <Draggable\n key={String(item[idKey] || `new-${index}`)}\n draggableId={String(item[idKey] || `new-${index}`)}\n index={index}\n >\n {(provided, snapshot) => (\n <Box\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n sx={{\n background: snapshot.isDragging ? \"#f0f0f0\" : \"inherit\",\n transition: \"background 0.2s ease\"\n }}\n >\n {renderItem(item, index, provided, snapshot)}\n </Box>\n )}\n </Draggable>\n ))}\n {provided.placeholder}\n </Box>\n )}\n </Droppable>\n </DragDropContext>\n );\n};\n\nDragAndDropList.propTypes = {\n items: PropTypes.array.isRequired,\n onReorder: PropTypes.func.isRequired,\n renderItem: PropTypes.func.isRequired,\n idKey: PropTypes.string,\n updateOrderKey: PropTypes.string,\n droppableId: PropTypes.string\n};\n\nDragAndDropList.defaultProps = {\n idKey: \"id\",\n updateOrderKey: \"order\",\n droppableId: \"droppable\"\n};\n\nexport default DragAndDropList;\n","/**\n * Copyright 2026 OpenStack Foundation\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * */\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport {\n Checkbox,\n FormControl,\n FormControlLabel,\n FormHelperText\n} from \"@mui/material\";\nimport { useField } from \"formik\";\n\nconst MuiFormikCheckbox = ({ name, label, ...props }) => {\n const [field, meta] = useField({ name, type: \"checkbox\" });\n\n return (\n <FormControl\n fullWidth\n margin=\"normal\"\n error={meta.touched && Boolean(meta.error)}\n >\n <FormControlLabel\n control={\n <Checkbox\n name={name}\n {...field}\n checked={field.value}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...props}\n />\n }\n label={label}\n />\n {meta.touched && meta.error && (\n <FormHelperText>{meta.error}</FormHelperText>\n )}\n </FormControl>\n );\n};\n\nMuiFormikCheckbox.propTypes = {\n name: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired\n};\n\nexport default MuiFormikCheckbox;\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@mui/icons-material/Clear\");","/**\n * Copyright 2026 OpenStack Foundation\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * */\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport {\n Select,\n FormHelperText,\n FormControl,\n InputAdornment,\n IconButton,\n InputLabel\n} from \"@mui/material\";\nimport ClearIcon from \"@mui/icons-material/Clear\";\nimport { useField } from \"formik\";\n\nconst MuiFormikSelect = ({\n name,\n label,\n placeholder,\n children,\n isClearable,\n ...rest\n}) => {\n const [field, meta, helpers] = useField(name);\n\n const handleClear = (ev) => {\n ev.stopPropagation();\n helpers.setValue(\"\");\n };\n\n const hasValue = field?.value && field.value !== \"\";\n const shouldShrink = hasValue || Boolean(placeholder);\n\n return (\n <FormControl fullWidth error={meta.touched && Boolean(meta.error)}>\n {label && (\n <InputLabel htmlFor={name} id={`${name}-label`} shrink={shouldShrink}>\n {label}\n </InputLabel>\n )}\n <Select\n name={name}\n id={name}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...field}\n labelId={`${name}-label`}\n label={label}\n notched={shouldShrink}\n displayEmpty\n renderValue={(selected) => {\n if (!selected || selected === \"\") {\n return <span style={{ color: \"#aaa\" }}>{placeholder}</span>;\n }\n return selected;\n }}\n endAdornment={\n isClearable && field.value ? (\n <InputAdornment position=\"end\" sx={{ mr: 2 }}>\n <IconButton size=\"small\" onClick={handleClear}>\n <ClearIcon fontSize=\"small\" />\n </IconButton>\n </InputAdornment>\n ) : null\n }\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...rest}\n >\n {children}\n </Select>\n {meta.touched && meta.error && (\n <FormHelperText>{meta.error}</FormHelperText>\n )}\n </FormControl>\n );\n};\n\nMuiFormikSelect.propTypes = {\n name: PropTypes.string.isRequired,\n children: PropTypes.node.isRequired,\n placeholder: PropTypes.string,\n isClearable: PropTypes.bool\n};\n\nexport default MuiFormikSelect;\n","/**\n * Copyright 2026 OpenStack Foundation\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * */\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Box, TextField, Typography } from \"@mui/material\";\nimport { useField } from \"formik\";\n\nconst MuiFormikTextField = ({\n name,\n label,\n maxLength,\n required = false,\n ...props\n}) => {\n const [field, meta] = useField(name);\n const currentLength = field.value?.length || 0;\n\n let finalLabel = \"\";\n\n if (label) {\n finalLabel = required ? `${label} *` : label;\n }\n\n return (\n <Box>\n <TextField\n name={name}\n label={finalLabel}\n {...field}\n onBlur={field.onBlur}\n margin=\"normal\"\n error={meta.touched && Boolean(meta.error)}\n helperText={meta.touched && meta.error}\n slotProps={{\n htmlInput: {\n maxLength\n }\n }}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...props}\n />\n {maxLength && (\n <Typography sx={{ fontSize: \"1.2rem\", color: \"#00000099\", pl: 2 }}>\n {`${maxLength - currentLength} characters left`}\n </Typography>\n )}\n </Box>\n );\n};\n\nMuiFormikTextField.propTypes = {\n name: PropTypes.string.isRequired,\n label: PropTypes.string,\n maxLength: PropTypes.number,\n required: PropTypes.bool\n};\n\nexport default MuiFormikTextField;\n","/**\n * Copyright 2026 OpenStack Foundation\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * */\n\nimport React, { useState, useEffect } from \"react\";\nimport ConfirmDialog from \"./confirm-dialog\";\n\n/**\n * Imperative confirm dialog API.\n *\n * SETUP (required):\n * Place <GlobalConfirmDialog /> at the root of your app:\n *\n * import { GlobalConfirmDialog } from\n * 'openstack-uicore-foundation/lib/components/mui/show-confirm-dialog';\n *\n * function App() {\n * return (\n * <>\n * <YourApp />\n * <GlobalConfirmDialog />\n * </>\n * );\n * }\n *\n * USAGE (works from any file — the bridge is shared via globalThis):\n * import showConfirmDialog from\n * 'openstack-uicore-foundation/lib/components/mui/show-confirm-dialog';\n *\n * const confirmed = await showConfirmDialog({\n * title: 'Delete Item?',\n * text: 'This cannot be undone'\n * });\n */\n\n// Shared bridge reference stored on globalThis so that all webpack bundles\n// (table, sortable-table, show-confirm-dialog, index, etc.) read/write the\n// same callback. A module-level variable would be duplicated per bundle.\nconst BRIDGE_KEY = \"__oif_confirm_dialog_bridge__\";\nconst _global = typeof globalThis !== \"undefined\" ? globalThis : typeof window !== \"undefined\" ? window : {};\n\n/**\n * @param param0\n * @param param0.title\n * @param param0.text\n * @param param0.iconType\n * @param param0.confirmButtonText\n * @param param0.cancelButtonText\n * @param param0.confirmButtonColor\n * @param param0.cancelButtonColor\n * @returns {Promise<boolean>}\n */\nconst showConfirmDialog = ({\n title,\n text,\n iconType = \"\",\n confirmButtonText = \"Confirm\",\n cancelButtonText = \"Cancel\",\n confirmButtonColor = \"primary\",\n cancelButtonColor = \"primary\"\n}) => {\n if (!_global[BRIDGE_KEY]) {\n throw new Error(\n \"[openstack-uicore-foundation] showConfirmDialog: <GlobalConfirmDialog /> is not mounted. \" +\n \"Add <GlobalConfirmDialog /> to the root of your app.\"\n );\n }\n\n return _global[BRIDGE_KEY]({\n title,\n text,\n iconType,\n confirmButtonText,\n cancelButtonText,\n confirmButtonColor,\n cancelButtonColor\n });\n};\n\n/**\n * Global confirm dialog component. Place at the root of your app:\n *\n * <App>\n * ...\n * <GlobalConfirmDialog />\n * </App>\n *\n * Then call showConfirmDialog() anywhere.\n */\nexport const GlobalConfirmDialog = () => {\n const [dialogState, setDialogState] = useState(null);\n\n useEffect(() => {\n _global[BRIDGE_KEY] = (options) => {\n return new Promise((resolve) => {\n setDialogState({ ...options, open: true, onResolve: resolve });\n });\n };\n return () => { _global[BRIDGE_KEY] = null; };\n }, []);\n\n const handleConfirm = () => {\n if (dialogState?.onResolve) dialogState.onResolve(true);\n setDialogState(null);\n };\n\n const handleCancel = () => {\n if (dialogState?.onResolve) dialogState.onResolve(false);\n setDialogState(null);\n };\n\n if (!dialogState) return null;\n\n return (\n <ConfirmDialog\n open={dialogState.open}\n title={dialogState.title}\n text={dialogState.text}\n iconType={dialogState.iconType}\n confirmButtonText={dialogState.confirmButtonText}\n cancelButtonText={dialogState.cancelButtonText}\n confirmButtonColor={dialogState.confirmButtonColor}\n cancelButtonColor={dialogState.cancelButtonColor}\n onConfirm={handleConfirm}\n onCancel={handleCancel}\n />\n );\n};\n\nexport default showConfirmDialog;\n","export const CENTS_FACTOR = 100n;\nexport const TWO_DECIMAL_PLACES = 2;\nexport const THREE_DECIMAL_PLACES = 3;\nexport const ONE_CENT = 1n;\nexport const ZERO_INT = 0;\n\nexport const CODE_200 = 200;\n\nexport const DEBOUNCE_WAIT_250 = 250;\nexport const DEBOUNCE_WAIT = 500;\n\nexport const NOTIFICATION_TIMEOUT = 2000;\nexport const DEFAULT_PER_PAGE = 10;\nexport const TWENTY_PER_PAGE = 20;\nexport const FIFTY_PER_PAGE = 50;\nexport const MAX_PER_PAGE = 100;\n\nexport const INT_BASE = 10;\n\nexport const ONE_HUNDRED = 100;\nexport const MILLISECONDS_IN_SECOND = 1000;\n\nexport const MILLISECONDS_TO_SECONDS = 1000;\n\nexport const BYTES_PER_MB = 1_048_576; // 1024 * 1024\n\nexport const MAX_INVENTORY_IMAGE_UPLOAD_SIZE = 512000;\nexport const MAX_INVENTORY_IMAGES_UPLOAD_QTY = 5;\nexport const ALLOWED_INVENTORY_IMAGE_FORMATS = [\"jpg\", \"jpeg\", \"png\"];\n\nexport const METAFIELD_TYPES_WITH_OPTIONS = [\n \"CheckBoxList\",\n \"ComboBox\",\n \"RadioButtonList\"\n];\n\nexport const METAFIELD_TYPES = [\n \"CheckBox\",\n ...METAFIELD_TYPES_WITH_OPTIONS,\n \"Text\",\n \"TextArea\",\n \"Quantity\",\n \"DateTime\",\n \"Time\"\n];\n\nexport const DISCOUNT_TYPES = {\n AMOUNT: \"Amount\",\n RATE: \"Rate\"\n};\n\nexport const RATE_FIELDS = {\n EARLY_BIRD: \"early_bird_rate\",\n STANDARD: \"standard_rate\",\n ONSITE: \"onsite_rate\"\n};\n\nexport const DECIMAL_DIGITS = 2;\n\nexport const FILE_UPLOAD_STATUS = {\n PENDING: \"PENDING\",\n DEADLINE_ALERT: \"DEADLINE ALERT\",\n DEADLINE_MISSED: \"DEADLINE MISSED\",\n COMPLETE: \"COMPLETE\"\n};\n\nexport const FILE_UPLOAD_STATUS_COLOR = {\n [FILE_UPLOAD_STATUS.COMPLETE]: \"success.light\",\n [FILE_UPLOAD_STATUS.DEADLINE_MISSED]: \"error\",\n [FILE_UPLOAD_STATUS.DEADLINE_ALERT]: \"warning.light\",\n [FILE_UPLOAD_STATUS.PENDING]: \"default\"\n};\n\nexport const FILE_UPLOAD_STATUS_BKGR_COLOR = {\n [FILE_UPLOAD_STATUS.COMPLETE]: \"white\",\n [FILE_UPLOAD_STATUS.DEADLINE_MISSED]: \"#D32F2F0A\",\n [FILE_UPLOAD_STATUS.DEADLINE_ALERT]: \"#EF6C000A\",\n [FILE_UPLOAD_STATUS.PENDING]: \"white\"\n};\n\nexport const DATE_FORMAT = \"MM/DD/YYYY\";\nexport const DATETIME_FORMAT = \"MM/DD/YYYY hh:mm a\";","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","module.exports = require(\"@babel/runtime/helpers/extends\");","module.exports = require(\"@babel/runtime/helpers/objectWithoutProperties\");","module.exports = require(\"@mui/icons-material/CheckCircle\");","module.exports = require(\"@mui/icons-material/Error\");","module.exports = require(\"@mui/material\");","module.exports = require(\"formik\");","module.exports = require(\"prop-types\");","module.exports = require(\"react\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"i18n-react/dist/i18n-react\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@mui/icons-material/Delete\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@mui/icons-material/Add\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@mui/icons-material/Close\");","/**\n * Copyright 2026 OpenStack Foundation\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * */\n\nimport React from \"react\";\nimport T from \"i18n-react/dist/i18n-react\";\nimport { useFormikContext } from \"formik\";\nimport { Box, Button, Grid2, Divider, IconButton } from \"@mui/material\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport DragAndDropList from \"../../dnd-list\";\nimport showConfirmDialog from \"../../showConfirmDialog\";\nimport MuiFormikTextField from \"../mui-formik-textfield\";\nimport MuiFormikCheckbox from \"../mui-formik-checkbox\";\n\nconst MetaFieldValues = ({\n field,\n fieldIndex,\n baseName = \"meta_fields\",\n onMetaFieldTypeValueDeleted,\n entityId\n}) => {\n const { values, setFieldValue } = useFormikContext();\n\n const metaFields = values[baseName] || [];\n const sortedValues = [...field.values].sort((a, b) => a.order - b.order);\n\n const buildValueFieldName = (valueIndex, fieldName) =>\n `${baseName}[${fieldIndex}].values[${valueIndex}].${fieldName}`;\n\n const onReorder = (newValues) => {\n const newMetaFields = [...metaFields];\n newMetaFields[fieldIndex].values = newValues;\n setFieldValue(baseName, newMetaFields);\n };\n\n const handleAddValue = () => {\n const newFields = [...metaFields];\n newFields[fieldIndex].values.push({\n value: \"\",\n name: \"\",\n is_default: false\n });\n setFieldValue(baseName, newFields);\n };\n\n const handleDefaultChange = (valueIndex, checked) => {\n const newFields = [...metaFields];\n if (checked) {\n newFields[fieldIndex].values.forEach((v) => {\n v.is_default = false;\n });\n }\n newFields[fieldIndex].values[valueIndex].is_default = checked;\n setFieldValue(baseName, newFields);\n };\n\n const isMetafieldValueIncomplete = () => {\n if (field.values.length > 0) {\n return field.values.some((v) => !v.name?.trim() || !v.value?.trim());\n }\n return false;\n };\n\n const handleRemoveValue = async (metaFieldValue, valueIndex) => {\n const isConfirmed = await showConfirmDialog({\n title: T.translate(\"general.are_you_sure\"),\n text: T.translate(\"meta_fields.delete_value_warning\"),\n type: \"warning\",\n confirmButtonColor: \"#DD6B55\",\n confirmButtonText: T.translate(\"general.yes_delete\")\n });\n\n if (!isConfirmed) return;\n\n const removeValueFromFields = () => {\n const newFields = [...metaFields];\n newFields[fieldIndex].values = newFields[fieldIndex].values.filter(\n (_, index) => index !== valueIndex\n );\n setFieldValue(baseName, newFields);\n };\n\n if (field.id && metaFieldValue.id && onMetaFieldTypeValueDeleted) {\n onMetaFieldTypeValueDeleted(entityId, field.id, metaFieldValue.id).then(\n () => removeValueFromFields()\n );\n } else {\n removeValueFromFields();\n }\n };\n\n const renderMetaFieldValue = (val, sortedIndex, provided, snapshot) => {\n const originalIndex = field.values.findIndex(\n (v) => (v.id && v.id === val.id) || v === val\n );\n const valueIndex = originalIndex !== -1 ? originalIndex : sortedIndex;\n\n return (\n <Box key={val.id || `value-${valueIndex}`}>\n <Grid2\n container\n spacing={2}\n sx={{\n alignItems: \"start\",\n background: snapshot?.isDragging ? \"#ebebeb\" : \"inherit\",\n boxShadow: snapshot?.isDragging\n ? \"0px 5px 15px rgba(0,0,0,0.3)\"\n : \"none\",\n transition: \"transform 0.2s ease, box-shadow 0.2s ease\",\n transform: snapshot?.isDragging ? \"scale(1.02)\" : \"none\",\n py: 2\n }}\n >\n <Grid2 size={4}>\n <MuiFormikTextField\n name={buildValueFieldName(valueIndex, \"name\")}\n placeholder={T.translate(\n \"meta_fields.placeholders.name\"\n )}\n margin=\"none\"\n fullWidth\n />\n </Grid2>\n <Grid2 size={4}>\n <MuiFormikTextField\n name={buildValueFieldName(valueIndex, \"value\")}\n placeholder={T.translate(\n \"meta_fields.placeholders.value\"\n )}\n margin=\"none\"\n fullWidth\n InputProps={{\n endAdornment: (\n <IconButton\n onClick={() => handleRemoveValue(val, valueIndex)}\n aria-label=\"remove value\"\n >\n <CloseIcon />\n </IconButton>\n )\n }}\n />\n </Grid2>\n <Grid2 size={4}>\n <MuiFormikCheckbox\n name={buildValueFieldName(valueIndex, \"is_default\")}\n label={T.translate(\"meta_fields.is_default\")}\n onChange={(e) =>\n handleDefaultChange(valueIndex, e.target.checked)\n }\n />\n </Grid2>\n </Grid2>\n <Divider />\n </Box>\n );\n };\n\n return (\n <Box>\n <DragAndDropList\n items={sortedValues}\n onReorder={onReorder}\n renderItem={renderMetaFieldValue}\n idKey=\"id\"\n updateOrderKey=\"order\"\n droppableId={`droppable-values-${fieldIndex}`}\n />\n <Grid2 container spacing={2} sx={{ mt: 2 }} offset={4}>\n <Button\n startIcon={<AddIcon />}\n disabled={isMetafieldValueIncomplete()}\n onClick={handleAddValue}\n variant=\"text\"\n >\n {T.translate(\"meta_fields.add_value\")}\n </Button>\n </Grid2>\n </Box>\n );\n};\n\nexport default MetaFieldValues;\n","/**\n * Copyright 2026 OpenStack Foundation\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * */\n\nimport React from \"react\";\nimport {\n Box,\n Button,\n Divider,\n FormHelperText,\n Grid2,\n InputLabel,\n MenuItem\n} from \"@mui/material\";\nimport { useFormikContext, getIn } from \"formik\";\nimport T from \"i18n-react/dist/i18n-react\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport MetaFieldValues from \"./meta-field-values\";\nimport MuiFormikTextField from \"../mui-formik-textfield\";\nimport MuiFormikSelect from \"../mui-formik-select\";\nimport MuiFormikCheckbox from \"../mui-formik-checkbox\";\nimport {\n METAFIELD_TYPES,\n METAFIELD_TYPES_WITH_OPTIONS\n} from \"../../../../utils/constants\";\n\nconst AdditionalInput = ({\n item,\n itemIdx,\n baseName,\n onAdd,\n onDelete,\n onDeleteValue,\n entityId,\n isAddDisabled\n}) => {\n const { errors, touched, values } = useFormikContext();\n\n const buildFieldName = (fieldName) => `${baseName}[${itemIdx}].${fieldName}`;\n const currentType = getIn(values, buildFieldName(\"type\"));\n\n const fieldErrors = getIn(errors, `${baseName}[${itemIdx}]`);\n const fieldTouched = getIn(touched, `${baseName}[${itemIdx}]`);\n\n const showValuesError =\n fieldTouched?.values &&\n fieldErrors?.values &&\n typeof fieldErrors.values === \"string\";\n\n return (\n <Grid2 container spacing={2} sx={{ alignItems: \"center\" }}>\n <Grid2 size={11}>\n <Box\n sx={{\n border: \"1px solid #0000001F\",\n borderRadius: \"4px\",\n p: 2,\n my: 2\n }}\n >\n <Grid2 container spacing={2} sx={{ alignItems: \"start\" }}>\n <Grid2 size={4}>\n <InputLabel htmlFor={buildFieldName(\"name\")}>\n {T.translate(\"additional_inputs.title\")}\n </InputLabel>\n <MuiFormikTextField\n name={buildFieldName(\"name\")}\n margin=\"none\"\n placeholder={T.translate(\n \"additional_inputs.placeholders.title\"\n )}\n fullWidth\n />\n </Grid2>\n <Grid2 size={4}>\n <InputLabel htmlFor={buildFieldName(\"type\")}>\n {T.translate(\"additional_inputs.type\")}\n </InputLabel>\n <MuiFormikSelect\n name={buildFieldName(\"type\")}\n placeholder={T.translate(\n \"additional_inputs.placeholders.type\"\n )}\n >\n {METAFIELD_TYPES.map((fieldType) => (\n <MenuItem key={fieldType} value={fieldType}>\n {fieldType}\n </MenuItem>\n ))}\n </MuiFormikSelect>\n </Grid2>\n <Grid2 size={4} sx={{ alignSelf: \"end\" }}>\n <MuiFormikCheckbox\n name={buildFieldName(\"is_required\")}\n label={T.translate(\"additional_inputs.required\")}\n />\n </Grid2>\n </Grid2>\n {METAFIELD_TYPES_WITH_OPTIONS.includes(currentType) && (\n <>\n <Divider sx={{ mt: 2 }} />\n <MetaFieldValues\n field={item}\n fieldIndex={itemIdx}\n baseName={baseName}\n onMetaFieldTypeValueDeleted={onDeleteValue}\n entityId={entityId}\n />\n {showValuesError && (\n <FormHelperText error sx={{ mt: 1 }}>\n {fieldErrors.values}\n </FormHelperText>\n )}\n </>\n )}\n {currentType === \"Quantity\" && (\n <Grid2 container spacing={2} sx={{ alignItems: \"start\", mt: 2 }}>\n <Grid2 size={4}>\n <MuiFormikTextField\n id={buildFieldName(\"minimum_quantity\")}\n name={buildFieldName(\"minimum_quantity\")}\n type=\"number\"\n margin=\"none\"\n fullWidth\n label={T.translate(\"additional_inputs.minimum\")}\n placeholder={T.translate(\"additional_inputs.placeholders.minimum_quantity\")}\n />\n </Grid2>\n <Grid2 size={4}>\n <MuiFormikTextField\n id={buildFieldName(\"maximum_quantity\")}\n name={buildFieldName(\"maximum_quantity\")}\n type=\"number\"\n margin=\"none\"\n fullWidth\n label={T.translate(\"additional_inputs.maximum\")}\n placeholder={T.translate(\"additional_inputs.placeholders.maximum_quantity\")}\n />\n </Grid2>\n </Grid2>\n )}\n </Box>\n </Grid2>\n <Grid2 size={1}>\n <Box\n sx={{\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: 1\n }}\n >\n <Button\n variant=\"outlined\"\n aria-label=\"delete\"\n sx={{\n width: 40,\n height: 40,\n minWidth: \"auto\",\n borderRadius: \"50%\",\n padding: 0\n }}\n onClick={() => onDelete(item, itemIdx)}\n >\n <DeleteIcon />\n </Button>\n <Button\n variant=\"contained\"\n aria-label=\"add\"\n disabled={isAddDisabled}\n sx={{\n width: 40,\n height: 40,\n minWidth: \"auto\",\n borderRadius: \"50%\",\n padding: 0\n }}\n onClick={onAdd}\n >\n <AddIcon />\n </Button>\n </Box>\n </Grid2>\n </Grid2>\n );\n};\n\nexport default AdditionalInput;\n"],"names":["root","factory","exports","module","define","amd","this","require","iconMap","warning","React","Warning","color","success","CheckCircle","error","Error","info","Info","ConfirmDialog","open","title","text","iconType","onConfirm","onCancel","confirmButtonText","confirmButtonColor","cancelButtonText","cancelButtonColor","Dialog","onClose","DialogTitle","sx","p","component","Typography","variant","Divider","DialogContent","style","display","alignItems","marginRight","margin","DialogActions","Button","fullWidth","onClick","whiteSpace","minWidth","propTypes","PropTypes","isRequired","defaultProps","DragAndDropList","items","onReorder","renderItem","idKey","updateOrderKey","droppableId","DragDropContext","onDragEnd","result","destination","newItems","reorder","list","startIndex","endIndex","Array","from","removed","splice","map","item","index","_objectSpread","source","Droppable","provided","Box","_extends","ref","innerRef","droppableProps","width","Draggable","key","String","draggableId","snapshot","draggableProps","dragHandleProps","background","isDragging","transition","placeholder","MuiFormikCheckbox","_ref","name","label","props","_objectWithoutProperties","_excluded","field","meta","useField","type","FormControl","touched","Boolean","FormControlLabel","control","Checkbox","checked","value","FormHelperText","MuiFormikSelect","children","isClearable","rest","helpers","shouldShrink","InputLabel","htmlFor","id","shrink","Select","labelId","notched","displayEmpty","renderValue","selected","endAdornment","InputAdornment","position","mr","IconButton","size","ev","stopPropagation","setValue","ClearIcon","fontSize","MuiFormikTextField","_field$value","maxLength","required","currentLength","length","finalLabel","TextField","onBlur","helperText","slotProps","htmlInput","pl","BRIDGE_KEY","_global","globalThis","window","showConfirmDialog","METAFIELD_TYPES_WITH_OPTIONS","METAFIELD_TYPES","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","n","getter","__esModule","d","a","definition","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","MetaFieldValues","fieldIndex","baseName","onMetaFieldTypeValueDeleted","entityId","values","setFieldValue","useFormikContext","metaFields","sortedValues","sort","b","order","buildValueFieldName","valueIndex","fieldName","newValues","newMetaFields","renderMetaFieldValue","val","sortedIndex","originalIndex","findIndex","v","Grid2","container","spacing","boxShadow","transform","py","T","InputProps","async","metaFieldValue","removeValueFromFields","newFields","filter","_","then","handleRemoveValue","CloseIcon","onChange","e","handleDefaultChange","forEach","is_default","target","mt","offset","startIcon","AddIcon","disabled","isMetafieldValueIncomplete","some","_v$name","_v$value","trim","handleAddValue","push","AdditionalInput","itemIdx","onAdd","onDelete","onDeleteValue","isAddDisabled","errors","buildFieldName","currentType","getIn","fieldErrors","fieldTouched","showValuesError","border","borderRadius","my","fieldType","MenuItem","alignSelf","includes","flexDirection","gap","height","padding","DeleteIcon"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],r):"object"==typeof exports?exports["openstack-uicore-foundation"]=r():e["openstack-uicore-foundation"]=r()}(this,(()=>(()=>{"use strict";var e={6031:e=>{e.exports=require("@babel/runtime/helpers/extends")},2462:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},
|
|
1
|
+
!function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],r):"object"==typeof exports?exports["openstack-uicore-foundation"]=r():e["openstack-uicore-foundation"]=r()}(this,(()=>(()=>{"use strict";var e={6031:e=>{e.exports=require("@babel/runtime/helpers/extends")},2462:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},8619:e=>{e.exports=require("@mui/material")},3294:e=>{e.exports=require("formik")},9825:e=>{e.exports=require("prop-types")},2015:e=>{e.exports=require("react")}},r={};function t(o){var n=r[o];if(void 0!==n)return n.exports;var l=r[o]={exports:{}};return e[o](l,l.exports,t),l.exports}(()=>{t.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return t.d(r,{a:r}),r}})(),(()=>{t.d=(e,r)=>{for(var o in r)t.o(r,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:r[o]})}})(),(()=>{t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r)})(),(()=>{t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var o={};t.r(o),t.d(o,{default:()=>x});var n=t(6031),l=t.n(n),a=t(2462),i=t.n(a),u=t(2015),s=t.n(u),p=t(9825),d=t.n(p),c=t(8619);const m=require("@mui/icons-material/Clear");var b=t.n(m),f=t(3294);const y=["name","label","placeholder","children","isClearable"],h=e=>{let{name:r,label:t,placeholder:o,children:n,isClearable:a}=e,u=i()(e,y);const[p,d,m]=(0,f.useField)(r),h=(null==p?void 0:p.value)&&""!==p.value||Boolean(o);return s().createElement(c.FormControl,{fullWidth:!0,error:d.touched&&Boolean(d.error)},t&&s().createElement(c.InputLabel,{htmlFor:r,id:`${r}-label`,shrink:h},t),s().createElement(c.Select,l()({name:r,id:r},p,{labelId:`${r}-label`,label:t,notched:h,displayEmpty:!0,renderValue:e=>e&&""!==e?e:s().createElement("span",{style:{color:"#aaa"}},o),endAdornment:a&&p.value?s().createElement(c.InputAdornment,{position:"end",sx:{mr:2}},s().createElement(c.IconButton,{size:"small",onClick:e=>{e.stopPropagation(),m.setValue("")}},s().createElement(b(),{fontSize:"small"}))):null},u),n),d.touched&&d.error&&s().createElement(c.FormHelperText,null,d.error))};h.propTypes={name:d().string.isRequired,children:d().node.isRequired,placeholder:d().string,isClearable:d().bool};const x=h;return o})()));
|
|
2
2
|
//# sourceMappingURL=select.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components/mui/formik-inputs/select.js","mappings":"CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,8BAA+B,GAAIH,GAChB,iBAAZC,QACdA,QAAQ,+BAAiCD,IAEzCD,EAAK,+BAAiCC,GACvC,CATD,CASGK,MAAM,I,mCCTTH,EAAOD,QAAUK,QAAQ,iC,WCAzBJ,EAAOD,QAAUK,QAAQ,iD,
|
|
1
|
+
{"version":3,"file":"components/mui/formik-inputs/select.js","mappings":"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","sources":["webpack://openstack-uicore-foundation/webpack/universalModuleDefinition","webpack://openstack-uicore-foundation/external commonjs \"@babel/runtime/helpers/extends\"","webpack://openstack-uicore-foundation/external commonjs \"@babel/runtime/helpers/objectWithoutProperties\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/material\"","webpack://openstack-uicore-foundation/external commonjs \"formik\"","webpack://openstack-uicore-foundation/external commonjs \"prop-types\"","webpack://openstack-uicore-foundation/external commonjs \"react\"","webpack://openstack-uicore-foundation/webpack/bootstrap","webpack://openstack-uicore-foundation/webpack/runtime/compat get default export","webpack://openstack-uicore-foundation/webpack/runtime/define property getters","webpack://openstack-uicore-foundation/webpack/runtime/hasOwnProperty shorthand","webpack://openstack-uicore-foundation/webpack/runtime/make namespace object","webpack://openstack-uicore-foundation/external commonjs \"@mui/icons-material/Clear\"","webpack://openstack-uicore-foundation/./src/components/mui/formik-inputs/mui-formik-select.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"openstack-uicore-foundation\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"openstack-uicore-foundation\"] = factory();\n\telse\n\t\troot[\"openstack-uicore-foundation\"] = factory();\n})(this, () => {\nreturn ","module.exports = require(\"@babel/runtime/helpers/extends\");","module.exports = require(\"@babel/runtime/helpers/objectWithoutProperties\");","module.exports = require(\"@mui/material\");","module.exports = require(\"formik\");","module.exports = require(\"prop-types\");","module.exports = require(\"react\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@mui/icons-material/Clear\");","/**\n * Copyright 2026 OpenStack Foundation\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * */\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport {\n Select,\n FormHelperText,\n FormControl,\n InputAdornment,\n IconButton,\n InputLabel\n} from \"@mui/material\";\nimport ClearIcon from \"@mui/icons-material/Clear\";\nimport { useField } from \"formik\";\n\nconst MuiFormikSelect = ({\n name,\n label,\n placeholder,\n children,\n isClearable,\n ...rest\n}) => {\n const [field, meta, helpers] = useField(name);\n\n const handleClear = (ev) => {\n ev.stopPropagation();\n helpers.setValue(\"\");\n };\n\n const hasValue = field?.value && field.value !== \"\";\n const shouldShrink = hasValue || Boolean(placeholder);\n\n return (\n <FormControl fullWidth error={meta.touched && Boolean(meta.error)}>\n {label && (\n <InputLabel htmlFor={name} id={`${name}-label`} shrink={shouldShrink}>\n {label}\n </InputLabel>\n )}\n <Select\n name={name}\n id={name}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...field}\n labelId={`${name}-label`}\n label={label}\n notched={shouldShrink}\n displayEmpty\n renderValue={(selected) => {\n if (!selected || selected === \"\") {\n return <span style={{ color: \"#aaa\" }}>{placeholder}</span>;\n }\n return selected;\n }}\n endAdornment={\n isClearable && field.value ? (\n <InputAdornment position=\"end\" sx={{ mr: 2 }}>\n <IconButton size=\"small\" onClick={handleClear}>\n <ClearIcon fontSize=\"small\" />\n </IconButton>\n </InputAdornment>\n ) : null\n }\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...rest}\n >\n {children}\n </Select>\n {meta.touched && meta.error && (\n <FormHelperText>{meta.error}</FormHelperText>\n )}\n </FormControl>\n );\n};\n\nMuiFormikSelect.propTypes = {\n name: PropTypes.string.isRequired,\n children: PropTypes.node.isRequired,\n placeholder: PropTypes.string,\n isClearable: PropTypes.bool\n};\n\nexport default MuiFormikSelect;\n"],"names":["root","factory","exports","module","define","amd","this","require","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","n","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","MuiFormikSelect","_ref","name","label","placeholder","children","isClearable","rest","_objectWithoutProperties","_excluded","field","meta","helpers","useField","shouldShrink","Boolean","React","FormControl","fullWidth","error","touched","InputLabel","htmlFor","id","shrink","Select","_extends","labelId","notched","displayEmpty","renderValue","selected","style","color","endAdornment","InputAdornment","position","sx","mr","IconButton","size","onClick","ev","stopPropagation","setValue","ClearIcon","fontSize","FormHelperText","propTypes","PropTypes","isRequired"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={3209:(e,t,r)=>{r.d(t,{wU:()=>o});const o=500},
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={3209:(e,t,r)=>{r.d(t,{wU:()=>o});const o=500},8619:e=>{e.exports=require("@mui/material")},1429:e=>{e.exports=require("lodash/debounce")},2015:e=>{e.exports=require("react")}},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var a=t[o]={exports:{}};return e[o](a,a.exports,r),a.exports}(()=>{r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t}})(),(()=>{r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})}})(),(()=>{r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var o={};r.r(o),r.d(o,{default:()=>m});var n=r(2015),a=r.n(n),u=r(8619);const c=require("@mui/icons-material/Search");var i=r.n(c);const l=require("@mui/icons-material/Cancel");var d=r.n(l),s=r(1429),p=r.n(s),f=r(3209);const m=({term:e,onSearch:t,placeholder:r="Search...",debounced:o})=>{const[c,l]=(0,n.useState)(e),s=(0,n.useRef)(t);(0,n.useEffect)((()=>{s.current=t}),[t]);const m=(0,n.useRef)(p()((e=>s.current(e)),f.wU));(0,n.useEffect)((()=>{l(e||"")}),[e]),(0,n.useEffect)((()=>()=>{var e;return null===(e=m.current)||void 0===e?void 0:e.cancel()}),[]);return a().createElement(u.TextField,{variant:"outlined",value:c,placeholder:r,slotProps:{input:{startAdornment:a().createElement(u.InputAdornment,{position:"start"},a().createElement(i(),{sx:{color:"#0000008F"}})),endAdornment:a().createElement(u.InputAdornment,{position:"end"},c&&a().createElement(u.IconButton,{onClick:()=>{var e;null===(e=m.current)||void 0===e||e.cancel(),l(""),t("")},disableRipple:!0},a().createElement(d(),{sx:{color:"#0000008F"}})))}},onChange:e=>(e=>{var t;l(e),o&&(null===(t=m.current)||void 0===t||t.call(m,e))})(e.target.value),onKeyDown:e=>{o||"Enter"!==e.key||t(c)},fullWidth:!0,sx:{"& .MuiOutlinedInput-root":{height:"36px",paddingX:1}}})};return o})()));
|
|
2
2
|
//# sourceMappingURL=search-input.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components/mui/search-input.js","mappings":"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","sources":["webpack://openstack-uicore-foundation/webpack/universalModuleDefinition","webpack://openstack-uicore-foundation/./src/utils/constants.js","webpack://openstack-uicore-foundation/external commonjs \"@mui/icons-material/Clear\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/material\"","webpack://openstack-uicore-foundation/external commonjs \"lodash/debounce\"","webpack://openstack-uicore-foundation/external commonjs \"react\"","webpack://openstack-uicore-foundation/webpack/bootstrap","webpack://openstack-uicore-foundation/webpack/runtime/compat get default export","webpack://openstack-uicore-foundation/webpack/runtime/define property getters","webpack://openstack-uicore-foundation/webpack/runtime/hasOwnProperty shorthand","webpack://openstack-uicore-foundation/webpack/runtime/make namespace object","webpack://openstack-uicore-foundation/external commonjs \"@mui/icons-material/Search\"","webpack://openstack-uicore-foundation/./src/components/mui/search-input.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"openstack-uicore-foundation\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"openstack-uicore-foundation\"] = factory();\n\telse\n\t\troot[\"openstack-uicore-foundation\"] = factory();\n})(this, () => {\nreturn ","export const CENTS_FACTOR = 100n;\nexport const TWO_DECIMAL_PLACES = 2;\nexport const THREE_DECIMAL_PLACES = 3;\nexport const ONE_CENT = 1n;\nexport const ZERO_INT = 0;\n\nexport const CODE_200 = 200;\n\nexport const DEBOUNCE_WAIT_250 = 250;\nexport const DEBOUNCE_WAIT = 500;\n\nexport const NOTIFICATION_TIMEOUT = 2000;\nexport const DEFAULT_PER_PAGE = 10;\nexport const TWENTY_PER_PAGE = 20;\nexport const FIFTY_PER_PAGE = 50;\nexport const MAX_PER_PAGE = 100;\n\nexport const INT_BASE = 10;\n\nexport const ONE_HUNDRED = 100;\nexport const MILLISECONDS_IN_SECOND = 1000;\n\nexport const MILLISECONDS_TO_SECONDS = 1000;\n\nexport const BYTES_PER_MB = 1_048_576; // 1024 * 1024\n\nexport const MAX_INVENTORY_IMAGE_UPLOAD_SIZE = 512000;\nexport const MAX_INVENTORY_IMAGES_UPLOAD_QTY = 5;\nexport const ALLOWED_INVENTORY_IMAGE_FORMATS = [\"jpg\", \"jpeg\", \"png\"];\n\nexport const METAFIELD_TYPES_WITH_OPTIONS = [\n \"CheckBoxList\",\n \"ComboBox\",\n \"RadioButtonList\"\n];\n\nexport const METAFIELD_TYPES = [\n \"CheckBox\",\n ...METAFIELD_TYPES_WITH_OPTIONS,\n \"Text\",\n \"TextArea\",\n \"Quantity\",\n \"DateTime\",\n \"Time\"\n];\n\nexport const DISCOUNT_TYPES = {\n AMOUNT: \"Amount\",\n RATE: \"Rate\"\n};\n\nexport const RATE_FIELDS = {\n EARLY_BIRD: \"early_bird_rate\",\n STANDARD: \"standard_rate\",\n ONSITE: \"onsite_rate\"\n};\n\nexport const DECIMAL_DIGITS = 2;\n\nexport const FILE_UPLOAD_STATUS = {\n PENDING: \"PENDING\",\n DEADLINE_ALERT: \"DEADLINE ALERT\",\n DEADLINE_MISSED: \"DEADLINE MISSED\",\n COMPLETE: \"COMPLETE\"\n};\n\nexport const FILE_UPLOAD_STATUS_COLOR = {\n [FILE_UPLOAD_STATUS.COMPLETE]: \"success.light\",\n [FILE_UPLOAD_STATUS.DEADLINE_MISSED]: \"error\",\n [FILE_UPLOAD_STATUS.DEADLINE_ALERT]: \"warning.light\",\n [FILE_UPLOAD_STATUS.PENDING]: \"default\"\n};\n\nexport const FILE_UPLOAD_STATUS_BKGR_COLOR = {\n [FILE_UPLOAD_STATUS.COMPLETE]: \"white\",\n [FILE_UPLOAD_STATUS.DEADLINE_MISSED]: \"#D32F2F0A\",\n [FILE_UPLOAD_STATUS.DEADLINE_ALERT]: \"#EF6C000A\",\n [FILE_UPLOAD_STATUS.PENDING]: \"white\"\n};\n\nexport const DATE_FORMAT = \"MM/DD/YYYY\";\nexport const DATETIME_FORMAT = \"MM/DD/YYYY hh:mm a\";","module.exports = require(\"@mui/icons-material/Clear\");","module.exports = require(\"@mui/material\");","module.exports = require(\"lodash/debounce\");","module.exports = require(\"react\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@mui/icons-material/Search\");","/**\n * Copyright 2026 OpenStack Foundation\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * */\n\nimport React, { useEffect, useState, useRef } from \"react\";\nimport { TextField, IconButton, InputAdornment } from \"@mui/material\";\nimport SearchIcon from \"@mui/icons-material/Search\";\nimport ClearIcon from \"@mui/icons-material/Clear\";\nimport debounce from \"lodash/debounce\";\nimport { DEBOUNCE_WAIT } from \"../../utils/constants\";\n\nconst SearchInput = ({ term, onSearch, placeholder = \"Search...\", debounced }) => {\n const [searchTerm, setSearchTerm] = useState(term);\n\n const onSearchRef = useRef(onSearch);\n useEffect(() => {\n onSearchRef.current = onSearch;\n }, [onSearch]);\n\n const onSearchDebouncedRef = useRef(\n debounce((value) => onSearchRef.current(value), DEBOUNCE_WAIT)\n );\n\n useEffect(() => {\n setSearchTerm(term || \"\");\n }, [term]);\n\n useEffect(() => () => onSearchDebouncedRef.current?.cancel(), []);\n\n const handleClear = () => {\n onSearchDebouncedRef.current?.cancel();\n setSearchTerm(\"\");\n onSearch(\"\");\n };\n\n const handleChange = (value) => {\n setSearchTerm(value);\n if (debounced) onSearchDebouncedRef.current?.(value);\n };\n\n const handleKeyDown = (ev) => {\n if (!debounced && ev.key === \"Enter\") {\n onSearch(searchTerm);\n }\n };\n\n return (\n <TextField\n variant=\"outlined\"\n value={searchTerm}\n placeholder={placeholder}\n slotProps={{\n input: { \n startAdornment: debounced && (\n <InputAdornment position=\"start\">\n <SearchIcon sx={{ color: \"#0000008F\" }} />\n </InputAdornment>\n ),\n endAdornment: (\n <InputAdornment position=\"end\">\n {searchTerm ? (\n <IconButton size=\"small\" onClick={handleClear}>\n <ClearIcon fontSize=\"small\" sx={{ color: \"#0000008F\" }} />\n </IconButton>\n ) : \n (\n !debounced && <SearchIcon\n sx={{ mr: 1, color: \"#0000008F\", position: \"absolute\", right: 0 }}\n />\n )}\n </InputAdornment>\n )\n }\n }}\n onChange={(ev) => handleChange(ev.target.value)}\n onKeyDown={handleKeyDown}\n fullWidth\n sx={{\n \"& .MuiOutlinedInput-root\": {\n height: \"36px\"\n }\n }}\n />\n );\n};\n\nexport default SearchInput;\n"],"names":["root","factory","exports","module","define","amd","this","DEBOUNCE_WAIT","require","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","n","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","SearchInput","term","onSearch","placeholder","debounced","searchTerm","setSearchTerm","useState","onSearchRef","useRef","useEffect","current","onSearchDebouncedRef","debounce","_onSearchDebouncedRef","cancel","React","TextField","variant","slotProps","input","startAdornment","InputAdornment","position","SearchIcon","sx","color","endAdornment","IconButton","size","onClick","handleClear","_onSearchDebouncedRef2","ClearIcon","fontSize","mr","right","onChange","ev","_onSearchDebouncedRef3","handleChange","target","onKeyDown","fullWidth","height"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"components/mui/search-input.js","mappings":"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","sources":["webpack://openstack-uicore-foundation/webpack/universalModuleDefinition","webpack://openstack-uicore-foundation/./src/utils/constants.js","webpack://openstack-uicore-foundation/external commonjs \"@mui/material\"","webpack://openstack-uicore-foundation/external commonjs \"lodash/debounce\"","webpack://openstack-uicore-foundation/external commonjs \"react\"","webpack://openstack-uicore-foundation/webpack/bootstrap","webpack://openstack-uicore-foundation/webpack/runtime/compat get default export","webpack://openstack-uicore-foundation/webpack/runtime/define property getters","webpack://openstack-uicore-foundation/webpack/runtime/hasOwnProperty shorthand","webpack://openstack-uicore-foundation/webpack/runtime/make namespace object","webpack://openstack-uicore-foundation/external commonjs \"@mui/icons-material/Search\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/icons-material/Cancel\"","webpack://openstack-uicore-foundation/./src/components/mui/search-input.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"openstack-uicore-foundation\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"openstack-uicore-foundation\"] = factory();\n\telse\n\t\troot[\"openstack-uicore-foundation\"] = factory();\n})(this, () => {\nreturn ","export const CENTS_FACTOR = 100n;\nexport const TWO_DECIMAL_PLACES = 2;\nexport const THREE_DECIMAL_PLACES = 3;\nexport const ONE_CENT = 1n;\nexport const ZERO_INT = 0;\n\nexport const CODE_200 = 200;\n\nexport const DEBOUNCE_WAIT_250 = 250;\nexport const DEBOUNCE_WAIT = 500;\n\nexport const NOTIFICATION_TIMEOUT = 2000;\nexport const DEFAULT_PER_PAGE = 10;\nexport const TWENTY_PER_PAGE = 20;\nexport const FIFTY_PER_PAGE = 50;\nexport const MAX_PER_PAGE = 100;\n\nexport const INT_BASE = 10;\n\nexport const ONE_HUNDRED = 100;\nexport const MILLISECONDS_IN_SECOND = 1000;\n\nexport const MILLISECONDS_TO_SECONDS = 1000;\n\nexport const BYTES_PER_MB = 1_048_576; // 1024 * 1024\n\nexport const MAX_INVENTORY_IMAGE_UPLOAD_SIZE = 512000;\nexport const MAX_INVENTORY_IMAGES_UPLOAD_QTY = 5;\nexport const ALLOWED_INVENTORY_IMAGE_FORMATS = [\"jpg\", \"jpeg\", \"png\"];\n\nexport const METAFIELD_TYPES_WITH_OPTIONS = [\n \"CheckBoxList\",\n \"ComboBox\",\n \"RadioButtonList\"\n];\n\nexport const METAFIELD_TYPES = [\n \"CheckBox\",\n ...METAFIELD_TYPES_WITH_OPTIONS,\n \"Text\",\n \"TextArea\",\n \"Quantity\",\n \"DateTime\",\n \"Time\"\n];\n\nexport const DISCOUNT_TYPES = {\n AMOUNT: \"Amount\",\n RATE: \"Rate\"\n};\n\nexport const RATE_FIELDS = {\n EARLY_BIRD: \"early_bird_rate\",\n STANDARD: \"standard_rate\",\n ONSITE: \"onsite_rate\"\n};\n\nexport const DECIMAL_DIGITS = 2;\n\nexport const FILE_UPLOAD_STATUS = {\n PENDING: \"PENDING\",\n DEADLINE_ALERT: \"DEADLINE ALERT\",\n DEADLINE_MISSED: \"DEADLINE MISSED\",\n COMPLETE: \"COMPLETE\"\n};\n\nexport const FILE_UPLOAD_STATUS_COLOR = {\n [FILE_UPLOAD_STATUS.COMPLETE]: \"success.light\",\n [FILE_UPLOAD_STATUS.DEADLINE_MISSED]: \"error\",\n [FILE_UPLOAD_STATUS.DEADLINE_ALERT]: \"warning.light\",\n [FILE_UPLOAD_STATUS.PENDING]: \"default\"\n};\n\nexport const FILE_UPLOAD_STATUS_BKGR_COLOR = {\n [FILE_UPLOAD_STATUS.COMPLETE]: \"white\",\n [FILE_UPLOAD_STATUS.DEADLINE_MISSED]: \"#D32F2F0A\",\n [FILE_UPLOAD_STATUS.DEADLINE_ALERT]: \"#EF6C000A\",\n [FILE_UPLOAD_STATUS.PENDING]: \"white\"\n};\n\nexport const DATE_FORMAT = \"MM/DD/YYYY\";\nexport const DATETIME_FORMAT = \"MM/DD/YYYY hh:mm a\";","module.exports = require(\"@mui/material\");","module.exports = require(\"lodash/debounce\");","module.exports = require(\"react\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@mui/icons-material/Search\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@mui/icons-material/Cancel\");","/**\n * Copyright 2026 OpenStack Foundation\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * */\n\nimport React, { useEffect, useState, useRef } from \"react\";\nimport { TextField, IconButton, InputAdornment } from \"@mui/material\";\nimport SearchIcon from \"@mui/icons-material/Search\";\nimport CancelIcon from \"@mui/icons-material/Cancel\";\nimport debounce from \"lodash/debounce\";\nimport { DEBOUNCE_WAIT } from \"../../utils/constants\";\n\nconst SearchInput = ({ term, onSearch, placeholder = \"Search...\", debounced }) => {\n const [searchTerm, setSearchTerm] = useState(term);\n\n const onSearchRef = useRef(onSearch);\n useEffect(() => {\n onSearchRef.current = onSearch;\n }, [onSearch]);\n\n const onSearchDebouncedRef = useRef(\n debounce((value) => onSearchRef.current(value), DEBOUNCE_WAIT)\n );\n\n useEffect(() => {\n setSearchTerm(term || \"\");\n }, [term]);\n\n useEffect(() => () => onSearchDebouncedRef.current?.cancel(), []);\n\n const handleClear = () => {\n onSearchDebouncedRef.current?.cancel();\n setSearchTerm(\"\");\n onSearch(\"\");\n };\n\n const handleChange = (value) => {\n setSearchTerm(value);\n if (debounced) onSearchDebouncedRef.current?.(value);\n };\n\n const handleKeyDown = (ev) => {\n if (!debounced && ev.key === \"Enter\") {\n onSearch(searchTerm);\n }\n };\n\n return (\n <TextField\n variant=\"outlined\"\n value={searchTerm}\n placeholder={placeholder}\n slotProps={{\n input: {\n startAdornment: (\n <InputAdornment position=\"start\">\n <SearchIcon sx={{ color: \"#0000008F\" }} />\n </InputAdornment>\n ),\n endAdornment: (\n <InputAdornment position=\"end\">\n {searchTerm && (\n <IconButton onClick={handleClear} disableRipple>\n <CancelIcon sx={{ color: \"#0000008F\" }} />\n </IconButton>\n )}\n </InputAdornment>\n )\n }\n }}\n onChange={(ev) => handleChange(ev.target.value)}\n onKeyDown={handleKeyDown}\n fullWidth\n sx={{\n \"& .MuiOutlinedInput-root\": {\n height: \"36px\",\n paddingX: 1\n }, \n }}\n />\n );\n};\n\nexport default SearchInput;\n"],"names":["root","factory","exports","module","define","amd","this","DEBOUNCE_WAIT","require","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","n","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","SearchInput","term","onSearch","placeholder","debounced","searchTerm","setSearchTerm","useState","onSearchRef","useRef","useEffect","current","onSearchDebouncedRef","debounce","_onSearchDebouncedRef","cancel","React","TextField","variant","slotProps","input","startAdornment","InputAdornment","position","SearchIcon","sx","color","endAdornment","IconButton","onClick","handleClear","_onSearchDebouncedRef2","disableRipple","CancelIcon","onChange","ev","_onSearchDebouncedRef3","handleChange","target","onKeyDown","fullWidth","height","paddingX"],"sourceRoot":""}
|
package/lib/i18n.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={9558:(e,t,o)=>{o.d(t,{getCurrentUserLanguage:()=>r});o(5812),o(8041);const r=()=>{let e="en";return"undefined"!=typeof navigator&&(e=navigator.languages&&navigator.languages[0]||navigator.language||navigator.userLanguage),e}},5812:e=>{e.exports=require("moment-timezone")},8041:e=>{e.exports=require("urijs")}},t={};function o(r){var a=t[r];if(void 0!==a)return a.exports;var n=t[r]={exports:{}};return e[r](n,n.exports,o),n.exports}(()=>{o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t}})(),(()=>{o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var r={};o.r(r),o.d(r,{setAppTexts:()=>_});var a=o(9558);const n=require("i18n-react");var s=o.n(n);const i=require("lodash/merge");var d=o.n(i);const u={en:JSON.parse('{"errors":{"user_not_auth":"Hold on. Your user is not authenticated!.","user_not_authz":"Hold on. Your user is not authorized!.","session_expired":"Hold on. Your session expired!.","server_error":"There was a problem with our server, please contact admin.","maximum_files":"Maximum number of files has been reached"},"general":{"select_summit":"Select a Summit...","add":"Add","clear":"Clear","remove":"Remove","drop_files":"Drop images or click to select files to upload.","search":"Search","save":"Save","done":"Done!","ok":"ok","unarchive":"Unarchive","archive":"Archive","settings":"Settings","drag_and_drop":"Drag and Drop to sort items.","other":"Other","type_something":"Type something and press tab or enter.","are_you_sure":"Are you sure?","yes_delete":"Yes, delete.","remove_warning":"Are you sure you want to delete this?","select_an_option":"Select an option...","all":"All","row_remove_warning":"Are you sure you want to delete row ","edit":"Edit","delete":"Delete","cancel":"Cancel","n_a":"N/A","not_available":"N/A","notes":"Notes","due":"Due","to":"To","from":"From"},"buttons":{"log_in":"Log in","sign_out":"Sign Out","my_cart":"My Cart","upload_file":"Upload file","download":"Download"},"placeholders":{"notes":"Enter your notes here..."},"alerts":{"confirm_delete_title":"Confirm Deletion","confirm_delete":"Are you sure you want to delete this item? This action cannot be undone."},"mui_table":{"no_items":"No items found.","no_data":"No data found.","rows_per_page":"Rows per page","sorted_desc":"sorted descending","sorted_asc":"sorted ascending","total":"Total","pay":"PAY","payment":"Payment","paid_via":"Paid via","ref":"REF","refund":"Refund","payfee":"PAYFEE","amount_due":"AMOUNT DUE"},"meta_fields":{"delete_value_warning":"Please verify you want to delete the added value","is_default":"Is Default?","add_value":"Add a value","placeholders":{"name":"Name","value":"Value"}},"rates":{"early_bird":"Early bird","standard_rate":"Standard","onsite_rate":"Onsite"},"additional_inputs":{"title":"Field Title","type":"Field Type","required":"Required","delete_warning":"Are you sure you want to delete meta field ","placeholders":{"title":"Field Title","type":"Select...","minimum_quantity":"Minimum","maximum_quantity":"Maximum"}},"sponsor_edit_form":{"code":"Code","description":"Description","custom_rate":"Custom Rate","early_bird_rate":"Early Bird Rate","standard_rate":"Standard Rate","onsite_rate":"Onsite Rate","qty":"Quantity","total":"Total","notes":"Notes","notes_placeholder":"Enter your notes here...","additional_info":"Additional Info","discount":"Discount","total_on_caps":"TOTAL"},"upload_input":{"upload_file":"Upload file"},"stripe_form":{"processing":"Processing...","button_cta":"PAY {amount}","title":"Select a payment method","payment_confirmation_error":"Payment confirmation failed"}}'),zh:JSON.parse('{"errors":{"user_not_auth":"坚持,稍等。您的用户没有经过身份验证!","user_not_authz":"坚持,稍等。您的用户未经授权!","session_expired":"坚持,稍等。你的会话已经过期了!","server_error":"我们的服务器出现问题,请联系管理员。"},"general":{"select_summit":"选择峰会...","add":"加","clear":"明确","remove":"去掉","drop_files":"删除图像或单击以选择要上载的文件。","search":"搜索","save":"保存","done":"完成!","drag_and_drop":"拖放以对项目进行排序。","other":"其他","type_something":"输入内容并按Tab键或输入。","are_you_sure":"你确定吗?","yes_delete":"是的,删除。","remove_warning":"你确定要删除这个吗?"}}'),es:JSON.parse('{"errors":{"user_not_auth":"Hold on. Your user is not authenticated!.","user_not_authz":"Hold on. Your user is not authorized!.","session_expired":"Hold on. Your session expired!.","server_error":"There was a problem with our server, please contact admin."},"general":{"select_summit":"Select a Summit...","add":"Add","clear":"Clear","remove":"Remove","drop_files":"Drop images or click to select files to upload.","search":"Search","save":"Save","done":"Done!","drag_and_drop":"Drag and Drop to sort items.","other":"Other","type_something":"Type something and press tab or enter.","are_you_sure":"Are you sure?","yes_delete":"Yes, delete.","remove_warning":"Are you sure you want to delete this?"}}')};let l=(0,a.getCurrentUserLanguage)();l.length>2&&(l=l.split("-")[0],l=l.split("_")[0]);try{s().setTexts(u[l])}catch(e){s().setTexts(u.en)}const _=(e={})=>{const t=u[l]||u.en;s().setTexts(d()({},t,e))};return r})()));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={9558:(e,t,o)=>{o.d(t,{getCurrentUserLanguage:()=>r});o(5812),o(8041);const r=()=>{let e="en";return"undefined"!=typeof navigator&&(e=navigator.languages&&navigator.languages[0]||navigator.language||navigator.userLanguage),e}},5812:e=>{e.exports=require("moment-timezone")},8041:e=>{e.exports=require("urijs")}},t={};function o(r){var a=t[r];if(void 0!==a)return a.exports;var n=t[r]={exports:{}};return e[r](n,n.exports,o),n.exports}(()=>{o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t}})(),(()=>{o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var r={};o.r(r),o.d(r,{setAppTexts:()=>_});var a=o(9558);const n=require("i18n-react");var s=o.n(n);const i=require("lodash/merge");var d=o.n(i);const u={en:JSON.parse('{"errors":{"user_not_auth":"Hold on. Your user is not authenticated!.","user_not_authz":"Hold on. Your user is not authorized!.","session_expired":"Hold on. Your session expired!.","server_error":"There was a problem with our server, please contact admin.","maximum_files":"Maximum number of files has been reached"},"general":{"select_summit":"Select a Summit...","add":"Add","clear":"Clear","remove":"Remove","drop_files":"Drop images or click to select files to upload.","search":"Search","save":"Save","done":"Done!","ok":"ok","unarchive":"Unarchive","archive":"Archive","settings":"Settings","drag_and_drop":"Drag and Drop to sort items.","other":"Other","type_something":"Type something and press tab or enter.","are_you_sure":"Are you sure?","yes_delete":"Yes, delete.","remove_warning":"Are you sure you want to delete this?","select_an_option":"Select an option...","all":"All","row_remove_warning":"Are you sure you want to delete row ","edit":"Edit","delete":"Delete","cancel":"Cancel","n_a":"N/A","not_available":"N/A","notes":"Notes","due":"Due","to":"To","from":"From"},"buttons":{"log_in":"Log in","sign_out":"Sign Out","my_cart":"My Cart","upload_file":"Upload file","download":"Download"},"placeholders":{"notes":"Enter your notes here..."},"alerts":{"confirm_delete_title":"Confirm Deletion","confirm_delete":"Are you sure you want to delete this item? This action cannot be undone."},"mui_table":{"no_items":"No items found.","no_data":"No data found.","rows_per_page":"Rows per page","sorted_desc":"sorted descending","sorted_asc":"sorted ascending","total":"Total","pay":"PAY","payment":"Payment","paid_via":"Paid via","ref":"REF","refund":"Refund","payfee":"PAYFEE","amount_due":"AMOUNT DUE"},"meta_fields":{"delete_value_warning":"Please verify you want to delete the added value","is_default":"Is Default?","add_value":"Add a value","placeholders":{"name":"Name","value":"Value"}},"rates":{"early_bird":"Early bird","standard_rate":"Standard","onsite_rate":"Onsite"},"additional_inputs":{"title":"Field Title","type":"Field Type","required":"Required","delete_warning":"Are you sure you want to delete meta field ","minimum":"Minimum","maximum":"Maximum","placeholders":{"title":"Field Title","type":"Select...","minimum_quantity":"Minimum","maximum_quantity":"Maximum"}},"sponsor_edit_form":{"code":"Code","description":"Description","custom_rate":"Custom Rate","early_bird_rate":"Early Bird Rate","standard_rate":"Standard Rate","onsite_rate":"Onsite Rate","qty":"Quantity","total":"Total","notes":"Notes","notes_placeholder":"Enter your notes here...","additional_info":"Additional Info","discount":"Discount","total_on_caps":"TOTAL"},"upload_input":{"upload_file":"Upload file"},"stripe_form":{"processing":"Processing...","button_cta":"PAY {amount}","title":"Select a payment method","payment_confirmation_error":"Payment confirmation failed"}}'),zh:JSON.parse('{"errors":{"user_not_auth":"坚持,稍等。您的用户没有经过身份验证!","user_not_authz":"坚持,稍等。您的用户未经授权!","session_expired":"坚持,稍等。你的会话已经过期了!","server_error":"我们的服务器出现问题,请联系管理员。"},"general":{"select_summit":"选择峰会...","add":"加","clear":"明确","remove":"去掉","drop_files":"删除图像或单击以选择要上载的文件。","search":"搜索","save":"保存","done":"完成!","drag_and_drop":"拖放以对项目进行排序。","other":"其他","type_something":"输入内容并按Tab键或输入。","are_you_sure":"你确定吗?","yes_delete":"是的,删除。","remove_warning":"你确定要删除这个吗?"}}'),es:JSON.parse('{"errors":{"user_not_auth":"Hold on. Your user is not authenticated!.","user_not_authz":"Hold on. Your user is not authorized!.","session_expired":"Hold on. Your session expired!.","server_error":"There was a problem with our server, please contact admin."},"general":{"select_summit":"Select a Summit...","add":"Add","clear":"Clear","remove":"Remove","drop_files":"Drop images or click to select files to upload.","search":"Search","save":"Save","done":"Done!","drag_and_drop":"Drag and Drop to sort items.","other":"Other","type_something":"Type something and press tab or enter.","are_you_sure":"Are you sure?","yes_delete":"Yes, delete.","remove_warning":"Are you sure you want to delete this?"}}')};let l=(0,a.getCurrentUserLanguage)();l.length>2&&(l=l.split("-")[0],l=l.split("_")[0]);try{s().setTexts(u[l])}catch(e){s().setTexts(u.en)}const _=(e={})=>{const t=u[l]||u.en;s().setTexts(d()({},t,e))};return r})()));
|
|
2
2
|
//# sourceMappingURL=i18n.js.map
|
package/lib/i18n.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.js","mappings":"CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,8BAA+B,GAAIH,GAChB,iBAAZC,QACdA,QAAQ,+BAAiCD,IAEzCD,EAAK,+BAAiCC,GACvC,CATD,CASGK,MAAM,I,+FCOF,MAyJMC,EAAyBA,KAClC,IAAIC,EAAW,KAIf,MAHwB,oBAAdC,YACND,EAAYC,UAAUC,WAAaD,UAAUC,UAAU,IAAOD,UAAUD,UAAYC,UAAUE,cAE3FH,CAAQ,C,WC9KnBL,EAAOD,QAAUU,QAAQ,kB,WCAzBT,EAAOD,QAAUU,QAAQ,Q,GCCrBC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAad,QAGrB,IAAIC,EAASU,EAAyBE,GAAY,CAGjDb,QAAS,CAAC,GAOX,OAHAgB,EAAoBH,GAAUZ,EAAQA,EAAOD,QAASY,GAG/CX,EAAOD,OACf,C,MCrBAY,EAAoBK,EAAKhB,IACxB,IAAIiB,EAASjB,GAAUA,EAAOkB,WAC7B,IAAOlB,EAAiB,QACxB,IAAM,EAEP,OADAW,EAAoBQ,EAAEF,EAAQ,CAAEG,EAAGH,IAC5BA,CAAM,C,WCLdN,EAAoBQ,EAAI,CAACpB,EAASsB,KACjC,IAAI,IAAIC,KAAOD,EACXV,EAAoBY,EAAEF,EAAYC,KAASX,EAAoBY,EAAExB,EAASuB,IAC5EE,OAAOC,eAAe1B,EAASuB,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,IAE1E,C,WCNDX,EAAoBY,EAAI,CAACK,EAAKC,IAAUL,OAAOM,UAAUC,eAAeC,KAAKJ,EAAKC,E,WCClFlB,EAAoBsB,EAAKlC,IACH,oBAAXmC,QAA0BA,OAAOC,aAC1CX,OAAOC,eAAe1B,EAASmC,OAAOC,YAAa,CAAEC,MAAO,WAE7DZ,OAAOC,eAAe1B,EAAS,aAAc,CAAEqC,OAAO,GAAO,C,8DCL9D,MAAM,EAA+B3B,QAAQ,c,aCA7C,MAAM,EAA+BA,QAAQ,gB,mBCOvC4B,EAAY,CACd,G,gyFACA,G,wdACA,G,4sBAGJ,IAAIhC,GAAWD,EAAAA,EAAAA,0BAMXC,EAASiC,OAAS,IAClBjC,EAAWA,EAASkC,MAAM,KAAK,GAC/BlC,EAAWA,EAASkC,MAAM,KAAK,IAGnC,IACIC,IAAAA,SAAWH,EAAUhC,GACzB,CAAE,MAAOoC,GACLD,IAAAA,SAAWH,EAAc,GAC7B,CAUO,MAAMK,EAAcA,CAACC,EAAc,CAAC,KACvC,MAAMC,EAAWP,EAAUhC,IAAagC,EAAc,GACtDG,IAAAA,SAAWK,IAAM,CAAC,EAAGD,EAAUD,GAAa,E","sources":["webpack://openstack-uicore-foundation/webpack/universalModuleDefinition","webpack://openstack-uicore-foundation/./src/utils/methods.js","webpack://openstack-uicore-foundation/external commonjs \"moment-timezone\"","webpack://openstack-uicore-foundation/external commonjs \"urijs\"","webpack://openstack-uicore-foundation/webpack/bootstrap","webpack://openstack-uicore-foundation/webpack/runtime/compat get default export","webpack://openstack-uicore-foundation/webpack/runtime/define property getters","webpack://openstack-uicore-foundation/webpack/runtime/hasOwnProperty shorthand","webpack://openstack-uicore-foundation/webpack/runtime/make namespace object","webpack://openstack-uicore-foundation/external commonjs \"i18n-react\"","webpack://openstack-uicore-foundation/external commonjs \"lodash/merge\"","webpack://openstack-uicore-foundation/./src/i18n/i18n.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"openstack-uicore-foundation\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"openstack-uicore-foundation\"] = factory();\n\telse\n\t\troot[\"openstack-uicore-foundation\"] = factory();\n})(this, () => {\nreturn ","/**\n * Copyright 2018 OpenStack Foundation\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\n\nimport moment from 'moment-timezone';\nimport URI from \"urijs\";\n\nexport const findElementPos = (obj) => {\n var curtop = -70;\n if (obj.offsetParent) {\n do {\n curtop += obj.offsetTop;\n } while (obj = obj.offsetParent);\n return [curtop];\n }\n};\n\nexport const epochToMoment = (atime) => {\n if(!atime) return atime;\n atime = atime * 1000;\n return moment(atime);\n};\n\nexport const epochToMomentTimeZone = (atime, time_zone) => {\n if(!atime) return atime;\n atime = atime * 1000;\n return moment(atime).tz(time_zone);\n};\n\nexport const formatEpoch = (atime, format = 'M/D/YYYY h:mm a') => {\n if(!atime) return atime;\n return epochToMoment(atime).format(format);\n};\n\nexport const parseLocationHour = (hour) => {\n let parsedHour = hour.toString();\n if(parsedHour.length < 4) parsedHour = `0${parsedHour}`;\n parsedHour = parsedHour.match(/.{2}/g);\n parsedHour = parsedHour.join(':');\n return parsedHour;\n}\n\nexport const objectToQueryString = (obj) => {\n var str = \"\";\n for (var key in obj) {\n if (str != \"\") {\n str += \"&\";\n }\n str += key + \"=\" + encodeURIComponent(obj[key]);\n }\n\n return str;\n};\n\nexport const getBackURL = () => {\n let url = URI(window.location.href);\n let query = url.search(true);\n let fragment = url.fragment();\n let backUrl = query.hasOwnProperty('BackUrl') ? query['BackUrl'] : null;\n if(backUrl != null && fragment != null && fragment != ''){\n backUrl += `#${fragment}`;\n }\n return backUrl;\n};\n\nexport const toSlug = (text) =>{\n text = text.toLowerCase();\n return text.replace(/[^a-zA-Z0-9]+/g,'_');\n}\n\nexport const getAuthCallback = () => {\n if(typeof window !== 'undefined') {\n return `${window.location.origin}/auth/callback`;\n }\n return null;\n};\n\nexport const getCurrentLocation = () => {\n let location = '';\n if(typeof window !== 'undefined') {\n location = window.location;\n // check if we are on iframe\n if (window.top)\n location = window.top.location;\n }\n return location;\n};\n\nexport const getOrigin = () => {\n if(typeof window !== 'undefined') {\n return window.location.origin;\n }\n return null;\n};\n\nexport const getCurrentPathName = () => {\n if(typeof window !== 'undefined') {\n return window.location.pathname;\n }\n return null;\n};\n\nexport const getCurrentHref = () => {\n if(typeof window !== 'undefined') {\n return window.location.href;\n }\n return null;\n};\n\nexport const getAllowedUserGroups = () => {\n if(typeof window !== 'undefined') {\n return window.ALLOWED_USER_GROUPS || '';\n }\n return null;\n};\n\nexport const buildAPIBaseUrl = (relativeUrl) => {\n if(typeof window !== 'undefined'){\n return `${window.API_BASE_URL}${relativeUrl}`;\n }\n return null``;\n};\n\nexport const putOnLocalStorage = (key, value) => {\n if(typeof window !== 'undefined') {\n window.localStorage.setItem(key, value);\n }\n};\n\nexport const getFromLocalStorage = (key, removeIt) => {\n if(typeof window !== 'undefined') {\n let val = window.localStorage.getItem(key);\n if(removeIt){\n console.log(`getFromLocalStorage removing key ${key}`);\n removeFromLocalStorage(key);\n }\n return val;\n }\n return null;\n};\n\nexport const removeFromLocalStorage = (key) => {\n if(typeof window !== 'undefined') {\n window.localStorage.removeItem(key);\n }\n}\n\nexport const isClearingSessionState = () => {\n if(typeof window !== 'undefined') {\n return window.clearing_session_state;\n }\n return false;\n};\n\nexport const setSessionClearingState = (val) => {\n if(typeof window !== 'undefined') {\n window.clearing_session_state = val;\n }\n};\n\nexport const getCurrentUserLanguage = () => {\n let language = 'en';\n if(typeof navigator !== 'undefined') {\n language = (navigator.languages && navigator.languages[0]) || navigator.language || navigator.userLanguage;\n }\n return language;\n};\n\nexport const scrollToError = (errors) => {\n if(Object.keys(errors).length > 0) {\n const firstError = Object.keys(errors)[0];\n const firstNode = document.getElementById(firstError);\n if (firstNode) window.scrollTo(0, findElementPos(firstNode));\n }\n};\n\nexport const hasErrors = (field, errors) => {\n if(field in errors) {\n return errors[field];\n }\n return '';\n};\n\nexport const shallowEqual = (object1, object2) => {\n const keys1 = Object.keys(object1);\n const keys2 = Object.keys(object2);\n\n if (keys1.length !== keys2.length) {\n return false;\n }\n\n for (let key of keys1) {\n if (object1[key] !== object2[key]) {\n return false;\n }\n }\n\n return true;\n};\n\nexport const arraysEqual = (a1, a2) =>\n a1.length === a2.length && a1.every((o, idx) => shallowEqual(o, a2[idx]));\n\nexport const isEmpty = (obj) => {\n return Object.keys(obj).length === 0;\n};\n\n\nexport const base64URLEncode = (str) => {\n return str\n .toString('base64')\n .replace(/\\+/g, '-')\n .replace(/\\//g, '_')\n .replace(/=/g, '')\n}\n\nexport const retryPromise = async (\n cb,\n maxNumberOfRetries = 3\n) => {\n for (let i = 0; i < maxNumberOfRetries; i++) {\n if (await cb()) {\n return true;\n }\n }\n\n return false;\n}\n\nexport const getTimeServiceUrl = () => {\n if(typeof window !== 'undefined') {\n return window.TIMEINTERVALSINCE1970_API_URL || process.env.TIMEINTERVALSINCE1970_API_URL;\n }\n return null;\n};\n\nexport const getEventLocation = (event, summitVenueCount, summitShowLocDate = null, nowUtc = null) => {\n const shouldShowVenues = (summitShowLocDate && nowUtc) ? summitShowLocDate * 1000 < nowUtc : true;\n const locationName = [];\n const { location } = event;\n\n if (!shouldShowVenues) return 'TBA';\n\n if (!location) return 'TBA';\n\n if (summitVenueCount > 1 && location.venue?.name) locationName.push(location.venue.name);\n if (location.floor?.name) locationName.push(location.floor.name);\n if (location.name) locationName.push(location.name);\n\n return locationName.length > 0 ? locationName.join(' - ') : 'TBA';\n};\n\nexport const getEventHosts = (event) => {\n let hosts = [];\n if (event.speakers?.length > 0) {\n hosts = [...event.speakers];\n }\n if (event.moderator) hosts.push(event.moderator);\n\n return hosts;\n};\n\nconst loadImage = async url => {\n const img = document.createElement('img')\n img.src = url\n img.crossOrigin = 'anonymous'\n\n return new Promise((resolve, reject) => {\n img.onload = () => resolve(img)\n img.onerror = reject\n })\n}\n\nexport const convertSVGtoImg = async (svgUrl) => {\n const img = await loadImage(svgUrl)\n const newWidth = 100\n const newHeight = Math.floor(img.naturalHeight * 100 / img.naturalWidth)\n\n const canvas = document.createElement('canvas')\n canvas.width = newWidth\n canvas.height = newHeight\n canvas.getContext('2d').drawImage(img, 0, 0, newWidth, newHeight)\n\n const url = await canvas.toDataURL(`image/png`, 1.0)\n console.log(url, newWidth, newHeight);\n return {url, width: newWidth, height: newHeight}\n}\n\nexport const isRateEnabled = (value) =>\n value !== null && value !== undefined && value !== \"\";\n\n/**\n * Returns true if value is null, undefined, empty/whitespace string,\n * empty array, or empty object.\n */\nexport const empty = (value) => {\n if (value === null || value === undefined) return true;\n if (typeof value === \"string\") return value.trim().length === 0;\n if (Array.isArray(value)) return value.length === 0;\n if (typeof value === \"object\") return Object.keys(value).length === 0;\n return false;\n};\n\nexport const isSentryInitialized = () => typeof window !== \"undefined\" && !!window.SENTRY_DSN;\n","module.exports = require(\"moment-timezone\");","module.exports = require(\"urijs\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"i18n-react\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/merge\");","import {getCurrentUserLanguage} from \"../utils/methods\";\nimport T from \"i18n-react\";\nimport merge from \"lodash/merge\";\nimport en from './en.json';\nimport zh from './zh.json';\nimport es from './es.json';\n\nconst resources = {\n 'en' : en,\n 'zh' : zh,\n 'es' : es,\n}\n\nlet language = getCurrentUserLanguage();\n\n// language would be something like es-ES or es_ES\n// However we store our files with format es.json or en.json\n// therefore retrieve only the first 2 digits\n\nif (language.length > 2) {\n language = language.split(\"-\")[0];\n language = language.split(\"_\")[0];\n}\n\ntry {\n T.setTexts(resources[language]);\n} catch (e) {\n T.setTexts(resources['en']);\n}\n\n/**\n * Call this instead of T.setTexts() in consumer apps.\n * Deep-merges the lib's base translations with your custom translations,\n * so new keys added to the lib are always available even if your\n * translation file doesn't include them yet. Consumer keys take precedence.\n *\n * @param {object} customTexts - your app's translation object\n */\nexport const setAppTexts = (customTexts = {}) => {\n const libTexts = resources[language] || resources['en'];\n T.setTexts(merge({}, libTexts, customTexts));\n};"],"names":["root","factory","exports","module","define","amd","this","getCurrentUserLanguage","language","navigator","languages","userLanguage","require","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","n","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","resources","length","split","T","e","setAppTexts","customTexts","libTexts","merge"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"i18n.js","mappings":"CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,8BAA+B,GAAIH,GAChB,iBAAZC,QACdA,QAAQ,+BAAiCD,IAEzCD,EAAK,+BAAiCC,GACvC,CATD,CASGK,MAAM,I,+FCOF,MAyJMC,EAAyBA,KAClC,IAAIC,EAAW,KAIf,MAHwB,oBAAdC,YACND,EAAYC,UAAUC,WAAaD,UAAUC,UAAU,IAAOD,UAAUD,UAAYC,UAAUE,cAE3FH,CAAQ,C,WC9KnBL,EAAOD,QAAUU,QAAQ,kB,WCAzBT,EAAOD,QAAUU,QAAQ,Q,GCCrBC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAad,QAGrB,IAAIC,EAASU,EAAyBE,GAAY,CAGjDb,QAAS,CAAC,GAOX,OAHAgB,EAAoBH,GAAUZ,EAAQA,EAAOD,QAASY,GAG/CX,EAAOD,OACf,C,MCrBAY,EAAoBK,EAAKhB,IACxB,IAAIiB,EAASjB,GAAUA,EAAOkB,WAC7B,IAAOlB,EAAiB,QACxB,IAAM,EAEP,OADAW,EAAoBQ,EAAEF,EAAQ,CAAEG,EAAGH,IAC5BA,CAAM,C,WCLdN,EAAoBQ,EAAI,CAACpB,EAASsB,KACjC,IAAI,IAAIC,KAAOD,EACXV,EAAoBY,EAAEF,EAAYC,KAASX,EAAoBY,EAAExB,EAASuB,IAC5EE,OAAOC,eAAe1B,EAASuB,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,IAE1E,C,WCNDX,EAAoBY,EAAI,CAACK,EAAKC,IAAUL,OAAOM,UAAUC,eAAeC,KAAKJ,EAAKC,E,WCClFlB,EAAoBsB,EAAKlC,IACH,oBAAXmC,QAA0BA,OAAOC,aAC1CX,OAAOC,eAAe1B,EAASmC,OAAOC,YAAa,CAAEC,MAAO,WAE7DZ,OAAOC,eAAe1B,EAAS,aAAc,CAAEqC,OAAO,GAAO,C,8DCL9D,MAAM,EAA+B3B,QAAQ,c,aCA7C,MAAM,EAA+BA,QAAQ,gB,mBCOvC4B,EAAY,CACd,G,w0FACA,G,wdACA,G,4sBAGJ,IAAIhC,GAAWD,EAAAA,EAAAA,0BAMXC,EAASiC,OAAS,IAClBjC,EAAWA,EAASkC,MAAM,KAAK,GAC/BlC,EAAWA,EAASkC,MAAM,KAAK,IAGnC,IACIC,IAAAA,SAAWH,EAAUhC,GACzB,CAAE,MAAOoC,GACLD,IAAAA,SAAWH,EAAc,GAC7B,CAUO,MAAMK,EAAcA,CAACC,EAAc,CAAC,KACvC,MAAMC,EAAWP,EAAUhC,IAAagC,EAAc,GACtDG,IAAAA,SAAWK,IAAM,CAAC,EAAGD,EAAUD,GAAa,E","sources":["webpack://openstack-uicore-foundation/webpack/universalModuleDefinition","webpack://openstack-uicore-foundation/./src/utils/methods.js","webpack://openstack-uicore-foundation/external commonjs \"moment-timezone\"","webpack://openstack-uicore-foundation/external commonjs \"urijs\"","webpack://openstack-uicore-foundation/webpack/bootstrap","webpack://openstack-uicore-foundation/webpack/runtime/compat get default export","webpack://openstack-uicore-foundation/webpack/runtime/define property getters","webpack://openstack-uicore-foundation/webpack/runtime/hasOwnProperty shorthand","webpack://openstack-uicore-foundation/webpack/runtime/make namespace object","webpack://openstack-uicore-foundation/external commonjs \"i18n-react\"","webpack://openstack-uicore-foundation/external commonjs \"lodash/merge\"","webpack://openstack-uicore-foundation/./src/i18n/i18n.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"openstack-uicore-foundation\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"openstack-uicore-foundation\"] = factory();\n\telse\n\t\troot[\"openstack-uicore-foundation\"] = factory();\n})(this, () => {\nreturn ","/**\n * Copyright 2018 OpenStack Foundation\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\n\nimport moment from 'moment-timezone';\nimport URI from \"urijs\";\n\nexport const findElementPos = (obj) => {\n var curtop = -70;\n if (obj.offsetParent) {\n do {\n curtop += obj.offsetTop;\n } while (obj = obj.offsetParent);\n return [curtop];\n }\n};\n\nexport const epochToMoment = (atime) => {\n if(!atime) return atime;\n atime = atime * 1000;\n return moment(atime);\n};\n\nexport const epochToMomentTimeZone = (atime, time_zone) => {\n if(!atime) return atime;\n atime = atime * 1000;\n return moment(atime).tz(time_zone);\n};\n\nexport const formatEpoch = (atime, format = 'M/D/YYYY h:mm a') => {\n if(!atime) return atime;\n return epochToMoment(atime).format(format);\n};\n\nexport const parseLocationHour = (hour) => {\n let parsedHour = hour.toString();\n if(parsedHour.length < 4) parsedHour = `0${parsedHour}`;\n parsedHour = parsedHour.match(/.{2}/g);\n parsedHour = parsedHour.join(':');\n return parsedHour;\n}\n\nexport const objectToQueryString = (obj) => {\n var str = \"\";\n for (var key in obj) {\n if (str != \"\") {\n str += \"&\";\n }\n str += key + \"=\" + encodeURIComponent(obj[key]);\n }\n\n return str;\n};\n\nexport const getBackURL = () => {\n let url = URI(window.location.href);\n let query = url.search(true);\n let fragment = url.fragment();\n let backUrl = query.hasOwnProperty('BackUrl') ? query['BackUrl'] : null;\n if(backUrl != null && fragment != null && fragment != ''){\n backUrl += `#${fragment}`;\n }\n return backUrl;\n};\n\nexport const toSlug = (text) =>{\n text = text.toLowerCase();\n return text.replace(/[^a-zA-Z0-9]+/g,'_');\n}\n\nexport const getAuthCallback = () => {\n if(typeof window !== 'undefined') {\n return `${window.location.origin}/auth/callback`;\n }\n return null;\n};\n\nexport const getCurrentLocation = () => {\n let location = '';\n if(typeof window !== 'undefined') {\n location = window.location;\n // check if we are on iframe\n if (window.top)\n location = window.top.location;\n }\n return location;\n};\n\nexport const getOrigin = () => {\n if(typeof window !== 'undefined') {\n return window.location.origin;\n }\n return null;\n};\n\nexport const getCurrentPathName = () => {\n if(typeof window !== 'undefined') {\n return window.location.pathname;\n }\n return null;\n};\n\nexport const getCurrentHref = () => {\n if(typeof window !== 'undefined') {\n return window.location.href;\n }\n return null;\n};\n\nexport const getAllowedUserGroups = () => {\n if(typeof window !== 'undefined') {\n return window.ALLOWED_USER_GROUPS || '';\n }\n return null;\n};\n\nexport const buildAPIBaseUrl = (relativeUrl) => {\n if(typeof window !== 'undefined'){\n return `${window.API_BASE_URL}${relativeUrl}`;\n }\n return null``;\n};\n\nexport const putOnLocalStorage = (key, value) => {\n if(typeof window !== 'undefined') {\n window.localStorage.setItem(key, value);\n }\n};\n\nexport const getFromLocalStorage = (key, removeIt) => {\n if(typeof window !== 'undefined') {\n let val = window.localStorage.getItem(key);\n if(removeIt){\n console.log(`getFromLocalStorage removing key ${key}`);\n removeFromLocalStorage(key);\n }\n return val;\n }\n return null;\n};\n\nexport const removeFromLocalStorage = (key) => {\n if(typeof window !== 'undefined') {\n window.localStorage.removeItem(key);\n }\n}\n\nexport const isClearingSessionState = () => {\n if(typeof window !== 'undefined') {\n return window.clearing_session_state;\n }\n return false;\n};\n\nexport const setSessionClearingState = (val) => {\n if(typeof window !== 'undefined') {\n window.clearing_session_state = val;\n }\n};\n\nexport const getCurrentUserLanguage = () => {\n let language = 'en';\n if(typeof navigator !== 'undefined') {\n language = (navigator.languages && navigator.languages[0]) || navigator.language || navigator.userLanguage;\n }\n return language;\n};\n\nexport const scrollToError = (errors) => {\n if(Object.keys(errors).length > 0) {\n const firstError = Object.keys(errors)[0];\n const firstNode = document.getElementById(firstError);\n if (firstNode) window.scrollTo(0, findElementPos(firstNode));\n }\n};\n\nexport const hasErrors = (field, errors) => {\n if(field in errors) {\n return errors[field];\n }\n return '';\n};\n\nexport const shallowEqual = (object1, object2) => {\n const keys1 = Object.keys(object1);\n const keys2 = Object.keys(object2);\n\n if (keys1.length !== keys2.length) {\n return false;\n }\n\n for (let key of keys1) {\n if (object1[key] !== object2[key]) {\n return false;\n }\n }\n\n return true;\n};\n\nexport const arraysEqual = (a1, a2) =>\n a1.length === a2.length && a1.every((o, idx) => shallowEqual(o, a2[idx]));\n\nexport const isEmpty = (obj) => {\n return Object.keys(obj).length === 0;\n};\n\n\nexport const base64URLEncode = (str) => {\n return str\n .toString('base64')\n .replace(/\\+/g, '-')\n .replace(/\\//g, '_')\n .replace(/=/g, '')\n}\n\nexport const retryPromise = async (\n cb,\n maxNumberOfRetries = 3\n) => {\n for (let i = 0; i < maxNumberOfRetries; i++) {\n if (await cb()) {\n return true;\n }\n }\n\n return false;\n}\n\nexport const getTimeServiceUrl = () => {\n if(typeof window !== 'undefined') {\n return window.TIMEINTERVALSINCE1970_API_URL || process.env.TIMEINTERVALSINCE1970_API_URL;\n }\n return null;\n};\n\nexport const getEventLocation = (event, summitVenueCount, summitShowLocDate = null, nowUtc = null) => {\n const shouldShowVenues = (summitShowLocDate && nowUtc) ? summitShowLocDate * 1000 < nowUtc : true;\n const locationName = [];\n const { location } = event;\n\n if (!shouldShowVenues) return 'TBA';\n\n if (!location) return 'TBA';\n\n if (summitVenueCount > 1 && location.venue?.name) locationName.push(location.venue.name);\n if (location.floor?.name) locationName.push(location.floor.name);\n if (location.name) locationName.push(location.name);\n\n return locationName.length > 0 ? locationName.join(' - ') : 'TBA';\n};\n\nexport const getEventHosts = (event) => {\n let hosts = [];\n if (event.speakers?.length > 0) {\n hosts = [...event.speakers];\n }\n if (event.moderator) hosts.push(event.moderator);\n\n return hosts;\n};\n\nconst loadImage = async url => {\n const img = document.createElement('img')\n img.src = url\n img.crossOrigin = 'anonymous'\n\n return new Promise((resolve, reject) => {\n img.onload = () => resolve(img)\n img.onerror = reject\n })\n}\n\nexport const convertSVGtoImg = async (svgUrl) => {\n const img = await loadImage(svgUrl)\n const newWidth = 100\n const newHeight = Math.floor(img.naturalHeight * 100 / img.naturalWidth)\n\n const canvas = document.createElement('canvas')\n canvas.width = newWidth\n canvas.height = newHeight\n canvas.getContext('2d').drawImage(img, 0, 0, newWidth, newHeight)\n\n const url = await canvas.toDataURL(`image/png`, 1.0)\n console.log(url, newWidth, newHeight);\n return {url, width: newWidth, height: newHeight}\n}\n\nexport const isRateEnabled = (value) =>\n value !== null && value !== undefined && value !== \"\";\n\n/**\n * Returns true if value is null, undefined, empty/whitespace string,\n * empty array, or empty object.\n */\nexport const empty = (value) => {\n if (value === null || value === undefined) return true;\n if (typeof value === \"string\") return value.trim().length === 0;\n if (Array.isArray(value)) return value.length === 0;\n if (typeof value === \"object\") return Object.keys(value).length === 0;\n return false;\n};\n\nexport const isSentryInitialized = () => typeof window !== \"undefined\" && !!window.SENTRY_DSN;\n","module.exports = require(\"moment-timezone\");","module.exports = require(\"urijs\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"i18n-react\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/merge\");","import {getCurrentUserLanguage} from \"../utils/methods\";\nimport T from \"i18n-react\";\nimport merge from \"lodash/merge\";\nimport en from './en.json';\nimport zh from './zh.json';\nimport es from './es.json';\n\nconst resources = {\n 'en' : en,\n 'zh' : zh,\n 'es' : es,\n}\n\nlet language = getCurrentUserLanguage();\n\n// language would be something like es-ES or es_ES\n// However we store our files with format es.json or en.json\n// therefore retrieve only the first 2 digits\n\nif (language.length > 2) {\n language = language.split(\"-\")[0];\n language = language.split(\"_\")[0];\n}\n\ntry {\n T.setTexts(resources[language]);\n} catch (e) {\n T.setTexts(resources['en']);\n}\n\n/**\n * Call this instead of T.setTexts() in consumer apps.\n * Deep-merges the lib's base translations with your custom translations,\n * so new keys added to the lib are always available even if your\n * translation file doesn't include them yet. Consumer keys take precedence.\n *\n * @param {object} customTexts - your app's translation object\n */\nexport const setAppTexts = (customTexts = {}) => {\n const libTexts = resources[language] || resources['en'];\n T.setTexts(merge({}, libTexts, customTexts));\n};"],"names":["root","factory","exports","module","define","amd","this","getCurrentUserLanguage","language","navigator","languages","userLanguage","require","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","n","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","resources","length","split","T","e","setAppTexts","customTexts","libTexts","merge"],"sourceRoot":""}
|