openstack-uicore-foundation 5.0.7-beta.1 → 5.0.8-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.
Files changed (230) hide show
  1. package/.codegraph/config.json +140 -0
  2. package/docs/plans/2026-04-09-showconfirmdialog-react16-compat.md +83 -0
  3. package/lib/components/ajaxloader.js.map +1 -1
  4. package/lib/components/attendance-tracker.js +1 -1
  5. package/lib/components/attendance-tracker.js.map +1 -1
  6. package/lib/components/bulk-actions-selector.js.map +1 -1
  7. package/lib/components/circle-button.js.map +1 -1
  8. package/lib/components/clock.js +1 -1
  9. package/lib/components/clock.js.map +1 -1
  10. package/lib/components/exclusive-wrapper.js.map +1 -1
  11. package/lib/components/extra-questions-mui.js.map +1 -1
  12. package/lib/components/extra-questions.js +1 -1
  13. package/lib/components/extra-questions.js.map +1 -1
  14. package/lib/components/form-validation.js.map +1 -1
  15. package/lib/components/forms/rsvp-form.js.map +1 -1
  16. package/lib/components/forms/simple-form.js +1 -1
  17. package/lib/components/forms/simple-form.js.map +1 -1
  18. package/lib/components/free-text-search.js +1 -1
  19. package/lib/components/free-text-search.js.map +1 -1
  20. package/lib/components/google-map.js +1 -1
  21. package/lib/components/google-map.js.map +1 -1
  22. package/lib/components/index.js +1 -1
  23. package/lib/components/index.js.map +1 -1
  24. package/lib/components/inputs/access-levels-input.js +1 -1
  25. package/lib/components/inputs/access-levels-input.js.map +1 -1
  26. package/lib/components/inputs/action-dropdown.js.map +1 -1
  27. package/lib/components/inputs/attendee-input.js +1 -1
  28. package/lib/components/inputs/attendee-input.js.map +1 -1
  29. package/lib/components/inputs/checkbox-list.js.map +1 -1
  30. package/lib/components/inputs/company-input-v2.js +1 -1
  31. package/lib/components/inputs/company-input-v2.js.map +1 -1
  32. package/lib/components/inputs/company-input.js +1 -1
  33. package/lib/components/inputs/company-input.js.map +1 -1
  34. package/lib/components/inputs/country-dropdown.js +1 -1
  35. package/lib/components/inputs/country-dropdown.js.map +1 -1
  36. package/lib/components/inputs/country-input.js +1 -1
  37. package/lib/components/inputs/country-input.js.map +1 -1
  38. package/lib/components/inputs/datetimepicker.js.map +1 -1
  39. package/lib/components/inputs/dropdown.js.map +1 -1
  40. package/lib/components/inputs/editor-input-v2.js.map +1 -1
  41. package/lib/components/inputs/editor-input-v3.js.map +1 -1
  42. package/lib/components/inputs/editor-input.js.map +1 -1
  43. package/lib/components/inputs/event-input.js +1 -1
  44. package/lib/components/inputs/event-input.js.map +1 -1
  45. package/lib/components/inputs/free-multi-text-input.js.map +1 -1
  46. package/lib/components/inputs/group-input.js +1 -1
  47. package/lib/components/inputs/group-input.js.map +1 -1
  48. package/lib/components/inputs/grouped-dropdown.js.map +1 -1
  49. package/lib/components/inputs/language-input.js +1 -1
  50. package/lib/components/inputs/language-input.js.map +1 -1
  51. package/lib/components/inputs/member-input.js +1 -1
  52. package/lib/components/inputs/member-input.js.map +1 -1
  53. package/lib/components/inputs/operator-input.js.map +1 -1
  54. package/lib/components/inputs/organization-input.js +1 -1
  55. package/lib/components/inputs/organization-input.js.map +1 -1
  56. package/lib/components/inputs/promocode-input.js +1 -1
  57. package/lib/components/inputs/promocode-input.js.map +1 -1
  58. package/lib/components/inputs/radio-list.js.map +1 -1
  59. package/lib/components/inputs/registration-company-input.js +1 -1
  60. package/lib/components/inputs/registration-company-input.js.map +1 -1
  61. package/lib/components/inputs/speaker-input.js +1 -1
  62. package/lib/components/inputs/speaker-input.js.map +1 -1
  63. package/lib/components/inputs/sponsor-input.js +1 -1
  64. package/lib/components/inputs/sponsor-input.js.map +1 -1
  65. package/lib/components/inputs/stepped-select.js.map +1 -1
  66. package/lib/components/inputs/summit-days-select.js.map +1 -1
  67. package/lib/components/inputs/summit-input.js +1 -1
  68. package/lib/components/inputs/summit-input.js.map +1 -1
  69. package/lib/components/inputs/summit-venues-select.js.map +1 -1
  70. package/lib/components/inputs/tag-input.js +1 -1
  71. package/lib/components/inputs/tag-input.js.map +1 -1
  72. package/lib/components/inputs/text-input.js.map +1 -1
  73. package/lib/components/inputs/textarea-input.js.map +1 -1
  74. package/lib/components/inputs/ticket-types-input.js +1 -1
  75. package/lib/components/inputs/ticket-types-input.js.map +1 -1
  76. package/lib/components/inputs/upload-input-v2.js +1 -1
  77. package/lib/components/inputs/upload-input-v2.js.map +1 -1
  78. package/lib/components/inputs/upload-input-v3.js +1 -1
  79. package/lib/components/inputs/upload-input-v3.js.map +1 -1
  80. package/lib/components/inputs/upload-input.js.map +1 -1
  81. package/lib/components/mui/checkbox-list.js.map +1 -1
  82. package/lib/components/mui/chip-list.js.map +1 -1
  83. package/lib/components/mui/chip-notify.js +1 -1
  84. package/lib/components/mui/chip-notify.js.map +1 -1
  85. package/lib/components/mui/chip-select-input.js.map +1 -1
  86. package/lib/components/mui/confirm-dialog-provider.js +2 -0
  87. package/lib/components/mui/confirm-dialog-provider.js.map +1 -0
  88. package/lib/components/mui/confirm-dialog.js.map +1 -1
  89. package/lib/components/mui/custom-alert.js.map +1 -1
  90. package/lib/components/mui/dnd-list.js.map +1 -1
  91. package/lib/components/mui/dropdown-checkbox.js.map +1 -1
  92. package/lib/components/mui/editable-table.js +1 -1
  93. package/lib/components/mui/editable-table.js.map +1 -1
  94. package/lib/components/mui/form-item-table.js +1 -1
  95. package/lib/components/mui/form-item-table.js.map +1 -1
  96. package/lib/components/mui/formik-inputs/additional-input-list.js +1 -1
  97. package/lib/components/mui/formik-inputs/additional-input-list.js.map +1 -1
  98. package/lib/components/mui/formik-inputs/additional-input.js +1 -1
  99. package/lib/components/mui/formik-inputs/additional-input.js.map +1 -1
  100. package/lib/components/mui/formik-inputs/async-select.js.map +1 -1
  101. package/lib/components/mui/formik-inputs/checkbox-group.js.map +1 -1
  102. package/lib/components/mui/formik-inputs/checkbox.js.map +1 -1
  103. package/lib/components/mui/formik-inputs/company-input.js +1 -1
  104. package/lib/components/mui/formik-inputs/company-input.js.map +1 -1
  105. package/lib/components/mui/formik-inputs/datepicker.js.map +1 -1
  106. package/lib/components/mui/formik-inputs/discount-field.js.map +1 -1
  107. package/lib/components/mui/formik-inputs/dropdown-checkbox.js.map +1 -1
  108. package/lib/components/mui/formik-inputs/dropdown-radio.js.map +1 -1
  109. package/lib/components/mui/formik-inputs/file-size-field.js.map +1 -1
  110. package/lib/components/mui/formik-inputs/item-price-tiers.js +1 -1
  111. package/lib/components/mui/formik-inputs/item-price-tiers.js.map +1 -1
  112. package/lib/components/mui/formik-inputs/price-field.js.map +1 -1
  113. package/lib/components/mui/formik-inputs/quantity-field.js.map +1 -1
  114. package/lib/components/mui/formik-inputs/radio-group.js.map +1 -1
  115. package/lib/components/mui/formik-inputs/select-group.js.map +1 -1
  116. package/lib/components/mui/formik-inputs/select.js.map +1 -1
  117. package/lib/components/mui/formik-inputs/sponsor-input.js +1 -1
  118. package/lib/components/mui/formik-inputs/sponsor-input.js.map +1 -1
  119. package/lib/components/mui/formik-inputs/sponsorship-input.js +1 -1
  120. package/lib/components/mui/formik-inputs/sponsorship-input.js.map +1 -1
  121. package/lib/components/mui/formik-inputs/sponsorship-summit-select.js +1 -1
  122. package/lib/components/mui/formik-inputs/sponsorship-summit-select.js.map +1 -1
  123. package/lib/components/mui/formik-inputs/summit-addon-select.js +1 -1
  124. package/lib/components/mui/formik-inputs/summit-addon-select.js.map +1 -1
  125. package/lib/components/mui/formik-inputs/switch.js.map +1 -1
  126. package/lib/components/mui/formik-inputs/textfield.js.map +1 -1
  127. package/lib/components/mui/formik-inputs/timepicker.js.map +1 -1
  128. package/lib/components/mui/formik-inputs/upload.js +1 -1
  129. package/lib/components/mui/formik-inputs/upload.js.map +1 -1
  130. package/lib/components/mui/infinite-table.js.map +1 -1
  131. package/lib/components/mui/item-settings-modal.js +1 -1
  132. package/lib/components/mui/item-settings-modal.js.map +1 -1
  133. package/lib/components/mui/menu-button.js.map +1 -1
  134. package/lib/components/mui/notes-modal.js +1 -1
  135. package/lib/components/mui/notes-modal.js.map +1 -1
  136. package/lib/components/mui/search-input.js.map +1 -1
  137. package/lib/components/mui/show-confirm-dialog.js +1 -1
  138. package/lib/components/mui/show-confirm-dialog.js.map +1 -1
  139. package/lib/components/mui/snackbar-notification.js +1 -1
  140. package/lib/components/mui/snackbar-notification.js.map +1 -1
  141. package/lib/components/mui/sortable-table.js +1 -1
  142. package/lib/components/mui/sortable-table.js.map +1 -1
  143. package/lib/components/mui/sponsor-addon-select.js +1 -1
  144. package/lib/components/mui/sponsor-addon-select.js.map +1 -1
  145. package/lib/components/mui/summit-addon-select.js +1 -1
  146. package/lib/components/mui/summit-addon-select.js.map +1 -1
  147. package/lib/components/mui/summits-dropdown.js +1 -1
  148. package/lib/components/mui/summits-dropdown.js.map +1 -1
  149. package/lib/components/mui/table.js +1 -1
  150. package/lib/components/mui/table.js.map +1 -1
  151. package/lib/components/progressive-img.js.map +1 -1
  152. package/lib/components/raw-html.js.map +1 -1
  153. package/lib/components/schedule-builder-view.js +1 -1
  154. package/lib/components/schedule-builder-view.js.map +1 -1
  155. package/lib/components/sections/panel.js.map +1 -1
  156. package/lib/components/simple-link-list.js.map +1 -1
  157. package/lib/components/sponsored-project-input.js +1 -1
  158. package/lib/components/sponsored-project-input.js.map +1 -1
  159. package/lib/components/summit-dropdown.js.map +1 -1
  160. package/lib/components/table-editable.js +1 -1
  161. package/lib/components/table-editable.js.map +1 -1
  162. package/lib/components/table-selectable.js.map +1 -1
  163. package/lib/components/table-sortable.js.map +1 -1
  164. package/lib/components/table.js.map +1 -1
  165. package/lib/components/video-stream.js.map +1 -1
  166. package/lib/css/components/index.css +1 -1
  167. package/lib/css/components/index.css.map +1 -1
  168. package/lib/i18n.js +1 -1
  169. package/lib/i18n.js.map +1 -1
  170. package/lib/models/index.js.map +1 -1
  171. package/lib/models/summit-event.js.map +1 -1
  172. package/lib/security/abstract-auth-callback-route-v2.js +1 -1
  173. package/lib/security/abstract-auth-callback-route-v2.js.map +1 -1
  174. package/lib/security/abstract-auth-callback-route.js +1 -1
  175. package/lib/security/abstract-auth-callback-route.js.map +1 -1
  176. package/lib/security/actions.js +1 -1
  177. package/lib/security/actions.js.map +1 -1
  178. package/lib/security/methods.js +1 -1
  179. package/lib/security/methods.js.map +1 -1
  180. package/lib/security/reducers.js +1 -1
  181. package/lib/security/reducers.js.map +1 -1
  182. package/lib/security/session-checker.js +1 -1
  183. package/lib/security/session-checker.js.map +1 -1
  184. package/lib/utils/actions.js +1 -1
  185. package/lib/utils/actions.js.map +1 -1
  186. package/lib/utils/fragment-parser.js.map +1 -1
  187. package/lib/utils/methods.js +1 -1
  188. package/lib/utils/methods.js.map +1 -1
  189. package/lib/utils/money.js.map +1 -1
  190. package/lib/utils/query-actions.js +1 -1
  191. package/lib/utils/query-actions.js.map +1 -1
  192. package/lib/utils/questions-set.js +1 -1
  193. package/lib/utils/questions-set.js.map +1 -1
  194. package/lib/utils/reducers.js +1 -1
  195. package/lib/utils/reducers.js.map +1 -1
  196. package/lib/utils/use-fit-text.js.map +1 -1
  197. package/package.json +1 -9
  198. package/.claude/settings.local.json +0 -12
  199. package/lib/components/mui/alert-button.js +0 -2
  200. package/lib/components/mui/alert-button.js.map +0 -1
  201. package/lib/components/mui/alert-modal.js +0 -2
  202. package/lib/components/mui/alert-modal.js.map +0 -1
  203. package/lib/components/mui/auth-button.js +0 -2
  204. package/lib/components/mui/auth-button.js.map +0 -1
  205. package/lib/components/mui/cart-button.js +0 -2
  206. package/lib/components/mui/cart-button.js.map +0 -1
  207. package/lib/components/mui/confirm-delete-dialog.js +0 -2
  208. package/lib/components/mui/confirm-delete-dialog.js.map +0 -1
  209. package/lib/components/mui/dashboard-card.js +0 -2
  210. package/lib/components/mui/dashboard-card.js.map +0 -1
  211. package/lib/components/mui/download-btn.js +0 -2
  212. package/lib/components/mui/download-btn.js.map +0 -1
  213. package/lib/components/mui/loading-overlay.js +0 -2
  214. package/lib/components/mui/loading-overlay.js.map +0 -1
  215. package/lib/components/mui/nav-bar.js +0 -2
  216. package/lib/components/mui/nav-bar.js.map +0 -1
  217. package/lib/components/mui/order-summary.js +0 -2
  218. package/lib/components/mui/order-summary.js.map +0 -1
  219. package/lib/components/mui/status-chip.js +0 -2
  220. package/lib/components/mui/status-chip.js.map +0 -1
  221. package/lib/components/mui/stripe-payment.js +0 -2
  222. package/lib/components/mui/stripe-payment.js.map +0 -1
  223. package/lib/components/mui/upload-btn.js +0 -2
  224. package/lib/components/mui/upload-btn.js.map +0 -1
  225. package/lib/components/mui/upload-dialog.js +0 -2
  226. package/lib/components/mui/upload-dialog.js.map +0 -1
  227. package/lib/css/components/mui/auth-button.css +0 -1
  228. package/lib/css/components/mui/nav-bar.css +0 -1
  229. package/lib/css/components/mui/upload-dialog.css +0 -2
  230. package/lib/css/components/mui/upload-dialog.css.map +0 -1
