@payloadcms/ui 3.0.0-canary.93a7bbd → 3.0.0-canary.95569e4

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 (134) hide show
  1. package/dist/elements/Autosave/index.js +2 -2
  2. package/dist/elements/Autosave/index.js.map +1 -1
  3. package/dist/elements/Dropzone/index.d.ts +5 -4
  4. package/dist/elements/Dropzone/index.d.ts.map +1 -1
  5. package/dist/elements/Dropzone/index.js +4 -2
  6. package/dist/elements/Dropzone/index.js.map +1 -1
  7. package/dist/elements/Hamburger/index.d.ts +2 -2
  8. package/dist/elements/Hamburger/index.d.ts.map +1 -1
  9. package/dist/elements/Hamburger/index.js +2 -1
  10. package/dist/elements/Hamburger/index.js.map +1 -1
  11. package/dist/elements/IDLabel/index.scss +3 -2
  12. package/dist/elements/ListControls/index.d.ts +7 -7
  13. package/dist/elements/ListControls/index.d.ts.map +1 -1
  14. package/dist/elements/ListControls/index.js +1 -1
  15. package/dist/elements/ListControls/index.js.map +1 -1
  16. package/dist/elements/Nav/context.d.ts +3 -0
  17. package/dist/elements/Nav/context.d.ts.map +1 -1
  18. package/dist/elements/Nav/context.js +16 -7
  19. package/dist/elements/Nav/context.js.map +1 -1
  20. package/dist/elements/ReactSelect/Control/index.d.ts.map +1 -1
  21. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  22. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  23. package/dist/elements/ReactSelect/DropdownIndicator/index.js +1 -1
  24. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  25. package/dist/elements/ReactSelect/MultiValue/index.d.ts.map +1 -1
  26. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  27. package/dist/elements/ReactSelect/MultiValueLabel/index.d.ts.map +1 -1
  28. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  29. package/dist/elements/ReactSelect/SingleValue/index.d.ts.map +1 -1
  30. package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
  31. package/dist/elements/ReactSelect/ValueContainer/index.d.ts.map +1 -1
  32. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  33. package/dist/elements/RenderTitle/index.scss +1 -1
  34. package/dist/elements/StepNav/index.d.ts.map +1 -1
  35. package/dist/elements/StepNav/index.js +1 -1
  36. package/dist/elements/StepNav/index.js.map +1 -1
  37. package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts.map +1 -1
  38. package/dist/elements/Table/DefaultCell/fields/Date/index.js +1 -1
  39. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  40. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  41. package/dist/elements/TableColumns/buildColumnState.js +1 -1
  42. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  43. package/dist/elements/Upload/index.d.ts +9 -9
  44. package/dist/elements/Upload/index.d.ts.map +1 -1
  45. package/dist/elements/Upload/index.js +9 -10
  46. package/dist/elements/Upload/index.js.map +1 -1
  47. package/dist/exports/client/{CodeEditor-UPOVAXRP.js → CodeEditor-MODTAQNB.js} +1 -1
  48. package/dist/exports/client/{CodeEditor-UPOVAXRP.js.map → CodeEditor-MODTAQNB.js.map} +1 -1
  49. package/dist/exports/client/{DatePicker-BEV27TZK.js → DatePicker-QKRYICNS.js} +2 -2
  50. package/dist/exports/client/chunk-HR5HEGNB.js +30 -0
  51. package/dist/exports/client/{chunk-B4RA26U5.js.map → chunk-HR5HEGNB.js.map} +4 -4
  52. package/dist/exports/client/index.d.ts +1 -0
  53. package/dist/exports/client/index.d.ts.map +1 -1
  54. package/dist/exports/client/index.js +7 -7
  55. package/dist/exports/client/index.js.map +4 -4
  56. package/dist/exports/shared/index.d.ts +0 -1
  57. package/dist/exports/shared/index.d.ts.map +1 -1
  58. package/dist/exports/shared/index.js +2 -2
  59. package/dist/exports/shared/index.js.map +4 -4
  60. package/dist/fields/Array/index.js +1 -1
  61. package/dist/fields/Array/index.js.map +1 -1
  62. package/dist/fields/Blocks/index.js +1 -1
  63. package/dist/fields/Blocks/index.js.map +1 -1
  64. package/dist/fields/Code/index.js +1 -1
  65. package/dist/fields/Code/index.js.map +1 -1
  66. package/dist/fields/Collapsible/index.js +1 -1
  67. package/dist/fields/Collapsible/index.js.map +1 -1
  68. package/dist/fields/DateTime/index.js +1 -1
  69. package/dist/fields/DateTime/index.js.map +1 -1
  70. package/dist/fields/Group/index.js +1 -1
  71. package/dist/fields/Group/index.js.map +1 -1
  72. package/dist/fields/JSON/index.d.ts.map +1 -1
  73. package/dist/fields/JSON/index.js +1 -1
  74. package/dist/fields/JSON/index.js.map +1 -1
  75. package/dist/fields/Password/index.d.ts.map +1 -1
  76. package/dist/fields/Password/index.js +3 -1
  77. package/dist/fields/Password/index.js.map +1 -1
  78. package/dist/fields/Point/index.js +1 -1
  79. package/dist/fields/Point/index.js.map +1 -1
  80. package/dist/fields/Relationship/index.js +1 -1
  81. package/dist/fields/Relationship/index.js.map +1 -1
  82. package/dist/fields/Relationship/select-components/MultiValueLabel/index.d.ts.map +1 -1
  83. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  84. package/dist/fields/Relationship/select-components/SingleValue/index.d.ts.map +1 -1
  85. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  86. package/dist/fields/Row/index.d.ts.map +1 -1
  87. package/dist/fields/Row/index.js +1 -1
  88. package/dist/fields/Row/index.js.map +1 -1
  89. package/dist/fields/Tabs/index.js +1 -1
  90. package/dist/fields/Tabs/index.js.map +1 -1
  91. package/dist/fields/Text/index.js +1 -1
  92. package/dist/fields/Text/index.js.map +1 -1
  93. package/dist/fields/Textarea/index.js +1 -1
  94. package/dist/fields/Textarea/index.js.map +1 -1
  95. package/dist/fields/Upload/index.js +1 -1
  96. package/dist/fields/Upload/index.js.map +1 -1
  97. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  98. package/dist/forms/RenderFields/RenderField.js +2 -1
  99. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  100. package/dist/graphics/Account/index.js +3 -3
  101. package/dist/graphics/Account/index.js.map +1 -1
  102. package/dist/icons/Chevron/index.js +1 -1
  103. package/dist/icons/Chevron/index.js.map +1 -1
  104. package/dist/providers/Actions/index.d.ts +3 -3
  105. package/dist/providers/Actions/index.d.ts.map +1 -1
  106. package/dist/providers/Actions/index.js +1 -1
  107. package/dist/providers/Actions/index.js.map +1 -1
  108. package/dist/providers/Config/RenderComponent.d.ts.map +1 -1
  109. package/dist/providers/Config/RenderComponent.js +3 -0
  110. package/dist/providers/Config/RenderComponent.js.map +1 -1
  111. package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -1
  112. package/dist/providers/Config/createClientConfig/collections.js +2 -2
  113. package/dist/providers/Config/createClientConfig/collections.js.map +1 -1
  114. package/dist/providers/Config/createClientConfig/getComponent.d.ts +1 -1
  115. package/dist/providers/Config/createClientConfig/getComponent.d.ts.map +1 -1
  116. package/dist/providers/Config/createClientConfig/getComponent.js +3 -2
  117. package/dist/providers/Config/createClientConfig/getComponent.js.map +1 -1
  118. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.d.ts.map +1 -1
  119. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js +7 -2
  120. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js.map +1 -1
  121. package/dist/providers/Config/createClientConfig/globals.d.ts.map +1 -1
  122. package/dist/providers/Config/createClientConfig/globals.js +1 -1
  123. package/dist/providers/Config/createClientConfig/globals.js.map +1 -1
  124. package/dist/providers/Root/index.d.ts +1 -0
  125. package/dist/providers/Root/index.d.ts.map +1 -1
  126. package/dist/providers/Root/index.js +2 -1
  127. package/dist/providers/Root/index.js.map +1 -1
  128. package/dist/scss/toasts.scss +15 -14
  129. package/dist/styles.css +1 -1
  130. package/dist/utilities/reduceFieldsToValuesWithValidation.js +1 -1
  131. package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
  132. package/package.json +5 -5
  133. package/dist/exports/client/chunk-B4RA26U5.js +0 -30
  134. /package/dist/exports/client/{DatePicker-BEV27TZK.js.map → DatePicker-QKRYICNS.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/elements/ReactSelect/MultiValueLabel/index.tsx"],"sourcesContent":["'use client'\nimport type { MultiValueProps } from 'react-select'\n\nimport React from 'react'\nimport { components as SelectComponents } from 'react-select'\n\nimport type { Option } from '../types.js'\n\nimport './index.scss'\n\nconst baseClass = 'multi-value-label'\n\nexport const MultiValueLabel: React.FC<MultiValueProps<Option>> = (props) => {\n // @ts-expect-error-next-line// TODO Fix this - moduleResolution 16 breaks our declare module\n const { selectProps: { customProps: { draggableProps } = {} } = {} } = props\n\n return (\n <div className={baseClass}>\n {/* @ts-expect-error // TODO Fix this - Broke with React 19 types */}\n <SelectComponents.MultiValueLabel\n {...props}\n innerProps={{\n className: `${baseClass}__text`,\n ...(draggableProps || {}),\n }}\n />\n </div>\n )\n}\n"],"names":["React","components","SelectComponents","baseClass","MultiValueLabel","props","selectProps","customProps","draggableProps","div","className","innerProps"],"mappings":"AAAA;;AAGA,OAAOA,WAAW,QAAO;AACzB,SAASC,cAAcC,gBAAgB,QAAQ,eAAc;AAI7D,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,OAAO,MAAMC,kBAAqD,CAACC;IACjE,6FAA6F;IAC7F,MAAM,EAAEC,aAAa,EAAEC,aAAa,EAAEC,cAAc,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAGH;IAEvE,qBACE,KAACI;QAAIC,WAAWP;kBAEd,cAAA,KAACD,iBAAiBE,eAAe;YAC9B,GAAGC,KAAK;YACTM,YAAY;gBACVD,WAAW,CAAC,EAAEP,UAAU,MAAM,CAAC;gBAC/B,GAAIK,kBAAkB,CAAC,CAAC;YAC1B;;;AAIR,EAAC"}
1
+ {"version":3,"sources":["../../../../src/elements/ReactSelect/MultiValueLabel/index.tsx"],"sourcesContent":["'use client'\nimport type { MultiValueProps } from 'react-select'\n\nimport React from 'react'\nimport { components as SelectComponents } from 'react-select'\n\nimport type { Option } from '../types.js'\n\nimport './index.scss'\n\nconst baseClass = 'multi-value-label'\n\nexport const MultiValueLabel: React.FC<MultiValueProps<Option>> = (props) => {\n // @ts-expect-error-next-line// TODO Fix this - moduleResolution 16 breaks our declare module\n const { selectProps: { customProps: { draggableProps } = {} } = {} } = props\n\n return (\n <div className={baseClass}>\n <SelectComponents.MultiValueLabel\n {...props}\n innerProps={{\n className: `${baseClass}__text`,\n ...(draggableProps || {}),\n }}\n />\n </div>\n )\n}\n"],"names":["React","components","SelectComponents","baseClass","MultiValueLabel","props","selectProps","customProps","draggableProps","div","className","innerProps"],"mappings":"AAAA;;AAGA,OAAOA,WAAW,QAAO;AACzB,SAASC,cAAcC,gBAAgB,QAAQ,eAAc;AAI7D,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,OAAO,MAAMC,kBAAqD,CAACC;IACjE,6FAA6F;IAC7F,MAAM,EAAEC,aAAa,EAAEC,aAAa,EAAEC,cAAc,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAGH;IAEvE,qBACE,KAACI;QAAIC,WAAWP;kBACd,cAAA,KAACD,iBAAiBE,eAAe;YAC9B,GAAGC,KAAK;YACTM,YAAY;gBACVD,WAAW,CAAC,EAAEP,UAAU,MAAM,CAAC;gBAC/B,GAAIK,kBAAkB,CAAC,CAAC;YAC1B;;;AAIR,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/ReactSelect/SingleValue/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAEpD,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAIzC,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAc1D,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/ReactSelect/SingleValue/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAEpD,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAIzC,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAa1D,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/elements/ReactSelect/SingleValue/index.tsx"],"sourcesContent":["'use client'\nimport type { SingleValueProps } from 'react-select'\n\nimport React from 'react'\nimport { components as SelectComponents } from 'react-select'\n\nimport type { Option } from '../types.js'\n\nconst baseClass = 'react-select--single-value'\n\nexport const SingleValue: React.FC<SingleValueProps<Option>> = (props) => {\n const { children, className } = props\n\n return (\n <React.Fragment>\n {/* @ts-expect-error // TODO Fix this - Broke with React 19 types */}\n <SelectComponents.SingleValue\n {...props}\n className={[baseClass, className].filter(Boolean).join(' ')}\n >\n {children}\n </SelectComponents.SingleValue>\n </React.Fragment>\n )\n}\n"],"names":["React","components","SelectComponents","baseClass","SingleValue","props","children","className","Fragment","filter","Boolean","join"],"mappings":"AAAA;;AAGA,OAAOA,WAAW,QAAO;AACzB,SAASC,cAAcC,gBAAgB,QAAQ,eAAc;AAI7D,MAAMC,YAAY;AAElB,OAAO,MAAMC,cAAkD,CAACC;IAC9D,MAAM,EAAEC,QAAQ,EAAEC,SAAS,EAAE,GAAGF;IAEhC,qBACE,KAACL,MAAMQ,QAAQ;kBAEb,cAAA,KAACN,iBAAiBE,WAAW;YAC1B,GAAGC,KAAK;YACTE,WAAW;gBAACJ;gBAAWI;aAAU,CAACE,MAAM,CAACC,SAASC,IAAI,CAAC;sBAEtDL;;;AAIT,EAAC"}
1
+ {"version":3,"sources":["../../../../src/elements/ReactSelect/SingleValue/index.tsx"],"sourcesContent":["'use client'\nimport type { SingleValueProps } from 'react-select'\n\nimport React from 'react'\nimport { components as SelectComponents } from 'react-select'\n\nimport type { Option } from '../types.js'\n\nconst baseClass = 'react-select--single-value'\n\nexport const SingleValue: React.FC<SingleValueProps<Option>> = (props) => {\n const { children, className } = props\n\n return (\n <React.Fragment>\n <SelectComponents.SingleValue\n {...props}\n className={[baseClass, className].filter(Boolean).join(' ')}\n >\n {children}\n </SelectComponents.SingleValue>\n </React.Fragment>\n )\n}\n"],"names":["React","components","SelectComponents","baseClass","SingleValue","props","children","className","Fragment","filter","Boolean","join"],"mappings":"AAAA;;AAGA,OAAOA,WAAW,QAAO;AACzB,SAASC,cAAcC,gBAAgB,QAAQ,eAAc;AAI7D,MAAMC,YAAY;AAElB,OAAO,MAAMC,cAAkD,CAACC;IAC9D,MAAM,EAAEC,QAAQ,EAAEC,SAAS,EAAE,GAAGF;IAEhC,qBACE,KAACL,MAAMQ,QAAQ;kBACb,cAAA,KAACN,iBAAiBE,WAAW;YAC1B,GAAGC,KAAK;YACTE,WAAW;gBAACJ;gBAAWI;aAAU,CAACE,MAAM,CAACC,SAASC,IAAI,CAAC;sBAEtDL;;;AAIT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/ReactSelect/ValueContainer/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEvD,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,CAUrE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/ReactSelect/ValueContainer/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEvD,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,CASrE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/elements/ReactSelect/ValueContainer/index.tsx"],"sourcesContent":["'use client'\nimport type { ValueContainerProps } from 'react-select'\n\nimport React from 'react'\nimport { components as SelectComponents } from 'react-select'\n\nimport type { Option } from '../types.js'\n\nimport './index.scss'\n\nconst baseClass = 'value-container'\n\nexport const ValueContainer: React.FC<ValueContainerProps<Option, any>> = (props) => {\n // @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\n const { selectProps: { customProps } = {} } = props\n\n return (\n <div className={baseClass} ref={customProps?.droppableRef}>\n {/* @ts-expect-error // TODO Fix this - Broke with React 19 types */}\n <SelectComponents.ValueContainer {...props} />\n </div>\n )\n}\n"],"names":["React","components","SelectComponents","baseClass","ValueContainer","props","selectProps","customProps","div","className","ref","droppableRef"],"mappings":"AAAA;;AAGA,OAAOA,WAAW,QAAO;AACzB,SAASC,cAAcC,gBAAgB,QAAQ,eAAc;AAI7D,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,OAAO,MAAMC,iBAA6D,CAACC;IACzE,8FAA8F;IAC9F,MAAM,EAAEC,aAAa,EAAEC,WAAW,EAAE,GAAG,CAAC,CAAC,EAAE,GAAGF;IAE9C,qBACE,KAACG;QAAIC,WAAWN;QAAWO,KAAKH,aAAaI;kBAE3C,cAAA,KAACT,iBAAiBE,cAAc;YAAE,GAAGC,KAAK;;;AAGhD,EAAC"}
1
+ {"version":3,"sources":["../../../../src/elements/ReactSelect/ValueContainer/index.tsx"],"sourcesContent":["'use client'\nimport type { ValueContainerProps } from 'react-select'\n\nimport React from 'react'\nimport { components as SelectComponents } from 'react-select'\n\nimport type { Option } from '../types.js'\n\nimport './index.scss'\n\nconst baseClass = 'value-container'\n\nexport const ValueContainer: React.FC<ValueContainerProps<Option, any>> = (props) => {\n // @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\n const { selectProps: { customProps } = {} } = props\n\n return (\n <div className={baseClass} ref={customProps?.droppableRef}>\n <SelectComponents.ValueContainer {...props} />\n </div>\n )\n}\n"],"names":["React","components","SelectComponents","baseClass","ValueContainer","props","selectProps","customProps","div","className","ref","droppableRef"],"mappings":"AAAA;;AAGA,OAAOA,WAAW,QAAO;AACzB,SAASC,cAAcC,gBAAgB,QAAQ,eAAc;AAI7D,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,OAAO,MAAMC,iBAA6D,CAACC;IACzE,8FAA8F;IAC9F,MAAM,EAAEC,aAAa,EAAEC,WAAW,EAAE,GAAG,CAAC,CAAC,EAAE,GAAGF;IAE9C,qBACE,KAACG;QAAIC,WAAWN;QAAWO,KAAKH,aAAaI;kBAC3C,cAAA,KAACT,iBAAiBE,cAAc;YAAE,GAAGC,KAAK;;;AAGhD,EAAC"}
@@ -1,7 +1,7 @@
1
1
  @import '../../scss/styles.scss';