@@ -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={4574:(e,t,n)=>{n.d(t,{default:()=>m});var r=n(2015),o=n.n(r),a=n(9825),i=n.n(a),l=n(8619),c=n(5814);const s={warning:o().createElement(c.Warning,{color:"warning"}),success:o().createElement(c.CheckCircle,{color:"success"}),error:o().createElement(c.Error,{color:"error"}),info:o().createElement(c.Info,{color:"info"})},u=({open:e,title:t,text:n,iconType:r="",onConfirm:a,onCancel:i,confirmButtonText:c="Confirm",confirmButtonColor:u="primary",cancelButtonText:m="Cancel",cancelButtonColor:d="primary"})=>o().createElement(l.Dialog,{open:e,onClose:i},o().createElement(l.DialogTitle,{sx:{p:2},component:"div"},o().createElement(l.Typography,{variant:"h5"},t)),o().createElement(l.Divider,null),o().createElement(l.DialogContent,{sx:{p:2}},o().createElement("div",{style:{display:"flex",alignItems:"center"}},s[r]&&o().createElement("div",{style:{marginRight:10}},s[r]),o().createElement(l.Typography,{variant:"body1"},n))),o().createElement(l.Divider,{sx:{margin:"10px 0px 10px 0px"}}),o().createElement(l.DialogActions,null,o().createElement(l.Button,{fullWidth:!0,onClick:i,color:d,variant:"outlined",sx:{whiteSpace:"nowrap",minWidth:100}},m),o().createElement(l.Button,{fullWidth:!0,onClick:a,color:u,variant:"contained",sx:{whiteSpace:"nowrap",minWidth:100}},c)));u.propTypes={open:i().bool,title:i().string.isRequired,text:i().string.isRequired,iconType:i().string,onConfirm:i().func.isRequired,onCancel:i().func.isRequired,confirmButtonText:i().string,confirmButtonColor:i().string,cancelButtonText:i().string,cancelButtonColor:i().string},u.defaultProps={open:!1,iconType:"warning",confirmButtonText:"Confirm",confirmButtonColor:"primary",cancelButtonText:"Cancel",cancelButtonColor:"default"};const m=u},2024:(e,t,n)=>{n.d(t,{default:()=>s});const r=require("react-dom");var o=n.n(r),a=n(2015),i=n.n(a),l=n(4574);let c;const s=({title:e,text:t,iconType:n="",confirmButtonText:r="Confirm",cancelButtonText:a="Cancel",confirmButtonColor:s="primary",cancelButtonColor:u="primary"})=>new Promise((m=>{const d=document.createElement("div");document.body.appendChild(d);let p=null;const g=e=>{p?p.unmount():o().unmountComponentAtNode(d),d.remove(),m(e)},f=i().createElement(l.default,{open:!0,title:e,text:t,iconType:n,confirmButtonText:r,cancelButtonText:a,confirmButtonColor:s,cancelButtonColor:u,onConfirm:()=>g(!0),onCancel:()=>g(!1)});(async function(){if(void 0!==c)return c;try{const e=await import("react-dom/client");c=e.createRoot||null}catch(e){c=null}return c})().then((e=>{e?(p=e(d),p.render(f)):o().render(f,d)}))}))},3209:(e,t,n)=>{n.d(t,{Lr:()=>a,WU:()=>r,k6:()=>o});const r=10,o=20,a=50},1116:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},5814:e=>{e.exports=require("@mui/icons-material")},6084:e=>{e.exports=require("@mui/icons-material/Delete")},9247:e=>{e.exports=require("@mui/icons-material/Edit")},8619:e=>{e.exports=require("@mui/material")},6989:e=>{e.exports=require("@mui/material/Box")},6368:e=>{e.exports=require("@mui/material/Button")},270:e=>{e.exports=require("@mui/material/Paper")},9292:e=>{e.exports=require("@mui/material/Table")},9008:e=>{e.exports=require("@mui/material/TableBody")},5684:e=>{e.exports=require("@mui/material/TableCell")},5783:e=>{e.exports=require("@mui/material/TableContainer")},8202:e=>{e.exports=require("@mui/material/TableHead")},4308:e=>{e.exports=require("@mui/material/TablePagination")},464:e=>{e.exports=require("@mui/material/TableRow")},38:e=>{e.exports=require("@mui/material/TableSortLabel")},6831:e=>{e.exports=require("@mui/utils")},6842:e=>{e.exports=require("i18n-react/dist/i18n-react")},9825:e=>{e.exports=require("prop-types")},2015:e=>{e.exports=require("react")}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,n),a.exports}(()=>{n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t}})(),(()=>{n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var r={};n.r(r),n.d(r,{default:()=>$});var o=n(1116),a=n.n(o),i=n(2015),l=n(6842),c=n.n(l),s=n(6989),u=n.n(s),m=n(6368),d=n.n(m),p=n(9292),g=n.n(p),f=n(9008),y=n.n(f),x=n(5684),b=n.n(x),h=n(5783),E=n.n(h),v=n(8202),C=n.n(v),w=n(4308),P=n.n(w),T=n(38),B=n.n(T),q=n(464),O=n.n(q),k=n(270),S=n.n(k),D=n(8619),j=n(9247),_=n.n(j),K=n(6084),R=n.n(K),W=n(6831),I=n(3209),M=n(2024);function z(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function A(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?z(Object(n),!0).forEach((function(t){a()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):z(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}const L={backgroundColor:"background.light",color:"text.disabled"},V=({value:e,isEditing:t,onBlur:n,validation:r})=>{const[o,a]=i.useState(e),[l,c]=i.useState(!1),[s,m]=i.useState(null);i.useEffect((()=>{a(e),m(null)}),[e]);const d=e=>{const{isValid:t,message:o}=((e,t)=>{if(!t)return{isValid:!0};if(t.schema&&"function"==typeof t.schema.validateSync)try{return t.schema.validateSync(e),{isValid:!0,message:null}}catch(e){return{isValid:!1,message:e.message}}return{isValid:!0}})(e,r);t?(m(null),n(e,!0)):m(o)},p=e=>{"Enter"===e.key&&(e.preventDefault(),d(o))};return t?i.createElement(D.TextField,{autoFocus:!0,value:o,onChange:e=>{a(e.target.value),s&&m(null)},onBlur:()=>{d(o)},onKeyDown:p,size:"small",fullWidth:!0,variant:"standard",error:!!s,helperText:s}):i.createElement(u(),{sx:{display:"flex",alignItems:"center",position:"relative",width:"100%",height:"100%"},onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1)},i.createElement("span",{style:{flex:1}},e),l&&i.createElement(_(),{fontSize:"small",sx:{opacity:.5,position:"absolute",right:0,"&:hover":{opacity:1}}}))},$=({columns:e=[],data:t=[],totalRows:n,perPage:r,currentPage:o,onPageChange:a,onPerPageChange:l,onSort:s,options:m={sortCol:"",sortDir:1,disableProp:null},getName:p=e=>e.name,onEdit:f,onArchive:x,onDelete:h,onCellChange:v,deleteDialogBody:w})=>{const[T,q]=i.useState(null),k=[I.WU,I.k6,I.Lr],j=k.includes(r)?k:[...k,r].sort(((e,t)=>e-t)),{sortCol:K,sortDir:z}=m,$=(e,t={})=>A(A({},t),(e=>m.disableProp&&e[m.disableProp]?L:null)(e)||{}),H=(e,t)=>"function"==typeof e.editable?e.editable(t):!!e.editable;return i.createElement(u(),{sx:{width:"100%"}},i.createElement(S(),{elevation:0,sx:{width:"100%",mb:2}},i.createElement(E(),{component:S(),sx:{borderRadius:0,boxShadow:"none"}},i.createElement(g(),null,i.createElement(C(),{sx:{backgroundColor:"#EAEAEA"}},i.createElement(O(),null,e.map((e=>i.createElement(b(),{key:e.columnKey,sx:{width:e.width,minWidth:e.width,maxWidth:e.width},align:e.align??"left"},e.sortable?i.createElement(B(),{active:K===e.columnKey,direction:K===e.columnKey&&-1===z?"desc":"asc",onClick:()=>s(e.columnKey,-1*z)},e.header,K===e.columnKey?i.createElement(u(),{component:"span",sx:W.visuallyHidden},-1===z?c().translate("mui_table.sorted_desc"):c().translate("mui_table.sorted_asc")):null):e.header))),f&&i.createElement(b(),{sx:{width:40}}),x&&i.createElement(b(),{sx:{width:80}}),h&&i.createElement(b(),{sx:{width:40}}))),i.createElement(y(),null,t.map((t=>i.createElement(O(),{key:t.id},e.map((n=>i.createElement(b(),{key:`${t.id}-${n.columnKey}`,onClick:()=>((t,n)=>{const r=e.find((e=>e.columnKey===n));r&&H(r,t)&&q({rowId:t.id,columnKey:n})})(t,n.columnKey),sx:$(t,{cursor:H(n,t)?"pointer":"default",padding:H(n,t)?"8px 16px":void 0})},H(n,t)?i.createElement(V,{value:t[n.columnKey],isEditing:T&&T.rowId===t.id&&T.columnKey===n.columnKey,onBlur:(e,r)=>((e,t,n,r)=>{v&&r&&v(e,t,n),q(null)})(t.id,n.columnKey,e,r),validation:n.validation}):n.render?n.render(t):t[n.columnKey]))),f&&i.createElement(b(),{sx:$(t)},i.createElement(D.IconButton,{onClick:()=>f(t),size:"small","aria-label":c().translate("general.edit")},i.createElement(_(),null))),x&&i.createElement(b(),{align:"center",sx:{width:80}},i.createElement(d(),{variant:"text",color:"inherit",size:"small",onClick:()=>x(t),sx:{fontSize:"1.3rem",fontWeight:500,lineHeight:"2.2rem",padding:"4px 5px"}},t.is_archived?c().translate("general.unarchive"):c().translate("general.archive"))),h&&i.createElement(b(),{sx:$(t)},i.createElement(D.IconButton,{onClick:()=>(async e=>{await(0,M.default)({title:c().translate("general.are_you_sure"),text:w?w(p(e)):`${c().translate("general.row_remove_warning")} ${p(e)}`,type:"warning",showCancelButton:!0,confirmButtonColor:"#DD6B55",confirmButtonText:c().translate("general.yes_delete")})&&h(e.id)})(t),size:"small","aria-label":c().translate("general.delete")},i.createElement(R(),null))))))))),i.createElement(P(),{rowsPerPageOptions:j,component:"div",count:n??t.length,rowsPerPage:r,page:o-1,onPageChange:(e,t)=>{a(t+1)},onRowsPerPageChange:e=>{l(e.target.value)},labelRowsPerPage:c().translate("mui_table.rows_per_page"),sx:{".MuiTablePagination-toolbar":{alignItems:"baseline",marginTop:"1.6rem"},".MuiTablePagination-spacer":{display:"none"},".MuiTablePagination-displayedRows":{marginLeft:"auto"}}})))};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={4574:(e,t,n)=>{n.d(t,{default:()=>m});var r=n(2015),o=n.n(r),a=n(9825),i=n.n(a),l=n(8619),c=n(5814);const s={warning:o().createElement(c.Warning,{color:"warning"}),success:o().createElement(c.CheckCircle,{color:"success"}),error:o().createElement(c.Error,{color:"error"}),info:o().createElement(c.Info,{color:"info"})},u=({open:e,title:t,text:n,iconType:r="",onConfirm:a,onCancel:i,confirmButtonText:c="Confirm",confirmButtonColor:u="primary",cancelButtonText:m="Cancel",cancelButtonColor:d="primary"})=>o().createElement(l.Dialog,{open:e,onClose:i},o().createElement(l.DialogTitle,{sx:{p:2},component:"div"},o().createElement(l.Typography,{variant:"h5"},t)),o().createElement(l.Divider,null),o().createElement(l.DialogContent,{sx:{p:2}},o().createElement("div",{style:{display:"flex",alignItems:"center"}},s[r]&&o().createElement("div",{style:{marginRight:10}},s[r]),o().createElement(l.Typography,{variant:"body1"},n))),o().createElement(l.Divider,{sx:{margin:"10px 0px 10px 0px"}}),o().createElement(l.DialogActions,null,o().createElement(l.Button,{fullWidth:!0,onClick:i,color:d,variant:"outlined",sx:{whiteSpace:"nowrap",minWidth:100}},m),o().createElement(l.Button,{fullWidth:!0,onClick:a,color:u,variant:"contained",sx:{whiteSpace:"nowrap",minWidth:100}},c)));u.propTypes={open:i().bool,title:i().string.isRequired,text:i().string.isRequired,iconType:i().string,onConfirm:i().func.isRequired,onCancel:i().func.isRequired,confirmButtonText:i().string,confirmButtonColor:i().string,cancelButtonText:i().string,cancelButtonColor:i().string},u.defaultProps={open:!1,iconType:"warning",confirmButtonText:"Confirm",confirmButtonColor:"primary",cancelButtonText:"Cancel",cancelButtonColor:"default"};const m=u},2024:(e,t,n)=>{n.d(t,{default:()=>s});const r=require("react-dom");var o=n.n(r),a=n(2015),i=n.n(a),l=n(4574);let c=null;const s=({title:e,text:t,iconType:n="",confirmButtonText:r="Confirm",cancelButtonText:a="Cancel",confirmButtonColor:s="primary",cancelButtonColor:u="primary"})=>c?c({title:e,text:t,iconType:n,confirmButtonText:r,cancelButtonText:a,confirmButtonColor:s,cancelButtonColor:u}):(console.warn("[openstack-uicore-foundation] showConfirmDialog: ConfirmDialogProvider is not mounted. For better React 16/17/18/19 compatibility, wrap your app with <ConfirmDialogProvider>. Falling back to ReactDOM.render."),new Promise((c=>{const m=document.createElement("div");document.body.appendChild(m);const d=e=>{o().unmountComponentAtNode(m),m.remove(),c(e)},p=i().createElement(l.default,{open:!0,title:e,text:t,iconType:n,confirmButtonText:r,cancelButtonText:a,confirmButtonColor:s,cancelButtonColor:u,onConfirm:()=>d(!0),onCancel:()=>d(!1)});o().render(p,m)})))},3209:(e,t,n)=>{n.d(t,{Lr:()=>a,WU:()=>r,k6:()=>o});const r=10,o=20,a=50},1116:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},5814:e=>{e.exports=require("@mui/icons-material")},6084:e=>{e.exports=require("@mui/icons-material/Delete")},9247:e=>{e.exports=require("@mui/icons-material/Edit")},8619:e=>{e.exports=require("@mui/material")},6989:e=>{e.exports=require("@mui/material/Box")},6368:e=>{e.exports=require("@mui/material/Button")},270:e=>{e.exports=require("@mui/material/Paper")},9292:e=>{e.exports=require("@mui/material/Table")},9008:e=>{e.exports=require("@mui/material/TableBody")},5684:e=>{e.exports=require("@mui/material/TableCell")},5783:e=>{e.exports=require("@mui/material/TableContainer")},8202:e=>{e.exports=require("@mui/material/TableHead")},4308:e=>{e.exports=require("@mui/material/TablePagination")},464:e=>{e.exports=require("@mui/material/TableRow")},38:e=>{e.exports=require("@mui/material/TableSortLabel")},6831:e=>{e.exports=require("@mui/utils")},6842:e=>{e.exports=require("i18n-react/dist/i18n-react")},9825:e=>{e.exports=require("prop-types")},2015:e=>{e.exports=require("react")}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,n),a.exports}(()=>{n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t}})(),(()=>{n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var r={};n.r(r),n.d(r,{default:()=>F});var o=n(1116),a=n.n(o),i=n(2015),l=n(6842),c=n.n(l),s=n(6989),u=n.n(s),m=n(6368),d=n.n(m),p=n(9292),g=n.n(p),f=n(9008),x=n.n(f),y=n(5684),b=n.n(y),h=n(5783),E=n.n(h),v=n(8202),C=n.n(v),w=n(4308),B=n.n(w),P=n(38),T=n.n(P),q=n(464),O=n.n(q),k=n(270),D=n.n(k),S=n(8619),j=n(9247),_=n.n(j),K=n(6084),R=n.n(K),W=n(6831),M=n(3209),I=n(2024);function z(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function A(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?z(Object(n),!0).forEach((function(t){a()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):z(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}const L={backgroundColor:"background.light",color:"text.disabled"},V=({value:e,isEditing:t,onBlur:n,validation:r})=>{const[o,a]=i.useState(e),[l,c]=i.useState(!1),[s,m]=i.useState(null);i.useEffect((()=>{a(e),m(null)}),[e]);const d=e=>{const{isValid:t,message:o}=((e,t)=>{if(!t)return{isValid:!0};if(t.schema&&"function"==typeof t.schema.validateSync)try{return t.schema.validateSync(e),{isValid:!0,message:null}}catch(e){return{isValid:!1,message:e.message}}return{isValid:!0}})(e,r);t?(m(null),n(e,!0)):m(o)},p=e=>{"Enter"===e.key&&(e.preventDefault(),d(o))};return t?i.createElement(S.TextField,{autoFocus:!0,value:o,onChange:e=>{a(e.target.value),s&&m(null)},onBlur:()=>{d(o)},onKeyDown:p,size:"small",fullWidth:!0,variant:"standard",error:!!s,helperText:s}):i.createElement(u(),{sx:{display:"flex",alignItems:"center",position:"relative",width:"100%",height:"100%"},onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1)},i.createElement("span",{style:{flex:1}},e),l&&i.createElement(_(),{fontSize:"small",sx:{opacity:.5,position:"absolute",right:0,"&:hover":{opacity:1}}}))},F=({columns:e=[],data:t=[],totalRows:n,perPage:r,currentPage:o,onPageChange:a,onPerPageChange:l,onSort:s,options:m={sortCol:"",sortDir:1,disableProp:null},getName:p=e=>e.name,onEdit:f,onArchive:y,onDelete:h,onCellChange:v,deleteDialogBody:w})=>{const[P,q]=i.useState(null),k=[M.WU,M.k6,M.Lr],j=k.includes(r)?k:[...k,r].sort(((e,t)=>e-t)),{sortCol:K,sortDir:z}=m,F=(e,t={})=>A(A({},t),(e=>m.disableProp&&e[m.disableProp]?L:null)(e)||{}),$=(e,t)=>"function"==typeof e.editable?e.editable(t):!!e.editable;return i.createElement(u(),{sx:{width:"100%"}},i.createElement(D(),{elevation:0,sx:{width:"100%",mb:2}},i.createElement(E(),{component:D(),sx:{borderRadius:0,boxShadow:"none"}},i.createElement(g(),null,i.createElement(C(),{sx:{backgroundColor:"#EAEAEA"}},i.createElement(O(),null,e.map((e=>i.createElement(b(),{key:e.columnKey,sx:{width:e.width,minWidth:e.width,maxWidth:e.width},align:e.align??"left"},e.sortable?i.createElement(T(),{active:K===e.columnKey,direction:K===e.columnKey&&-1===z?"desc":"asc",onClick:()=>s(e.columnKey,-1*z)},e.header,K===e.columnKey?i.createElement(u(),{component:"span",sx:W.visuallyHidden},-1===z?c().translate("mui_table.sorted_desc"):c().translate("mui_table.sorted_asc")):null):e.header))),f&&i.createElement(b(),{sx:{width:40}}),y&&i.createElement(b(),{sx:{width:80}}),h&&i.createElement(b(),{sx:{width:40}}))),i.createElement(x(),null,t.map((t=>i.createElement(O(),{key:t.id},e.map((n=>i.createElement(b(),{key:`${t.id}-${n.columnKey}`,onClick:()=>((t,n)=>{const r=e.find((e=>e.columnKey===n));r&&$(r,t)&&q({rowId:t.id,columnKey:n})})(t,n.columnKey),sx:F(t,{cursor:$(n,t)?"pointer":"default",padding:$(n,t)?"8px 16px":void 0})},$(n,t)?i.createElement(V,{value:t[n.columnKey],isEditing:P&&P.rowId===t.id&&P.columnKey===n.columnKey,onBlur:(e,r)=>((e,t,n,r)=>{v&&r&&v(e,t,n),q(null)})(t.id,n.columnKey,e,r),validation:n.validation}):n.render?n.render(t):t[n.columnKey]))),f&&i.createElement(b(),{sx:F(t)},i.createElement(S.IconButton,{onClick:()=>f(t),size:"small","aria-label":c().translate("general.edit")},i.createElement(_(),null))),y&&i.createElement(b(),{align:"center",sx:{width:80}},i.createElement(d(),{variant:"text",color:"inherit",size:"small",onClick:()=>y(t),sx:{fontSize:"1.3rem",fontWeight:500,lineHeight:"2.2rem",padding:"4px 5px"}},t.is_archived?c().translate("general.unarchive"):c().translate("general.archive"))),h&&i.createElement(b(),{sx:F(t)},i.createElement(S.IconButton,{onClick:()=>(async e=>{await(0,I.default)({title:c().translate("general.are_you_sure"),text:w?w(p(e)):`${c().translate("general.row_remove_warning")} ${p(e)}`,type:"warning",showCancelButton:!0,confirmButtonColor:"#DD6B55",confirmButtonText:c().translate("general.yes_delete")})&&h(e.id)})(t),size:"small","aria-label":c().translate("general.delete")},i.createElement(R(),null))))))))),i.createElement(B(),{rowsPerPageOptions:j,component:"div",count:n??t.length,rowsPerPage:r,page:o-1,onPageChange:(e,t)=>{a(t+1)},onRowsPerPageChange:e=>{l(e.target.value)},labelRowsPerPage:c().translate("mui_table.rows_per_page"),sx:{".MuiTablePagination-toolbar":{alignItems:"baseline",marginTop:"1.6rem"},".MuiTablePagination-spacer":{display:"none"},".MuiTablePagination-displayedRows":{marginLeft:"auto"}}})))};return r})()));
2
2
  //# sourceMappingURL=editable-table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components/mui/editable-table.js","mappings":"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","sources":["webpack://openstack-uicore-foundation/webpack/universalModuleDefinition","webpack://openstack-uicore-foundation/./src/components/mui/confirm-dialog.js","webpack://openstack-uicore-foundation/external commonjs \"react-dom\"","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 \"@mui/icons-material\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/icons-material/Delete\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/icons-material/Edit\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/material\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/material/Box\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/material/Button\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/material/Paper\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/material/Table\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/material/TableBody\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/material/TableCell\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/material/TableContainer\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/material/TableHead\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/material/TablePagination\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/material/TableRow\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/material/TableSortLabel\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/utils\"","webpack://openstack-uicore-foundation/external commonjs \"i18n-react/dist/i18n-react\"","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/./src/components/mui/editable-table/mui-table-editable.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 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, Error, Info, Warning } from \"@mui/icons-material\";\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-dom\");","/**\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 ReactDOM from \"react-dom\";\nimport React from \"react\";\nimport ConfirmDialog from \"./confirm-dialog\";\n\n// Lazy-loaded createRoot for React 18+.\n// Cached after first call so the dynamic import only runs once.\nlet createRootFn = undefined; // undefined = not yet checked\n\nasync function getCreateRoot() {\n if (createRootFn !== undefined) return createRootFn;\n try {\n // webpackIgnore prevents webpack from resolving this at build time,\n // so consuming projects on React 16/17 won't get a \"Module not found\" error.\n const mod = await import(/* webpackIgnore: true */ \"react-dom/client\");\n createRootFn = mod.createRoot || null;\n } catch (_) {\n createRootFn = null;\n }\n return createRootFn;\n}\n\nconst showConfirmDialog = ({\n title,\n text,\n iconType = \"\",\n confirmButtonText = \"Confirm\",\n cancelButtonText = \"Cancel\",\n confirmButtonColor = \"primary\",\n cancelButtonColor = \"primary\"\n}) =>\n new Promise((resolve) => {\n const container = document.createElement(\"div\");\n document.body.appendChild(container);\n\n let root = null;\n\n const close = (answer) => {\n if (root) {\n root.unmount();\n } else {\n ReactDOM.unmountComponentAtNode(container);\n }\n container.remove();\n resolve(answer);\n };\n\n const handleConfirm = () => close(true);\n const handleCancel = () => close(false);\n\n const element = (\n <ConfirmDialog\n open\n title={title}\n text={text}\n iconType={iconType}\n confirmButtonText={confirmButtonText}\n cancelButtonText={cancelButtonText}\n confirmButtonColor={confirmButtonColor}\n cancelButtonColor={cancelButtonColor}\n onConfirm={handleConfirm}\n onCancel={handleCancel}\n />\n );\n\n getCreateRoot().then((createRoot) => {\n if (createRoot) {\n root = createRoot(container);\n root.render(element);\n } else {\n ReactDOM.render(element, container);\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};","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","module.exports = require(\"@mui/icons-material\");","module.exports = require(\"@mui/icons-material/Delete\");","module.exports = require(\"@mui/icons-material/Edit\");","module.exports = require(\"@mui/material\");","module.exports = require(\"@mui/material/Box\");","module.exports = require(\"@mui/material/Button\");","module.exports = require(\"@mui/material/Paper\");","module.exports = require(\"@mui/material/Table\");","module.exports = require(\"@mui/material/TableBody\");","module.exports = require(\"@mui/material/TableCell\");","module.exports = require(\"@mui/material/TableContainer\");","module.exports = require(\"@mui/material/TableHead\");","module.exports = require(\"@mui/material/TablePagination\");","module.exports = require(\"@mui/material/TableRow\");","module.exports = require(\"@mui/material/TableSortLabel\");","module.exports = require(\"@mui/utils\");","module.exports = require(\"i18n-react/dist/i18n-react\");","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};","/**\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 * as React from \"react\";\nimport T from \"i18n-react/dist/i18n-react\";\nimport Box from \"@mui/material/Box\";\nimport Button from \"@mui/material/Button\";\nimport Table from \"@mui/material/Table\";\nimport TableBody from \"@mui/material/TableBody\";\nimport TableCell from \"@mui/material/TableCell\";\nimport TableContainer from \"@mui/material/TableContainer\";\nimport TableHead from \"@mui/material/TableHead\";\nimport TablePagination from \"@mui/material/TablePagination\";\nimport TableSortLabel from \"@mui/material/TableSortLabel\";\nimport TableRow from \"@mui/material/TableRow\";\nimport Paper from \"@mui/material/Paper\";\nimport { IconButton, TextField } from \"@mui/material\";\nimport EditIcon from \"@mui/icons-material/Edit\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport { visuallyHidden } from \"@mui/utils\";\n\nimport {\n DEFAULT_PER_PAGE,\n FIFTY_PER_PAGE,\n TWENTY_PER_PAGE\n} from \"../../../utils/constants\";\nimport showConfirmDialog from \"../showConfirmDialog\";\n\nconst ARCHIVED_CELL_SX = {\n backgroundColor: \"background.light\",\n color: \"text.disabled\"\n};\n\nconst validateValue = (value, validation) => {\n if (!validation) return { isValid: true };\n\n // validate with yup schema\n if (\n validation.schema &&\n typeof validation.schema.validateSync === \"function\"\n ) {\n try {\n validation.schema.validateSync(value);\n return { isValid: true, message: null };\n } catch (err) {\n return { isValid: false, message: err.message };\n }\n }\n\n return { isValid: true };\n};\n\n// Updated component to handle editable cells with hover edit icon\nconst EditableCell = ({ value, isEditing, onBlur, validation }) => {\n const [inputValue, setInputValue] = React.useState(value);\n const [isHovering, setIsHovering] = React.useState(false);\n const [error, setError] = React.useState(null);\n\n React.useEffect(() => {\n setInputValue(value);\n setError(null);\n }, [value]);\n\n const handleValidationAndSave = (newValue) => {\n const { isValid, message } = validateValue(newValue, validation);\n\n if (isValid) {\n setError(null);\n onBlur(newValue, true);\n } else {\n setError(message);\n }\n };\n\n const handleKeyDown = (e) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n handleValidationAndSave(inputValue);\n }\n };\n\n if (isEditing) {\n return (\n <TextField\n autoFocus\n value={inputValue}\n onChange={(e) => {\n setInputValue(e.target.value);\n if (error) setError(null);\n }}\n onBlur={() => {\n handleValidationAndSave(inputValue);\n }}\n onKeyDown={handleKeyDown}\n size=\"small\"\n fullWidth\n variant=\"standard\"\n error={!!error}\n helperText={error}\n />\n );\n }\n\n return (\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n position: \"relative\",\n width: \"100%\",\n height: \"100%\"\n }}\n onMouseEnter={() => setIsHovering(true)}\n onMouseLeave={() => setIsHovering(false)}\n >\n <span style={{ flex: 1 }}>{value}</span>\n {isHovering && (\n <EditIcon\n fontSize=\"small\"\n sx={{\n opacity: 0.5,\n position: \"absolute\",\n right: 0,\n \"&:hover\": {\n opacity: 1\n }\n }}\n />\n )}\n </Box>\n );\n};\n\nconst MuiTableEditable = ({\n columns = [],\n data = [],\n totalRows,\n perPage,\n currentPage,\n onPageChange,\n onPerPageChange,\n onSort,\n options = { sortCol: \"\", sortDir: 1, disableProp: null },\n getName = (item) => item.name,\n onEdit,\n onArchive,\n onDelete,\n onCellChange, // New prop for handling cell value changes\n deleteDialogBody\n}) => {\n // State to track which cell is currently being edited\n const [editingCell, setEditingCell] = React.useState(null);\n\n const handleChangePage = (_, newPage) => {\n onPageChange(newPage + 1);\n };\n\n const handleChangeRowsPerPage = (ev) => {\n onPerPageChange(ev.target.value);\n };\n\n const basePerPageOptions = [\n DEFAULT_PER_PAGE,\n TWENTY_PER_PAGE,\n FIFTY_PER_PAGE\n ];\n\n const customPerPageOptions = basePerPageOptions.includes(perPage)\n ? basePerPageOptions\n : [...basePerPageOptions, perPage].sort((a, b) => a - b);\n\n const { sortCol, sortDir } = options;\n\n const getArchivedCellSx = (row) =>\n options.disableProp && row[options.disableProp] ? ARCHIVED_CELL_SX : null;\n\n const getCellSx = (row, baseSx = {}) => ({\n ...baseSx,\n ...(getArchivedCellSx(row) || {})\n });\n\n const handleDelete = async (item) => {\n const isConfirmed = await showConfirmDialog({\n title: T.translate(\"general.are_you_sure\"),\n text: deleteDialogBody\n ? deleteDialogBody(getName(item))\n : `${T.translate(\"general.row_remove_warning\")} ${getName(item)}`,\n type: \"warning\",\n showCancelButton: true,\n confirmButtonColor: \"#DD6B55\",\n confirmButtonText: T.translate(\"general.yes_delete\")\n });\n\n if (isConfirmed) {\n onDelete(item.id);\n }\n };\n\n const isEditable = (col, row) =>\n typeof col.editable === \"function\" ? col.editable(row) : !!col.editable;\n\n // Handler for starting edit mode on a cell\n const handleCellClick = (row, columnKey) => {\n // Check if the column is editable\n const column = columns.find((col) => col.columnKey === columnKey);\n if (column && isEditable(column, row)) {\n setEditingCell({ rowId: row.id, columnKey });\n }\n };\n\n // Handler for saving changes when editing is complete\n const handleCellBlur = (rowId, columnKey, newValue, isValid) => {\n if (onCellChange && isValid) {\n onCellChange(rowId, columnKey, newValue);\n }\n setEditingCell(null);\n };\n\n return (\n <Box sx={{ width: \"100%\" }}>\n <Paper elevation={0} sx={{ width: \"100%\", mb: 2 }}>\n <TableContainer\n component={Paper}\n sx={{ borderRadius: 0, boxShadow: \"none\" }}\n >\n <Table>\n {/* TABLE HEADER */}\n <TableHead sx={{ backgroundColor: \"#EAEAEA\" }}>\n <TableRow>\n {columns.map((col) => (\n <TableCell\n key={col.columnKey}\n sx={{\n width: col.width,\n minWidth: col.width,\n maxWidth: col.width\n }}\n align={col.align ?? \"left\"}\n >\n {col.sortable ? (\n <TableSortLabel\n active={sortCol === col.columnKey}\n direction={\n sortCol === col.columnKey && sortDir === -1\n ? \"desc\"\n : \"asc\"\n }\n onClick={() => onSort(col.columnKey, sortDir * -1)}\n >\n {col.header}\n {sortCol === col.columnKey ? (\n <Box component=\"span\" sx={visuallyHidden}>\n {sortDir === -1\n ? T.translate(\"mui_table.sorted_desc\")\n : T.translate(\"mui_table.sorted_asc\")}\n </Box>\n ) : null}\n </TableSortLabel>\n ) : (\n col.header\n )}\n </TableCell>\n ))}\n {onEdit && <TableCell sx={{ width: 40 }} />}\n {onArchive && <TableCell sx={{ width: 80 }} />}\n {onDelete && <TableCell sx={{ width: 40 }} />}\n </TableRow>\n </TableHead>\n {/* TABLE BODY */}\n <TableBody>\n {data.map((row) => (\n <TableRow key={row.id}>\n {columns.map((col) => (\n <TableCell\n key={`${row.id}-${col.columnKey}`}\n onClick={() => handleCellClick(row, col.columnKey)}\n sx={getCellSx(row, {\n cursor: isEditable(col, row) ? \"pointer\" : \"default\",\n padding: isEditable(col, row) ? \"8px 16px\" : undefined // Ensure enough space for the edit icon\n })}\n >\n {isEditable(col, row) ? (\n <EditableCell\n value={row[col.columnKey]}\n isEditing={\n editingCell &&\n editingCell.rowId === row.id &&\n editingCell.columnKey === col.columnKey\n }\n onBlur={(newValue, isValid) =>\n handleCellBlur(\n row.id,\n col.columnKey,\n newValue,\n isValid\n )\n }\n validation={col.validation}\n />\n ) : col.render ? (\n col.render(row)\n ) : (\n row[col.columnKey]\n )}\n </TableCell>\n ))}\n {onEdit && (\n <TableCell sx={getCellSx(row)}>\n <IconButton\n onClick={() => onEdit(row)}\n size=\"small\"\n aria-label={T.translate(\"general.edit\")}\n >\n <EditIcon />\n </IconButton>\n </TableCell>\n )}\n {onArchive && (\n <TableCell align=\"center\" sx={{ width: 80 }}>\n <Button\n variant=\"text\"\n color=\"inherit\"\n size=\"small\"\n onClick={() => onArchive(row)}\n sx={{\n fontSize: \"1.3rem\",\n fontWeight: 500,\n lineHeight: \"2.2rem\",\n padding: \"4px 5px\"\n }}\n >\n {row.is_archived\n ? T.translate(\"general.unarchive\")\n : T.translate(\"general.archive\")}\n </Button>\n </TableCell>\n )}\n {onDelete && (\n <TableCell sx={getCellSx(row)}>\n <IconButton\n onClick={() => handleDelete(row)}\n size=\"small\"\n aria-label={T.translate(\"general.delete\")}\n >\n <DeleteIcon />\n </IconButton>\n </TableCell>\n )}\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </TableContainer>\n <TablePagination\n rowsPerPageOptions={customPerPageOptions}\n component=\"div\"\n count={totalRows ?? data.length}\n rowsPerPage={perPage}\n page={currentPage - 1}\n onPageChange={handleChangePage}\n onRowsPerPageChange={handleChangeRowsPerPage}\n labelRowsPerPage={T.translate(\"mui_table.rows_per_page\")}\n sx={{\n \".MuiTablePagination-toolbar\": {\n alignItems: \"baseline\",\n marginTop: \"1.6rem\"\n },\n \".MuiTablePagination-spacer\": {\n display: \"none\"\n },\n \".MuiTablePagination-displayedRows\": {\n marginLeft: \"auto\"\n }\n }}\n />\n </Paper>\n </Box>\n );\n};\n\nexport default MuiTableEditable;\n"],"names":["root","factory","exports","module","define","amd","this","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","require","createRootFn","showConfirmDialog","Promise","resolve","container","document","createElement","body","appendChild","close","answer","unmount","ReactDOM","remove","element","handleConfirm","handleCancel","async","undefined","mod","import","createRoot","_","getCreateRoot","then","render","DEFAULT_PER_PAGE","TWENTY_PER_PAGE","FIFTY_PER_PAGE","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","ARCHIVED_CELL_SX","backgroundColor","EditableCell","isEditing","onBlur","validation","inputValue","setInputValue","isHovering","setIsHovering","setError","handleValidationAndSave","newValue","isValid","message","validateValue","schema","validateSync","err","handleKeyDown","e","preventDefault","TextField","autoFocus","onChange","target","onKeyDown","size","helperText","Box","position","width","height","onMouseEnter","onMouseLeave","flex","EditIcon","fontSize","opacity","right","MuiTableEditable","columns","data","totalRows","perPage","currentPage","onPageChange","onPerPageChange","onSort","options","sortCol","sortDir","disableProp","getName","item","name","onEdit","onArchive","onDelete","onCellChange","deleteDialogBody","editingCell","setEditingCell","basePerPageOptions","customPerPageOptions","includes","sort","b","getCellSx","row","baseSx","_objectSpread","getArchivedCellSx","isEditable","col","editable","Paper","elevation","mb","TableContainer","borderRadius","boxShadow","Table","TableHead","TableRow","map","TableCell","columnKey","maxWidth","align","sortable","TableSortLabel","active","direction","header","visuallyHidden","T","TableBody","id","handleCellClick","column","find","rowId","cursor","padding","handleCellBlur","IconButton","fontWeight","lineHeight","is_archived","type","showCancelButton","handleDelete","DeleteIcon","TablePagination","rowsPerPageOptions","count","length","rowsPerPage","page","handleChangePage","newPage","onRowsPerPageChange","ev","labelRowsPerPage","marginTop","marginLeft"],"sourceRoot":""}
1
+ {"version":3,"file":"components/mui/editable-table.js","mappings":"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","sources":["webpack://openstack-uicore-foundation/webpack/universalModuleDefinition","webpack://openstack-uicore-foundation/./src/components/mui/confirm-dialog.js","webpack://openstack-uicore-foundation/external commonjs \"react-dom\"","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 \"@mui/icons-material\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/icons-material/Delete\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/icons-material/Edit\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/material\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/material/Box\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/material/Button\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/material/Paper\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/material/Table\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/material/TableBody\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/material/TableCell\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/material/TableContainer\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/material/TableHead\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/material/TablePagination\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/material/TableRow\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/material/TableSortLabel\"","webpack://openstack-uicore-foundation/external commonjs \"@mui/utils\"","webpack://openstack-uicore-foundation/external commonjs \"i18n-react/dist/i18n-react\"","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/./src/components/mui/editable-table/mui-table-editable.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 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, Error, Info, Warning } from \"@mui/icons-material\";\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-dom\");","/**\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\n/**\n * REACT 19 USAGE:\n *\n * For React 19 projects (where ReactDOM.render() was removed), wrap your app with the provider:\n *\n * import { ConfirmDialogProvider } from 'openstack-uicore-foundation';\n *\n * function App() {\n * return (\n * <ConfirmDialogProvider>\n * <YourApp />\n * </ConfirmDialogProvider>\n * );\n * }\n *\n * Then use showConfirmDialog() anywhere in your app:\n *\n * import { MuiShowConfirmDialog } from 'openstack-uicore-foundation';\n *\n * const confirmed = await MuiShowConfirmDialog({\n * title: 'Delete Item?',\n * text: 'This cannot be undone'\n * });\n *\n * The provider renders dialogs inside the React tree using hooks (no createRoot or ReactDOM.render needed).\n *\n * WITHOUT PROVIDER (React 16/17/18 fallback):\n * Falls back to ReactDOM.render() - works on React 16/17/18, logs warning suggesting provider migration.\n * Not compatible with React 19 - provider is required.\n */\n\nimport ReactDOM from \"react-dom\";\nimport React from \"react\";\nimport ConfirmDialog from \"./confirm-dialog\";\n\n// Bridge pattern: module-level variable to hold the provider's callback\nlet bridgeFn = null;\n\n/**\n * Register the bridge callback (called by ConfirmDialogProvider on mount)\n * @private - exported for testing only\n */\nexport function _registerBridge(callback) {\n bridgeFn = callback;\n}\n\n/**\n * Unregister the bridge callback (called by ConfirmDialogProvider on unmount)\n * @private - exported for testing only\n */\nexport function _unregisterBridge() {\n bridgeFn = null;\n}\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<unknown>}\n */\nconst showConfirmDialog = ({\n title,\n text,\n iconType = \"\",\n confirmButtonText = \"Confirm\",\n cancelButtonText = \"Cancel\",\n confirmButtonColor = \"primary\",\n cancelButtonColor = \"primary\"\n}) => {\n const options = {\n title,\n text,\n iconType,\n confirmButtonText,\n cancelButtonText,\n confirmButtonColor,\n cancelButtonColor\n };\n\n // If bridge is registered (provider is mounted), use it\n if (bridgeFn) {\n return bridgeFn(options);\n }\n\n // Fallback to ReactDOM.render for backward compatibility\n // This path is used when consuming apps haven't migrated to ConfirmDialogProvider yet\n console.warn(\n \"[openstack-uicore-foundation] showConfirmDialog: ConfirmDialogProvider is not mounted. \" +\n \"For better React 16/17/18/19 compatibility, wrap your app with <ConfirmDialogProvider>. \" +\n \"Falling back to ReactDOM.render.\"\n );\n\n return new Promise((resolve) => {\n const container = document.createElement(\"div\");\n document.body.appendChild(container);\n\n const close = (answer) => {\n ReactDOM.unmountComponentAtNode(container);\n container.remove();\n resolve(answer);\n };\n\n const handleConfirm = () => close(true);\n const handleCancel = () => close(false);\n\n const element = (\n <ConfirmDialog\n open\n title={title}\n text={text}\n iconType={iconType}\n confirmButtonText={confirmButtonText}\n cancelButtonText={cancelButtonText}\n confirmButtonColor={confirmButtonColor}\n cancelButtonColor={cancelButtonColor}\n onConfirm={handleConfirm}\n onCancel={handleCancel}\n />\n );\n\n ReactDOM.render(element, container);\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","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","module.exports = require(\"@mui/icons-material\");","module.exports = require(\"@mui/icons-material/Delete\");","module.exports = require(\"@mui/icons-material/Edit\");","module.exports = require(\"@mui/material\");","module.exports = require(\"@mui/material/Box\");","module.exports = require(\"@mui/material/Button\");","module.exports = require(\"@mui/material/Paper\");","module.exports = require(\"@mui/material/Table\");","module.exports = require(\"@mui/material/TableBody\");","module.exports = require(\"@mui/material/TableCell\");","module.exports = require(\"@mui/material/TableContainer\");","module.exports = require(\"@mui/material/TableHead\");","module.exports = require(\"@mui/material/TablePagination\");","module.exports = require(\"@mui/material/TableRow\");","module.exports = require(\"@mui/material/TableSortLabel\");","module.exports = require(\"@mui/utils\");","module.exports = require(\"i18n-react/dist/i18n-react\");","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};","/**\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 * as React from \"react\";\nimport T from \"i18n-react/dist/i18n-react\";\nimport Box from \"@mui/material/Box\";\nimport Button from \"@mui/material/Button\";\nimport Table from \"@mui/material/Table\";\nimport TableBody from \"@mui/material/TableBody\";\nimport TableCell from \"@mui/material/TableCell\";\nimport TableContainer from \"@mui/material/TableContainer\";\nimport TableHead from \"@mui/material/TableHead\";\nimport TablePagination from \"@mui/material/TablePagination\";\nimport TableSortLabel from \"@mui/material/TableSortLabel\";\nimport TableRow from \"@mui/material/TableRow\";\nimport Paper from \"@mui/material/Paper\";\nimport { IconButton, TextField } from \"@mui/material\";\nimport EditIcon from \"@mui/icons-material/Edit\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport { visuallyHidden } from \"@mui/utils\";\n\nimport {\n DEFAULT_PER_PAGE,\n FIFTY_PER_PAGE,\n TWENTY_PER_PAGE\n} from \"../../../utils/constants\";\nimport showConfirmDialog from \"../showConfirmDialog\";\n\nconst ARCHIVED_CELL_SX = {\n backgroundColor: \"background.light\",\n color: \"text.disabled\"\n};\n\nconst validateValue = (value, validation) => {\n if (!validation) return { isValid: true };\n\n // validate with yup schema\n if (\n validation.schema &&\n typeof validation.schema.validateSync === \"function\"\n ) {\n try {\n validation.schema.validateSync(value);\n return { isValid: true, message: null };\n } catch (err) {\n return { isValid: false, message: err.message };\n }\n }\n\n return { isValid: true };\n};\n\n// Updated component to handle editable cells with hover edit icon\nconst EditableCell = ({ value, isEditing, onBlur, validation }) => {\n const [inputValue, setInputValue] = React.useState(value);\n const [isHovering, setIsHovering] = React.useState(false);\n const [error, setError] = React.useState(null);\n\n React.useEffect(() => {\n setInputValue(value);\n setError(null);\n }, [value]);\n\n const handleValidationAndSave = (newValue) => {\n const { isValid, message } = validateValue(newValue, validation);\n\n if (isValid) {\n setError(null);\n onBlur(newValue, true);\n } else {\n setError(message);\n }\n };\n\n const handleKeyDown = (e) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n handleValidationAndSave(inputValue);\n }\n };\n\n if (isEditing) {\n return (\n <TextField\n autoFocus\n value={inputValue}\n onChange={(e) => {\n setInputValue(e.target.value);\n if (error) setError(null);\n }}\n onBlur={() => {\n handleValidationAndSave(inputValue);\n }}\n onKeyDown={handleKeyDown}\n size=\"small\"\n fullWidth\n variant=\"standard\"\n error={!!error}\n helperText={error}\n />\n );\n }\n\n return (\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n position: \"relative\",\n width: \"100%\",\n height: \"100%\"\n }}\n onMouseEnter={() => setIsHovering(true)}\n onMouseLeave={() => setIsHovering(false)}\n >\n <span style={{ flex: 1 }}>{value}</span>\n {isHovering && (\n <EditIcon\n fontSize=\"small\"\n sx={{\n opacity: 0.5,\n position: \"absolute\",\n right: 0,\n \"&:hover\": {\n opacity: 1\n }\n }}\n />\n )}\n </Box>\n );\n};\n\nconst MuiTableEditable = ({\n columns = [],\n data = [],\n totalRows,\n perPage,\n currentPage,\n onPageChange,\n onPerPageChange,\n onSort,\n options = { sortCol: \"\", sortDir: 1, disableProp: null },\n getName = (item) => item.name,\n onEdit,\n onArchive,\n onDelete,\n onCellChange, // New prop for handling cell value changes\n deleteDialogBody\n}) => {\n // State to track which cell is currently being edited\n const [editingCell, setEditingCell] = React.useState(null);\n\n const handleChangePage = (_, newPage) => {\n onPageChange(newPage + 1);\n };\n\n const handleChangeRowsPerPage = (ev) => {\n onPerPageChange(ev.target.value);\n };\n\n const basePerPageOptions = [\n DEFAULT_PER_PAGE,\n TWENTY_PER_PAGE,\n FIFTY_PER_PAGE\n ];\n\n const customPerPageOptions = basePerPageOptions.includes(perPage)\n ? basePerPageOptions\n : [...basePerPageOptions, perPage].sort((a, b) => a - b);\n\n const { sortCol, sortDir } = options;\n\n const getArchivedCellSx = (row) =>\n options.disableProp && row[options.disableProp] ? ARCHIVED_CELL_SX : null;\n\n const getCellSx = (row, baseSx = {}) => ({\n ...baseSx,\n ...(getArchivedCellSx(row) || {})\n });\n\n const handleDelete = async (item) => {\n const isConfirmed = await showConfirmDialog({\n title: T.translate(\"general.are_you_sure\"),\n text: deleteDialogBody\n ? deleteDialogBody(getName(item))\n : `${T.translate(\"general.row_remove_warning\")} ${getName(item)}`,\n type: \"warning\",\n showCancelButton: true,\n confirmButtonColor: \"#DD6B55\",\n confirmButtonText: T.translate(\"general.yes_delete\")\n });\n\n if (isConfirmed) {\n onDelete(item.id);\n }\n };\n\n const isEditable = (col, row) =>\n typeof col.editable === \"function\" ? col.editable(row) : !!col.editable;\n\n // Handler for starting edit mode on a cell\n const handleCellClick = (row, columnKey) => {\n // Check if the column is editable\n const column = columns.find((col) => col.columnKey === columnKey);\n if (column && isEditable(column, row)) {\n setEditingCell({ rowId: row.id, columnKey });\n }\n };\n\n // Handler for saving changes when editing is complete\n const handleCellBlur = (rowId, columnKey, newValue, isValid) => {\n if (onCellChange && isValid) {\n onCellChange(rowId, columnKey, newValue);\n }\n setEditingCell(null);\n };\n\n return (\n <Box sx={{ width: \"100%\" }}>\n <Paper elevation={0} sx={{ width: \"100%\", mb: 2 }}>\n <TableContainer\n component={Paper}\n sx={{ borderRadius: 0, boxShadow: \"none\" }}\n >\n <Table>\n {/* TABLE HEADER */}\n <TableHead sx={{ backgroundColor: \"#EAEAEA\" }}>\n <TableRow>\n {columns.map((col) => (\n <TableCell\n key={col.columnKey}\n sx={{\n width: col.width,\n minWidth: col.width,\n maxWidth: col.width\n }}\n align={col.align ?? \"left\"}\n >\n {col.sortable ? (\n <TableSortLabel\n active={sortCol === col.columnKey}\n direction={\n sortCol === col.columnKey && sortDir === -1\n ? \"desc\"\n : \"asc\"\n }\n onClick={() => onSort(col.columnKey, sortDir * -1)}\n >\n {col.header}\n {sortCol === col.columnKey ? (\n <Box component=\"span\" sx={visuallyHidden}>\n {sortDir === -1\n ? T.translate(\"mui_table.sorted_desc\")\n : T.translate(\"mui_table.sorted_asc\")}\n </Box>\n ) : null}\n </TableSortLabel>\n ) : (\n col.header\n )}\n </TableCell>\n ))}\n {onEdit && <TableCell sx={{ width: 40 }} />}\n {onArchive && <TableCell sx={{ width: 80 }} />}\n {onDelete && <TableCell sx={{ width: 40 }} />}\n </TableRow>\n </TableHead>\n {/* TABLE BODY */}\n <TableBody>\n {data.map((row) => (\n <TableRow key={row.id}>\n {columns.map((col) => (\n <TableCell\n key={`${row.id}-${col.columnKey}`}\n onClick={() => handleCellClick(row, col.columnKey)}\n sx={getCellSx(row, {\n cursor: isEditable(col, row) ? \"pointer\" : \"default\",\n padding: isEditable(col, row) ? \"8px 16px\" : undefined // Ensure enough space for the edit icon\n })}\n >\n {isEditable(col, row) ? (\n <EditableCell\n value={row[col.columnKey]}\n isEditing={\n editingCell &&\n editingCell.rowId === row.id &&\n editingCell.columnKey === col.columnKey\n }\n onBlur={(newValue, isValid) =>\n handleCellBlur(\n row.id,\n col.columnKey,\n newValue,\n isValid\n )\n }\n validation={col.validation}\n />\n ) : col.render ? (\n col.render(row)\n ) : (\n row[col.columnKey]\n )}\n </TableCell>\n ))}\n {onEdit && (\n <TableCell sx={getCellSx(row)}>\n <IconButton\n onClick={() => onEdit(row)}\n size=\"small\"\n aria-label={T.translate(\"general.edit\")}\n >\n <EditIcon />\n </IconButton>\n </TableCell>\n )}\n {onArchive && (\n <TableCell align=\"center\" sx={{ width: 80 }}>\n <Button\n variant=\"text\"\n color=\"inherit\"\n size=\"small\"\n onClick={() => onArchive(row)}\n sx={{\n fontSize: \"1.3rem\",\n fontWeight: 500,\n lineHeight: \"2.2rem\",\n padding: \"4px 5px\"\n }}\n >\n {row.is_archived\n ? T.translate(\"general.unarchive\")\n : T.translate(\"general.archive\")}\n </Button>\n </TableCell>\n )}\n {onDelete && (\n <TableCell sx={getCellSx(row)}>\n <IconButton\n onClick={() => handleDelete(row)}\n size=\"small\"\n aria-label={T.translate(\"general.delete\")}\n >\n <DeleteIcon />\n </IconButton>\n </TableCell>\n )}\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </TableContainer>\n <TablePagination\n rowsPerPageOptions={customPerPageOptions}\n component=\"div\"\n count={totalRows ?? data.length}\n rowsPerPage={perPage}\n page={currentPage - 1}\n onPageChange={handleChangePage}\n onRowsPerPageChange={handleChangeRowsPerPage}\n labelRowsPerPage={T.translate(\"mui_table.rows_per_page\")}\n sx={{\n \".MuiTablePagination-toolbar\": {\n alignItems: \"baseline\",\n marginTop: \"1.6rem\"\n },\n \".MuiTablePagination-spacer\": {\n display: \"none\"\n },\n \".MuiTablePagination-displayedRows\": {\n marginLeft: \"auto\"\n }\n }}\n />\n </Paper>\n </Box>\n );\n};\n\nexport default MuiTableEditable;\n"],"names":["root","factory","exports","module","define","amd","this","iconMap","warning","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","require","bridgeFn","console","warn","Promise","resolve","container","document","createElement","body","appendChild","close","answer","ReactDOM","remove","element","DEFAULT_PER_PAGE","TWENTY_PER_PAGE","FIFTY_PER_PAGE","__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","ARCHIVED_CELL_SX","backgroundColor","EditableCell","isEditing","onBlur","validation","inputValue","setInputValue","React","isHovering","setIsHovering","setError","handleValidationAndSave","newValue","isValid","message","schema","validateSync","err","validateValue","handleKeyDown","e","preventDefault","TextField","autoFocus","onChange","target","onKeyDown","size","helperText","position","width","height","onMouseEnter","onMouseLeave","flex","fontSize","opacity","right","columns","data","totalRows","perPage","currentPage","onPageChange","onPerPageChange","onSort","options","sortCol","sortDir","disableProp","getName","item","name","onEdit","onArchive","onDelete","onCellChange","deleteDialogBody","editingCell","setEditingCell","basePerPageOptions","customPerPageOptions","includes","sort","b","getCellSx","row","baseSx","getArchivedCellSx","isEditable","col","editable","elevation","mb","Paper","borderRadius","boxShadow","map","columnKey","maxWidth","align","sortable","active","direction","header","visuallyHidden","T","id","column","find","rowId","handleCellClick","cursor","padding","handleCellBlur","render","IconButton","fontWeight","lineHeight","is_archived","async","showConfirmDialog","type","showCancelButton","handleDelete","rowsPerPageOptions","count","length","rowsPerPage","page","_","newPage","onRowsPerPageChange","ev","labelRowsPerPage","marginTop","marginLeft"],"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={6611:(e,t,r)=>{r.d(t,{A:()=>g});var n=r(1116),l=r.n(n),a=r(6031),o=r.n(a),i=r(2015),s=r.n(i),u=r(8619),c=r(7994),m=r(2522),d=r(8672),p=r(6915),b=r(5480),f=r(9314),y=r(2359);function v(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function E(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?v(Object(r),!0).forEach((function(t){l()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):v(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}const g=({rowId:e,field:t,timeZone:r,label:n="",disabled:l=!1})=>{const a={name:`i-${e}-c-${t.class_field}-f-${t.type_id}`,label:n,disabled:l};switch(t.type){case"CheckBox":return s().createElement(c.default,a);case"CheckBoxList":return s().createElement(m.default,o()({},a,{size:"small",options:t.values.map((e=>({value:e.id,label:e.value})))}));case"RadioButtonList":return s().createElement(d.default,o()({},a,{size:"small",options:t.values.map((e=>({value:e.id,label:e.value})))}));case"DateTime":return s().createElement(p.default,a);case"Time":return s().createElement(b.default,o()({},a,{timeZone:r}));case"Quantity":return s().createElement(f.default,o()({},a,{fullWidth:!0,size:"small",type:"number",slotProps:{htmlInput:E({min:t.minimum_quantity},t.maximum_quantity>0?{max:t.maximum_quantity}:{})}}));case"ComboBox":return s().createElement(y.default,o()({},a,{size:"small"}),t.values.map((e=>s().createElement(u.MenuItem,{key:`ddopt-${e.id}`,value:e.id},e.value))));case"Text":return s().createElement(f.default,o()({},a,{fullWidth:!0,size:"small"}));case"TextArea":return s().createElement(f.default,o()({},a,{fullWidth:!0,size:"small",multiline:!0,rows:3}))}}},7994:(e,t,r)=>{r.d(t,{default:()=>f});var n=r(6031),l=r.n(n),a=r(2462),o=r.n(a),i=r(2015),s=r.n(i),u=r(9825),c=r.n(u),m=r(8619),d=r(3294);const p=["name","label"],b=e=>{let{name:t,label:r}=e,n=o()(e,p);const[a,i]=(0,d.useField)({name:t,type:"checkbox"});return s().createElement(m.FormControl,{fullWidth:!0,margin:"normal",error:i.touched&&Boolean(i.error)},s().createElement(m.FormControlLabel,{control:s().createElement(m.Checkbox,l()({name:t},a,{checked:a.value},n)),label:r}),i.touched&&i.error&&s().createElement(m.FormHelperText,null,i.error))};b.propTypes={name:c().string.isRequired,label:c().string.isRequired};const f=b},6915:(e,t,r)=>{r.d(t,{default:()=>v});var n=r(6031),l=r.n(n),a=r(2462),o=r.n(a),i=r(2015),s=r.n(i),u=r(9825),c=r.n(u);const m=require("@mui/x-date-pickers/DatePicker");var d=r(4),p=r(5643),b=r(3294);const f=["name","label","required","disabled"],y=e=>{let{name:t,label:r,required:n,disabled:a=!1}=e,i=o()(e,f);const[u,c,y]=(0,b.useField)(t),v=`${r} *`;return s().createElement(d.LocalizationProvider,{dateAdapter:p.AdapterMoment},s().createElement(m.DatePicker,l()({value:u.value,onChange:y.setValue,slotProps:{textField:{name:t,label:n?v:r,error:c.touched&&Boolean(c.error),helperText:c.touched&&c.error,fullWidth:!0,disabled:a},day:{sx:{fontSize:"1.2rem",fontWeight:600}},layout:{sx:{"& .MuiDayCalendar-weekDayLabel":{fontSize:"1rem"}}}},margin:"normal"},i)))};y.propTypes={name:c().string.isRequired,label:c().string,required:c().bool,disabled:c().bool};const v=y},5654:(e,t,r)=>{r.d(t,{default:()=>x});var n=r(6031),l=r.n(n),a=r(1116),o=r.n(a),i=r(2462),s=r.n(i),u=r(2015),c=r.n(u),m=r(9825),d=r.n(m),p=r(8619),b=r(3294),f=r(9314),y=r(3209);const v=["name","label","discountType","inCents","disabled"];function E(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function g(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?E(Object(r),!0).forEach((function(t){o()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):E(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}const h=["e","E","+","-"],_=e=>{let{name:t,label:r,discountType:n,inCents:a=!1,disabled:o=!1}=e,i=s()(e,v);const[m,d,E]=(0,b.useField)(t),[_,x]=(0,u.useState)(!1),O=null===d.initialValue?null:0,C=n===y.eM.RATE?{endAdornment:c().createElement(p.InputAdornment,{position:"end"},"%")}:{startAdornment:c().createElement(p.InputAdornment,{position:"start"},"$")},T=n===y.eM.RATE?{max:100,inputMode:"numeric",step:1}:{inputMode:"decimal",step:1};return c().createElement(f.default,l()({name:t,label:r,value:(()=>_?"":null==m.value||0===m.value?0===m.value?0:"":a?m.value/y.At:m.value)(),onChange:e=>{const t=e.target.value;if(""===t)return x(!0),void E.setValue(O);x(!1);const r=Number(t),n=a?r*y.At:r;E.setValue(n)},type:"number",disabled:o,slotProps:{input:g({},C),htmlInput:g({min:0},T)},onKeyDown:e=>{h.includes(e.key)&&(e.preventDefault(),e.stopPropagation())}},i))};_.propTypes={name:d().string.isRequired,label:d().string};const x=_},2522:(e,t,r)=>{r.d(t,{default:()=>b});var n=r(6031),l=r.n(n),a=r(2462),o=r.n(a),i=r(2015),s=r.n(i),u=r(8619),c=r(3294),m=r(6842),d=r.n(m);const p=["name","options"],b=e=>{let{name:t,options:r}=e,n=o()(e,p);const[a,i,m]=(0,c.useField)(t),b=r.every((({value:e})=>{var t;return null===(t=a.value)||void 0===t?void 0:t.includes(e)}));return s().createElement(u.FormControl,{fullWidth:!0,error:i.touched&&Boolean(i.error)},s().createElement(u.Select,l()({variant:"outlined",name:t,multiple:!0,value:a.value||[],onChange:e=>{const{value:t}=e.target;t.includes("all")?b?m.setValue([]):m.setValue(r.map((e=>e.value))):m.setValue(t)},onBlur:a.onBlur,displayEmpty:!0},n,{renderValue:e=>{if(null==e||!e.length)return n.placeholder||"";if(b)return d().translate("general.all");return r.filter((({value:t})=>null==e?void 0:e.includes(t))).map((({label:e})=>e)).join(", ")}}),s().createElement(u.MenuItem,{key:"all",value:"all"},s().createElement(u.Checkbox,{checked:b}),s().createElement(u.ListItemText,{primary:d().translate("general.all")})),s().createElement(u.Divider,null),r.map((({label:e,value:t})=>{var r;return s().createElement(u.MenuItem,{key:`ckbx-ddl-${t}`,value:t},s().createElement(u.Checkbox,{checked:null===(r=a.value)||void 0===r?void 0:r.includes(t)}),s().createElement(u.ListItemText,{primary:e}))}))))}},8672:(e,t,r)=>{r.d(t,{default:()=>b});var n=r(6031),l=r.n(n),a=r(2462),o=r.n(a),i=r(2015),s=r.n(i),u=r(8619),c=r(3294),m=r(6842),d=r.n(m);const p=["name","options","placeholder"],b=e=>{let{name:t,options:r,placeholder:n}=e,a=o()(e,p);const i=n||d().translate("general.select_an_option"),[m,b,f]=(0,c.useField)(t);return s().createElement(u.FormControl,{fullWidth:!0,error:b.touched&&Boolean(b.error)},s().createElement(u.Select,l()({variant:"outlined",name:t,value:m.value||"",onChange:e=>{f.setValue(e.target.value)},displayEmpty:!0},a,{renderValue:e=>{if(!e)return s().createElement("em",null,i);const t=r.find((({value:t})=>t===e));return t?t.label:""}}),r.map((({label:e,value:t})=>s().createElement(u.MenuItem,{key:`radio-ddl-${t}`,value:t},s().createElement(u.Radio,{checked:m.value===t}),s().createElement(u.ListItemText,{primary:e}))))))}},3300:(e,t,r)=>{r.d(t,{default:()=>x});var n=r(6031),l=r.n(n),a=r(1116),o=r.n(a),i=r(2462),s=r.n(i),u=r(2015),c=r.n(u),m=r(9825),d=r.n(m),p=r(8619),b=r(3294),f=r(9314),y=r(3209);const v=["name","label","inCents","inputProps"];function E(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function g(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?E(Object(r),!0).forEach((function(t){o()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):E(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}const h=["e","E","+","-"],_=e=>{let{name:t,label:r,inCents:n=!1,inputProps:a={step:.01}}=e,o=s()(e,v);const[i,m,d]=(0,b.useField)(t),[E,_]=(0,u.useState)(!1),[x,O]=(0,u.useState)(!1),[C,T]=(0,u.useState)(""),P=()=>{if(E||null==i.value)return"";if(0===i.value)return"0";const e=n?i.value/y.At:i.value;return String(Number(e.toFixed(y.tv)))};return c().createElement(f.default,l()({name:t,label:r,type:"number",value:(()=>{if(x)return C;if(E)return"";if(null==i.value||0===i.value)return 0===i.value?0:"";const e=P(),t=e.indexOf(".");return-1===t?`${e}.00`:e.length-t-1==1?`${e}0`:e})(),onChange:e=>{const t=e.target.value;if(T(t),""===t)return _(!0),void d.setValue(0);_(!1);const r=Number(t),l=n?Math.round(r*y.At):r;d.setValue(l)},onFocus:()=>{O(!0),T(P())},onBlur:e=>{O(!1),o.onBlur&&o.onBlur(e)},slotProps:{input:{startAdornment:c().createElement(p.InputAdornment,{position:"start"},"$")}},inputProps:g({min:0,inputMode:"decimal"},a),onKeyDown:e=>{h.includes(e.key)&&(e.preventDefault(),e.stopPropagation())}},o))};_.propTypes={name:d().string.isRequired,label:d().string};const x=_},2359:(e,t,r)=>{r.d(t,{default:()=>v});var n=r(6031),l=r.n(n),a=r(2462),o=r.n(a),i=r(2015),s=r.n(i),u=r(9825),c=r.n(u),m=r(8619),d=r(692),p=r.n(d),b=r(3294);const f=["name","label","placeholder","children","isClearable"],y=e=>{let{name:t,label:r,placeholder:n,children:a,isClearable:i}=e,u=o()(e,f);const[c,d,y]=(0,b.useField)(t),v=(null==c?void 0:c.value)&&""!==c.value||Boolean(n);return s().createElement(m.FormControl,{fullWidth:!0,error:d.touched&&Boolean(d.error)},r&&s().createElement(m.InputLabel,{htmlFor:t,id:`${t}-label`,shrink:v},r),s().createElement(m.Select,l()({name:t,id:t},c,{labelId:`${t}-label`,label:r,notched:v,displayEmpty:!0,renderValue:e=>e&&""!==e?e:s().createElement("span",{style:{color:"#aaa"}},n),endAdornment:i&&c.value?s().createElement(m.InputAdornment,{position:"end",sx:{mr:2}},s().createElement(m.IconButton,{size:"small",onClick:e=>{e.stopPropagation(),y.setValue("")}},s().createElement(p(),{fontSize:"small"}))):null},u),a),d.touched&&d.error&&s().createElement(m.FormHelperText,null,d.error))};y.propTypes={name:c().string.isRequired,children:c().node.isRequired,placeholder:c().string,isClearable:c().bool};const v=y},9314:(e,t,r)=>{r.d(t,{default:()=>f});var n=r(6031),l=r.n(n),a=r(2462),o=r.n(a),i=r(2015),s=r.n(i),u=r(9825),c=r.n(u),m=r(8619),d=r(3294);const p=["name","label","maxLength","required"],b=e=>{var t;let{name:r,label:n,maxLength:a,required:i=!1}=e,u=o()(e,p);const[c,b]=(0,d.useField)(r),f=(null===(t=c.value)||void 0===t?void 0:t.length)||0;let y="";return n&&(y=i?`${n} *`:n),s().createElement(m.Box,null,s().createElement(m.TextField,l()({name:r,label:y},c,{onBlur:c.onBlur,margin:"normal",error:b.touched&&Boolean(b.error),helperText:b.touched&&b.error,slotProps:{htmlInput:{maxLength:a}}},u)),a&&s().createElement(m.Typography,{sx:{fontSize:"1.2rem",color:"#00000099",pl:2}},a-f+" characters left"))};b.propTypes={name:c().string.isRequired,label:c().string,maxLength:c().number,required:c().bool};const f=b},5480:(e,t,r)=>{r.d(t,{default:()=>d});var n=r(2015),l=r.n(n),a=r(9825),o=r.n(a),i=r(4),s=r(5643);const u=require("@mui/x-date-pickers/TimePicker");var c=r(3294);const m=({name:e,minTime:t,maxTime:r,timeZone:n,disabled:a=!1})=>{const[o,m,d]=(0,c.useField)(e);return l().createElement(i.LocalizationProvider,{dateAdapter:s.AdapterMoment},l().createElement(u.TimePicker,{value:o.value,onChange:d.setValue,minTime:t,maxTime:r,timezone:n,label:n,views:["hours","minutes"],slotProps:{textField:{name:e,error:m.touched&&Boolean(m.error),helperText:m.touched&&m.error,size:"small",fullWidth:!0,disabled:a,sx:{"& .MuiPickersSectionList-root":{width:"100%"},"& .MuiFormHelperText-root":{marginLeft:"4px",marginRight:"4px"}}}}}))};m.propTypes={name:o().string.isRequired};const d=m},3209:(e,t,r)=>{r.d(t,{At:()=>o,OP:()=>l,eM:()=>i,fJ:()=>a,q9:()=>n,tv:()=>s});const n=100n,l=2,a=0,o=100,i={AMOUNT:"Amount",RATE:"Rate"},s=2},8400:(e,t,r)=>{r.d(t,{currencyAmountFromCents:()=>a});var n=r(3209);const l={USD:"$",EUR:"€",GBP:"£",CAD:"C$",AUD:"A$",NZD:"NZ$",CHF:"CHF",ARS:"AR$",BRL:"R$",MXN:"MX$"};function a(e,t="USD"){if("number"!=typeof e||!Number.isInteger(e))throw new Error("cents must be an integer number");const r=function(e){let t;if("bigint"==typeof e)t=e;else if("number"==typeof e){if(!Number.isSafeInteger(e))throw new Error("cents must be a safe integer Number (or pass BigInt/string).");t=BigInt(e)}else{if("string"!=typeof e)throw new Error("cents must be a bigint, number, or numeric string.");{const r=e.trim();if(!/^\d+$/.test(r))throw new Error("cents string must contain digits only (e.g., '1234').");t=BigInt(r)}}if(t<n.fJ)throw new Error("cents must be non-negative.");const r=t/n.q9,l=t%n.q9;return`${r.toString()}.${l.toString().padStart(n.OP,"0")}`}(e);return`${l[t]??"$"}${r}`}},1116:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},6031:e=>{e.exports=require("@babel/runtime/helpers/extends")},2462:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},692:e=>{e.exports=require("@mui/icons-material/Clear")},9247:e=>{e.exports=require("@mui/icons-material/Edit")},1519:e=>{e.exports=require("@mui/icons-material/Error")},8619:e=>{e.exports=require("@mui/material")},5643:e=>{e.exports=require("@mui/x-date-pickers/AdapterMoment")},4:e=>{e.exports=require("@mui/x-date-pickers/LocalizationProvider")},3294:e=>{e.exports=require("formik")},6842:e=>{e.exports=require("i18n-react/dist/i18n-react")},9825:e=>{e.exports=require("prop-types")},2015:e=>{e.exports=require("react")}},t={};function r(n){var l=t[n];if(void 0!==l)return l.exports;var a=t[n]={exports:{}};return e[n](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 n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}})(),(()=>{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 n={};r.r(n),r.d(n,{default:()=>k});var l=r(2015),a=r.n(l),o=r(8619),i=r(9247),s=r.n(i);const u=require("@mui/icons-material/Settings");var c=r.n(u),m=r(6842),d=r.n(m),p=r(8400),b=r(3209),f=r(1116),y=r.n(f),v=r(3294),E=r(9314);function g(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function h(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?g(Object(r),!0).forEach((function(t){y()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):g(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}const _=({row:e,extraColumns:t,value:r,disabled:n=!1})=>{const o=`i-${e.form_item_id}-c-global-f-quantity`,[i,s,u]=(0,v.useField)(o),c=t.filter((e=>"Quantity"===e.type)).length>0;return(0,l.useEffect)((()=>{u.setValue(r),u.setTouched(!0)}),[r]),a().createElement(E.default,{name:o,fullWidth:!0,size:"small",type:"number",disabled:n,slotProps:{htmlInput:h({readOnly:c,min:0},e.quantity_limit_per_sponsor?{max:e.quantity_limit_per_sponsor}:{})},sx:c?{"& .MuiInputBase-root":{backgroundColor:"action.disabledBackground",color:"text.disabled",pointerEvents:"none"},"& .MuiOutlinedInput-notchedOutline":{borderColor:"action.disabled"}}:{}})};var x=r(6611),O=r(2359),C=r(3300),T=r(5654),P=r(1519),w=r.n(P);const j=({showAdditionalItems:e})=>e?a().createElement(o.Typography,{variant:"body2",component:"p",sx:{color:"error.warning",fontSize:"0.8rem"}},a().createElement(w(),{color:"error",sx:{fontSize:"1rem",top:"0.2rem",position:"relative"}})," ",d().translate("sponsor_edit_form.additional_info")):null,k=({data:e,currentApplicableRate:t,timeZone:r,values:n,onNotesClick:i,onSettingsClick:u})=>{var m,f;const y=JSON.stringify(n),v=(null===(m=e[0])||void 0===m||null===(f=m.meta_fields)||void 0===f?void 0:f.filter((e=>"Form"===e.class_field)))||[],E=v.length+10,g=(0,l.useCallback)((e=>{const t=v.filter((e=>"Quantity"===e.type)),r=n[`i-${e.form_item_id}-c-global-f-quantity`],l=t.reduce(((t,r)=>(t>0?t:1)*((null==n?void 0:n[`i-${e.form_item_id}-c-${r.class_field}-f-${r.type_id}`])||0)),0);return t.length>0?l:r}),[y,v]),h=e=>{const r=n[`i-${e.form_item_id}-c-global-f-quantity`]||g(e);if("expired"===t)return 0;const l=n[`i-${e.form_item_id}-c-global-f-custom_rate`]||e.rates[t];return null==l||null==r?0:r*l},P=e=>e.meta_fields.filter((e=>"Item"===e.class_field)).length>0,w=e=>{const t=e.meta_fields.filter((e=>"Item"===e.class_field&&e.is_required)),r=t.some((t=>{const r=n[`i-${e.form_item_id}-c-item-f-${t.type_id}`];return null==r||""===r}));return t.length>0&&r},k=e=>null==e?d().translate("general.n_a"):(0,p.currencyAmountFromCents)(e),q=(0,l.useMemo)((()=>{const t=e.reduce(((e,t)=>e+h(t)),0),r=n.discount_type===b.eM.AMOUNT?n.discount_amount:t*(n.discount_amount/b.At/b.At);return t-Math.round(r)}),[e,y,t]);return a().createElement(o.TableContainer,{component:o.Paper},a().createElement(o.Table,null,a().createElement(o.TableHead,null,a().createElement(o.TableRow,{sx:{backgroundColor:"#EAEDF4"}},a().createElement(o.TableCell,null,d().translate("sponsor_edit_form.code")),a().createElement(o.TableCell,null,d().translate("sponsor_edit_form.description")),a().createElement(o.TableCell,{sx:{minWidth:120}},d().translate("sponsor_edit_form.custom_rate")),a().createElement(o.TableCell,null,d().translate("sponsor_edit_form.early_bird_rate")),a().createElement(o.TableCell,null,d().translate("sponsor_edit_form.standard_rate")),a().createElement(o.TableCell,null,d().translate("sponsor_edit_form.onsite_rate")),v.map((e=>a().createElement(o.TableCell,{key:`colhead-${e.type_id}`},e.name))),a().createElement(o.TableCell,{sx:{minWidth:120}},d().translate("sponsor_edit_form.qty")),a().createElement(o.TableCell,{sx:{minWidth:40}}),a().createElement(o.TableCell,{sx:{minWidth:120}},d().translate("sponsor_edit_form.total")),a().createElement(o.TableCell,{sx:{minWidth:120}},d().translate("sponsor_edit_form.notes")))),a().createElement(o.TableBody,null,e.map((e=>a().createElement(o.TableRow,{key:`datarow-${e.form_item_id}`},a().createElement(o.TableCell,null,e.code),a().createElement(o.TableCell,{sx:{position:"relative"}},a().createElement("div",null,e.name),a().createElement(j,{showAdditionalItems:P(e)&&w(e)})),a().createElement(o.TableCell,null,a().createElement(C.default,{name:`i-${e.form_item_id}-c-global-f-custom_rate`,fullWidth:!0,label:"",size:"small",inCents:!0,inputProps:{step:.01}})),a().createElement(o.TableCell,{sx:{opacity:"early_bird"===t?1:"38%"}},k(e.rates.early_bird)),a().createElement(o.TableCell,{sx:{opacity:"standard"===t?1:"38%"}},k(e.rates.standard)),a().createElement(o.TableCell,{sx:{opacity:"onsite"===t?1:"38%"}},k(e.rates.onsite)),v.map((t=>a().createElement(o.TableCell,{key:`datacell-${e.form_item_id}-${t.type_id}`},a().createElement(x.A,{field:t,rowId:e.form_item_id,timeZone:r})))),a().createElement(o.TableCell,null,a().createElement(_,{row:e,extraColumns:v,value:g(e)})),a().createElement(o.TableCell,{align:"center"},P(e)&&a().createElement(o.IconButton,{size:"small","aria-label":"settings",onClick:()=>(e=>{u(e)})(e)},a().createElement(c(),{fontSize:"large",color:"warning"}))),a().createElement(o.TableCell,null,(0,p.currencyAmountFromCents)(h(e))),a().createElement(o.TableCell,{align:"center"},a().createElement(o.IconButton,{size:"large","aria-label":"edit",onClick:()=>(e=>{i(e)})(e)},a().createElement(s(),{fontSize:"large"})))))),a().createElement(o.TableRow,null,a().createElement(o.TableCell,{sx:{fontWeight:500}},d().translate("sponsor_edit_form.discount")),new Array(E-5).fill(0).map(((e,t)=>a().createElement(o.TableCell,{key:`${t}-discountcell`}))),a().createElement(o.TableCell,null,a().createElement(O.default,{name:"discount_type",label:"",size:"small"},Object.values(b.eM).map((e=>a().createElement(o.MenuItem,{key:`ddopt-${e}`,value:e},e))))),a().createElement(o.TableCell,null),a().createElement(o.TableCell,null,a().createElement(T.default,{name:"discount_amount",discountType:n.discount_type,fullWidth:!0,label:"",size:"small",inCents:!0})),a().createElement(o.TableCell,null)),a().createElement(o.TableRow,null,a().createElement(o.TableCell,{sx:{fontWeight:500}},d().translate("sponsor_edit_form.total_on_caps")),new Array(E-3).fill(0).map(((e,t)=>a().createElement(o.TableCell,{key:`${t}-totalcell`}))),a().createElement(o.TableCell,{sx:{fontWeight:500}},(0,p.currencyAmountFromCents)(q)),a().createElement(o.TableCell,null)))))};return n})()));
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={6611:(e,t,r)=>{r.d(t,{A:()=>g});var n=r(1116),l=r.n(n),a=r(6031),o=r.n(a),i=r(2015),s=r.n(i),u=r(8619),c=r(7994),m=r(2522),d=r(8672),p=r(6915),b=r(3099),f=r(9314),y=r(2359);function v(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function E(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?v(Object(r),!0).forEach((function(t){l()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):v(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}const g=({rowId:e,field:t,timeZone:r,label:n="",disabled:l=!1})=>{const a={name:`i-${e}-c-${t.class_field}-f-${t.type_id}`,label:n,disabled:l};switch(t.type){case"CheckBox":return s().createElement(c.default,a);case"CheckBoxList":return s().createElement(m.default,o()({},a,{size:"small",options:t.values.map((e=>({value:e.id,label:e.value})))}));case"RadioButtonList":return s().createElement(d.default,o()({},a,{size:"small",options:t.values.map((e=>({value:e.id,label:e.value})))}));case"DateTime":return s().createElement(p.default,a);case"Time":return s().createElement(b.default,o()({},a,{timeZone:r}));case"Quantity":return s().createElement(f.default,o()({},a,{fullWidth:!0,size:"small",type:"number",slotProps:{htmlInput:E({min:t.minimum_quantity},t.maximum_quantity>0?{max:t.maximum_quantity}:{})}}));case"ComboBox":return s().createElement(y.default,o()({},a,{size:"small"}),t.values.map((e=>s().createElement(u.MenuItem,{key:`ddopt-${e.id}`,value:e.id},e.value))));case"Text":return s().createElement(f.default,o()({},a,{fullWidth:!0,size:"small"}));case"TextArea":return s().createElement(f.default,o()({},a,{fullWidth:!0,size:"small",multiline:!0,rows:3}))}}},7994:(e,t,r)=>{r.d(t,{default:()=>f});var n=r(6031),l=r.n(n),a=r(2462),o=r.n(a),i=r(2015),s=r.n(i),u=r(9825),c=r.n(u),m=r(8619),d=r(3294);const p=["name","label"],b=e=>{let{name:t,label:r}=e,n=o()(e,p);const[a,i]=(0,d.useField)({name:t,type:"checkbox"});return s().createElement(m.FormControl,{fullWidth:!0,margin:"normal",error:i.touched&&Boolean(i.error)},s().createElement(m.FormControlLabel,{control:s().createElement(m.Checkbox,l()({name:t},a,{checked:a.value},n)),label:r}),i.touched&&i.error&&s().createElement(m.FormHelperText,null,i.error))};b.propTypes={name:c().string.isRequired,label:c().string.isRequired};const f=b},6915:(e,t,r)=>{r.d(t,{default:()=>v});var n=r(6031),l=r.n(n),a=r(2462),o=r.n(a),i=r(2015),s=r.n(i),u=r(9825),c=r.n(u);const m=require("@mui/x-date-pickers/DatePicker");var d=r(4),p=r(5643),b=r(3294);const f=["name","label","required","disabled"],y=e=>{let{name:t,label:r,required:n,disabled:a=!1}=e,i=o()(e,f);const[u,c,y]=(0,b.useField)(t),v=`${r} *`;return s().createElement(d.LocalizationProvider,{dateAdapter:p.AdapterMoment},s().createElement(m.DatePicker,l()({value:u.value,onChange:y.setValue,slotProps:{textField:{name:t,label:n?v:r,error:c.touched&&Boolean(c.error),helperText:c.touched&&c.error,fullWidth:!0,disabled:a},day:{sx:{fontSize:"1.2rem",fontWeight:600}},layout:{sx:{"& .MuiDayCalendar-weekDayLabel":{fontSize:"1rem"}}}},margin:"normal"},i)))};y.propTypes={name:c().string.isRequired,label:c().string,required:c().bool,disabled:c().bool};const v=y},5654:(e,t,r)=>{r.d(t,{default:()=>x});var n=r(6031),l=r.n(n),a=r(1116),o=r.n(a),i=r(2462),s=r.n(i),u=r(2015),c=r.n(u),m=r(9825),d=r.n(m),p=r(8619),b=r(3294),f=r(9314),y=r(3209);const v=["name","label","discountType","inCents","disabled"];function E(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function g(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?E(Object(r),!0).forEach((function(t){o()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):E(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}const h=["e","E","+","-"],_=e=>{let{name:t,label:r,discountType:n,inCents:a=!1,disabled:o=!1}=e,i=s()(e,v);const[m,d,E]=(0,b.useField)(t),[_,x]=(0,u.useState)(!1),O=null===d.initialValue?null:0,C=n===y.eM.RATE?{endAdornment:c().createElement(p.InputAdornment,{position:"end"},"%")}:{startAdornment:c().createElement(p.InputAdornment,{position:"start"},"$")},T=n===y.eM.RATE?{max:100,inputMode:"numeric",step:1}:{inputMode:"decimal",step:1};return c().createElement(f.default,l()({name:t,label:r,value:(()=>_?"":null==m.value||0===m.value?0===m.value?0:"":a?m.value/y.At:m.value)(),onChange:e=>{const t=e.target.value;if(""===t)return x(!0),void E.setValue(O);x(!1);const r=Number(t),n=a?r*y.At:r;E.setValue(n)},type:"number",disabled:o,slotProps:{input:g({},C),htmlInput:g({min:0},T)},onKeyDown:e=>{h.includes(e.key)&&(e.preventDefault(),e.stopPropagation())}},i))};_.propTypes={name:d().string.isRequired,label:d().string};const x=_},2522:(e,t,r)=>{r.d(t,{default:()=>b});var n=r(6031),l=r.n(n),a=r(2462),o=r.n(a),i=r(2015),s=r.n(i),u=r(8619),c=r(3294),m=r(6842),d=r.n(m);const p=["name","options"],b=e=>{let{name:t,options:r}=e,n=o()(e,p);const[a,i,m]=(0,c.useField)(t),b=r.every((({value:e})=>{var t;return null===(t=a.value)||void 0===t?void 0:t.includes(e)}));return s().createElement(u.FormControl,{fullWidth:!0,error:i.touched&&Boolean(i.error)},s().createElement(u.Select,l()({variant:"outlined",name:t,multiple:!0,value:a.value||[],onChange:e=>{const{value:t}=e.target;t.includes("all")?b?m.setValue([]):m.setValue(r.map((e=>e.value))):m.setValue(t)},onBlur:a.onBlur,displayEmpty:!0},n,{renderValue:e=>{if(null==e||!e.length)return n.placeholder||"";if(b)return d().translate("general.all");return r.filter((({value:t})=>null==e?void 0:e.includes(t))).map((({label:e})=>e)).join(", ")}}),s().createElement(u.MenuItem,{key:"all",value:"all"},s().createElement(u.Checkbox,{checked:b}),s().createElement(u.ListItemText,{primary:d().translate("general.all")})),s().createElement(u.Divider,null),r.map((({label:e,value:t})=>{var r;return s().createElement(u.MenuItem,{key:`ckbx-ddl-${t}`,value:t},s().createElement(u.Checkbox,{checked:null===(r=a.value)||void 0===r?void 0:r.includes(t)}),s().createElement(u.ListItemText,{primary:e}))}))))}},8672:(e,t,r)=>{r.d(t,{default:()=>b});var n=r(6031),l=r.n(n),a=r(2462),o=r.n(a),i=r(2015),s=r.n(i),u=r(8619),c=r(3294),m=r(6842),d=r.n(m);const p=["name","options","placeholder"],b=e=>{let{name:t,options:r,placeholder:n}=e,a=o()(e,p);const i=n||d().translate("general.select_an_option"),[m,b,f]=(0,c.useField)(t);return s().createElement(u.FormControl,{fullWidth:!0,error:b.touched&&Boolean(b.error)},s().createElement(u.Select,l()({variant:"outlined",name:t,value:m.value||"",onChange:e=>{f.setValue(e.target.value)},displayEmpty:!0},a,{renderValue:e=>{if(!e)return s().createElement("em",null,i);const t=r.find((({value:t})=>t===e));return t?t.label:""}}),r.map((({label:e,value:t})=>s().createElement(u.MenuItem,{key:`radio-ddl-${t}`,value:t},s().createElement(u.Radio,{checked:m.value===t}),s().createElement(u.ListItemText,{primary:e}))))))}},3300:(e,t,r)=>{r.d(t,{default:()=>x});var n=r(6031),l=r.n(n),a=r(1116),o=r.n(a),i=r(2462),s=r.n(i),u=r(2015),c=r.n(u),m=r(9825),d=r.n(m),p=r(8619),b=r(3294),f=r(9314),y=r(3209);const v=["name","label","inCents","inputProps"];function E(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function g(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?E(Object(r),!0).forEach((function(t){o()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):E(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}const h=["e","E","+","-"],_=e=>{let{name:t,label:r,inCents:n=!1,inputProps:a={step:.01}}=e,o=s()(e,v);const[i,m,d]=(0,b.useField)(t),[E,_]=(0,u.useState)(!1),[x,O]=(0,u.useState)(!1),[C,T]=(0,u.useState)(""),P=()=>{if(E||null==i.value)return"";if(0===i.value)return"0";const e=n?i.value/y.At:i.value;return String(Number(e.toFixed(y.tv)))};return c().createElement(f.default,l()({name:t,label:r,type:"number",value:(()=>{if(x)return C;if(E)return"";if(null==i.value||0===i.value)return 0===i.value?0:"";const e=P(),t=e.indexOf(".");return-1===t?`${e}.00`:e.length-t-1==1?`${e}0`:e})(),onChange:e=>{const t=e.target.value;if(T(t),""===t)return _(!0),void d.setValue(0);_(!1);const r=Number(t),l=n?Math.round(r*y.At):r;d.setValue(l)},onFocus:()=>{O(!0),T(P())},onBlur:e=>{O(!1),o.onBlur&&o.onBlur(e)},slotProps:{input:{startAdornment:c().createElement(p.InputAdornment,{position:"start"},"$")}},inputProps:g({min:0,inputMode:"decimal"},a),onKeyDown:e=>{h.includes(e.key)&&(e.preventDefault(),e.stopPropagation())}},o))};_.propTypes={name:d().string.isRequired,label:d().string};const x=_},2359:(e,t,r)=>{r.d(t,{default:()=>v});var n=r(6031),l=r.n(n),a=r(2462),o=r.n(a),i=r(2015),s=r.n(i),u=r(9825),c=r.n(u),m=r(8619),d=r(692),p=r.n(d),b=r(3294);const f=["name","label","placeholder","children","isClearable"],y=e=>{let{name:t,label:r,placeholder:n,children:a,isClearable:i}=e,u=o()(e,f);const[c,d,y]=(0,b.useField)(t),v=(null==c?void 0:c.value)&&""!==c.value||Boolean(n);return s().createElement(m.FormControl,{fullWidth:!0,error:d.touched&&Boolean(d.error)},r&&s().createElement(m.InputLabel,{htmlFor:t,id:`${t}-label`,shrink:v},r),s().createElement(m.Select,l()({name:t,id:t},c,{labelId:`${t}-label`,label:r,notched:v,displayEmpty:!0,renderValue:e=>e&&""!==e?e:s().createElement("span",{style:{color:"#aaa"}},n),endAdornment:i&&c.value?s().createElement(m.InputAdornment,{position:"end",sx:{mr:2}},s().createElement(m.IconButton,{size:"small",onClick:e=>{e.stopPropagation(),y.setValue("")}},s().createElement(p(),{fontSize:"small"}))):null},u),a),d.touched&&d.error&&s().createElement(m.FormHelperText,null,d.error))};y.propTypes={name:c().string.isRequired,children:c().node.isRequired,placeholder:c().string,isClearable:c().bool};const v=y},9314:(e,t,r)=>{r.d(t,{default:()=>f});var n=r(6031),l=r.n(n),a=r(2462),o=r.n(a),i=r(2015),s=r.n(i),u=r(9825),c=r.n(u),m=r(8619),d=r(3294);const p=["name","label","maxLength","required"],b=e=>{var t;let{name:r,label:n,maxLength:a,required:i=!1}=e,u=o()(e,p);const[c,b]=(0,d.useField)(r),f=(null===(t=c.value)||void 0===t?void 0:t.length)||0;let y="";return n&&(y=i?`${n} *`:n),s().createElement(m.Box,null,s().createElement(m.TextField,l()({name:r,label:y},c,{onBlur:c.onBlur,margin:"normal",error:b.touched&&Boolean(b.error),helperText:b.touched&&b.error,slotProps:{htmlInput:{maxLength:a}}},u)),a&&s().createElement(m.Typography,{sx:{fontSize:"1.2rem",color:"#00000099",pl:2}},a-f+" characters left"))};b.propTypes={name:c().string.isRequired,label:c().string,maxLength:c().number,required:c().bool};const f=b},3099:(e,t,r)=>{r.d(t,{default:()=>d});var n=r(2015),l=r.n(n),a=r(9825),o=r.n(a),i=r(4),s=r(5643);const u=require("@mui/x-date-pickers/TimePicker");var c=r(3294);const m=({name:e,minTime:t,maxTime:r,timeZone:n,disabled:a=!1})=>{const[o,m,d]=(0,c.useField)(e);return l().createElement(i.LocalizationProvider,{dateAdapter:s.AdapterMoment},l().createElement(u.TimePicker,{value:o.value,onChange:d.setValue,minTime:t,maxTime:r,timezone:n,label:n,views:["hours","minutes"],slotProps:{textField:{name:e,error:m.touched&&Boolean(m.error),helperText:m.touched&&m.error,size:"small",fullWidth:!0,disabled:a,sx:{"& .MuiPickersSectionList-root":{width:"100%"},"& .MuiFormHelperText-root":{marginLeft:"4px",marginRight:"4px"}}}}}))};m.propTypes={name:o().string.isRequired};const d=m},3209:(e,t,r)=>{r.d(t,{At:()=>o,OP:()=>l,eM:()=>i,fJ:()=>a,q9:()=>n,tv:()=>s});const n=100n,l=2,a=0,o=100,i={AMOUNT:"Amount",RATE:"Rate"},s=2},8400:(e,t,r)=>{r.d(t,{currencyAmountFromCents:()=>a});var n=r(3209);const l={USD:"$",EUR:"€",GBP:"£",CAD:"C$",AUD:"A$",NZD:"NZ$",CHF:"CHF",ARS:"AR$",BRL:"R$",MXN:"MX$"};function a(e,t="USD"){if("number"!=typeof e||!Number.isInteger(e))throw new Error("cents must be an integer number");const r=function(e){let t;if("bigint"==typeof e)t=e;else if("number"==typeof e){if(!Number.isSafeInteger(e))throw new Error("cents must be a safe integer Number (or pass BigInt/string).");t=BigInt(e)}else{if("string"!=typeof e)throw new Error("cents must be a bigint, number, or numeric string.");{const r=e.trim();if(!/^\d+$/.test(r))throw new Error("cents string must contain digits only (e.g., '1234').");t=BigInt(r)}}if(t<n.fJ)throw new Error("cents must be non-negative.");const r=t/n.q9,l=t%n.q9;return`${r.toString()}.${l.toString().padStart(n.OP,"0")}`}(e);return`${l[t]??"$"}${r}`}},1116:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},6031:e=>{e.exports=require("@babel/runtime/helpers/extends")},2462:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},692:e=>{e.exports=require("@mui/icons-material/Clear")},9247:e=>{e.exports=require("@mui/icons-material/Edit")},1519:e=>{e.exports=require("@mui/icons-material/Error")},8619:e=>{e.exports=require("@mui/material")},5643:e=>{e.exports=require("@mui/x-date-pickers/AdapterMoment")},4:e=>{e.exports=require("@mui/x-date-pickers/LocalizationProvider")},3294:e=>{e.exports=require("formik")},6842:e=>{e.exports=require("i18n-react/dist/i18n-react")},9825:e=>{e.exports=require("prop-types")},2015:e=>{e.exports=require("react")}},t={};function r(n){var l=t[n];if(void 0!==l)return l.exports;var a=t[n]={exports:{}};return e[n](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 n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}})(),(()=>{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 n={};r.r(n),r.d(n,{default:()=>k});var l=r(2015),a=r.n(l),o=r(8619),i=r(9247),s=r.n(i);const u=require("@mui/icons-material/Settings");var c=r.n(u),m=r(6842),d=r.n(m),p=r(8400),b=r(3209),f=r(1116),y=r.n(f),v=r(3294),E=r(9314);function g(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function h(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?g(Object(r),!0).forEach((function(t){y()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):g(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}const _=({row:e,extraColumns:t,value:r,disabled:n=!1})=>{const o=`i-${e.form_item_id}-c-global-f-quantity`,[i,s,u]=(0,v.useField)(o),c=t.filter((e=>"Quantity"===e.type)).length>0;return(0,l.useEffect)((()=>{u.setValue(r),u.setTouched(!0)}),[r]),a().createElement(E.default,{name:o,fullWidth:!0,size:"small",type:"number",disabled:n,slotProps:{htmlInput:h({readOnly:c,min:0},e.quantity_limit_per_sponsor?{max:e.quantity_limit_per_sponsor}:{})},sx:c?{"& .MuiInputBase-root":{backgroundColor:"action.disabledBackground",color:"text.disabled",pointerEvents:"none"},"& .MuiOutlinedInput-notchedOutline":{borderColor:"action.disabled"}}:{}})};var x=r(6611),O=r(2359),C=r(3300),T=r(5654),P=r(1519),w=r.n(P);const j=({showAdditionalItems:e})=>e?a().createElement(o.Typography,{variant:"body2",component:"p",sx:{color:"error.warning",fontSize:"0.8rem"}},a().createElement(w(),{color:"error",sx:{fontSize:"1rem",top:"0.2rem",position:"relative"}})," ",d().translate("sponsor_edit_form.additional_info")):null,k=({data:e,currentApplicableRate:t,timeZone:r,values:n,onNotesClick:i,onSettingsClick:u})=>{var m,f;const y=JSON.stringify(n),v=(null===(m=e[0])||void 0===m||null===(f=m.meta_fields)||void 0===f?void 0:f.filter((e=>"Form"===e.class_field)))||[],E=v.length+10,g=(0,l.useCallback)((e=>{const t=v.filter((e=>"Quantity"===e.type)),r=n[`i-${e.form_item_id}-c-global-f-quantity`],l=t.reduce(((t,r)=>(t>0?t:1)*((null==n?void 0:n[`i-${e.form_item_id}-c-${r.class_field}-f-${r.type_id}`])||0)),0);return t.length>0?l:r}),[y,v]),h=e=>{const r=n[`i-${e.form_item_id}-c-global-f-quantity`]||g(e);if("expired"===t)return 0;const l=n[`i-${e.form_item_id}-c-global-f-custom_rate`]||e.rates[t];return null==l||null==r?0:r*l},P=e=>e.meta_fields.filter((e=>"Item"===e.class_field)).length>0,w=e=>{const t=e.meta_fields.filter((e=>"Item"===e.class_field&&e.is_required)),r=t.some((t=>{const r=n[`i-${e.form_item_id}-c-item-f-${t.type_id}`];return null==r||""===r}));return t.length>0&&r},k=e=>null==e?d().translate("general.n_a"):(0,p.currencyAmountFromCents)(e),q=(0,l.useMemo)((()=>{const t=e.reduce(((e,t)=>e+h(t)),0),r=n.discount_type===b.eM.AMOUNT?n.discount_amount:t*(n.discount_amount/b.At/b.At);return t-Math.round(r)}),[e,y,t]);return a().createElement(o.TableContainer,{component:o.Paper},a().createElement(o.Table,null,a().createElement(o.TableHead,null,a().createElement(o.TableRow,{sx:{backgroundColor:"#EAEDF4"}},a().createElement(o.TableCell,null,d().translate("sponsor_edit_form.code")),a().createElement(o.TableCell,null,d().translate("sponsor_edit_form.description")),a().createElement(o.TableCell,{sx:{minWidth:120}},d().translate("sponsor_edit_form.custom_rate")),a().createElement(o.TableCell,null,d().translate("sponsor_edit_form.early_bird_rate")),a().createElement(o.TableCell,null,d().translate("sponsor_edit_form.standard_rate")),a().createElement(o.TableCell,null,d().translate("sponsor_edit_form.onsite_rate")),v.map((e=>a().createElement(o.TableCell,{key:`colhead-${e.type_id}`},e.name))),a().createElement(o.TableCell,{sx:{minWidth:120}},d().translate("sponsor_edit_form.qty")),a().createElement(o.TableCell,{sx:{minWidth:40}}),a().createElement(o.TableCell,{sx:{minWidth:120}},d().translate("sponsor_edit_form.total")),a().createElement(o.TableCell,{sx:{minWidth:120}},d().translate("sponsor_edit_form.notes")))),a().createElement(o.TableBody,null,e.map((e=>a().createElement(o.TableRow,{key:`datarow-${e.form_item_id}`},a().createElement(o.TableCell,null,e.code),a().createElement(o.TableCell,{sx:{position:"relative"}},a().createElement("div",null,e.name),a().createElement(j,{showAdditionalItems:P(e)&&w(e)})),a().createElement(o.TableCell,null,a().createElement(C.default,{name:`i-${e.form_item_id}-c-global-f-custom_rate`,fullWidth:!0,label:"",size:"small",inCents:!0,inputProps:{step:.01}})),a().createElement(o.TableCell,{sx:{opacity:"early_bird"===t?1:"38%"}},k(e.rates.early_bird)),a().createElement(o.TableCell,{sx:{opacity:"standard"===t?1:"38%"}},k(e.rates.standard)),a().createElement(o.TableCell,{sx:{opacity:"onsite"===t?1:"38%"}},k(e.rates.onsite)),v.map((t=>a().createElement(o.TableCell,{key:`datacell-${e.form_item_id}-${t.type_id}`},a().createElement(x.A,{field:t,rowId:e.form_item_id,timeZone:r})))),a().createElement(o.TableCell,null,a().createElement(_,{row:e,extraColumns:v,value:g(e)})),a().createElement(o.TableCell,{align:"center"},P(e)&&a().createElement(o.IconButton,{size:"small","aria-label":"settings",onClick:()=>(e=>{u(e)})(e)},a().createElement(c(),{fontSize:"large",color:"warning"}))),a().createElement(o.TableCell,null,(0,p.currencyAmountFromCents)(h(e))),a().createElement(o.TableCell,{align:"center"},a().createElement(o.IconButton,{size:"large","aria-label":"edit",onClick:()=>(e=>{i(e)})(e)},a().createElement(s(),{fontSize:"large"})))))),a().createElement(o.TableRow,null,a().createElement(o.TableCell,{sx:{fontWeight:500}},d().translate("sponsor_edit_form.discount")),new Array(E-5).fill(0).map(((e,t)=>a().createElement(o.TableCell,{key:`${t}-discountcell`}))),a().createElement(o.TableCell,null,a().createElement(O.default,{name:"discount_type",label:"",size:"small"},Object.values(b.eM).map((e=>a().createElement(o.MenuItem,{key:`ddopt-${e}`,value:e},e))))),a().createElement(o.TableCell,null),a().createElement(o.TableCell,null,a().createElement(T.default,{name:"discount_amount",discountType:n.discount_type,fullWidth:!0,label:"",size:"small",inCents:!0})),a().createElement(o.TableCell,null)),a().createElement(o.TableRow,null,a().createElement(o.TableCell,{sx:{fontWeight:500}},d().translate("sponsor_edit_form.total_on_caps")),new Array(E-3).fill(0).map(((e,t)=>a().createElement(o.TableCell,{key:`${t}-totalcell`}))),a().createElement(o.TableCell,{sx:{fontWeight:500}},(0,p.currencyAmountFromCents)(q)),a().createElement(o.TableCell,null)))))};return n})()));
2
2
  //# sourceMappingURL=form-item-table.js.map