2
2
 
3
3
  .render-title {
4
- display: inline-flex;
4
+ display: inline-block;
5
5
  &__id {
6
6
  vertical-align: middle;
7
7
  position: relative;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/StepNav/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,cAAc,CAAA;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAG5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAM7C,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B,CAmEA,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/StepNav/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,cAAc,CAAA;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAO7C,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B,CAmEA,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,CAAA"}
@@ -7,7 +7,7 @@ import { useTranslation } from '../../providers/Translation/index.js';
7
7
  import { StepNavProvider, useStepNav } from './context.js';
8
8
  import './index.scss';
9
9
  export { SetStepNav } from './SetStepNav.js';
10
- import { PayloadIcon } from '@payloadcms/ui';
10
+ import { PayloadIcon } from '../../graphics/Icon/index.js';
11
11
  import { RenderComponent } from '../../providers/Config/RenderComponent.js';
12
12
  const baseClass = 'step-nav';
13
13
  const StepNav = ({ Link, className })=>{
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/StepNav/index.tsx"],"sourcesContent":["'use client'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment } from 'react'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { StepNavProvider, useStepNav } from './context.js'\nimport './index.scss'\nexport { SetStepNav } from './SetStepNav.js'\nimport { PayloadIcon } from '@payloadcms/ui'\n\nimport type { StepNavItem } from './types.js'\n\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\n\nconst baseClass = 'step-nav'\n\nconst StepNav: React.FC<{\n readonly Link?: React.ComponentType\n readonly className?: string\n}> = ({ Link, className }) => {\n const { i18n } = useTranslation()\n\n const { stepNav } = useStepNav()\n\n const {\n config,\n config: {\n routes: { admin },\n },\n } = useConfig()\n\n const { t } = useTranslation()\n\n const LinkElement = Link || 'a'\n\n return (\n <Fragment>\n {stepNav.length > 0 ? (\n <nav className={[baseClass, className].filter(Boolean).join(' ')}>\n <LinkElement className={`${baseClass}__home`} href={admin} tabIndex={0}>\n <span title={t('general:dashboard')}>\n <RenderComponent\n Component={PayloadIcon}\n mappedComponent={config?.admin?.components?.graphics?.Icon}\n />\n </span>\n </LinkElement>\n <span>/</span>\n {stepNav.map((item, i) => {\n const StepLabel = getTranslation(item.label, i18n)\n const isLast = stepNav.length === i + 1\n\n const Step = isLast ? (\n <span className={`${baseClass}__last`} key={i}>\n {StepLabel}\n </span>\n ) : (\n <Fragment key={i}>\n {item.url ? (\n <LinkElement href={item.url}>\n <span key={i}>{StepLabel}</span>\n </LinkElement>\n ) : (\n <span key={i}>{StepLabel}</span>\n )}\n <span>/</span>\n </Fragment>\n )\n\n return Step\n })}\n </nav>\n ) : (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__home`}>\n <span title={t('general:dashboard')}>\n <RenderComponent\n Component={PayloadIcon}\n mappedComponent={config?.admin?.components?.graphics?.Icon}\n />\n </span>\n </div>\n </div>\n )}\n </Fragment>\n )\n}\n\nexport { StepNav, StepNavItem, StepNavProvider, useStepNav }\n"],"names":["getTranslation","React","Fragment","useConfig","useTranslation","StepNavProvider","useStepNav","SetStepNav","PayloadIcon","RenderComponent","baseClass","StepNav","Link","className","i18n","stepNav","config","routes","admin","t","LinkElement","length","nav","filter","Boolean","join","href","tabIndex","span","title","Component","mappedComponent","components","graphics","Icon","map","item","i","StepLabel","label","isLast","Step","url","div"],"mappings":"AAAA;;AAEA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AAEvC,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,eAAe,EAAEC,UAAU,QAAQ,eAAc;AAC1D,OAAO,eAAc;AACrB,SAASC,UAAU,QAAQ,kBAAiB;AAC5C,SAASC,WAAW,QAAQ,iBAAgB;AAI5C,SAASC,eAAe,QAAQ,4CAA2C;AAE3E,MAAMC,YAAY;AAElB,MAAMC,UAGD,CAAC,EAAEC,IAAI,EAAEC,SAAS,EAAE;IACvB,MAAM,EAAEC,IAAI,EAAE,GAAGV;IAEjB,MAAM,EAAEW,OAAO,EAAE,GAAGT;IAEpB,MAAM,EACJU,MAAM,EACNA,QAAQ,EACNC,QAAQ,EAAEC,KAAK,EAAE,EAClB,EACF,GAAGf;IAEJ,MAAM,EAAEgB,CAAC,EAAE,GAAGf;IAEd,MAAMgB,cAAcR,QAAQ;IAE5B,qBACE,KAACV;kBACEa,QAAQM,MAAM,GAAG,kBAChB,MAACC;YAAIT,WAAW;gBAACH;gBAAWG;aAAU,CAACU,MAAM,CAACC,SAASC,IAAI,CAAC;;8BAC1D,KAACL;oBAAYP,WAAW,CAAC,EAAEH,UAAU,MAAM,CAAC;oBAAEgB,MAAMR;oBAAOS,UAAU;8BACnE,cAAA,KAACC;wBAAKC,OAAOV,EAAE;kCACb,cAAA,KAACV;4BACCqB,WAAWtB;4BACXuB,iBAAiBf,QAAQE,OAAOc,YAAYC,UAAUC;;;;8BAI5D,KAACN;8BAAK;;gBACLb,QAAQoB,GAAG,CAAC,CAACC,MAAMC;oBAClB,MAAMC,YAAYtC,eAAeoC,KAAKG,KAAK,EAAEzB;oBAC7C,MAAM0B,SAASzB,QAAQM,MAAM,KAAKgB,IAAI;oBAEtC,MAAMI,OAAOD,uBACX,KAACZ;wBAAKf,WAAW,CAAC,EAAEH,UAAU,MAAM,CAAC;kCAClC4B;uBADyCD,mBAI5C,MAACnC;;4BACEkC,KAAKM,GAAG,iBACP,KAACtB;gCAAYM,MAAMU,KAAKM,GAAG;0CACzB,cAAA,KAACd;8CAAcU;mCAAJD;+CAGb,KAACT;0CAAcU;+BAAJD;0CAEb,KAACT;0CAAK;;;uBAROS;oBAYjB,OAAOI;gBACT;;2BAGF,KAACE;YAAI9B,WAAW;gBAACH;gBAAWG;aAAU,CAACU,MAAM,CAACC,SAASC,IAAI,CAAC;sBAC1D,cAAA,KAACkB;gBAAI9B,WAAW,CAAC,EAAEH,UAAU,MAAM,CAAC;0BAClC,cAAA,KAACkB;oBAAKC,OAAOV,EAAE;8BACb,cAAA,KAACV;wBACCqB,WAAWtB;wBACXuB,iBAAiBf,QAAQE,OAAOc,YAAYC,UAAUC;;;;;;AAQtE;AAEA,SAASvB,OAAO,EAAeN,eAAe,EAAEC,UAAU,GAAE"}
1
+ {"version":3,"sources":["../../../src/elements/StepNav/index.tsx"],"sourcesContent":["'use client'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment } from 'react'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { StepNavProvider, useStepNav } from './context.js'\nimport './index.scss'\nexport { SetStepNav } from './SetStepNav.js'\nimport type { StepNavItem } from './types.js'\n\nimport { PayloadIcon } from '../../graphics/Icon/index.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\n\nconst baseClass = 'step-nav'\n\nconst StepNav: React.FC<{\n readonly Link?: React.ComponentType\n readonly className?: string\n}> = ({ Link, className }) => {\n const { i18n } = useTranslation()\n\n const { stepNav } = useStepNav()\n\n const {\n config,\n config: {\n routes: { admin },\n },\n } = useConfig()\n\n const { t } = useTranslation()\n\n const LinkElement = Link || 'a'\n\n return (\n <Fragment>\n {stepNav.length > 0 ? (\n <nav className={[baseClass, className].filter(Boolean).join(' ')}>\n <LinkElement className={`${baseClass}__home`} href={admin} tabIndex={0}>\n <span title={t('general:dashboard')}>\n <RenderComponent\n Component={PayloadIcon}\n mappedComponent={config?.admin?.components?.graphics?.Icon}\n />\n </span>\n </LinkElement>\n <span>/</span>\n {stepNav.map((item, i) => {\n const StepLabel = getTranslation(item.label, i18n)\n const isLast = stepNav.length === i + 1\n\n const Step = isLast ? (\n <span className={`${baseClass}__last`} key={i}>\n {StepLabel}\n </span>\n ) : (\n <Fragment key={i}>\n {item.url ? (\n <LinkElement href={item.url}>\n <span key={i}>{StepLabel}</span>\n </LinkElement>\n ) : (\n <span key={i}>{StepLabel}</span>\n )}\n <span>/</span>\n </Fragment>\n )\n\n return Step\n })}\n </nav>\n ) : (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__home`}>\n <span title={t('general:dashboard')}>\n <RenderComponent\n Component={PayloadIcon}\n mappedComponent={config?.admin?.components?.graphics?.Icon}\n />\n </span>\n </div>\n </div>\n )}\n </Fragment>\n )\n}\n\nexport { StepNav, StepNavItem, StepNavProvider, useStepNav }\n"],"names":["getTranslation","React","Fragment","useConfig","useTranslation","StepNavProvider","useStepNav","SetStepNav","PayloadIcon","RenderComponent","baseClass","StepNav","Link","className","i18n","stepNav","config","routes","admin","t","LinkElement","length","nav","filter","Boolean","join","href","tabIndex","span","title","Component","mappedComponent","components","graphics","Icon","map","item","i","StepLabel","label","isLast","Step","url","div"],"mappings":"AAAA;;AAEA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AAEvC,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,eAAe,EAAEC,UAAU,QAAQ,eAAc;AAC1D,OAAO,eAAc;AACrB,SAASC,UAAU,QAAQ,kBAAiB;AAG5C,SAASC,WAAW,QAAQ,+BAA8B;AAC1D,SAASC,eAAe,QAAQ,4CAA2C;AAE3E,MAAMC,YAAY;AAElB,MAAMC,UAGD,CAAC,EAAEC,IAAI,EAAEC,SAAS,EAAE;IACvB,MAAM,EAAEC,IAAI,EAAE,GAAGV;IAEjB,MAAM,EAAEW,OAAO,EAAE,GAAGT;IAEpB,MAAM,EACJU,MAAM,EACNA,QAAQ,EACNC,QAAQ,EAAEC,KAAK,EAAE,EAClB,EACF,GAAGf;IAEJ,MAAM,EAAEgB,CAAC,EAAE,GAAGf;IAEd,MAAMgB,cAAcR,QAAQ;IAE5B,qBACE,KAACV;kBACEa,QAAQM,MAAM,GAAG,kBAChB,MAACC;YAAIT,WAAW;gBAACH;gBAAWG;aAAU,CAACU,MAAM,CAACC,SAASC,IAAI,CAAC;;8BAC1D,KAACL;oBAAYP,WAAW,CAAC,EAAEH,UAAU,MAAM,CAAC;oBAAEgB,MAAMR;oBAAOS,UAAU;8BACnE,cAAA,KAACC;wBAAKC,OAAOV,EAAE;kCACb,cAAA,KAACV;4BACCqB,WAAWtB;4BACXuB,iBAAiBf,QAAQE,OAAOc,YAAYC,UAAUC;;;;8BAI5D,KAACN;8BAAK;;gBACLb,QAAQoB,GAAG,CAAC,CAACC,MAAMC;oBAClB,MAAMC,YAAYtC,eAAeoC,KAAKG,KAAK,EAAEzB;oBAC7C,MAAM0B,SAASzB,QAAQM,MAAM,KAAKgB,IAAI;oBAEtC,MAAMI,OAAOD,uBACX,KAACZ;wBAAKf,WAAW,CAAC,EAAEH,UAAU,MAAM,CAAC;kCAClC4B;uBADyCD,mBAI5C,MAACnC;;4BACEkC,KAAKM,GAAG,iBACP,KAACtB;gCAAYM,MAAMU,KAAKM,GAAG;0CACzB,cAAA,KAACd;8CAAcU;mCAAJD;+CAGb,KAACT;0CAAcU;+BAAJD;0CAEb,KAACT;0CAAK;;;uBAROS;oBAYjB,OAAOI;gBACT;;2BAGF,KAACE;YAAI9B,WAAW;gBAACH;gBAAWG;aAAU,CAACU,MAAM,CAACC,SAASC,IAAI,CAAC;sBAC1D,cAAA,KAACkB;gBAAI9B,WAAW,CAAC,EAAEH,UAAU,MAAM,CAAC;0BAClC,cAAA,KAACkB;oBAAKC,OAAOV,EAAE;8BACb,cAAA,KAACV;wBACCqB,WAAWtB;wBACXuB,iBAAiBf,QAAQE,OAAOc,YAAYC,UAAUC;;;;;;AAQtE;AAEA,SAASvB,OAAO,EAAeN,eAAe,EAAEC,UAAU,GAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/Table/DefaultCell/fields/Date/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAGzE,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAC7B,yBAAyB,CAAC,IAAI,GAAG,MAAM,GAAG,MAAM,EAAE,eAAe,CAAC,CAanE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/Table/DefaultCell/fields/Date/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAEzE,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAC7B,yBAAyB,CAAC,IAAI,GAAG,MAAM,GAAG,MAAM,EAAE,eAAe,CAAC,CAanE,CAAA"}
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import { useConfig } from '@payloadcms/ui';
4
3
  import React from 'react';
4
+ import { useConfig } from '../../../../../providers/Config/index.js';
5
5
  import { useTranslation } from '../../../../../providers/Translation/index.js';
6
6
  import { formatDate } from '../../../../../utilities/formatDate.js';
7
7
  export const DateCell = ({ cellData, field: { admin: { date } = {} } })=>{
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/elements/Table/DefaultCell/fields/Date/index.tsx"],"sourcesContent":["'use client'\nimport type { DateFieldClient, DefaultCellComponentProps } from 'payload'\n\nimport { useConfig } from '@payloadcms/ui'\nimport React from 'react'\n\nimport { useTranslation } from '../../../../../providers/Translation/index.js'\nimport { formatDate } from '../../../../../utilities/formatDate.js'\n\nexport const DateCell: React.FC<\n DefaultCellComponentProps<Date | number | string, DateFieldClient>\n> = ({ cellData, field: { admin: { date } = {} } }) => {\n const {\n config: {\n admin: { dateFormat: dateFormatFromRoot },\n },\n } = useConfig()\n\n const dateFormat = date?.displayFormat || dateFormatFromRoot\n\n const { i18n } = useTranslation()\n\n return <span>{cellData && formatDate({ date: cellData, i18n, pattern: dateFormat })}</span>\n}\n"],"names":["useConfig","React","useTranslation","formatDate","DateCell","cellData","field","admin","date","config","dateFormat","dateFormatFromRoot","displayFormat","i18n","span","pattern"],"mappings":"AAAA;;AAGA,SAASA,SAAS,QAAQ,iBAAgB;AAC1C,OAAOC,WAAW,QAAO;AAEzB,SAASC,cAAc,QAAQ,gDAA+C;AAC9E,SAASC,UAAU,QAAQ,yCAAwC;AAEnE,OAAO,MAAMC,WAET,CAAC,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,EAAEC,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE;IAChD,MAAM,EACJC,QAAQ,EACNF,OAAO,EAAEG,YAAYC,kBAAkB,EAAE,EAC1C,EACF,GAAGX;IAEJ,MAAMU,aAAaF,MAAMI,iBAAiBD;IAE1C,MAAM,EAAEE,IAAI,EAAE,GAAGX;IAEjB,qBAAO,KAACY;kBAAMT,YAAYF,WAAW;YAAEK,MAAMH;YAAUQ;YAAME,SAASL;QAAW;;AACnF,EAAC"}
1
+ {"version":3,"sources":["../../../../../../src/elements/Table/DefaultCell/fields/Date/index.tsx"],"sourcesContent":["'use client'\nimport type { DateFieldClient, DefaultCellComponentProps } from 'payload'\n\nimport React from 'react'\n\nimport { useConfig } from '../../../../../providers/Config/index.js'\nimport { useTranslation } from '../../../../../providers/Translation/index.js'\nimport { formatDate } from '../../../../../utilities/formatDate.js'\n\nexport const DateCell: React.FC<\n DefaultCellComponentProps<Date | number | string, DateFieldClient>\n> = ({ cellData, field: { admin: { date } = {} } }) => {\n const {\n config: {\n admin: { dateFormat: dateFormatFromRoot },\n },\n } = useConfig()\n\n const dateFormat = date?.displayFormat || dateFormatFromRoot\n\n const { i18n } = useTranslation()\n\n return <span>{cellData && formatDate({ date: cellData, i18n, pattern: dateFormat })}</span>\n}\n"],"names":["React","useConfig","useTranslation","formatDate","DateCell","cellData","field","admin","date","config","dateFormat","dateFormatFromRoot","displayFormat","i18n","span","pattern"],"mappings":"AAAA;;AAGA,OAAOA,WAAW,QAAO;AAEzB,SAASC,SAAS,QAAQ,2CAA0C;AACpE,SAASC,cAAc,QAAQ,gDAA+C;AAC9E,SAASC,UAAU,QAAQ,yCAAwC;AAEnE,OAAO,MAAMC,WAET,CAAC,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,EAAEC,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE;IAChD,MAAM,EACJC,QAAQ,EACNF,OAAO,EAAEG,YAAYC,kBAAkB,EAAE,EAC1C,EACF,GAAGV;IAEJ,MAAMS,aAAaF,MAAMI,iBAAiBD;IAE1C,MAAM,EAAEE,IAAI,EAAE,GAAGX;IAEjB,qBAAO,KAACY;kBAAMT,YAAYF,WAAW;YAAEK,MAAMH;YAAUQ;YAAME,SAASL;QAAW;;AACnF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"buildColumnState.d.ts","sourceRoot":"","sources":["../../../src/elements/TableColumns/buildColumnState.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,WAAW,EACX,yBAAyB,EAE1B,MAAM,SAAS,CAAA;AAKhB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAQ/C,KAAK,IAAI,GAAG;IACV,SAAS,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAA;IACxC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;CAC7D,CAAA;AAED,eAAO,MAAM,gBAAgB,SAAU,IAAI,KAAG,MAAM,EA0InD,CAAA"}
1
+ {"version":3,"file":"buildColumnState.d.ts","sourceRoot":"","sources":["../../../src/elements/TableColumns/buildColumnState.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,WAAW,EACX,yBAAyB,EAE1B,MAAM,SAAS,CAAA;AAIhB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAS/C,KAAK,IAAI,GAAG;IACV,SAAS,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAA;IACxC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;CAC7D,CAAA;AAED,eAAO,MAAM,gBAAgB,SAAU,IAAI,KAAG,MAAM,EA0InD,CAAA"}
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import { DefaultCell } from '@payloadcms/ui';
4
3
  import React from 'react';
4
+ import { DefaultCell } from '../../elements/Table/DefaultCell/index.js';
5
5
  import { FieldLabel } from '../../fields/FieldLabel/index.js';
6
6
  import { flattenFieldMap } from '../../utilities/flattenFieldMap.js';
7
7
  import { SelectAll } from '../SelectAll/index.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/TableColumns/buildColumnState.tsx"],"sourcesContent":["'use client'\nimport type {\n CellComponentProps,\n ClientField,\n SanitizedCollectionConfig,\n StaticLabel,\n} from 'payload'\n\nimport { DefaultCell } from '@payloadcms/ui'\nimport React from 'react'\n\nimport type { ColumnPreferences } from '../../providers/ListInfo/index.js'\nimport type { Column } from '../Table/index.js'\n\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { flattenFieldMap } from '../../utilities/flattenFieldMap.js'\nimport { SelectAll } from '../SelectAll/index.js'\nimport { SelectRow } from '../SelectRow/index.js'\nimport { SortColumn } from '../SortColumn/index.js'\n\ntype Args = {\n cellProps: Partial<CellComponentProps>[]\n columnPreferences: ColumnPreferences\n columns?: ColumnPreferences\n enableRowSelections: boolean\n fields: ClientField[]\n useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle']\n}\n\nexport const buildColumnState = (args: Args): Column[] => {\n const { cellProps, columnPreferences, columns, enableRowSelections, fields, useAsTitle } = args\n\n let sortedFieldMap = flattenFieldMap(fields)\n\n // place the `ID` field first, if it exists\n // do the same for the `useAsTitle` field with precedence over the `ID` field\n // then sort the rest of the fields based on the `defaultColumns` or `columnPreferences`\n const idFieldIndex = sortedFieldMap.findIndex((field) => 'name' in field && field.name === 'id')\n\n if (idFieldIndex > -1) {\n const idField = sortedFieldMap.splice(idFieldIndex, 1)[0]\n sortedFieldMap.unshift(idField)\n }\n\n const useAsTitleFieldIndex = useAsTitle\n ? sortedFieldMap.findIndex((field) => 'name' in field && field.name === useAsTitle)\n : -1\n\n if (useAsTitleFieldIndex > -1) {\n const useAsTitleField = sortedFieldMap.splice(useAsTitleFieldIndex, 1)[0]\n sortedFieldMap.unshift(useAsTitleField)\n }\n\n const sortTo = columnPreferences || columns\n\n if (sortTo) {\n // sort the fields to the order of `defaultColumns` or `columnPreferences`\n sortedFieldMap = sortedFieldMap.sort((a, b) => {\n const aIndex = sortTo.findIndex((column) => 'name' in a && column.accessor === a.name)\n const bIndex = sortTo.findIndex((column) => 'name' in b && column.accessor === b.name)\n if (aIndex === -1 && bIndex === -1) return 0\n if (aIndex === -1) return 1\n if (bIndex === -1) return -1\n return aIndex - bIndex\n })\n }\n\n const activeColumnsIndices = []\n\n const sorted: Column[] = sortedFieldMap.reduce((acc, field, index) => {\n const columnPreference = columnPreferences?.find(\n (preference) => 'name' in field && preference.accessor === field.name,\n )\n\n let active = false\n\n if (columnPreference) {\n active = columnPreference.active\n } else if (columns && Array.isArray(columns) && columns.length > 0) {\n active = columns.find((column) => 'name' in field && column.accessor === field.name)?.active\n } else if (activeColumnsIndices.length < 4) {\n active = true\n }\n\n if (active && !activeColumnsIndices.includes(index)) {\n activeColumnsIndices.push(index)\n }\n\n const isFirstActiveColumn = activeColumnsIndices[0] === index\n\n const CustomLabelToRender =\n field &&\n 'admin' in field &&\n 'components' in field.admin &&\n 'Label' in field.admin.components &&\n field.admin.components.Label !== undefined // let it return `null`\n ? field.admin.components.Label\n : undefined\n\n const Label = (\n <FieldLabel\n Label={CustomLabelToRender}\n label={'label' in field ? (field.label as StaticLabel) : undefined}\n unstyled\n />\n )\n\n const fieldAffectsDataSubFields =\n field &&\n field.type &&\n (field.type === 'array' || field.type === 'group' || field.type === 'blocks')\n\n const Heading = (\n <SortColumn\n Label={Label}\n disable={fieldAffectsDataSubFields || field?._isPresentational || undefined}\n label={'label' in field ? (field.label as StaticLabel) : undefined}\n name={'name' in field ? field.name : undefined}\n />\n )\n\n if (field) {\n const column: Column = {\n Label,\n accessor: 'name' in field ? field.name : undefined,\n active,\n cellProps: {\n field: {\n ...(field || ({} as ClientField)),\n ...(cellProps?.[index]?.field || ({} as ClientField)),\n } as ClientField,\n ...cellProps?.[index],\n link: isFirstActiveColumn,\n },\n components: {\n Cell: field.admin?.components?.Cell || {\n type: 'client',\n Component: DefaultCell,\n RenderedComponent: null,\n },\n Heading,\n },\n }\n\n acc.push(column)\n }\n\n return acc\n }, [])\n\n if (enableRowSelections) {\n sorted.unshift({\n Label: null,\n accessor: '_select',\n active: true,\n components: {\n Cell: {\n type: 'client',\n Component: null,\n RenderedComponent: <SelectRow />,\n },\n Heading: <SelectAll />,\n },\n })\n }\n\n return sorted\n}\n"],"names":["DefaultCell","React","FieldLabel","flattenFieldMap","SelectAll","SelectRow","SortColumn","buildColumnState","args","cellProps","columnPreferences","columns","enableRowSelections","fields","useAsTitle","sortedFieldMap","idFieldIndex","findIndex","field","name","idField","splice","unshift","useAsTitleFieldIndex","useAsTitleField","sortTo","sort","a","b","aIndex","column","accessor","bIndex","activeColumnsIndices","sorted","reduce","acc","index","columnPreference","find","preference","active","Array","isArray","length","includes","push","isFirstActiveColumn","CustomLabelToRender","admin","components","Label","undefined","label","unstyled","fieldAffectsDataSubFields","type","Heading","disable","_isPresentational","link","Cell","Component","RenderedComponent"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/elements/TableColumns/buildColumnState.tsx"],"sourcesContent":["'use client'\nimport type {\n CellComponentProps,\n ClientField,\n SanitizedCollectionConfig,\n StaticLabel,\n} from 'payload'\n\nimport React from 'react'\n\nimport type { ColumnPreferences } from '../../providers/ListInfo/index.js'\nimport type { Column } from '../Table/index.js'\n\nimport { DefaultCell } from '../../elements/Table/DefaultCell/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { flattenFieldMap } from '../../utilities/flattenFieldMap.js'\nimport { SelectAll } from '../SelectAll/index.js'\nimport { SelectRow } from '../SelectRow/index.js'\nimport { SortColumn } from '../SortColumn/index.js'\n\ntype Args = {\n cellProps: Partial<CellComponentProps>[]\n columnPreferences: ColumnPreferences\n columns?: ColumnPreferences\n enableRowSelections: boolean\n fields: ClientField[]\n useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle']\n}\n\nexport const buildColumnState = (args: Args): Column[] => {\n const { cellProps, columnPreferences, columns, enableRowSelections, fields, useAsTitle } = args\n\n let sortedFieldMap = flattenFieldMap(fields)\n\n // place the `ID` field first, if it exists\n // do the same for the `useAsTitle` field with precedence over the `ID` field\n // then sort the rest of the fields based on the `defaultColumns` or `columnPreferences`\n const idFieldIndex = sortedFieldMap.findIndex((field) => 'name' in field && field.name === 'id')\n\n if (idFieldIndex > -1) {\n const idField = sortedFieldMap.splice(idFieldIndex, 1)[0]\n sortedFieldMap.unshift(idField)\n }\n\n const useAsTitleFieldIndex = useAsTitle\n ? sortedFieldMap.findIndex((field) => 'name' in field && field.name === useAsTitle)\n : -1\n\n if (useAsTitleFieldIndex > -1) {\n const useAsTitleField = sortedFieldMap.splice(useAsTitleFieldIndex, 1)[0]\n sortedFieldMap.unshift(useAsTitleField)\n }\n\n const sortTo = columnPreferences || columns\n\n if (sortTo) {\n // sort the fields to the order of `defaultColumns` or `columnPreferences`\n sortedFieldMap = sortedFieldMap.sort((a, b) => {\n const aIndex = sortTo.findIndex((column) => 'name' in a && column.accessor === a.name)\n const bIndex = sortTo.findIndex((column) => 'name' in b && column.accessor === b.name)\n if (aIndex === -1 && bIndex === -1) return 0\n if (aIndex === -1) return 1\n if (bIndex === -1) return -1\n return aIndex - bIndex\n })\n }\n\n const activeColumnsIndices = []\n\n const sorted: Column[] = sortedFieldMap.reduce((acc, field, index) => {\n const columnPreference = columnPreferences?.find(\n (preference) => 'name' in field && preference.accessor === field.name,\n )\n\n let active = false\n\n if (columnPreference) {\n active = columnPreference.active\n } else if (columns && Array.isArray(columns) && columns.length > 0) {\n active = columns.find((column) => 'name' in field && column.accessor === field.name)?.active\n } else if (activeColumnsIndices.length < 4) {\n active = true\n }\n\n if (active && !activeColumnsIndices.includes(index)) {\n activeColumnsIndices.push(index)\n }\n\n const isFirstActiveColumn = activeColumnsIndices[0] === index\n\n const CustomLabelToRender =\n field &&\n 'admin' in field &&\n 'components' in field.admin &&\n 'Label' in field.admin.components &&\n field.admin.components.Label !== undefined // let it return `null`\n ? field.admin.components.Label\n : undefined\n\n const Label = (\n <FieldLabel\n Label={CustomLabelToRender}\n label={'label' in field ? (field.label as StaticLabel) : undefined}\n unstyled\n />\n )\n\n const fieldAffectsDataSubFields =\n field &&\n field.type &&\n (field.type === 'array' || field.type === 'group' || field.type === 'blocks')\n\n const Heading = (\n <SortColumn\n Label={Label}\n disable={fieldAffectsDataSubFields || field?._isPresentational || undefined}\n label={'label' in field ? (field.label as StaticLabel) : undefined}\n name={'name' in field ? field.name : undefined}\n />\n )\n\n if (field) {\n const column: Column = {\n Label,\n accessor: 'name' in field ? field.name : undefined,\n active,\n cellProps: {\n field: {\n ...(field || ({} as ClientField)),\n ...(cellProps?.[index]?.field || ({} as ClientField)),\n } as ClientField,\n ...cellProps?.[index],\n link: isFirstActiveColumn,\n },\n components: {\n Cell: field.admin?.components?.Cell || {\n type: 'client',\n Component: DefaultCell,\n RenderedComponent: null,\n },\n Heading,\n },\n }\n\n acc.push(column)\n }\n\n return acc\n }, [])\n\n if (enableRowSelections) {\n sorted.unshift({\n Label: null,\n accessor: '_select',\n active: true,\n components: {\n Cell: {\n type: 'client',\n Component: null,\n RenderedComponent: <SelectRow />,\n },\n Heading: <SelectAll />,\n },\n })\n }\n\n return sorted\n}\n"],"names":["React","DefaultCell","FieldLabel","flattenFieldMap","SelectAll","SelectRow","SortColumn","buildColumnState","args","cellProps","columnPreferences","columns","enableRowSelections","fields","useAsTitle","sortedFieldMap","idFieldIndex","findIndex","field","name","idField","splice","unshift","useAsTitleFieldIndex","useAsTitleField","sortTo","sort","a","b","aIndex","column","accessor","bIndex","activeColumnsIndices","sorted","reduce","acc","index","columnPreference","find","preference","active","Array","isArray","length","includes","push","isFirstActiveColumn","CustomLabelToRender","admin","components","Label","undefined","label","unstyled","fieldAffectsDataSubFields","type","Heading","disable","_isPresentational","link","Cell","Component","RenderedComponent"],"mappings":"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"}
@@ -4,18 +4,18 @@ import './index.scss';
4
4
  export declare const editDrawerSlug = "edit-upload";
5
5
  export declare const sizePreviewSlug = "preview-sizes";
6
6
  type UploadActionsArgs = {
7
- customActions?: React.ReactNode[];
8
- enableAdjustments: boolean;
9
- enablePreviewSizes: boolean;
10
- mimeType: string;
7
+ readonly customActions?: React.ReactNode[];
8
+ readonly enableAdjustments: boolean;
9
+ readonly enablePreviewSizes: boolean;
10
+ readonly mimeType: string;
11
11
  };
12
12
  export declare const UploadActions: ({ customActions, enableAdjustments, enablePreviewSizes, mimeType, }: UploadActionsArgs) => React.JSX.Element;
13
13
  export type UploadProps = {
14
- collectionSlug: string;
15
- customActions?: React.ReactNode[];
16
- initialState?: FormState;
17
- onChange?: (file?: File) => void;
18
- uploadConfig: SanitizedCollectionConfig['upload'];
14
+ readonly collectionSlug: string;
15
+ readonly customActions?: React.ReactNode[];
16
+ readonly initialState?: FormState;
17
+ readonly onChange?: (file?: File) => void;
18
+ readonly uploadConfig: SanitizedCollectionConfig['upload'];
19
19
  };
20
20
  export declare const Upload: React.FC<UploadProps>;
21
21
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Upload/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,yBAAyB,EAAe,MAAM,SAAS,CAAA;AAIhF,OAAO,KAAmD,MAAM,OAAO,CAAA;AAevE,OAAO,cAAc,CAAA;AAGrB,eAAO,MAAM,cAAc,gBAAgB,CAAA;AAC3C,eAAO,MAAM,eAAe,kBAAkB,CAAA;AAU9C,KAAK,iBAAiB,GAAG;IACvB,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IACjC,iBAAiB,EAAE,OAAO,CAAA;IAC1B,kBAAkB,EAAE,OAAO,CAAA;IAC3B,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,aAAa,wEAKvB,iBAAiB,sBA8BnB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IACjC,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAA;IAChC,YAAY,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;CAClD,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAwQxC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Upload/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,yBAAyB,EAAe,MAAM,SAAS,CAAA;AAGhF,OAAO,KAAmD,MAAM,OAAO,CAAA;AAiBvE,OAAO,cAAc,CAAA;AAGrB,eAAO,MAAM,cAAc,gBAAgB,CAAA;AAC3C,eAAO,MAAM,eAAe,kBAAkB,CAAA;AAU9C,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,aAAa,wEAKvB,iBAAiB,sBA8BnB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAA;IACzC,QAAQ,CAAC,YAAY,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;CAC3D,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAqQxC,CAAA"}
@@ -1,14 +1,15 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useForm, useUploadEdits } from '@payloadcms/ui';
4
3
  import { isImage, reduceFieldsToValues } from 'payload/shared';
5
4
  import React, { useCallback, useEffect, useRef, useState } from 'react';
6
5
  import { toast } from 'sonner';
7
6
  import { FieldError } from '../../fields/FieldError/index.js';
8
7
  import { fieldBaseClass } from '../../fields/shared/index.js';
8
+ import { useForm } from '../../forms/Form/index.js';
9
9
  import { useField } from '../../forms/useField/index.js';
10
10
  import { useDocumentInfo } from '../../providers/DocumentInfo/index.js';
11
11
  import { useTranslation } from '../../providers/Translation/index.js';
12
+ import { useUploadEdits } from '../../providers/UploadEdits/index.js';
12
13
  import { Button } from '../Button/index.js';
13
14
  import { Drawer, DrawerToggler } from '../Drawer/index.js';
14
15
  import { Dropzone } from '../Dropzone/index.js';
@@ -74,14 +75,7 @@ export const Upload = (props)=>{
74
75
  const urlInputRef = useRef(null);
75
76
  const handleFileChange = useCallback((newFile)=>{
76
77
  if (newFile instanceof File) {
77
- const fileReader = new FileReader();
78
- fileReader.onload = (e)=>{
79
- const imgSrc = e.target?.result;
80
- if (typeof imgSrc === 'string') {
81
- setFileSrc(imgSrc);
82
- }
83
- };
84
- fileReader.readAsDataURL(newFile);
78
+ setFileSrc(URL.createObjectURL(newFile));
85
79
  }
86
80
  setValue(newFile);
87
81
  setShowUrlInput(false);
@@ -165,6 +159,9 @@ export const Upload = (props)=>{
165
159
  };
166
160
  useEffect(()=>{
167
161
  setDoc(reduceFieldsToValues(initialState || {}, true));
162
+ if (initialState?.file?.value instanceof File) {
163
+ setFileSrc(URL.createObjectURL(initialState.file.value));
164
+ }
168
165
  setReplacingFile(false);
169
166
  }, [
170
167
  initialState
@@ -231,7 +228,9 @@ export const Upload = (props)=>{
231
228
  className: `${baseClass}__add-file-wrap`,
232
229
  children: /*#__PURE__*/ _jsx("button", {
233
230
  className: `${baseClass}__add-file`,
234
- onClick: handleUrlSubmit,
231
+ onClick: ()=>{
232
+ void handleUrlSubmit();
233
+ },
235
234
  type: "button",
236
235
  children: t('upload:addFile')
237
236
  })
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/Upload/index.tsx"],"sourcesContent":["'use client'\nimport type { FormState, SanitizedCollectionConfig, UploadEdits } from 'payload'\n\nimport { useForm, useUploadEdits } from '@payloadcms/ui'\nimport { isImage, reduceFieldsToValues } from 'payload/shared'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { fieldBaseClass } from '../../fields/shared/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { Dropzone } from '../Dropzone/index.js'\nimport { EditUpload } from '../EditUpload/index.js'\nimport { FileDetails } from '../FileDetails/index.js'\nimport { PreviewSizes } from '../PreviewSizes/index.js'\nimport { Thumbnail } from '../Thumbnail/index.js'\nimport './index.scss'\n\nconst baseClass = 'file-field'\nexport const editDrawerSlug = 'edit-upload'\nexport const sizePreviewSlug = 'preview-sizes'\n\nconst validate = (value) => {\n if (!value && value !== undefined) {\n return 'A file is required.'\n }\n\n return true\n}\n\ntype UploadActionsArgs = {\n customActions?: React.ReactNode[]\n enableAdjustments: boolean\n enablePreviewSizes: boolean\n mimeType: string\n}\n\nexport const UploadActions = ({\n customActions,\n enableAdjustments,\n enablePreviewSizes,\n mimeType,\n}: UploadActionsArgs) => {\n const { t } = useTranslation()\n\n const fileTypeIsAdjustable = isImage(mimeType) && mimeType !== 'image/svg+xml'\n\n if (!fileTypeIsAdjustable && (!customActions || customActions.length === 0)) return null\n\n return (\n <div className={`${baseClass}__upload-actions`}>\n {fileTypeIsAdjustable && (\n <React.Fragment>\n {enablePreviewSizes && (\n <DrawerToggler className={`${baseClass}__previewSizes`} slug={sizePreviewSlug}>\n {t('upload:previewSizes')}\n </DrawerToggler>\n )}\n {enableAdjustments && (\n <DrawerToggler className={`${baseClass}__edit`} slug={editDrawerSlug}>\n {t('upload:editImage')}\n </DrawerToggler>\n )}\n </React.Fragment>\n )}\n\n {customActions &&\n customActions.map((CustomAction, i) => {\n return <React.Fragment key={i}>{CustomAction}</React.Fragment>\n })}\n </div>\n )\n}\n\nexport type UploadProps = {\n collectionSlug: string\n customActions?: React.ReactNode[]\n initialState?: FormState\n onChange?: (file?: File) => void\n uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const Upload: React.FC<UploadProps> = (props) => {\n const { collectionSlug, customActions, initialState, onChange, uploadConfig } = props\n\n const [replacingFile, setReplacingFile] = useState(false)\n const [fileSrc, setFileSrc] = useState<null | string>(null)\n const { t } = useTranslation()\n const { setModified } = useForm()\n const { resetUploadEdits, updateUploadEdits, uploadEdits } = useUploadEdits()\n const [doc, setDoc] = useState(reduceFieldsToValues(initialState || {}, true))\n const { docPermissions } = useDocumentInfo()\n const { errorMessage, setValue, showError, value } = useField<File>({\n path: 'file',\n validate,\n })\n\n const [showUrlInput, setShowUrlInput] = useState(false)\n const [fileUrl, setFileUrl] = useState<string>('')\n\n const cursorPositionRef = useRef(null)\n const urlInputRef = useRef<HTMLInputElement>(null)\n\n const handleFileChange = useCallback(\n (newFile: File) => {\n if (newFile instanceof File) {\n const fileReader = new FileReader()\n fileReader.onload = (e) => {\n const imgSrc = e.target?.result\n\n if (typeof imgSrc === 'string') {\n setFileSrc(imgSrc)\n }\n }\n fileReader.readAsDataURL(newFile)\n }\n\n setValue(newFile)\n setShowUrlInput(false)\n\n if (typeof onChange === 'function') {\n onChange(newFile)\n }\n },\n [onChange, setValue],\n )\n\n const handleFileNameChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const updatedFileName = e.target.value\n const cursorPosition = e.target.selectionStart\n\n cursorPositionRef.current = cursorPosition\n\n if (value) {\n const fileValue = value\n // Creating a new File object with updated properties\n const newFile = new File([fileValue], updatedFileName, { type: fileValue.type })\n handleFileChange(newFile)\n }\n }\n\n useEffect(() => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n const inputElement = document.querySelector(`.${baseClass}__filename`) as HTMLInputElement\n if (inputElement && cursorPositionRef.current !== null) {\n inputElement.setSelectionRange(cursorPositionRef.current, cursorPositionRef.current)\n }\n }, [value])\n\n const handleFileSelection = useCallback(\n (files: FileList) => {\n const fileToUpload = files?.[0]\n handleFileChange(fileToUpload)\n },\n [handleFileChange],\n )\n\n const handleFileRemoval = useCallback(() => {\n setReplacingFile(true)\n handleFileChange(null)\n setFileSrc('')\n setFileUrl('')\n setDoc({})\n resetUploadEdits()\n setShowUrlInput(false)\n }, [handleFileChange, resetUploadEdits])\n\n const onEditsSave = useCallback(\n (args: UploadEdits) => {\n setModified(true)\n updateUploadEdits(args)\n },\n [setModified, updateUploadEdits],\n )\n\n const handlePasteUrlClick = () => {\n setShowUrlInput((prev) => !prev)\n }\n\n const handleUrlSubmit = async () => {\n if (fileUrl) {\n try {\n const response = await fetch(fileUrl)\n const data = await response.blob()\n\n // Extract the file name from the URL\n const fileName = fileUrl.split('/').pop()\n\n // Create a new File object from the Blob data\n const file = new File([data], fileName, { type: data.type })\n handleFileChange(file)\n } catch (e) {\n toast.error(e.message)\n }\n }\n }\n\n useEffect(() => {\n setDoc(reduceFieldsToValues(initialState || {}, true))\n setReplacingFile(false)\n }, [initialState])\n\n useEffect(() => {\n if (showUrlInput && urlInputRef.current) {\n urlInputRef.current.focus() // Focus on the remote-url input field when showUrlInput is true\n }\n }, [showUrlInput])\n\n const canRemoveUpload =\n docPermissions?.update?.permission &&\n 'delete' in docPermissions &&\n docPermissions?.delete?.permission\n\n const hasImageSizes = uploadConfig?.imageSizes?.length > 0\n const hasResizeOptions = Boolean(uploadConfig?.resizeOptions)\n // Explicity check if set to true, default is undefined\n const focalPointEnabled = uploadConfig?.focalPoint === true\n\n const { crop: showCrop = true, focalPoint = true } = uploadConfig\n\n const showFocalPoint = focalPoint && (hasImageSizes || hasResizeOptions || focalPointEnabled)\n\n return (\n <div className={[fieldBaseClass, baseClass].filter(Boolean).join(' ')}>\n <FieldError message={errorMessage} showError={showError} />\n {doc.filename && !replacingFile && (\n <FileDetails\n collectionSlug={collectionSlug}\n customUploadActions={customActions}\n doc={doc}\n enableAdjustments={showCrop || showFocalPoint}\n handleRemove={canRemoveUpload ? handleFileRemoval : undefined}\n hasImageSizes={hasImageSizes}\n imageCacheTag={doc.updatedAt}\n uploadConfig={uploadConfig}\n />\n )}\n {(!doc.filename || replacingFile) && (\n <div className={`${baseClass}__upload`}>\n {!value && !showUrlInput && (\n <Dropzone\n className={`${baseClass}__dropzone`}\n mimeTypes={uploadConfig?.mimeTypes}\n onChange={handleFileSelection}\n onPasteUrlClick={handlePasteUrlClick}\n />\n )}\n {showUrlInput && (\n <React.Fragment>\n <div className={`${baseClass}__remote-file-wrap`}>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}__remote-file`}\n onChange={(e) => {\n setFileUrl(e.target.value)\n }}\n ref={urlInputRef}\n type=\"text\"\n value={fileUrl}\n />\n <div className={`${baseClass}__add-file-wrap`}>\n <button\n className={`${baseClass}__add-file`}\n onClick={handleUrlSubmit}\n type=\"button\"\n >\n {t('upload:addFile')}\n </button>\n </div>\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n {value && fileSrc && (\n <React.Fragment>\n <div className={`${baseClass}__thumbnail-wrap`}>\n <Thumbnail\n collectionSlug={collectionSlug}\n fileSrc={isImage(value.type) ? fileSrc : null}\n />\n </div>\n <div className={`${baseClass}__file-adjustments`}>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}__filename`}\n onChange={handleFileNameChange}\n type=\"text\"\n value={value.name}\n />\n <UploadActions\n customActions={customActions}\n enableAdjustments={showCrop || showFocalPoint}\n enablePreviewSizes={hasImageSizes && doc.filename && !replacingFile}\n mimeType={value.type}\n />\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n </div>\n )}\n {(value || doc.filename) && (\n <Drawer Header={null} slug={editDrawerSlug}>\n <EditUpload\n fileName={value?.name || doc?.filename}\n fileSrc={doc?.url || fileSrc}\n imageCacheTag={doc.updatedAt}\n initialCrop={uploadEdits?.crop ?? undefined}\n initialFocalPoint={{\n x: uploadEdits?.focalPoint?.x || doc.focalX || 50,\n y: uploadEdits?.focalPoint?.y || doc.focalY || 50,\n }}\n onSave={onEditsSave}\n showCrop={showCrop}\n showFocalPoint={showFocalPoint}\n />\n </Drawer>\n )}\n {doc && hasImageSizes && (\n <Drawer\n className={`${baseClass}__previewDrawer`}\n hoverTitle\n slug={sizePreviewSlug}\n title={t('upload:sizesFor', { label: doc?.filename })}\n >\n <PreviewSizes doc={doc} imageCacheTag={doc.updatedAt} uploadConfig={uploadConfig} />\n </Drawer>\n )}\n </div>\n )\n}\n"],"names":["useForm","useUploadEdits","isImage","reduceFieldsToValues","React","useCallback","useEffect","useRef","useState","toast","FieldError","fieldBaseClass","useField","useDocumentInfo","useTranslation","Button","Drawer","DrawerToggler","Dropzone","EditUpload","FileDetails","PreviewSizes","Thumbnail","baseClass","editDrawerSlug","sizePreviewSlug","validate","value","undefined","UploadActions","customActions","enableAdjustments","enablePreviewSizes","mimeType","t","fileTypeIsAdjustable","length","div","className","Fragment","slug","map","CustomAction","i","Upload","props","collectionSlug","initialState","onChange","uploadConfig","replacingFile","setReplacingFile","fileSrc","setFileSrc","setModified","resetUploadEdits","updateUploadEdits","uploadEdits","doc","setDoc","docPermissions","errorMessage","setValue","showError","path","showUrlInput","setShowUrlInput","fileUrl","setFileUrl","cursorPositionRef","urlInputRef","handleFileChange","newFile","File","fileReader","FileReader","onload","e","imgSrc","target","result","readAsDataURL","handleFileNameChange","updatedFileName","cursorPosition","selectionStart","current","fileValue","type","inputElement","document","querySelector","setSelectionRange","handleFileSelection","files","fileToUpload","handleFileRemoval","onEditsSave","args","handlePasteUrlClick","prev","handleUrlSubmit","response","fetch","data","blob","fileName","split","pop","file","error","message","focus","canRemoveUpload","update","permission","delete","hasImageSizes","imageSizes","hasResizeOptions","Boolean","resizeOptions","focalPointEnabled","focalPoint","crop","showCrop","showFocalPoint","filter","join","filename","customUploadActions","handleRemove","imageCacheTag","updatedAt","mimeTypes","onPasteUrlClick","input","ref","button","onClick","buttonStyle","icon","iconStyle","round","tooltip","name","Header","url","initialCrop","initialFocalPoint","x","focalX","y","focalY","onSave","hoverTitle","title","label"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/elements/Upload/index.tsx"],"sourcesContent":["'use client'\nimport type { FormState, SanitizedCollectionConfig, UploadEdits } from 'payload'\n\nimport { isImage, reduceFieldsToValues } from 'payload/shared'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { fieldBaseClass } from '../../fields/shared/index.js'\nimport { useForm } from '../../forms/Form/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { Dropzone } from '../Dropzone/index.js'\nimport { EditUpload } from '../EditUpload/index.js'\nimport { FileDetails } from '../FileDetails/index.js'\nimport { PreviewSizes } from '../PreviewSizes/index.js'\nimport { Thumbnail } from '../Thumbnail/index.js'\nimport './index.scss'\n\nconst baseClass = 'file-field'\nexport const editDrawerSlug = 'edit-upload'\nexport const sizePreviewSlug = 'preview-sizes'\n\nconst validate = (value) => {\n if (!value && value !== undefined) {\n return 'A file is required.'\n }\n\n return true\n}\n\ntype UploadActionsArgs = {\n readonly customActions?: React.ReactNode[]\n readonly enableAdjustments: boolean\n readonly enablePreviewSizes: boolean\n readonly mimeType: string\n}\n\nexport const UploadActions = ({\n customActions,\n enableAdjustments,\n enablePreviewSizes,\n mimeType,\n}: UploadActionsArgs) => {\n const { t } = useTranslation()\n\n const fileTypeIsAdjustable = isImage(mimeType) && mimeType !== 'image/svg+xml'\n\n if (!fileTypeIsAdjustable && (!customActions || customActions.length === 0)) return null\n\n return (\n <div className={`${baseClass}__upload-actions`}>\n {fileTypeIsAdjustable && (\n <React.Fragment>\n {enablePreviewSizes && (\n <DrawerToggler className={`${baseClass}__previewSizes`} slug={sizePreviewSlug}>\n {t('upload:previewSizes')}\n </DrawerToggler>\n )}\n {enableAdjustments && (\n <DrawerToggler className={`${baseClass}__edit`} slug={editDrawerSlug}>\n {t('upload:editImage')}\n </DrawerToggler>\n )}\n </React.Fragment>\n )}\n\n {customActions &&\n customActions.map((CustomAction, i) => {\n return <React.Fragment key={i}>{CustomAction}</React.Fragment>\n })}\n </div>\n )\n}\n\nexport type UploadProps = {\n readonly collectionSlug: string\n readonly customActions?: React.ReactNode[]\n readonly initialState?: FormState\n readonly onChange?: (file?: File) => void\n readonly uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const Upload: React.FC<UploadProps> = (props) => {\n const { collectionSlug, customActions, initialState, onChange, uploadConfig } = props\n\n const [replacingFile, setReplacingFile] = useState(false)\n const [fileSrc, setFileSrc] = useState<null | string>(null)\n const { t } = useTranslation()\n const { setModified } = useForm()\n const { resetUploadEdits, updateUploadEdits, uploadEdits } = useUploadEdits()\n const [doc, setDoc] = useState(reduceFieldsToValues(initialState || {}, true))\n const { docPermissions } = useDocumentInfo()\n const { errorMessage, setValue, showError, value } = useField<File>({\n path: 'file',\n validate,\n })\n\n const [showUrlInput, setShowUrlInput] = useState(false)\n const [fileUrl, setFileUrl] = useState<string>('')\n\n const cursorPositionRef = useRef(null)\n const urlInputRef = useRef<HTMLInputElement>(null)\n\n const handleFileChange = useCallback(\n (newFile: File) => {\n if (newFile instanceof File) {\n setFileSrc(URL.createObjectURL(newFile))\n }\n\n setValue(newFile)\n setShowUrlInput(false)\n\n if (typeof onChange === 'function') {\n onChange(newFile)\n }\n },\n [onChange, setValue],\n )\n\n const handleFileNameChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const updatedFileName = e.target.value\n const cursorPosition = e.target.selectionStart\n\n cursorPositionRef.current = cursorPosition\n\n if (value) {\n const fileValue = value\n // Creating a new File object with updated properties\n const newFile = new File([fileValue], updatedFileName, { type: fileValue.type })\n handleFileChange(newFile)\n }\n }\n\n useEffect(() => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n const inputElement = document.querySelector(`.${baseClass}__filename`) as HTMLInputElement\n if (inputElement && cursorPositionRef.current !== null) {\n inputElement.setSelectionRange(cursorPositionRef.current, cursorPositionRef.current)\n }\n }, [value])\n\n const handleFileSelection = useCallback(\n (files: FileList) => {\n const fileToUpload = files?.[0]\n handleFileChange(fileToUpload)\n },\n [handleFileChange],\n )\n\n const handleFileRemoval = useCallback(() => {\n setReplacingFile(true)\n handleFileChange(null)\n setFileSrc('')\n setFileUrl('')\n setDoc({})\n resetUploadEdits()\n setShowUrlInput(false)\n }, [handleFileChange, resetUploadEdits])\n\n const onEditsSave = useCallback(\n (args: UploadEdits) => {\n setModified(true)\n updateUploadEdits(args)\n },\n [setModified, updateUploadEdits],\n )\n\n const handlePasteUrlClick = () => {\n setShowUrlInput((prev) => !prev)\n }\n\n const handleUrlSubmit = async () => {\n if (fileUrl) {\n try {\n const response = await fetch(fileUrl)\n const data = await response.blob()\n\n // Extract the file name from the URL\n const fileName = fileUrl.split('/').pop()\n\n // Create a new File object from the Blob data\n const file = new File([data], fileName, { type: data.type })\n handleFileChange(file)\n } catch (e) {\n toast.error(e.message)\n }\n }\n }\n\n useEffect(() => {\n setDoc(reduceFieldsToValues(initialState || {}, true))\n if (initialState?.file?.value instanceof File) {\n setFileSrc(URL.createObjectURL(initialState.file.value))\n }\n setReplacingFile(false)\n }, [initialState])\n\n useEffect(() => {\n if (showUrlInput && urlInputRef.current) {\n urlInputRef.current.focus() // Focus on the remote-url input field when showUrlInput is true\n }\n }, [showUrlInput])\n\n const canRemoveUpload =\n docPermissions?.update?.permission &&\n 'delete' in docPermissions &&\n docPermissions?.delete?.permission\n\n const hasImageSizes = uploadConfig?.imageSizes?.length > 0\n const hasResizeOptions = Boolean(uploadConfig?.resizeOptions)\n // Explicity check if set to true, default is undefined\n const focalPointEnabled = uploadConfig?.focalPoint === true\n\n const { crop: showCrop = true, focalPoint = true } = uploadConfig\n\n const showFocalPoint = focalPoint && (hasImageSizes || hasResizeOptions || focalPointEnabled)\n\n return (\n <div className={[fieldBaseClass, baseClass].filter(Boolean).join(' ')}>\n <FieldError message={errorMessage} showError={showError} />\n {doc.filename && !replacingFile && (\n <FileDetails\n collectionSlug={collectionSlug}\n customUploadActions={customActions}\n doc={doc}\n enableAdjustments={showCrop || showFocalPoint}\n handleRemove={canRemoveUpload ? handleFileRemoval : undefined}\n hasImageSizes={hasImageSizes}\n imageCacheTag={doc.updatedAt}\n uploadConfig={uploadConfig}\n />\n )}\n {(!doc.filename || replacingFile) && (\n <div className={`${baseClass}__upload`}>\n {!value && !showUrlInput && (\n <Dropzone\n className={`${baseClass}__dropzone`}\n mimeTypes={uploadConfig?.mimeTypes}\n onChange={handleFileSelection}\n onPasteUrlClick={handlePasteUrlClick}\n />\n )}\n {showUrlInput && (\n <React.Fragment>\n <div className={`${baseClass}__remote-file-wrap`}>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}__remote-file`}\n onChange={(e) => {\n setFileUrl(e.target.value)\n }}\n ref={urlInputRef}\n type=\"text\"\n value={fileUrl}\n />\n <div className={`${baseClass}__add-file-wrap`}>\n <button\n className={`${baseClass}__add-file`}\n onClick={() => {\n void handleUrlSubmit()\n }}\n type=\"button\"\n >\n {t('upload:addFile')}\n </button>\n </div>\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n {value && fileSrc && (\n <React.Fragment>\n <div className={`${baseClass}__thumbnail-wrap`}>\n <Thumbnail\n collectionSlug={collectionSlug}\n fileSrc={isImage(value.type) ? fileSrc : null}\n />\n </div>\n <div className={`${baseClass}__file-adjustments`}>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}__filename`}\n onChange={handleFileNameChange}\n type=\"text\"\n value={value.name}\n />\n <UploadActions\n customActions={customActions}\n enableAdjustments={showCrop || showFocalPoint}\n enablePreviewSizes={hasImageSizes && doc.filename && !replacingFile}\n mimeType={value.type}\n />\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n </div>\n )}\n {(value || doc.filename) && (\n <Drawer Header={null} slug={editDrawerSlug}>\n <EditUpload\n fileName={value?.name || doc?.filename}\n fileSrc={doc?.url || fileSrc}\n imageCacheTag={doc.updatedAt}\n initialCrop={uploadEdits?.crop ?? undefined}\n initialFocalPoint={{\n x: uploadEdits?.focalPoint?.x || doc.focalX || 50,\n y: uploadEdits?.focalPoint?.y || doc.focalY || 50,\n }}\n onSave={onEditsSave}\n showCrop={showCrop}\n showFocalPoint={showFocalPoint}\n />\n </Drawer>\n )}\n {doc && hasImageSizes && (\n <Drawer\n className={`${baseClass}__previewDrawer`}\n hoverTitle\n slug={sizePreviewSlug}\n title={t('upload:sizesFor', { label: doc?.filename })}\n >\n <PreviewSizes doc={doc} imageCacheTag={doc.updatedAt} uploadConfig={uploadConfig} />\n </Drawer>\n )}\n </div>\n )\n}\n"],"names":["isImage","reduceFieldsToValues","React","useCallback","useEffect","useRef","useState","toast","FieldError","fieldBaseClass","useForm","useField","useDocumentInfo","useTranslation","useUploadEdits","Button","Drawer","DrawerToggler","Dropzone","EditUpload","FileDetails","PreviewSizes","Thumbnail","baseClass","editDrawerSlug","sizePreviewSlug","validate","value","undefined","UploadActions","customActions","enableAdjustments","enablePreviewSizes","mimeType","t","fileTypeIsAdjustable","length","div","className","Fragment","slug","map","CustomAction","i","Upload","props","collectionSlug","initialState","onChange","uploadConfig","replacingFile","setReplacingFile","fileSrc","setFileSrc","setModified","resetUploadEdits","updateUploadEdits","uploadEdits","doc","setDoc","docPermissions","errorMessage","setValue","showError","path","showUrlInput","setShowUrlInput","fileUrl","setFileUrl","cursorPositionRef","urlInputRef","handleFileChange","newFile","File","URL","createObjectURL","handleFileNameChange","e","updatedFileName","target","cursorPosition","selectionStart","current","fileValue","type","inputElement","document","querySelector","setSelectionRange","handleFileSelection","files","fileToUpload","handleFileRemoval","onEditsSave","args","handlePasteUrlClick","prev","handleUrlSubmit","response","fetch","data","blob","fileName","split","pop","file","error","message","focus","canRemoveUpload","update","permission","delete","hasImageSizes","imageSizes","hasResizeOptions","Boolean","resizeOptions","focalPointEnabled","focalPoint","crop","showCrop","showFocalPoint","filter","join","filename","customUploadActions","handleRemove","imageCacheTag","updatedAt","mimeTypes","onPasteUrlClick","input","ref","button","onClick","buttonStyle","icon","iconStyle","round","tooltip","name","Header","url","initialCrop","initialFocalPoint","x","focalX","y","focalY","onSave","hoverTitle","title","label"],"mappings":"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"}
@@ -21,4 +21,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
21
21
 
22
22
  For more please check the link https://github.com/suren-atoyan/monaco-loader#config
23
23
  `},ye=ve(ut)(we),lt={config:at},Oe=lt;var st=function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return function(o){return r.reduceRight(function(i,a){return a(i)},o)}},je=st;function Me(e,t){return Object.keys(t).forEach(function(r){t[r]instanceof Object&&e[r]&&Object.assign(t[r],Me(e[r],t[r]))}),ee(ee({},e),t)}var Pe=Me;var ft={type:"cancelation",msg:"operation is manually canceled"};function dt(e){var t=!1,r=new Promise(function(n,o){e.then(function(i){return t?o(ft):n(i)}),e.catch(o)});return r.cancel=function(){return t=!0},r}var F=dt;var pt=ge.create({config:he,isInitialized:!1,resolve:null,reject:null,monaco:null}),Se=de(pt,2),V=Se[0],$=Se[1];function mt(e){var t=Oe.config(e),r=t.monaco,n=fe(t,["monaco"]);$(function(o){return{config:Pe(o.config,n),monaco:r}})}function gt(){var e=V(function(t){var r=t.monaco,n=t.isInitialized,o=t.resolve;return{monaco:r,isInitialized:n,resolve:o}});if(!e.isInitialized){if($({isInitialized:!0}),e.monaco)return e.resolve(e.monaco),F(te);if(window.monaco&&window.monaco.editor)return Ee(window.monaco),e.resolve(window.monaco),F(te);je(ht,bt)(yt)}return F(te)}function ht(e){return document.body.appendChild(e)}function vt(e){var t=document.createElement("script");return e&&(t.src=e),t}function bt(e){var t=V(function(n){var o=n.config,i=n.reject;return{config:o,reject:i}}),r=vt("".concat(t.config.paths.vs,"/loader.js"));return r.onload=function(){return e()},r.onerror=t.reject,r}function yt(){var e=V(function(r){var n=r.config,o=r.resolve,i=r.reject;return{config:n,resolve:o,reject:i}}),t=window.require;t.config(e.config),t(["vs/editor/editor.main"],function(r){Ee(r),e.resolve(r)},function(r){e.reject(r)})}function Ee(e){V().monaco||$({monaco:e})}function wt(){return V(function(e){var t=e.monaco;return t})}var te=new Promise(function(e,t){return $({resolve:e,reject:t})}),Ot={config:mt,init:gt,__getMonacoInstance:wt},P=Ot;import{memo as jt}from"react";import Mt,{useState as Ie,useRef as I,useCallback as Te,useEffect as Ce}from"react";import{memo as Pt}from"react";import re from"react";import Et from"react";import{useEffect as Dt}from"react";import{useEffect as Wt,useRef as Nt}from"react";import{useState as Nr}from"react";import{memo as Ht}from"react";import _t,{useState as Le,useEffect as H,useRef as O,useCallback as kt}from"react";import{useEffect as Bt,useRef as Kt}from"react";var St={wrapper:{display:"flex",position:"relative",textAlign:"initial"},fullWidth:{width:"100%"},hide:{display:"none"}},ne=St,It={container:{display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"}},Tt=It;function Ct({children:e}){return Et.createElement("div",{style:Tt.container},e)}var Lt=Ct,xt=Lt;function At({width:e,height:t,isEditorReady:r,loading:n,_ref:o,className:i,wrapperProps:a}){return re.createElement("section",{style:{...ne.wrapper,width:e,height:t},...a},!r&&re.createElement(xt,null,n),re.createElement("div",{ref:o,style:{...ne.fullWidth,...!r&&ne.hide},className:i}))}var Rt=At,xe=Pt(Rt);function Vt(e){Dt(e,[])}var Ae=Vt;function zt(e,t,r=!0){let n=Nt(!0);Wt(n.current||!r?()=>{n.current=!1}:e,t)}var y=zt;function W(){}function T(e,t,r,n){return Ut(e,n)||qt(e,t,r,n)}function Ut(e,t){return e.editor.getModel(Re(e,t))}function qt(e,t,r,n){return e.editor.createModel(t,r,n?Re(e,n):void 0)}function Re(e,t){return e.Uri.parse(t)}function Ft({original:e,modified:t,language:r,originalLanguage:n,modifiedLanguage:o,originalModelPath:i,modifiedModelPath:a,keepCurrentOriginalModel:s=!1,keepCurrentModifiedModel:f=!1,theme:v="light",loading:S="Loading...",options:w={},height:k="100%",width:B="100%",className:K,wrapperProps:G={},beforeMount:Y=W,onMount:J=W}){let[b,C]=Ie(!1),[L,d]=Ie(!0),p=I(null),l=I(null),x=I(null),g=I(J),c=I(Y),E=I(!1);Ae(()=>{let u=P.init();return u.then(m=>(l.current=m)&&d(!1)).catch(m=>m?.type!=="cancelation"&&console.error("Monaco initialization: error:",m)),()=>p.current?A():u.cancel()}),y(()=>{let u=p.current.getModifiedEditor();u.getOption(l.current.editor.EditorOption.readOnly)?u.setValue(t||""):t!==u.getValue()&&(u.executeEdits("",[{range:u.getModel().getFullModelRange(),text:t||"",forceMoveMarkers:!0}]),u.pushUndoStop())},[t],b),y(()=>{p.current?.getModel()?.original.setValue(e||"")},[e],b),y(()=>{let{original:u,modified:m}=p.current.getModel();l.current.editor.setModelLanguage(u,n||r||"text"),l.current.editor.setModelLanguage(m,o||r||"text")},[r,n,o],b),y(()=>{l.current?.editor.setTheme(v)},[v],b),y(()=>{p.current?.updateOptions(w)},[w],b);let N=Te(()=>{if(!l.current)return;c.current(l.current);let u=T(l.current,e||"",n||r||"text",i||""),m=T(l.current,t||"",o||r||"text",a||"");p.current?.setModel({original:u,modified:m})},[r,t,o,e,n,i,a]),z=Te(()=>{!E.current&&x.current&&(p.current=l.current.editor.createDiffEditor(x.current,{automaticLayout:!0,...w}),N(),l.current?.editor.setTheme(v),C(!0),E.current=!0)},[w,v,N]);Ce(()=>{b&&g.current(p.current,l.current)},[b]),Ce(()=>{!L&&!b&&z()},[L,b,z]),y(()=>{if(p.current&&l.current){let u=p.current.getOriginalEditor(),m=T(l.current,e||"",n||r||"text",i||"");m!==u.getModel()&&u.setModel(m)}},[i],b),y(()=>{if(p.current&&l.current){let u=p.current.getModifiedEditor(),m=T(l.current,t||"",o||r||"text",a||"");m!==u.getModel()&&u.setModel(m)}},[a],b);function A(){let u=p.current?.getModel();s||u?.original?.dispose(),f||u?.modified?.dispose(),p.current?.dispose()}return Mt.createElement(xe,{width:B,height:k,isEditorReady:b,loading:S,_ref:x,className:K,wrapperProps:G})}var $t=Ft,Vr=jt($t);function Gt(e){let t=Kt();return Bt(()=>{t.current=e},[e]),t.current}var Yt=Gt,_=new Map;function Jt({defaultValue:e,defaultLanguage:t,defaultPath:r,value:n,language:o,path:i,theme:a="light",line:s,loading:f="Loading...",options:v={},overrideServices:S={},saveViewState:w=!0,keepCurrentModel:k=!1,width:B="100%",height:K="100%",className:G,wrapperProps:Y={},beforeMount:J=W,onMount:b=W,onChange:C,onValidate:L=W}){let[d,p]=Le(!1),[l,x]=Le(!0),g=O(null),c=O(null),E=O(null),N=O(b),z=O(J),A=O(),u=O(n),m=Yt(i),ie=O(!1),Q=O(!1);Ae(()=>{let h=P.init();return h.then(j=>(g.current=j)&&x(!1)).catch(j=>j?.type!=="cancelation"&&console.error("Monaco initialization: error:",j)),()=>c.current?Ve():h.cancel()}),y(()=>{let h=T(g.current,e||n||"",t||o||"",i||r||"");h!==c.current?.getModel()&&(w&&_.set(m,c.current?.saveViewState()),c.current?.setModel(h),w&&c.current?.restoreViewState(_.get(i)))},[i],d),y(()=>{c.current?.updateOptions(v)},[v],d),y(()=>{!c.current||n===void 0||(c.current.getOption(g.current.editor.EditorOption.readOnly)?c.current.setValue(n):n!==c.current.getValue()&&(Q.current=!0,c.current.executeEdits("",[{range:c.current.getModel().getFullModelRange(),text:n,forceMoveMarkers:!0}]),c.current.pushUndoStop(),Q.current=!1))},[n],d),y(()=>{let h=c.current?.getModel();h&&o&&g.current?.editor.setModelLanguage(h,o)},[o],d),y(()=>{s!==void 0&&c.current?.revealLine(s)},[s],d),y(()=>{g.current?.editor.setTheme(a)},[a],d);let ae=kt(()=>{if(!(!E.current||!g.current)&&!ie.current){z.current(g.current);let h=i||r,j=T(g.current,n||e||"",t||o||"",h||"");c.current=g.current?.editor.create(E.current,{model:j,automaticLayout:!0,...v},S),w&&c.current.restoreViewState(_.get(h)),g.current.editor.setTheme(a),p(!0),ie.current=!0}},[e,t,r,n,o,i,v,S,w,a]);H(()=>{d&&N.current(c.current,g.current)},[d]),H(()=>{!l&&!d&&ae()},[l,d,ae]),u.current=n,H(()=>{d&&C&&(A.current?.dispose(),A.current=c.current?.onDidChangeModelContent(h=>{Q.current||C(c.current.getValue(),h)}))},[d,C]),H(()=>{if(d){let h=g.current.editor.onDidChangeMarkers(j=>{let X=c.current.getModel()?.uri;if(X&&j.find(Z=>Z.path===X.path)){let Z=g.current.editor.getModelMarkers({resource:X});L?.(Z)}});return()=>{h?.dispose()}}return()=>{}},[d,L]);function Ve(){A.current?.dispose(),k?w&&_.set(i,c.current.saveViewState()):c.current.getModel()?.dispose(),c.current.dispose()}return _t.createElement(xe,{width:B,height:K,isEditorReady:d,loading:f,_ref:E,className:G,wrapperProps:Y})}var Qt=Jt,Xt=Ht(Qt),oe=Xt;import De from"react";var Zt=oe.default||oe,er="code-editor",tr=e=>{let{className:t,height:r,options:n,readOnly:o,...i}=e,{theme:a}=ue(),s=[er,t,i?.defaultLanguage?`language--${i.defaultLanguage}`:"",o&&"read-only"].filter(Boolean).join(" ");return De.createElement(Zt,{className:s,height:r,loading:De.createElement(ce,{height:r}),options:{detectIndentation:!0,minimap:{enabled:!1},readOnly:!!o,scrollBeyondLastLine:!1,tabSize:2,wordWrap:"on",...n},theme:a==="dark"?"vs-dark":"vs",...i})},Gr=tr;export{Gr as default};
24
- //# sourceMappingURL=CodeEditor-UPOVAXRP.js.map
24
+ //# sourceMappingURL=CodeEditor-MODTAQNB.js.map