@plone/volto 15.0.0-alpha.4 → 15.0.0-alpha.8

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 (238) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.md +7 -6
  2. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -1
  3. package/.github/workflows/docs.yml +15 -55
  4. package/CHANGELOG.md +57 -2
  5. package/CODE_OF_CONDUCT.md +0 -1
  6. package/COMMITLINT.md +19 -21
  7. package/README.md +1 -1
  8. package/SECURITY.md +0 -1
  9. package/addon-registry.js +6 -3
  10. package/dist/assets.json +1 -0
  11. package/dist/chunks.json +572 -0
  12. package/dist/loadable-stats.json +2099 -0
  13. package/dist/public/android-chrome-192x192.png +0 -0
  14. package/dist/public/android-chrome-512x512.png +0 -0
  15. package/dist/public/apple-touch-icon.png +0 -0
  16. package/dist/public/favicon-16x16.png +0 -0
  17. package/dist/public/favicon-32x32.png +0 -0
  18. package/dist/public/favicon.ico +0 -0
  19. package/dist/public/icon.svg +13 -0
  20. package/dist/public/index.html.spa +34 -0
  21. package/dist/public/robots.txt +2 -0
  22. package/dist/public/site.webmanifest +19 -0
  23. package/dist/public/static/css/15.2cdd5437.chunk.css +409 -0
  24. package/dist/public/static/css/15.2cdd5437.chunk.css.map +1 -0
  25. package/dist/public/static/css/8.37cef611.chunk.css +2 -0
  26. package/dist/public/static/css/8.37cef611.chunk.css.map +1 -0
  27. package/dist/public/static/css/client.4cb92c57.chunk.css +8 -0
  28. package/dist/public/static/css/client.4cb92c57.chunk.css.map +1 -0
  29. package/dist/public/static/css/plone-volto-components-manage-Widgets-DatetimeWidget.c847a331.chunk.css +2 -0
  30. package/dist/public/static/css/plone-volto-components-manage-Widgets-DatetimeWidget.c847a331.chunk.css.map +1 -0
  31. package/dist/public/static/js/0.3e794c57.chunk.js +2 -0
  32. package/dist/public/static/js/0.3e794c57.chunk.js.map +1 -0
  33. package/dist/public/static/js/1.fece2b93.chunk.js +3 -0
  34. package/dist/public/static/js/1.fece2b93.chunk.js.LICENSE.txt +8 -0
  35. package/dist/public/static/js/1.fece2b93.chunk.js.map +1 -0
  36. package/dist/public/static/js/15.2cdd5437.chunk.js +3 -0
  37. package/dist/public/static/js/15.2cdd5437.chunk.js.LICENSE.txt +120 -0
  38. package/dist/public/static/js/15.2cdd5437.chunk.js.map +1 -0
  39. package/dist/public/static/js/16.a3a0662d.chunk.js +3 -0
  40. package/dist/public/static/js/16.a3a0662d.chunk.js.LICENSE.txt +8 -0
  41. package/dist/public/static/js/16.a3a0662d.chunk.js.map +1 -0
  42. package/dist/public/static/js/17.9478c50d.chunk.js +2 -0
  43. package/dist/public/static/js/17.9478c50d.chunk.js.map +1 -0
  44. package/dist/public/static/js/18.388e65d0.chunk.js +2 -0
  45. package/dist/public/static/js/18.388e65d0.chunk.js.map +1 -0
  46. package/dist/public/static/js/19.7c6b4a80.chunk.js +2 -0
  47. package/dist/public/static/js/19.7c6b4a80.chunk.js.map +1 -0
  48. package/dist/public/static/js/2.e6b0d690.chunk.js +2 -0
  49. package/dist/public/static/js/2.e6b0d690.chunk.js.map +1 -0
  50. package/dist/public/static/js/20.ada67f0e.chunk.js +3 -0
  51. package/dist/public/static/js/20.ada67f0e.chunk.js.LICENSE.txt +8 -0
  52. package/dist/public/static/js/20.ada67f0e.chunk.js.map +1 -0
  53. package/dist/public/static/js/21.3de49ac8.chunk.js +2 -0
  54. package/dist/public/static/js/21.3de49ac8.chunk.js.map +1 -0
  55. package/dist/public/static/js/22.ecefb8f2.chunk.js +2 -0
  56. package/dist/public/static/js/22.ecefb8f2.chunk.js.map +1 -0
  57. package/dist/public/static/js/23.3027bc00.chunk.js +2 -0
  58. package/dist/public/static/js/23.3027bc00.chunk.js.map +1 -0
  59. package/dist/public/static/js/24.aaaf4abf.chunk.js +2 -0
  60. package/dist/public/static/js/24.aaaf4abf.chunk.js.map +1 -0
  61. package/dist/public/static/js/25.c4d7d5e0.chunk.js +2 -0
  62. package/dist/public/static/js/25.c4d7d5e0.chunk.js.map +1 -0
  63. package/dist/public/static/js/26.d59ac3c1.chunk.js +2 -0
  64. package/dist/public/static/js/26.d59ac3c1.chunk.js.map +1 -0
  65. package/dist/public/static/js/27.266d95dd.chunk.js +2 -0
  66. package/dist/public/static/js/27.266d95dd.chunk.js.map +1 -0
  67. package/dist/public/static/js/28.d965d304.chunk.js +2 -0
  68. package/dist/public/static/js/28.d965d304.chunk.js.map +1 -0
  69. package/dist/public/static/js/29.7d8d1992.chunk.js +2 -0
  70. package/dist/public/static/js/29.7d8d1992.chunk.js.map +1 -0
  71. package/dist/public/static/js/3.025ba843.chunk.js +2 -0
  72. package/dist/public/static/js/3.025ba843.chunk.js.map +1 -0
  73. package/dist/public/static/js/30.a3d54e31.chunk.js +2 -0
  74. package/dist/public/static/js/30.a3d54e31.chunk.js.map +1 -0
  75. package/dist/public/static/js/31.9edf64ee.chunk.js +2 -0
  76. package/dist/public/static/js/31.9edf64ee.chunk.js.map +1 -0
  77. package/dist/public/static/js/32.649dbfc2.chunk.js +2 -0
  78. package/dist/public/static/js/32.649dbfc2.chunk.js.map +1 -0
  79. package/dist/public/static/js/33.45949ca4.chunk.js +2 -0
  80. package/dist/public/static/js/33.45949ca4.chunk.js.map +1 -0
  81. package/dist/public/static/js/34.084257cf.chunk.js +2 -0
  82. package/dist/public/static/js/34.084257cf.chunk.js.map +1 -0
  83. package/dist/public/static/js/35.00679602.chunk.js +3 -0
  84. package/dist/public/static/js/35.00679602.chunk.js.LICENSE.txt +37 -0
  85. package/dist/public/static/js/35.00679602.chunk.js.map +1 -0
  86. package/dist/public/static/js/36.4a29fdbd.chunk.js +3 -0
  87. package/dist/public/static/js/36.4a29fdbd.chunk.js.LICENSE.txt +7 -0
  88. package/dist/public/static/js/36.4a29fdbd.chunk.js.map +1 -0
  89. package/dist/public/static/js/37.fbbe07b3.chunk.js +3 -0
  90. package/dist/public/static/js/37.fbbe07b3.chunk.js.LICENSE.txt +14 -0
  91. package/dist/public/static/js/37.fbbe07b3.chunk.js.map +1 -0
  92. package/dist/public/static/js/38.b31c59ad.chunk.js +3 -0
  93. package/dist/public/static/js/38.b31c59ad.chunk.js.LICENSE.txt +8 -0
  94. package/dist/public/static/js/38.b31c59ad.chunk.js.map +1 -0
  95. package/dist/public/static/js/39.69d6a789.chunk.js +2 -0
  96. package/dist/public/static/js/39.69d6a789.chunk.js.map +1 -0
  97. package/dist/public/static/js/4.bdc4a5c5.chunk.js +2 -0
  98. package/dist/public/static/js/4.bdc4a5c5.chunk.js.map +1 -0
  99. package/dist/public/static/js/40.90de6e4a.chunk.js +2 -0
  100. package/dist/public/static/js/40.90de6e4a.chunk.js.map +1 -0
  101. package/dist/public/static/js/7.7acc66bc.chunk.js +2 -0
  102. package/dist/public/static/js/7.7acc66bc.chunk.js.map +1 -0
  103. package/dist/public/static/js/8.37cef611.chunk.js +3 -0
  104. package/dist/public/static/js/8.37cef611.chunk.js.LICENSE.txt +25 -0
  105. package/dist/public/static/js/8.37cef611.chunk.js.map +1 -0
  106. package/dist/public/static/js/client.4cb92c57.chunk.js +2 -0
  107. package/dist/public/static/js/client.4cb92c57.chunk.js.map +1 -0
  108. package/dist/public/static/js/draft-js-lib-isSoftNewlineEvent.6cd05e34.chunk.js +2 -0
  109. package/dist/public/static/js/draft-js-lib-isSoftNewlineEvent.6cd05e34.chunk.js.map +1 -0
  110. package/dist/public/static/js/moment.2caa76d1.chunk.js +2 -0
  111. package/dist/public/static/js/moment.2caa76d1.chunk.js.map +1 -0
  112. package/dist/public/static/js/plone-volto-components-manage-Widgets-DatetimeWidget.c847a331.chunk.js +2 -0
  113. package/dist/public/static/js/plone-volto-components-manage-Widgets-DatetimeWidget.c847a331.chunk.js.map +1 -0
  114. package/dist/public/static/js/plone-volto-components-theme-View-EventView.433dd14b.chunk.js +2 -0
  115. package/dist/public/static/js/plone-volto-components-theme-View-EventView.433dd14b.chunk.js.map +1 -0
  116. package/dist/public/static/js/react-dates.f71abb7c.chunk.js +2 -0
  117. package/dist/public/static/js/react-dates.f71abb7c.chunk.js.map +1 -0
  118. package/dist/public/static/js/react-simple-code-editor.33478dc3.chunk.js +2 -0
  119. package/dist/public/static/js/react-simple-code-editor.33478dc3.chunk.js.map +1 -0
  120. package/dist/public/static/js/runtime~client.d372df0e.js +2 -0
  121. package/dist/public/static/js/runtime~client.d372df0e.js.map +1 -0
  122. package/dist/public/static/media/Logo.16e25cdf.svg +21 -0
  123. package/dist/public/static/media/block-image.8a4a14d5.svg +8 -0
  124. package/dist/public/static/media/block-maps.731e84f6.svg +7 -0
  125. package/dist/public/static/media/block-video.832fa3ff.svg +7 -0
  126. package/dist/public/static/media/default-image.9451b251.svg +13 -0
  127. package/dist/public/static/media/flags.9c74e172.png +0 -0
  128. package/dist/public/static/media/icons.022583c4.svg +320 -0
  129. package/dist/public/static/media/icons.06400145.ttf +0 -0
  130. package/dist/public/static/media/icons.dbc1ef8b.eot +0 -0
  131. package/dist/public/static/media/icons.df45b7de.woff +0 -0
  132. package/dist/server.js +2 -0
  133. package/locales/ca/LC_MESSAGES/volto.po +14 -0
  134. package/locales/ca.json +1 -1
  135. package/locales/de/LC_MESSAGES/volto.po +14 -0
  136. package/locales/de.json +1 -1
  137. package/locales/en/LC_MESSAGES/volto.po +14 -0
  138. package/locales/en.json +1 -1
  139. package/locales/es/LC_MESSAGES/volto.po +14 -0
  140. package/locales/es.json +1 -1
  141. package/locales/eu/LC_MESSAGES/volto.po +14 -0
  142. package/locales/eu.json +1 -1
  143. package/locales/fr/LC_MESSAGES/volto.po +14 -0
  144. package/locales/fr.json +1 -1
  145. package/locales/it/LC_MESSAGES/volto.po +14 -0
  146. package/locales/it.json +1 -1
  147. package/locales/ja/LC_MESSAGES/volto.po +14 -0
  148. package/locales/ja.json +1 -1
  149. package/locales/nl/LC_MESSAGES/volto.po +14 -0
  150. package/locales/nl.json +1 -1
  151. package/locales/pt/LC_MESSAGES/volto.po +14 -0
  152. package/locales/pt.json +1 -1
  153. package/locales/pt_BR/LC_MESSAGES/volto.po +14 -0
  154. package/locales/pt_BR.json +1 -1
  155. package/locales/ro/LC_MESSAGES/volto.po +14 -0
  156. package/locales/ro.json +1 -1
  157. package/locales/volto.pot +15 -1
  158. package/logos/Logo.png +0 -0
  159. package/logos/volto-colorful.png +0 -0
  160. package/logos/volto-colorful.svg +35 -0
  161. package/logos/volto-guide.png +0 -0
  162. package/logos/volto-h-transparent.svg +6 -0
  163. package/logos/volto-transparent.png +0 -0
  164. package/logos/volto-transparent.svg +19 -0
  165. package/logos/volto-transparent2.svg +5 -0
  166. package/logos/volto-yellow.svg +29 -0
  167. package/logos/volto.sketch +0 -0
  168. package/netlify.toml +2 -0
  169. package/package.json +6 -2
  170. package/razzle.config.js +2 -2
  171. package/src/actions/language/language.js +7 -2
  172. package/src/components/manage/AnchorPlugin/components/LinkButton/AddLinkForm.jsx +1 -2
  173. package/src/components/manage/AnchorPlugin/components/LinkButton/index.jsx +15 -6
  174. package/src/components/manage/AnchorPlugin/index.jsx +12 -5
  175. package/src/components/manage/AnchorPlugin/utils/EditorUtils.js +8 -7
  176. package/src/components/manage/Blocks/Description/Edit.jsx +33 -19
  177. package/src/components/manage/Blocks/Description/Edit.test.jsx +6 -0
  178. package/src/components/manage/Blocks/HeroImageLeft/Edit.jsx +37 -26
  179. package/src/components/manage/Blocks/HeroImageLeft/Edit.test.jsx +6 -0
  180. package/src/components/manage/Blocks/Search/README.md +20 -0
  181. package/src/components/manage/Blocks/Search/components/CheckboxFacet.jsx +16 -3
  182. package/src/components/manage/Blocks/Search/components/DateRangeFacet.jsx +120 -0
  183. package/src/components/manage/Blocks/Search/components/DateRangeFacet.test.jsx +34 -0
  184. package/src/components/manage/Blocks/Search/components/DateRangeFacetFilterListEntry.jsx +39 -0
  185. package/src/components/manage/Blocks/Search/components/Facets.jsx +24 -25
  186. package/src/components/manage/Blocks/Search/components/FilterList.jsx +37 -67
  187. package/src/components/manage/Blocks/Search/components/FilterList.test.jsx +49 -1
  188. package/src/components/manage/Blocks/Search/components/SelectFacet.jsx +9 -0
  189. package/src/components/manage/Blocks/Search/components/SelectFacetFilterListEntry.jsx +42 -0
  190. package/src/components/manage/Blocks/Search/components/SelectStyling.jsx +1 -1
  191. package/src/components/manage/Blocks/Search/components/ToggleFacet.jsx +38 -0
  192. package/src/components/manage/Blocks/Search/components/ToggleFacetFilterListEntry.jsx +39 -0
  193. package/src/components/manage/Blocks/Search/components/base.js +52 -0
  194. package/src/components/manage/Blocks/Search/components/index.js +5 -0
  195. package/src/components/manage/Blocks/Search/hocs/withSearch.jsx +68 -27
  196. package/src/components/manage/Blocks/Search/schema.js +7 -4
  197. package/src/components/manage/Blocks/Search/utils.js +16 -0
  198. package/src/components/manage/Blocks/Table/Cell.jsx +40 -14
  199. package/src/components/manage/Blocks/Table/Cell.test.jsx +7 -1
  200. package/src/components/manage/Blocks/Table/Edit.jsx +7 -3
  201. package/src/components/manage/Blocks/Table/Edit.test.jsx +6 -0
  202. package/src/components/manage/Blocks/Table/View.jsx +2 -2
  203. package/src/components/manage/Blocks/Text/Edit.jsx +56 -14
  204. package/src/components/manage/Blocks/Text/Edit.test.jsx +7 -1
  205. package/src/components/manage/Blocks/Text/View.jsx +2 -2
  206. package/src/components/manage/Blocks/Title/Edit.jsx +25 -13
  207. package/src/components/manage/Blocks/Title/Edit.test.jsx +6 -0
  208. package/src/components/manage/Sidebar/Sidebar.jsx +5 -1
  209. package/src/components/manage/Toolbar/Toolbar.jsx +3 -1
  210. package/src/components/manage/UniversalLink/UniversalLink.jsx +5 -2
  211. package/src/components/manage/Widgets/DatetimeWidget.jsx +3 -1
  212. package/src/components/manage/Widgets/UrlWidget.jsx +1 -1
  213. package/src/components/manage/Widgets/WysiwygWidget.jsx +45 -19
  214. package/src/components/manage/Widgets/WysiwygWidget.test.jsx +7 -1
  215. package/src/components/theme/View/LinkView.jsx +1 -1
  216. package/src/components/theme/View/View.jsx +5 -1
  217. package/src/config/Blocks.jsx +31 -0
  218. package/src/config/Loadables.jsx +22 -0
  219. package/src/config/RichTextEditor/Blocks.jsx +25 -20
  220. package/src/config/RichTextEditor/Plugins.jsx +38 -31
  221. package/src/config/RichTextEditor/Styles.jsx +48 -44
  222. package/src/config/RichTextEditor/index.js +25 -0
  223. package/src/config/index.js +14 -18
  224. package/src/helpers/Api/Api.js +18 -4
  225. package/src/helpers/Extensions/index.js +1 -1
  226. package/src/helpers/Extensions/withBlockExtensions.js +4 -0
  227. package/src/helpers/Extensions/withBlockExtensions.test.js +26 -1
  228. package/src/helpers/Url/Url.js +32 -1
  229. package/src/helpers/Url/urlRegex.js +7 -1
  230. package/src/helpers/index.js +2 -0
  231. package/src/middleware/api.js +21 -2
  232. package/src/server.jsx +9 -2
  233. package/test-setup-config.js +22 -7
  234. package/theme/themes/pastanaga/extras/blocks.less +29 -0
  235. package/src/components/manage/AnchorPlugin/utils/URLUtils.js +0 -36
  236. package/src/components/manage/AnchorPlugin/utils/mailRegex.js +0 -2
  237. package/src/components/manage/AnchorPlugin/utils/telRegex.js +0 -1
  238. package/src/components/manage/AnchorPlugin/utils/urlRegex.js +0 -54
@@ -0,0 +1,2 @@
1
+ (window.__LOADABLE_LOADED_CHUNKS__=window.__LOADABLE_LOADED_CHUNKS__||[]).push([[10],{"7wDu":function(t,E,A){"use strict";t.exports={BACKSPACE:8,TAB:9,RETURN:13,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46,COMMA:188,PERIOD:190,A:65,Z:90,ZERO:48,NUMPAD_0:96,NUMPAD_9:105}},kE58:function(t,E,A){"use strict";var _=A("7wDu");t.exports=function(t){return t.which===_.RETURN&&(t.getModifierState("Shift")||t.getModifierState("Alt")||t.getModifierState("Control"))}}}]);
2
+ //# sourceMappingURL=draft-js-lib-isSoftNewlineEvent.6cd05e34.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack:///./node_modules/fbjs/lib/Keys.js","webpack:///./node_modules/draft-js/lib/isSoftNewlineEvent.js"],"names":["module","exports","BACKSPACE","TAB","RETURN","ALT","ESC","SPACE","PAGE_UP","PAGE_DOWN","END","HOME","LEFT","UP","RIGHT","DOWN","DELETE","COMMA","PERIOD","A","Z","ZERO","NUMPAD_0","NUMPAD_9","Keys","e","which","getModifierState"],"mappings":"0HAUAA,EAAOC,QAAU,CACfC,UAAW,EACXC,IAAK,EACLC,OAAQ,GACRC,IAAK,GACLC,IAAK,GACLC,MAAO,GACPC,QAAS,GACTC,UAAW,GACXC,IAAK,GACLC,KAAM,GACNC,KAAM,GACNC,GAAI,GACJC,MAAO,GACPC,KAAM,GACNC,OAAQ,GACRC,MAAO,IACPC,OAAQ,IACRC,EAAG,GACHC,EAAG,GACHC,KAAM,GACNC,SAAU,GACVC,SAAU,M,kCCjBZ,IAAIC,EAAO,EAAQ,QAMnBxB,EAAOC,QAJP,SAA4BwB,GAC1B,OAAOA,EAAEC,QAAUF,EAAKpB,SAAWqB,EAAEE,iBAAiB,UAAYF,EAAEE,iBAAiB,QAAUF,EAAEE,iBAAiB","file":"static/js/draft-js-lib-isSoftNewlineEvent.6cd05e34.chunk.js","sourcesContent":["\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nmodule.exports = {\n BACKSPACE: 8,\n TAB: 9,\n RETURN: 13,\n ALT: 18,\n ESC: 27,\n SPACE: 32,\n PAGE_UP: 33,\n PAGE_DOWN: 34,\n END: 35,\n HOME: 36,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n DELETE: 46,\n COMMA: 188,\n PERIOD: 190,\n A: 65,\n Z: 90,\n ZERO: 48,\n NUMPAD_0: 96,\n NUMPAD_9: 105\n};","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule isSoftNewlineEvent\n * @format\n * \n */\n\n'use strict';\n\nvar Keys = require('fbjs/lib/Keys');\n\nfunction isSoftNewlineEvent(e) {\n return e.which === Keys.RETURN && (e.getModifierState('Shift') || e.getModifierState('Alt') || e.getModifierState('Control'));\n}\n\nmodule.exports = isSoftNewlineEvent;"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (window.__LOADABLE_LOADED_CHUNKS__=window.__LOADABLE_LOADED_CHUNKS__||[]).push([[5,12],{rMR1:function(e,s,n){var j={"./de":"tGlX","./de-at":"s+uk","./de-at.js":"s+uk","./de-ch":"u3GI","./de-ch.js":"u3GI","./de.js":"tGlX","./en-SG":"zavE","./en-SG.js":"zavE","./en-au":"Dmvi","./en-au.js":"Dmvi","./en-ca":"OIYi","./en-ca.js":"OIYi","./en-gb":"Oaa7","./en-gb.js":"Oaa7","./en-ie":"4dOw","./en-ie.js":"4dOw","./en-il":"czMo","./en-il.js":"czMo","./en-nz":"b1Dy","./en-nz.js":"b1Dy","./es":"iYuL","./es-do":"CjzT","./es-do.js":"CjzT","./es-us":"Vclq","./es-us.js":"Vclq","./es.js":"iYuL","./eu":"D/JM","./eu.js":"D/JM","./it":"bpih","./it-ch":"bxKX","./it-ch.js":"bxKX","./it.js":"bpih","./ja":"B55N","./ja.js":"B55N","./nl":"+s0g","./nl-be":"2ykv","./nl-be.js":"2ykv","./nl.js":"+s0g","./pt":"8mBD","./pt-br":"0tRk","./pt-br.js":"0tRk","./pt.js":"8mBD","./ro":"lyxo","./ro.js":"lyxo","./x-pseudo":"/X5v","./x-pseudo.js":"/X5v"};function i(e){var s=t(e);return n(s)}function t(e){if(!n.o(j,e)){var s=new Error("Cannot find module '"+e+"'");throw s.code="MODULE_NOT_FOUND",s}return j[e]}i.keys=function(){return Object.keys(j)},i.resolve=t,e.exports=i,i.id="rMR1"}}]);
2
+ //# sourceMappingURL=moment.2caa76d1.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack:///./node_modules/moment/locale sync en|de|nl|ro|ja|pt|pt_BR|es|it|eu"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports"],"mappings":"6GAAA,IAAIA,EAAM,CACT,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,gBAAiB,QAIlB,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOG,EAAoBF,GAE5B,SAASC,EAAsBF,GAC9B,IAAIG,EAAoBC,EAAEN,EAAKE,GAAM,CACpC,IAAIK,EAAI,IAAIC,MAAM,uBAAyBN,EAAM,KAEjD,MADAK,EAAEE,KAAO,mBACHF,EAEP,OAAOP,EAAIE,GAEZD,EAAeS,KAAO,WACrB,OAAOC,OAAOD,KAAKV,IAEpBC,EAAeW,QAAUR,EACzBS,EAAOC,QAAUb,EACjBA,EAAeE,GAAK","file":"static/js/moment.2caa76d1.chunk.js","sourcesContent":["var map = {\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./en-SG\": \"zavE\",\n\t\"./en-SG.js\": \"zavE\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./it\": \"bpih\",\n\t\"./it-ch\": \"bxKX\",\n\t\"./it-ch.js\": \"bxKX\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"rMR1\";"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (window.__LOADABLE_LOADED_CHUNKS__=window.__LOADABLE_LOADED_CHUNKS__||[]).push([[11],{"f/pJ":function(e,t,s){"use strict";s.r(t),s.d(t,"DatetimeWidgetComponent",(function(){return G}));var n=s("lSNA"),i=s.n(n),o=s("q1tI"),a=s.n(o),r=s("ANjH"),l=s("17x9"),c=s.n(l),d=s("lHu7"),p=s.n(d),u=s("zSVi"),h=s("MKeS"),m=s("TSYQ"),b=s.n(m),O=s("Kvkj"),f=s("zpb6"),g=s("Lf35"),j=s("GWVt"),v=s.n(j),D=s("6fhb"),x=s.n(D),y=s("1Jxj"),S=s.n(y),C=s("gX4G"),w=s.n(C),P=s("GG7f"),_=s.n(P),A=s("P+y9"),I=s.n(A),N=s("nKUr"),L=s.n(N);function M(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,n)}return s}function k(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?M(Object(s),!0).forEach((function(t){i()(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):M(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}const T=Object(h.a)({resolved:{},chunkName:()=>"rc-time-picker",isReady(e){const t=this.resolve(e);return!0===this.resolved[t]&&!!s.m[t]},importAsync:()=>Promise.all([s.e(4),s.e(7),s.e(5)]).then(s.bind(null,"+sk9")),requireAsync(e){const t=this.resolve(e);return this.resolved[t]=!1,this.importAsync(e).then(e=>(this.resolved[t]=!0,e))},requireSync(e){const t=this.resolve(e);return s(t)},resolve(){return"+sk9"}}),E=Object(d.defineMessages)({date:{id:"Date",defaultMessage:"Date"},time:{id:"Time",defaultMessage:"Time"}}),V=()=>Object(N.jsx)("div",{style:{color:"#000",left:"22px",padding:"5px",position:"absolute",top:"15px"},tabIndex:"0",children:Object(N.jsx)(O.hb,{name:v.a,size:"30px"})}),F=()=>Object(N.jsx)("div",{style:{color:"#000",right:"22px",padding:"5px",position:"absolute",top:"15px"},tabIndex:"0",children:Object(N.jsx)(O.hb,{name:x.a,size:"30px"})}),z={hour:12,minute:0,second:0};class G extends o.Component{constructor(e){var t;super(e),i()(this,"onDateChange",e=>{if(e){const t=this.props.moment.default,s=this.getDateOnly(),n=(this.getInternalValue()||t()).set(k({year:e.year(),month:e.month(),date:e.date()},s?z:{})),i=s?n.format("YYYY-MM-DD"):n.toISOString();this.props.onChange(this.props.id,i)}this.setState({isDefault:!1})}),i()(this,"onTimeChange",e=>{const t=this.props.moment.default;if(e){var s,n;const i=(this.getInternalValue()||t()).set({hours:null!==(s=null===e||void 0===e?void 0:e.hours())&&void 0!==s?s:0,minutes:null!==(n=null===e||void 0===e?void 0:e.minutes())&&void 0!==n?n:0,seconds:0}).toISOString();this.props.onChange(this.props.id,i)}}),i()(this,"onResetDates",()=>{this.setState({isDefault:!1}),this.props.onChange(this.props.id,null)}),i()(this,"onFocusChange",({focused:e})=>this.setState({focused:e})),this.moment=e.moment.default,this.state={focused:!1,isDefault:(null===(t=Object(f.T)(this.props.intl.locale,this.props.value,void 0,this.moment))||void 0===t?void 0:t.toISOString())===this.moment().utc().toISOString()}}getInternalValue(){return Object(f.T)(this.props.intl.locale,this.props.value,void 0,this.moment)}getDateOnly(){return this.props.dateOnly||"date"===this.props.widget}render(){var e;const{id:t,resettable:s,intl:n,reactDates:i,widgetOptions:o}=this.props,a=this.props.noPastDates||(null===o||void 0===o||null===(e=o.pattern_options)||void 0===e?void 0:e.noPastDates),r=this.props.moment.default,l=this.getInternalValue(),c=this.getDateOnly(),{SingleDatePicker:d}=i;return Object(N.jsx)(O.bb,k(k({},this.props),{},{children:Object(N.jsxs)("div",{className:"date-time-widget-wrapper",children:[Object(N.jsx)("div",{className:b()("ui input date-input",{"default-date":this.state.isDefault}),children:Object(N.jsx)(d,k(k({date:l,disabled:this.props.isDisabled,onDateChange:this.onDateChange,focused:this.state.focused,numberOfMonths:1},a?{}:{isOutsideRange:()=>!1}),{},{onFocusChange:this.onFocusChange,noBorder:!0,displayFormat:r.localeData(n.locale).longDateFormat("L"),navPrev:Object(N.jsx)(V,{}),navNext:Object(N.jsx)(F,{}),id:t+"-date",placeholder:n.formatMessage(E.date)}))}),!c&&Object(N.jsx)("div",{className:b()("ui input time-input",{"default-date":this.state.isDefault}),children:Object(N.jsx)(T,{disabled:this.props.isDisabled,defaultValue:l,value:l,onChange:this.onTimeChange,allowEmpty:!1,showSecond:!1,use12Hours:"en"===n.locale,id:t+"-time",format:r.localeData(n.locale).longDateFormat("LT"),placeholder:n.formatMessage(E.time),focusOnOpen:!0,placement:"bottomRight"})}),s&&Object(N.jsx)("button",{disabled:this.props.isDisabled||!l,onClick:()=>this.onResetDates(),className:"item ui noborder button",children:Object(N.jsx)(O.hb,{name:S.a,size:"24px",className:"close"})})]})}))}}G.defaultProps={description:null,required:!1,error:[],dateOnly:!1,noPastDates:!1,value:null,resettable:!0},t.default=Object(r.compose)(Object(g.a)(["reactDates","moment"]),u.c)(G)},gX4G:function(e,t,s){}}]);
2
+ //# sourceMappingURL=plone-volto-components-manage-Widgets-DatetimeWidget.c847a331.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack:///./src/components/manage/Widgets/DatetimeWidget.jsx"],"names":["TimePicker","loadable","messages","defineMessages","date","time","PrevIcon","style","color","left","padding","position","top","tabIndex","name","leftKey","size","NextIcon","right","rightKey","defaultTimeDateOnly","hour","minute","second","DatetimeWidgetComponent","Component","constructor","props","super","moment","this","default","isDateOnly","getDateOnly","base","getInternalValue","set","year","month","dateValue","format","toISOString","onChange","id","setState","isDefault","hours","minutes","seconds","focused","state","parseDateTime","intl","locale","value","undefined","utc","dateOnly","widget","render","resettable","reactDates","widgetOptions","noPastDates","pattern_options","datetime","SingleDatePicker","className","cx","disabled","isDisabled","onDateChange","numberOfMonths","isOutsideRange","onFocusChange","noBorder","displayFormat","localeData","longDateFormat","navPrev","navNext","placeholder","formatMessage","defaultValue","onTimeChange","allowEmpty","showSecond","use12Hours","focusOnOpen","placement","onClick","onResetDates","clearSVG","defaultProps","description","required","error","compose","injectLazyLibs","injectIntl"],"mappings":"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","file":"static/js/plone-volto-components-manage-Widgets-DatetimeWidget.c847a331.chunk.js","sourcesContent":["/**\n * DatetimeWidget component.\n * @module components/manage/Widgets/DatetimeWidget\n */\nimport React, { Component } from 'react';\nimport { compose } from 'redux';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport loadable from '@loadable/component';\nimport cx from 'classnames';\nimport { Icon, FormFieldWrapper } from '@plone/volto/components';\nimport { parseDateTime } from '@plone/volto/helpers';\nimport { injectLazyLibs } from '@plone/volto/helpers/Loadable/Loadable';\n\nimport leftKey from '@plone/volto/icons/left-key.svg';\nimport rightKey from '@plone/volto/icons/right-key.svg';\nimport clearSVG from '@plone/volto/icons/clear.svg';\n\nimport 'rc-time-picker/assets/index.css';\nimport 'react-dates/initialize';\nimport 'react-dates/lib/css/_datepicker.css';\n\nconst TimePicker = loadable(() => import('rc-time-picker'));\n\nconst messages = defineMessages({\n date: {\n id: 'Date',\n defaultMessage: 'Date',\n },\n time: {\n id: 'Time',\n defaultMessage: 'Time',\n },\n});\n\nconst PrevIcon = () => (\n <div\n style={{\n color: '#000',\n left: '22px',\n padding: '5px',\n position: 'absolute',\n top: '15px',\n }}\n // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex\n tabIndex=\"0\"\n >\n <Icon name={leftKey} size=\"30px\" />\n </div>\n);\nconst NextIcon = () => (\n <div\n style={{\n color: '#000',\n right: '22px',\n padding: '5px',\n position: 'absolute',\n top: '15px',\n }}\n // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex\n tabIndex=\"0\"\n >\n <Icon name={rightKey} size=\"30px\" />\n </div>\n);\n\nconst defaultTimeDateOnly = {\n hour: 12,\n minute: 0,\n second: 0,\n};\n\n/**\n * DatetimeWidget component class\n * @class DatetimeWidget\n * @extends Component\n *\n * To use it, in schema properties, declare a field like:\n *\n * ```jsx\n * {\n * title: \"Publish date\",\n * type: 'datetime',\n * }\n * ```\n */\nexport class DatetimeWidgetComponent extends Component {\n /**\n * Constructor\n * @method constructor\n * @param {Object} props Component properties\n * @constructs DatetimeWidget\n */\n constructor(props) {\n super(props);\n this.moment = props.moment.default;\n\n this.state = {\n focused: false,\n // if passed value matches the construction time, we guess it's a default\n isDefault:\n parseDateTime(\n this.props.intl.locale,\n this.props.value,\n undefined,\n this.moment,\n )?.toISOString() === this.moment().utc().toISOString(),\n };\n }\n\n getInternalValue() {\n return parseDateTime(\n this.props.intl.locale,\n this.props.value,\n undefined,\n this.moment,\n );\n }\n\n getDateOnly() {\n return this.props.dateOnly || this.props.widget === 'date';\n }\n\n /**\n * Update date storage\n * @method onDateChange\n * @param {Object} date updated momentjs Object for date\n * @returns {undefined}\n */\n onDateChange = (date) => {\n if (date) {\n const moment = this.props.moment.default;\n const isDateOnly = this.getDateOnly();\n const base = (this.getInternalValue() || moment()).set({\n year: date.year(),\n month: date.month(),\n date: date.date(),\n ...(isDateOnly ? defaultTimeDateOnly : {}),\n });\n const dateValue = isDateOnly\n ? base.format('YYYY-MM-DD')\n : base.toISOString();\n this.props.onChange(this.props.id, dateValue);\n }\n this.setState({ isDefault: false });\n };\n\n /**\n * Update date storage\n * @method onTimeChange\n * @param {Object} time updated momentjs Object for time\n * @returns {undefined}\n */\n onTimeChange = (time) => {\n const moment = this.props.moment.default;\n if (time) {\n const base = (this.getInternalValue() || moment()).set({\n hours: time?.hours() ?? 0,\n minutes: time?.minutes() ?? 0,\n seconds: 0,\n });\n const dateValue = base.toISOString();\n this.props.onChange(this.props.id, dateValue);\n }\n };\n\n onResetDates = () => {\n this.setState({ isDefault: false });\n this.props.onChange(this.props.id, null);\n };\n\n /**\n * Handle SingleDatePicker focus\n * @method onFocusChange\n * @param {boolean} focused component focus state.\n * @returns {undefined}\n */\n onFocusChange = ({ focused }) => this.setState({ focused });\n\n render() {\n const { id, resettable, intl, reactDates, widgetOptions } = this.props;\n const noPastDates =\n this.props.noPastDates || widgetOptions?.pattern_options?.noPastDates;\n const moment = this.props.moment.default;\n const datetime = this.getInternalValue();\n const dateOnly = this.getDateOnly();\n const { SingleDatePicker } = reactDates;\n\n return (\n <FormFieldWrapper {...this.props}>\n <div className=\"date-time-widget-wrapper\">\n <div\n className={cx('ui input date-input', {\n 'default-date': this.state.isDefault,\n })}\n >\n <SingleDatePicker\n date={datetime}\n disabled={this.props.isDisabled}\n onDateChange={this.onDateChange}\n focused={this.state.focused}\n numberOfMonths={1}\n {...(noPastDates ? {} : { isOutsideRange: () => false })}\n onFocusChange={this.onFocusChange}\n noBorder\n displayFormat={moment.localeData(intl.locale).longDateFormat('L')}\n navPrev={<PrevIcon />}\n navNext={<NextIcon />}\n id={`${id}-date`}\n placeholder={intl.formatMessage(messages.date)}\n />\n </div>\n {!dateOnly && (\n <div\n className={cx('ui input time-input', {\n 'default-date': this.state.isDefault,\n })}\n >\n <TimePicker\n disabled={this.props.isDisabled}\n defaultValue={datetime}\n value={datetime}\n onChange={this.onTimeChange}\n allowEmpty={false}\n showSecond={false}\n use12Hours={intl.locale === 'en'}\n id={`${id}-time`}\n format={moment.localeData(intl.locale).longDateFormat('LT')}\n placeholder={intl.formatMessage(messages.time)}\n focusOnOpen\n placement=\"bottomRight\"\n />\n </div>\n )}\n {resettable && (\n <button\n disabled={this.props.isDisabled || !datetime}\n onClick={() => this.onResetDates()}\n className=\"item ui noborder button\"\n >\n <Icon name={clearSVG} size=\"24px\" className=\"close\" />\n </button>\n )}\n </div>\n </FormFieldWrapper>\n );\n }\n}\n\n/**\n * Property types.\n * @property {Object} propTypes Property types.\n * @static\n */\nDatetimeWidgetComponent.propTypes = {\n id: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n description: PropTypes.string,\n required: PropTypes.bool,\n error: PropTypes.arrayOf(PropTypes.string),\n dateOnly: PropTypes.bool,\n noPastDates: PropTypes.bool,\n value: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n wrapped: PropTypes.bool,\n resettable: PropTypes.bool,\n};\n\n/**\n * Default properties.\n * @property {Object} defaultProps Default properties.\n * @static\n */\nDatetimeWidgetComponent.defaultProps = {\n description: null,\n required: false,\n error: [],\n dateOnly: false,\n noPastDates: false,\n value: null,\n resettable: true,\n};\n\nexport default compose(\n injectLazyLibs(['reactDates', 'moment']),\n injectIntl,\n)(DatetimeWidgetComponent);\n"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (window.__LOADABLE_LOADED_CHUNKS__=window.__LOADABLE_LOADED_CHUNKS__||[]).push([[6],{dHAx:function(e,t,a){"use strict";a.r(t);a("q1tI");var s=a("17x9"),n=a.n(s),r=a("lHu7"),l=a("zSVi"),i=a("zpb6"),d=a("yE/o"),c=a("5XkN"),o=a("3mGJ"),h=a("aQu0"),u=a("WYlG"),b=a("52Oh"),j=a("TSYQ"),m=a.n(j),y=a("VbRK"),O=a("Lf35"),f=a("nKUr");const p=(e,t,a)=>{const s=a(e),n=a(t);if(!s.isValid()||!n.isValid())return null;return{sameDay:s.isSame(n,"day"),sameTime:s.isSame(n,"minute"),startDate:s.format("ll"),startTime:s.format("LT"),endDate:n.format("ll"),endTime:n.format("LT")}},g=Object(O.a)(["moment"])(({start:e,end:t,whole_day:a,open_end:s,moment:n})=>{const r=Object(b.a)(),l=n.default;l.locale(r.locale);const i=p(e,t,l);if(i)return Object(f.jsx)("p",{className:m()("event-when",{"same-day":i.sameDay,"same-time":i.sameTime,"whole-day":a,"open-end":s}),children:i.sameDay?Object(f.jsxs)(f.Fragment,{children:[a&&Object(f.jsx)("span",{className:"start-date",children:i.startDate}),s&&!a&&Object(f.jsxs)(f.Fragment,{children:[Object(f.jsx)("span",{className:"start-date",children:i.startDate}),"\xa0from\xa0",Object(f.jsx)("span",{className:"start-time",children:i.startTime})]}),!(a||s)&&Object(f.jsxs)(f.Fragment,{children:[Object(f.jsx)("span",{className:"start-date",children:i.startDate}),"\xa0from\xa0",Object(f.jsx)("span",{className:"start-time",children:i.startTime}),"\xa0to\xa0",Object(f.jsx)("span",{className:"end-time",children:i.endTime})]})]}):Object(f.jsxs)(f.Fragment,{children:[Object(f.jsxs)("span",{className:"start",children:[Object(f.jsx)("span",{className:"start-date",children:i.startDate}),!a&&Object(f.jsxs)(f.Fragment,{children:[Object(f.jsx)("span",{children:" "}),Object(f.jsx)("span",{className:"start-time",children:i.startTime})]})]}),!s&&Object(f.jsxs)(f.Fragment,{children:["\xa0to\xa0",Object(f.jsxs)("span",{className:"end",children:[Object(f.jsx)("span",{className:"end-date",children:i.endDate}),!a&&Object(f.jsxs)(f.Fragment,{children:[Object(f.jsx)("span",{children:" "}),Object(f.jsx)("span",{className:"end-time",children:i.endTime})]})]})]})]})})});g.propTypes={start:n.a.string.isRequired,end:n.a.string,whole_day:n.a.bool,open_end:n.a.bool};const x=Object(O.a)(["moment"])(({recurrence:e,start:t,moment:a})=>{const s=a.default;e.indexOf("DTSTART")<0&&(e=y.a.optionsToString({dtstart:new Date(t)})+"\n"+e);const n=Object(y.d)(e,{unfold:!0,forceset:!0});return Object(f.jsx)(u.a,{items:n.all().map(e=>p(e,void 0,s)).map(e=>e.startDate)})});x.propTypes={recurrence:n.a.string.isRequired,start:n.a.string.isRequired};const v=Object(r.defineMessages)({what:{id:"event_what",defaultMessage:"What"},when:{id:"event_when",defaultMessage:"When"},allDates:{id:"event_alldates",defaultMessage:"All dates"},where:{id:"event_where",defaultMessage:"Where"},contactName:{id:"event_contactname",defaultMessage:"Contact Name"},contactPhone:{id:"event_contactphone",defaultMessage:"Contact Phone"},attendees:{id:"event_attendees",defaultMessage:"Attendees"},website:{id:"event_website",defaultMessage:"Website"},visitWebsite:{id:"visit_external_website",defaultMessage:"Visit external website"}});t.default=Object(l.c)(({intl:e,content:t})=>Object(f.jsxs)(d.a,{className:"view-wrapper event-view",children:[t.title&&Object(f.jsx)("h1",{className:"documentFirstHeading",children:t.title}),t.description&&Object(f.jsx)("p",{className:"documentDescription",children:t.description}),t.image&&Object(f.jsx)(c.a,{className:"document-image",src:t.image.scales.thumb.download,floated:"right"}),Object(f.jsxs)(o.a,{floated:"right",children:[t.subjects.length>0&&Object(f.jsxs)(f.Fragment,{children:[Object(f.jsx)(h.a,{dividing:!0,sub:!0,children:e.formatMessage(v.what)}),Object(f.jsx)(u.a,{items:t.subjects})]}),Object(f.jsx)(h.a,{dividing:!0,sub:!0,children:e.formatMessage(v.when)}),Object(f.jsx)(g,{start:t.start,end:t.end,whole_day:t.whole_day,open_end:t.open_end}),t.recurrence&&Object(f.jsxs)(f.Fragment,{children:[Object(f.jsx)(h.a,{dividing:!0,sub:!0,children:e.formatMessage(v.allDates)}),Object(f.jsx)(x,{recurrence:t.recurrence,start:t.start})]}),t.location&&Object(f.jsxs)(f.Fragment,{children:[Object(f.jsx)(h.a,{dividing:!0,sub:!0,children:e.formatMessage(v.where)}),Object(f.jsx)("p",{children:t.location})]}),t.contact_name&&Object(f.jsxs)(f.Fragment,{children:[Object(f.jsx)(h.a,{dividing:!0,sub:!0,children:e.formatMessage(v.contactName)}),Object(f.jsx)("p",{children:t.contact_email?Object(f.jsx)("a",{href:"mailto:"+t.contact_email,children:t.contact_name}):t.contact_name})]}),t.contact_phone&&Object(f.jsxs)(f.Fragment,{children:[Object(f.jsx)(h.a,{dividing:!0,sub:!0,children:e.formatMessage(v.contactPhone)}),Object(f.jsx)("p",{children:t.contact_phone})]}),t.attendees.length>0&&Object(f.jsxs)(f.Fragment,{children:[Object(f.jsx)(h.a,{dividing:!0,sub:!0,children:e.formatMessage(v.attendees)}),Object(f.jsx)(u.a,{items:t.attendees})]}),t.event_url&&Object(f.jsxs)(f.Fragment,{children:[Object(f.jsx)(h.a,{dividing:!0,sub:!0,children:e.formatMessage(v.website)}),Object(f.jsx)("p",{children:Object(f.jsx)("a",{href:t.event_url,target:"_blank",rel:"noopener noreferrer",children:e.formatMessage(v.visitWebsite)})})]})]}),t.text&&Object(f.jsx)("div",{dangerouslySetInnerHTML:{__html:Object(i.p)(t.text.data)}})]}))},"f/pJ":function(e,t,a){"use strict";a.r(t),a.d(t,"DatetimeWidgetComponent",(function(){return q}));var s=a("lSNA"),n=a.n(s),r=a("q1tI"),l=a.n(r),i=a("ANjH"),d=a("17x9"),c=a.n(d),o=a("lHu7"),h=a.n(o),u=a("zSVi"),b=a("MKeS"),j=a("TSYQ"),m=a.n(j),y=a("Kvkj"),O=a("zpb6"),f=a("Lf35"),p=a("GWVt"),g=a.n(p),x=a("6fhb"),v=a.n(x),M=a("1Jxj"),w=a.n(M),k=a("gX4G"),D=a.n(k),C=a("GG7f"),E=a.n(C),T=a("P+y9"),F=a.n(T),_=a("nKUr"),S=a.n(_);function Y(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,s)}return a}function N(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?Y(Object(a),!0).forEach((function(t){n()(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Y(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}const R=Object(b.a)({resolved:{},chunkName:()=>"rc-time-picker",isReady(e){const t=this.resolve(e);return!0===this.resolved[t]&&!!a.m[t]},importAsync:()=>Promise.all([a.e(4),a.e(7),a.e(5)]).then(a.bind(null,"+sk9")),requireAsync(e){const t=this.resolve(e);return this.resolved[t]=!1,this.importAsync(e).then(e=>(this.resolved[t]=!0,e))},requireSync(e){const t=this.resolve(e);return a(t)},resolve(){return"+sk9"}}),A=Object(o.defineMessages)({date:{id:"Date",defaultMessage:"Date"},time:{id:"Time",defaultMessage:"Time"}}),P=()=>Object(_.jsx)("div",{style:{color:"#000",left:"22px",padding:"5px",position:"absolute",top:"15px"},tabIndex:"0",children:Object(_.jsx)(y.hb,{name:g.a,size:"30px"})}),L=()=>Object(_.jsx)("div",{style:{color:"#000",right:"22px",padding:"5px",position:"absolute",top:"15px"},tabIndex:"0",children:Object(_.jsx)(y.hb,{name:v.a,size:"30px"})}),I={hour:12,minute:0,second:0};class q extends r.Component{constructor(e){var t;super(e),n()(this,"onDateChange",e=>{if(e){const t=this.props.moment.default,a=this.getDateOnly(),s=(this.getInternalValue()||t()).set(N({year:e.year(),month:e.month(),date:e.date()},a?I:{})),n=a?s.format("YYYY-MM-DD"):s.toISOString();this.props.onChange(this.props.id,n)}this.setState({isDefault:!1})}),n()(this,"onTimeChange",e=>{const t=this.props.moment.default;if(e){var a,s;const n=(this.getInternalValue()||t()).set({hours:null!==(a=null===e||void 0===e?void 0:e.hours())&&void 0!==a?a:0,minutes:null!==(s=null===e||void 0===e?void 0:e.minutes())&&void 0!==s?s:0,seconds:0}).toISOString();this.props.onChange(this.props.id,n)}}),n()(this,"onResetDates",()=>{this.setState({isDefault:!1}),this.props.onChange(this.props.id,null)}),n()(this,"onFocusChange",({focused:e})=>this.setState({focused:e})),this.moment=e.moment.default,this.state={focused:!1,isDefault:(null===(t=Object(O.T)(this.props.intl.locale,this.props.value,void 0,this.moment))||void 0===t?void 0:t.toISOString())===this.moment().utc().toISOString()}}getInternalValue(){return Object(O.T)(this.props.intl.locale,this.props.value,void 0,this.moment)}getDateOnly(){return this.props.dateOnly||"date"===this.props.widget}render(){var e;const{id:t,resettable:a,intl:s,reactDates:n,widgetOptions:r}=this.props,l=this.props.noPastDates||(null===r||void 0===r||null===(e=r.pattern_options)||void 0===e?void 0:e.noPastDates),i=this.props.moment.default,d=this.getInternalValue(),c=this.getDateOnly(),{SingleDatePicker:o}=n;return Object(_.jsx)(y.bb,N(N({},this.props),{},{children:Object(_.jsxs)("div",{className:"date-time-widget-wrapper",children:[Object(_.jsx)("div",{className:m()("ui input date-input",{"default-date":this.state.isDefault}),children:Object(_.jsx)(o,N(N({date:d,disabled:this.props.isDisabled,onDateChange:this.onDateChange,focused:this.state.focused,numberOfMonths:1},l?{}:{isOutsideRange:()=>!1}),{},{onFocusChange:this.onFocusChange,noBorder:!0,displayFormat:i.localeData(s.locale).longDateFormat("L"),navPrev:Object(_.jsx)(P,{}),navNext:Object(_.jsx)(L,{}),id:t+"-date",placeholder:s.formatMessage(A.date)}))}),!c&&Object(_.jsx)("div",{className:m()("ui input time-input",{"default-date":this.state.isDefault}),children:Object(_.jsx)(R,{disabled:this.props.isDisabled,defaultValue:d,value:d,onChange:this.onTimeChange,allowEmpty:!1,showSecond:!1,use12Hours:"en"===s.locale,id:t+"-time",format:i.localeData(s.locale).longDateFormat("LT"),placeholder:s.formatMessage(A.time),focusOnOpen:!0,placement:"bottomRight"})}),a&&Object(_.jsx)("button",{disabled:this.props.isDisabled||!d,onClick:()=>this.onResetDates(),className:"item ui noborder button",children:Object(_.jsx)(y.hb,{name:w.a,size:"24px",className:"close"})})]})}))}}q.defaultProps={description:null,required:!1,error:[],dateOnly:!1,noPastDates:!1,value:null,resettable:!0},t.default=Object(i.compose)(Object(f.a)(["reactDates","moment"]),u.c)(q)},vaF2:function(e,t,a){"use strict";a.r(t);var s=a("lSNA"),n=a.n(s),r=a("wEy/"),l=a.n(r),i=a("NIJN"),d=a.n(i),c=a("J2m7"),o=a.n(c),h=a("3WF5"),u=a.n(h),b=a("Y+p1"),j=a.n(b),m=a("q1tI"),y=a("17x9"),O=a.n(y),f=a("ANjH"),p=a("VbRK"),g=a("TSYQ"),x=a.n(g),v=a("lHu7"),M=a("zSVi"),w=a("vFsZ"),k=a("+6Dn"),D=a("MqQV"),C=a("3mGJ"),E=a("QetY"),T=a("fuXp"),F=a("aQu0"),_=a("Kvkj"),S=a("Lf35"),Y=a("Z5Td"),N=a.n(Y),R=a("YIVY"),A=a.n(R),P=a("DQaE"),L=a.n(P);const I={MO:p.a.MO,TU:p.a.TU,WE:p.a.WE,TH:p.a.TH,FR:p.a.FR,SA:p.a.SA,SU:p.a.SU},q=[I.MO,I.TU,I.WE,I.TH,I.FR],W=[I.MO,I.FR],V={DAILY:"daily",MONDAYFRIDAY:"mondayfriday",WEEKDAYS:"weekdays",WEEKLY:"weekly",MONTHLY:"monthly",YEARLY:"yearly"},K={frequences:{[V.DAILY]:{rrule:p.a.DAILY,interval:!0},[V.MONDAYFRIDAY]:{rrule:p.a.WEEKLY},[V.WEEKDAYS]:{rrule:p.a.WEEKLY},[V.WEEKLY]:{rrule:p.a.WEEKLY,interval:!0,byday:!0},[V.MONTHLY]:{rrule:p.a.MONTHLY,interval:!0,bymonth:!0},[V.YEARLY]:{rrule:p.a.YEARLY,interval:!0,byyear:!0}}},U=e=>e.toISOString().split("T")[0],H=(e,t)=>{t.locale(e.locale);const a=Object(v.defineMessages)({every:{id:"rrule_every",defaultMessage:"every"},until:{id:"rrule_until",defaultMessage:"until"},for:{id:"rrule_for",defaultMessage:"for"},time:{id:"rrule_time",defaultMessage:"time"},times:{id:"rrule_times",defaultMessage:"times"},"(~ approximate)":{id:"rrule_approximate",defaultMessage:"(~approximate)"},hour:{id:"rrule_hour",defaultMessage:"hour"},hours:{id:"rrule_hours",defaultMessage:"hours"},minutes:{id:"rrule_minutes",defaultMessage:"minutes"},weekdays:{id:"rrule_weekdays",defaultMessage:"weekdays"},weekday:{id:"rrule_weekday",defaultMessage:"weekday"},day:{id:"rrule_day",defaultMessage:"day"},days:{id:"rrule_days",defaultMessage:"days"},in:{id:"rrule_in",defaultMessage:"in"},week:{id:"rrule_week",defaultMessage:"week"},weeks:{id:"rrule_weeks",defaultMessage:"weeks"},month:{id:"rrule_month",defaultMessage:"month"},months:{id:"rrule_months",defaultMessage:"months"},on:{id:"rrule_on",defaultMessage:"on"},year:{id:"rrule_year",defaultMessage:"year"},years:{id:"rrule_years",defaultMessage:"years"},"on the":{id:"rrule_on the",defaultMessage:"on the"},the:{id:"rrule_the",defaultMessage:"the"},and:{id:"rrule_and",defaultMessage:"and"},or:{id:"rrule_or",defaultMessage:"or"},at:{id:"rrule_at",defaultMessage:"at"},last:{id:"rrule_last",defaultMessage:"last"},st:{id:"rrule_st",defaultMessage:"st"},nd:{id:"rrule_nd",defaultMessage:"nd"},rd:{id:"rrule_rd",defaultMessage:"rd"},th:{id:"rrule_th",defaultMessage:"th"},dateFormat:{id:"rrule_dateFormat",defaultMessage:"[month] [day], [year]"}});let s={};Object.keys(a).map(t=>s[t]=e.formatMessage(a[t]));let n=s.dateFormat.replace(new RegExp("\\[","g"),"${").replace(new RegExp("\\]","g"),"}");return{dayNames:t.weekdays(),monthNames:t.months(),strings:s,dateFormatter:(e,t,a)=>n.replace(/\$\{year\}/g,e).replace(/\$\{month\}/g,t).replace(/\$\{day\}/g,a)}};var G=a("umxb"),z=a("nKUr");const J=({label:e,labelAfter:t,value:a,onChange:s})=>Object(z.jsx)(w.a.Field,{inline:!0,className:"text",children:Object(z.jsx)(k.a,{children:Object(z.jsxs)(k.a.Row,{stretched:!0,children:[Object(z.jsx)(k.a.Column,{width:"4",children:Object(z.jsx)("div",{className:"wrapper",children:Object(z.jsx)("label",{htmlFor:"interval",children:e})})}),Object(z.jsx)(k.a.Column,{width:"8",children:Object(z.jsxs)(w.a.Field,{inline:!0,children:[Object(z.jsx)(G.a,{id:"interval",name:"interval",value:a||"",onChange:({target:e})=>{s(e.id,""===e.value?void 0:parseInt(e.value))}}),t&&Object(z.jsx)("span",{children:t})]})})]})})});J.defaultProps={label:null,labelAfter:null,onChange:null};var Q=J,$=a("52Oh");const Z=({label:e,value:t,onChange:a,moment:s})=>{const n=Object($.a)(),r=s.default;r.locale(n.locale);return Object(z.jsx)(w.a.Field,{inline:!0,className:"text",children:Object(z.jsx)(k.a,{children:Object(z.jsxs)(k.a.Row,{stretched:!0,children:[Object(z.jsx)(k.a.Column,{width:"4",children:Object(z.jsx)("div",{className:"wrapper",children:Object(z.jsx)("label",{htmlFor:"byday",children:e})})}),Object(z.jsx)(k.a.Column,{width:"8",children:Object(z.jsx)(E.a.Group,{basic:!0,className:"byday-field",children:Object.keys(I).map(e=>Object(z.jsx)(E.a,{active:(null===t||void 0===t?void 0:t.indexOf(I[e]))>=0,type:"button",content:r.weekdaysShort(I[e].weekday+1),onClick:()=>{(e=>{var s=I[e],n=t?[...t]:[],r=n.indexOf(s);r>=0?n.splice(r,1):n.push(s),a("byweekday",n)})(e)}},e))})})]})})})};Z.defaultProps={label:null,value:null,onChange:null};var B=Object(S.a)(["moment"])(Z),X=a("/fAC"),ee=a("f/pJ");const te=Object(v.defineMessages)({recurrenceEnds:{id:"Recurrence ends",defaultMessage:"Ends"},recurrenceEndsCount:{id:"Recurrence ends after",defaultMessage:"after"},recurrenceEndsUntil:{id:"Recurrence ends on",defaultMessage:"on"},occurrences:{id:"Occurences",defaultMessage:"occurrence(s)"}}),ae=({value:e,count:t,until:a,onChange:s,intl:n})=>Object(z.jsx)(w.a.Field,{inline:!0,className:"text",children:Object(z.jsx)(k.a,{children:Object(z.jsxs)(k.a.Row,{stretched:!0,children:[Object(z.jsx)(k.a.Column,{width:"4",children:Object(z.jsx)("div",{className:"wrapper",children:Object(z.jsx)("label",{htmlFor:"recurrenceEnds",children:n.formatMessage(te.recurrenceEnds)})})}),Object(z.jsxs)(k.a.Column,{width:"8",children:[Object(z.jsxs)(w.a.Group,{inline:!0,children:[Object(z.jsx)(w.a.Field,{children:Object(z.jsx)(X.a,{label:"",name:"recurrenceEnds",id:"recurrenceEndsCount",value:"count",checked:"count"===e,onChange:(e,{value:t})=>s("recurrenceEnds",t)})}),Object(z.jsx)(w.a.Field,{disabled:"count"!==e,children:n.formatMessage(te.recurrenceEndsCount)}),Object(z.jsx)(w.a.Field,{disabled:"count"!==e,children:Object(z.jsx)(G.a,{id:"count",name:"count",value:t||"",onChange:({target:e})=>{s(e.id,""===e.value?void 0:e.value)}})}),Object(z.jsx)(w.a.Field,{disabled:"count"!==e,children:n.formatMessage(te.occurrences)})]}),Object(z.jsxs)(w.a.Group,{inline:!0,children:[Object(z.jsx)(w.a.Field,{children:Object(z.jsx)(X.a,{id:"recurrenceEndsUntil",label:"",name:"recurrenceEnds",value:"until",checked:"until"===e,onChange:(e,{value:t})=>s("recurrenceEnds",t)})}),Object(z.jsx)(w.a.Field,{disabled:"until"!==e,children:Object(z.jsx)(ee.default,{id:"until",title:n.formatMessage(te.recurrenceEndsUntil),dateOnly:!0,value:a||"",resettable:!1,onChange:(e,t)=>{s(e,""===t?void 0:t)}})})]})]})]})})});ae.defaultProps={value:null,count:null,until:null,onChange:null};var se=Object(M.c)(ae);const ne=Object(v.defineMessages)({bymonthDay:{id:"Month day",defaultMessage:"Day"},ofTheMonth:{id:"of the month",defaultMessage:"of the month"}}),re=({value:e,disabled:t,onChange:a,hideAfterLabel:s,intl:n})=>Object(z.jsxs)(z.Fragment,{children:[Object(z.jsx)(w.a.Field,{inline:!0,disabled:t,children:n.formatMessage(ne.bymonthDay)}),Object(z.jsx)(w.a.Field,{inline:!0,disabled:t,children:Object(z.jsx)(G.a,{type:"number",id:"bymonthday",name:"bymonthday",value:e||"",onChange:({target:e})=>{a(e.id,""===e.value?void 0:[parseInt(e.value)])}})}),!s&&Object(z.jsx)(w.a.Field,{inline:!0,disabled:t,children:n.formatMessage(ne.ofTheMonth)})]});re.defaultProps={disabled:!1,value:null,onChange:null,hideAfterLabel:!1};var le=Object(M.c)(re),ie=a("y2Vs"),de=a("cuOu");function ce(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,s)}return a}function oe(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?ce(Object(a),!0).forEach((function(t){n()(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):ce(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}const he=({name:e,disabled:t,options:a,value:s,onChange:n})=>{const r=oe(oe({},de.g),{},{control:(e,t)=>oe(oe({},de.g.control(e,t)),{},{minWidth:"130px"})}),l=(e,t)=>{const a=o()(e,e=>e.value===t);return a||{}};return Object(z.jsx)(ie.default,{isDisabled:t,id:e,name:e,className:"react-select-container",classNamePrefix:"react-select",defaultValue:l(a,s),value:l(a,s),options:a,styles:r,theme:de.h,components:{DropdownIndicator:de.b,Option:de.d},onChange:t=>n(e,t.value)})};he.defaultProps={name:"select",options:[],disabled:!1,value:null,onChange:null};var ue=he;function be(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,s)}return a}function je(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?be(Object(a),!0).forEach((function(t){n()(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):be(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}const me=Object(v.defineMessages)({bymonthDayNumber:{id:"Weeek day of month",defaultMessage:"The"},first:{id:"First",defaultMessage:"First"},second:{id:"Second",defaultMessage:"Second"},third:{id:"Third",defaultMessage:"Third"},fourth:{id:"Fourth",defaultMessage:"Fourth"},last:{id:"Last",defaultMessage:"Last"}}),ye={1:"first",2:"second",3:"third",4:"fourth","-1":"last"};class Oe extends m.Component{render(){const{intl:e,disabled:t}=this.props,a=[...u()(Object.keys(ye),t=>({value:parseInt(t),label:e.formatMessage(me[ye[t]])}))];return Object(z.jsxs)(z.Fragment,{children:[Object(z.jsx)(w.a.Field,{disabled:t,children:e.formatMessage(me.bymonthDayNumber)}),Object(z.jsx)(w.a.Field,{disabled:t,children:Object(z.jsx)(ue,je({name:"weekdayOfTheMonthIndex",options:a},this.props))})]})}}n()(Oe,"defaultProps",{disabled:!1,value:null,onChange:null});var fe=Object(M.c)(Oe);function pe(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,s)}return a}function ge(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?pe(Object(a),!0).forEach((function(t){n()(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):pe(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}var xe=Object(S.a)(["moment"])(e=>{const{disabled:t=!1,moment:a}=e,s=Object($.a)(),n=a.default;n.locale(s.locale);const r=[...u()(Object.keys(I),e=>({value:I[e].weekday,label:n.weekdays(I[e].weekday+1)}))];return Object(z.jsx)(w.a.Field,{disabled:t,children:Object(z.jsx)(ue,ge({name:"weekdayOfTheMonth",options:r},e))})});const ve=({label:e,value:t,bymonthday:a,weekdayOfTheMonthIndex:s,weekdayOfTheMonth:n,onChange:r,intl:l})=>Object(z.jsx)(w.a.Field,{inline:!0,className:"text",children:Object(z.jsx)(k.a,{children:Object(z.jsxs)(k.a.Row,{stretched:!0,children:[Object(z.jsx)(k.a.Column,{width:"4",children:Object(z.jsx)("div",{className:"wrapper",children:Object(z.jsx)("label",{htmlFor:"monthly",children:e})})}),Object(z.jsxs)(k.a.Column,{width:"8",children:[Object(z.jsxs)(w.a.Group,{inline:!0,children:[Object(z.jsx)(w.a.Field,{children:Object(z.jsx)(X.a,{label:"",name:"monthly",id:"monthly-bymonthday",value:"bymonthday",checked:"bymonthday"===t,onChange:(e,{value:t})=>r("monthly",t)})}),Object(z.jsx)(le,{value:a,disabled:"bymonthday"!==t,onChange:r})]}),Object(z.jsxs)(w.a.Group,{inline:!0,children:[Object(z.jsx)(w.a.Field,{children:Object(z.jsx)(X.a,{label:"",name:"monthly",id:"monthly-byweekday",value:"byweekday",checked:"byweekday"===t,onChange:(e,{value:t})=>r("monthly",t)})}),Object(z.jsx)(fe,{disabled:"byweekday"!==t,value:s,onChange:r}),Object(z.jsx)(xe,{disabled:"byweekday"!==t,value:n,onChange:r})]})]})]})})});ve.defaultProps={label:null,value:null,bymonthday:null,weekdayOfTheMonthIndex:null,weekdayOfTheMonth:null,onChange:null};var Me=Object(M.c)(ve);const we=({value:e,disabled:t,inline:a,onChange:s,moment:n})=>{const r=n.default,l=Object($.a)();r.locale(l.locale);const i=[...u()(r.months(),(e,t)=>({value:t+1,label:e}))];return Object(z.jsx)(w.a.Field,{inline:a,disabled:t,children:Object(z.jsx)(ue,{name:"monthOfTheYear",disabled:t,options:i,value:e,onChange:s})})};we.defaultProps={value:null,disabled:!1,inline:!1,onChange:null};var ke=Object(S.a)(["moment"])(we);const De=Object(v.defineMessages)({ofTheMonth:{id:"of the month",defaultMessage:"of the month"}}),Ce=({label:e,value:t,bymonthday:a,monthOfTheYear:s,weekdayOfTheMonthIndex:n,weekdayOfTheMonth:r,onChange:l,intl:i})=>Object(z.jsx)(w.a.Field,{inline:!0,className:"text byyear-field",children:Object(z.jsx)(k.a,{children:Object(z.jsxs)(k.a.Row,{stretched:!0,children:[Object(z.jsx)(k.a.Column,{width:"4",children:Object(z.jsx)("div",{className:"wrapper",children:Object(z.jsx)("label",{htmlFor:"yearly",children:e})})}),Object(z.jsxs)(k.a.Column,{width:"8",children:[Object(z.jsxs)(w.a.Group,{inline:!0,className:"byyear-bymonthday",children:[Object(z.jsx)(w.a.Field,{children:Object(z.jsx)(X.a,{label:"",name:"yearly",value:"bymonthday",id:"yearly-bymonthday",checked:"bymonthday"===t,onChange:(e,{value:t})=>l("yearly",t)})}),Object(z.jsx)(le,{value:a,disabled:"bymonthday"!==t,onChange:l,hideAfterLabel:!0}),Object(z.jsx)(ke,{value:s,disabled:"bymonthday"!==t,onChange:l})]}),Object(z.jsxs)(w.a.Group,{inline:!0,className:"byyear-byday",children:[Object(z.jsx)(w.a.Field,{children:Object(z.jsx)(X.a,{label:"",name:"yearly",id:"yearly-byday",value:"byday",checked:"byday"===t,onChange:(e,{value:t})=>l("yearly",t)})}),Object(z.jsx)(fe,{disabled:"byday"!==t,value:n,onChange:l}),Object(z.jsx)(xe,{disabled:"byday"!==t,value:r,onChange:l}),Object(z.jsx)(w.a.Field,{disabled:"byday"!==t,children:i.formatMessage(De.ofTheMonth)}),Object(z.jsx)(ke,{value:s,disabled:"byday"!==t,onChange:l,inline:!1})]})]})]})})});Ce.defaultProps={label:null,value:null,bymonthday:null,monthOfTheYear:null,weekdayOfTheMonthIndex:null,weekdayOfTheMonth:null,onChange:null};var Ee=Object(M.c)(Ce),Te=a("WYlG"),Fe=a("lV3b"),_e=a.n(Fe);const Se=Object(v.defineMessages)({selected_dates:{id:"Selected dates",defaultMessage:"Selected dates"},start_of_recurrence:{id:"Start of the recurrence",defaultMessage:"Start of the recurrence"},additional_date:{id:"Additional date",defaultMessage:"Additional date"},other_items:{id:"others",defaultMessage:"others"},no_occurences:{id:"No occurences set",defaultMessage:"No occurences set"},exclude:{id:"Exclude this occurence",defaultMessage:"Exclude this occurence"},include:{id:"Include this occurence",defaultMessage:"Include this occurence"}}),Ye=(e,t)=>{const a=t(e);return a.format("dddd")+", "+a.format("LL")},Ne=Object(S.a)(["moment"])(({rruleSet:e,exclude:t,undoExclude:a,intl:s,showTitle:n,editOccurences:r,moment:l})=>{const i=l.default;i.locale(s.locale);let d=[];const c=t=>{var a=U(t),s=!1;return e.rdates().forEach(e=>{U(e)===a&&(s=!0)}),s};e&&(d=e.all(),e.exdates().forEach(e=>{d.indexOf(e)<0&&d.push(e)}),d.sort((e,t)=>e>t?1:-1));const o=d.splice(100);return Object(z.jsxs)("div",{className:"occurences",children:[0===d.length&&Object(z.jsx)(z.Fragment,{children:s.formatMessage(Se.no_occurences)}),n&&Object(z.jsx)(F.a,{as:"h2",children:s.formatMessage(Se.selected_dates)}),Object(z.jsxs)(Te.a,{divided:!0,verticalAlign:"middle",children:[d.map((n,l)=>{const d=(t=>{var a=U(t),s=!1;return e.exdates().forEach(e=>{U(e)===a&&(s=!0)}),s})(n);return Object(z.jsxs)(Te.a.Item,{children:[r&&Object(z.jsx)(Te.a.Content,{floated:"right",children:l>0?Object(z.jsxs)(z.Fragment,{children:[!d&&Object(z.jsx)(E.a,{basic:!0,icon:!0,className:"exclude-button",onClick:()=>{t(n)},"aria-label":s.formatMessage(Se.exclude),children:Object(z.jsx)(_.hb,{name:L.a,size:"18px"})}),d&&Object(z.jsx)(E.a,{basic:!0,icon:!0,className:"include-button",onClick:()=>{a(n)},"aria-label":s.formatMessage(Se.include),children:Object(z.jsx)(_.hb,{name:_e.a,size:"24px"})})]}):s.formatMessage(Se.start_of_recurrence)}),Object(z.jsxs)(Te.a.Content,{className:x()({excluded:d}),children:[Ye(n,i),c(n)&&Object(z.jsx)(D.a,{pointing:"left",size:"small",color:d?"grey":"green",children:s.formatMessage(Se.additional_date)})]})]},n.toString())}),o.length>0&&Object(z.jsx)(Te.a.Item,{children:Object(z.jsx)(Te.a.Content,{children:`... ${s.formatMessage(Se.other_items)} ${o.length}`})})]})]})});Ne.propTypes={rruleSet:O.a.any,showTitle:O.a.bool,editOccurences:O.a.bool},Ne.defaultProps={rruleSet:null,showTitle:!0,editOccurences:!0};var Re=Object(M.c)(Ne);function Ae(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,s)}return a}function Pe(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?Ae(Object(a),!0).forEach((function(t){n()(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Ae(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}const Le=Object(v.defineMessages)({editRecurrence:{id:"Edit recurrence",defaultMessage:"Edit recurrence"},save:{id:"Save recurrence",defaultMessage:"Save"},remove:{id:"Remove recurrence",defaultMessage:"Remove"},repeat:{id:"Repeat",defaultMessage:"Repeat"},daily:{id:"Daily",defaultMessage:"Daily"},mondayfriday:{id:"Monday and Friday",defaultMessage:"Monday and Friday"},weekdays:{id:"Weekday",defaultMessage:"Weekday"},weekly:{id:"Weekly",defaultMessage:"Weekly"},monthly:{id:"Monthly",defaultMessage:"Monthly"},yearly:{id:"Yearly",defaultMessage:"Yearly"},repeatEvery:{id:"Repeat every",defaultMessage:"Repeat every"},repeatOn:{id:"Repeat on",defaultMessage:"Repeat on"},interval_daily:{id:"Interval Daily",defaultMessage:"days"},interval_weekly:{id:"Interval Weekly",defaultMessage:"week(s)"},interval_monthly:{id:"Interval Monthly",defaultMessage:"Month(s)"},interval_yearly:{id:"Interval Yearly",defaultMessage:"year(s)"},add_date:{id:"Add date",defaultMessage:"Add date"},select_date_to_add_to_recurrence:{id:"Select a date to add to recurrence",defaultMessage:"Select a date to add to recurrence"}}),Ie=["recurrenceEnds","monthly","weekdayOfTheMonthIndex","weekdayOfTheMonth","yearly","monthOfTheYear","byhour","byminute","bysecond","bynmonthday","exdates","rdates"];class qe extends m.Component{constructor(e,t){super(e),n()(this,"editRecurrence",()=>{this.setRecurrenceStartEnd()}),n()(this,"setRecurrenceStartEnd",()=>{var e;const t=null===(e=this.props.formData)||void 0===e?void 0:e.start;let a=this.getUTCDate(t).startOf("day").toDate();this.setState(e=>{let t=e.rruleSet;const s=this.getFormValues(t);return t=this.updateRruleSet(t,s,"dtstart",a),Pe(Pe({},e),{},{rruleSet:t,formValues:s})})}),n()(this,"getUTCDate",e=>e.match(/T(.)*(-|\+|Z)/g)?this.moment(e).utc():this.moment(e+"Z").utc()),n()(this,"show",e=>()=>{this.setState({dimmer:e,open:!0}),this.editRecurrence()}),n()(this,"close",()=>this.setState({open:!1})),n()(this,"getFreq",(e,t)=>{let a=V.DAILY;return Object.entries(K.frequences).forEach(([t,s])=>{s.rrule===e&&(a=t)}),a===V.WEEKLY&&t&&j()(t.sort(),q.map(e=>e.weekday).sort())&&(a=V.WEEKDAYS),a}),n()(this,"getWeekday",e=>{var t=null;const a=-1===e?6:e;return Object.keys(I).forEach(e=>{I[e].weekday===a&&(t=I[e])}),t}),n()(this,"getFormValues",e=>{var t;let a={freq:V.DAILY,interval:1};a=this.changeField(a,"recurrenceEnds",null!==(t=this.props.formData)&&void 0!==t&&t.end?"until":"count");const s=e.rrules()[0];if(s){var n=this.getFreq(s.options.freq,s.options.byweekday);Object.entries(s.options).forEach(([e,t])=>{switch(e){case"freq":a[e]=n;break;case"count":null!=t&&(a.recurrenceEnds=e,a[e]=t);break;case"until":null!=t&&(a.recurrenceEnds=e,a[e]=U(t));break;case"byweekday":t&&t.length>0&&(j()(t,q)&&(a.freq=V.WEEKDAYS),j()(t,W)&&(a.freq=V.MONDAYFRIDAY)),a[e]=t?t.map(e=>this.getWeekday(e)):[];break;case"bymonthday":t&&t.length>0?(n===V.MONTHLY&&(a.monthly=e),n===V.YEARLY&&(a.yearly=e)):(n===V.MONTHLY&&(a.monthly=null),n===V.YEARLY&&(a.yearly=null)),a[e]=t;break;case"bynweekday":t&&t.length>0&&(n===V.SMONTHLY&&(a.monthly="byweekday"),n===V.YEARLY&&(a.yearly="byday"),a.weekdayOfTheMonth=t[0][0],a.weekdayOfTheMonthIndex=t[0][1]);break;case"bymonth":n===V.YEARLY&&(a.yearly="byday"),a.monthOfTheYear=t?t[0]:null;break;default:a[e]=t}})}return a}),n()(this,"formValuesToRRuleOptions",e=>{var t=Object.assign({},e);return Ie.forEach(e=>{delete t[e]}),Object.keys(t).forEach(e=>{var a=t[e];switch(e){case"freq":a&&(a=K.frequences[a].rrule);break;case"until":a=a?this.moment(new Date(a)).utc().toDate():null}a?t[e]=a:delete t[e]}),t}),n()(this,"updateRruleSet",(e,t,a,s)=>{var n=this.formValuesToRRuleOptions(t),r="dtstart"===a?s:e.dtstart()?e.dtstart():this.moment().utc().toDate(),l="exdates"===a?s:Object.assign([],e.exdates()),i="rdates"===a?s:Object.assign([],e.rdates());n.dtstart=r;let d=new p.b;return d.rrule(new p.a(n)),l.map(e=>d.exdate(e)),i.map(e=>d.rdate(e)),d}),n()(this,"getDefaultUntil",e=>{var t;const a=this.moment;var s=null!==(t=this.props.formData)&&void 0!==t&&t.end?U(this.getUTCDate(this.props.formData.end).toDate()):null,n=U(a().add(1,"days").utc().toDate()),r=U(a().add(7,"days").utc().toDate()),l=U(a().add(1,"months").utc().toDate()),i=U(a().add(1,"years").utc().toDate()),d=s;switch(e){case V.DAILY:d=s||n;break;case V.WEEKLY:case V.WEEKDAYS:case V.MONDAYFRIDAY:d=s||r;break;case V.MONTHLY:d=s||l;break;case V.YEARLY:d=s||i}return d}),n()(this,"changeField",(e,t,a)=>{var s,n,r,l,i;const d=this.moment,c=(null===(s=this.state)||void 0===s||null===(n=s.rruleSet)||void 0===n?void 0:n.rrules().length)>0?this.state.rruleSet.rrules()[0].origOptions.byweekday:null,o=this.getWeekday(d().day()-1),h=d().month()+1,u=null!==(r=this.props.formData)&&void 0!==r&&r.start?d(this.props.formData.start).month()+1:h,b=null!==(l=this.props.formData)&&void 0!==l&&l.start?this.getWeekday(d(this.props.formData.start).day()-1):o;e[t]=a;const j=null!==(i=this.props.formData)&&void 0!==i&&i.start?d(this.props.formData.start).date():d().date();switch(t){case"freq":e.interval=1;switch(K.frequences[a].interval||(e.interval=null),e=this.changeField(e,"byweekday",null),e=this.changeField(e,"yearly",null),e=this.changeField(e,"bymonthday",null),e=this.changeField(e,"byweekday",null),(e=this.changeField(e,"monthOfTheYear",null)).until||(e.until=this.getDefaultUntil(a)),a){case V.DAILY:break;case V.WEEKDAYS:e=this.changeField(e,"byweekday",q);break;case V.MONDAYFRIDAY:e=this.changeField(e,"byweekday",W);break;case V.WEEKLY:e=this.changeField(e,"byweekday",[b]);break;case V.MONTHLY:e=this.changeField(e,"monthly","bymonthday");break;case V.YEARLY:e=this.changeField(e,"yearly","bymonthday")}break;case"recurrenceEnds":"count"===a&&(e.count=1,e.until=null),"until"===a&&(e.until=this.getDefaultUntil(e.freq),e.count=null);break;case"byweekday":e.byweekday=a,V.WEEKLY!==e.freq?(e.weekdayOfTheMonth=a?a[0].weekday:null,e.weekdayOfTheMonthIndex=a?a[0].n:null):(delete e.weekdayOfTheMonth,delete e.weekdayOfTheMonthIndex);break;case"weekdayOfTheMonth":var m=this.getWeekday(a),y=c?c[0].n:1;e.byweekday=m?[m.nth(y)]:null;break;case"weekdayOfTheMonthIndex":var O=c?c[0]:o;e.byweekday=a?[O.nth(a)]:null;break;case"monthOfTheYear":null===a||void 0===a?delete e.bymonth:e.bymonth=[a];break;case"monthly":"bymonthday"===a&&(e.bymonthday=[j],e=this.changeField(e,"byweekday",null)),"byweekday"===a&&(e.bymonthday=null,e=this.changeField(e,"byweekday",[o.nth(1)])),null===a&&(e=this.changeField(e,"bymonthday",null),e=this.changeField(e,"byweekday",null));break;case"yearly":"bymonthday"===a&&(e.bymonthday=[j],e=this.changeField(e,"monthOfTheYear",u),e=this.changeField(e,"byweekday",null)),"byday"===a&&(e=this.changeField(e,"bymonthday",null),e=this.changeField(e,"byweekday",[b.nth(1)]),e=this.changeField(e,"monthOfTheYear",u))}return e}),n()(this,"onChangeRule",(e,t)=>{var a=Object.assign({},this.state.formValues);a=this.changeField(a,e,t),this.setState(s=>{var n=s.rruleSet;return n=this.updateRruleSet(n,a,e,t),Pe(Pe({},s),{},{rruleSet:n,formValues:a})})}),n()(this,"exclude",e=>{let t=this.state.rruleSet.exdates().slice(0);t.push(e),this.onChangeRule("exdates",t)}),n()(this,"undoExclude",e=>{let t=this.state.rruleSet.exdates().slice(0);l()(t,t=>t.getTime()===e.getTime()),this.onChangeRule("exdates",t)}),n()(this,"addDate",e=>{const t=this.moment;let a=d()(this.state.rruleSet.all(),this.state.rruleSet.exdates());var s=t(new Date(e)).startOf("day").toDate().getTime();if(!o()(a,e=>t(e).startOf("day").toDate().getTime()===s)){let t=this.state.rruleSet.rdates().slice(0);t.push(new Date(e)),this.onChangeRule("rdates",t)}}),n()(this,"save",()=>{var e=this.state.rruleSet.toString();this.props.onChange(this.props.id,e),this.close()}),n()(this,"remove",()=>{this.props.onChange(this.props.id,null);let e=new p.b;this.setState({rruleSet:e,formValues:this.getFormValues(e)})}),this.moment=this.props.moment.default,this.moment.locale(this.props.intl.locale);let a=this.props.value?Object(p.d)(e.value,{compatible:!0,forceset:!0}):new p.b;this.state={open:!1,rruleSet:a,formValues:this.getFormValues(a),RRULE_LANGUAGE:H(this.props.intl,this.moment)}}componentDidMount(){this.props.value&&this.setRecurrenceStartEnd()}componentDidUpdate(e){var t,a;if(this.props.value&&(null===(t=e.formData)||void 0===t?void 0:t.start)!==(null===(a=this.props.formData)||void 0===a?void 0:a.start)){var s;let e=this.getUTCDate(null===(s=this.props.formData)||void 0===s?void 0:s.start).startOf("day").toDate();this.setState(t=>{let a=t.rruleSet;return a=this.updateRruleSet(a,t.formValues,"dtstart",e),Pe(Pe({},t),{},{rruleSet:a})})}}render(){var e;const{open:t,dimmer:a,rruleSet:s,formValues:n,RRULE_LANGUAGE:r}=this.state,{id:l,title:i,required:d,description:c,error:o,fieldSet:h,intl:b}=this.props;return Object(z.jsx)(w.a.Field,{inline:!0,required:d,error:o.length>0,className:x()("recurrence-widget",c?"help":""),id:`${h||"field"}-${l}`,children:Object(z.jsxs)(k.a,{children:[Object(z.jsxs)(k.a.Row,{stretched:!0,children:[Object(z.jsx)(k.a.Column,{width:"4",children:Object(z.jsx)("div",{className:"wrapper",children:Object(z.jsx)("label",{htmlFor:"field-"+l,children:i})})}),Object(z.jsxs)(k.a.Column,{width:"8",children:[s.rrules()[0]&&Object(z.jsxs)(z.Fragment,{children:[Object(z.jsx)(D.a,{children:null===(e=s.rrules()[0])||void 0===e?void 0:e.toText(e=>r.strings[e],r,r.dateFormatter)}),Object(z.jsx)(C.a,{children:Object(z.jsx)(Re,{rruleSet:s,exclude:this.exclude,undoExclude:this.undoExclude,showTitle:!1,editOccurences:!1})})]}),Object(z.jsxs)("div",{children:[Object(z.jsx)(E.a,{basic:!0,disabled:this.props.isDisabled,color:"blue",className:"edit-recurrence",onClick:this.show("blurring"),type:"button","aria-label":b.formatMessage(Le.editRecurrence),children:Object(z.jsx)(_.hb,{name:A.a,size:"20px",title:b.formatMessage(Le.editRecurrence)})}),this.props.value&&Object(z.jsx)(E.a,{basic:!0,color:"pink",className:"remove-recurrence",onClick:()=>{this.remove()},type:"button","aria-label":b.formatMessage(Le.remove),children:Object(z.jsx)(_.hb,{name:L.a,size:"20px",title:b.formatMessage(Le.remove)})})]}),Object(z.jsxs)(T.a,{dimmer:a,open:t,onClose:this.close,className:"recurrence-form",closeIcon:!0,children:[Object(z.jsxs)(T.a.Header,{children:[b.formatMessage(Le.editRecurrence)," "]}),Object(z.jsx)(T.a.Content,{scrolling:!0,children:s.rrules().length>0&&Object(z.jsxs)(T.a.Description,{children:[Object(z.jsx)(C.a,{children:Object(z.jsxs)(w.a,{children:[Object(z.jsx)(_.Jb,{id:"freq",title:b.formatMessage(Le.repeat),getVocabulary:()=>{},getVocabularyTokenTitle:()=>{},choices:Object.keys(K.frequences).map(e=>[e,b.formatMessage(Le[e])]),value:n.freq,onChange:this.onChangeRule}),K.frequences[n.freq].interval&&Object(z.jsx)(Q,{label:b.formatMessage(Le.repeatEvery),labelAfter:n.freq&&b.formatMessage(Le["interval_"+n.freq]),value:n.interval,onChange:this.onChangeRule}),K.frequences[n.freq].byday&&Object(z.jsx)(B,{label:b.formatMessage(Le.repeatOn),value:n.byweekday,onChange:this.onChangeRule}),K.frequences[n.freq].bymonth&&Object(z.jsx)(Me,{label:b.formatMessage(Le.repeatOn),value:n.monthly,bymonthday:n.bymonthday,weekdayOfTheMonthIndex:n.weekdayOfTheMonthIndex,weekdayOfTheMonth:n.weekdayOfTheMonth,onChange:this.onChangeRule}),K.frequences[n.freq].byyear&&Object(z.jsx)(Ee,{label:b.formatMessage(Le.repeatOn),value:n.yearly,bymonthday:n.bymonthday,monthOfTheYear:n.monthOfTheYear,weekdayOfTheMonthIndex:n.weekdayOfTheMonthIndex,weekdayOfTheMonth:n.weekdayOfTheMonth,onChange:this.onChangeRule}),Object(z.jsx)(se,{value:n.recurrenceEnds,count:n.count,until:n.until,onChange:this.onChangeRule})]})}),Object(z.jsx)(C.a,{children:Object(z.jsx)(Re,{rruleSet:s,exclude:this.exclude,undoExclude:this.undoExclude})}),Object(z.jsxs)(C.a,{children:[Object(z.jsx)(F.a,{as:"h2",children:b.formatMessage(Le.add_date)}),Object(z.jsx)(_.O,{id:"addDate",title:b.formatMessage(Le.select_date_to_add_to_recurrence),dateOnly:!0,noPastDates:!0,onChange:(e,t)=>{this.addDate(""===t?void 0:t)}})]})]})}),Object(z.jsx)(T.a.Actions,{children:Object(z.jsx)(E.a,{className:"save",basic:!0,onClick:()=>{this.save()},"aria-label":b.formatMessage(Le.save),children:Object(z.jsx)(_.hb,{name:N.a,className:"circled",size:"30px",title:b.formatMessage(Le.save)})})})]}),u()(o,e=>Object(z.jsx)(D.a,{basic:!0,color:"red",pointing:!0,children:e},e))]})]}),c&&Object(z.jsx)(k.a.Row,{stretched:!0,children:Object(z.jsx)(k.a.Column,{stretched:!0,width:"12",children:Object(z.jsx)("p",{className:"help",children:c})})})]})})}}n()(qe,"defaultProps",{description:null,required:!1,error:[],value:null});t.default=Object(f.compose)(Object(S.a)(["moment"]),M.c)(qe)}}]);
2
+ //# sourceMappingURL=plone-volto-components-theme-View-EventView.433dd14b.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack:///./src/components/theme/View/EventDatesInfo.jsx","webpack:///./src/components/theme/View/EventView.jsx","webpack:///./src/components/manage/Widgets/DatetimeWidget.jsx","webpack:///./src/components/manage/Widgets/RecurrenceWidget/Utils.js","webpack:///./src/components/manage/Widgets/RecurrenceWidget/IntervalField.jsx","webpack:///./src/components/manage/Widgets/RecurrenceWidget/ByDayField.jsx","webpack:///./src/components/manage/Widgets/RecurrenceWidget/EndField.jsx","webpack:///./src/components/manage/Widgets/RecurrenceWidget/ByMonthDayField.jsx","webpack:///./src/components/manage/Widgets/RecurrenceWidget/SelectInput.jsx","webpack:///./src/components/manage/Widgets/RecurrenceWidget/WeekdayOfTheMonthIndexField.jsx","webpack:///./src/components/manage/Widgets/RecurrenceWidget/WeekdayOfTheMonthField.jsx","webpack:///./src/components/manage/Widgets/RecurrenceWidget/ByMonthField.jsx","webpack:///./src/components/manage/Widgets/RecurrenceWidget/MonthOfTheYearField.jsx","webpack:///./src/components/manage/Widgets/RecurrenceWidget/ByYearField.jsx","webpack:///./src/components/manage/Widgets/RecurrenceWidget/Occurences.jsx","webpack:///./src/components/manage/Widgets/RecurrenceWidget/RecurrenceWidget.jsx"],"names":["datesForDisplay","start","end","moment","mStart","mEnd","isValid","sameDay","isSame","sameTime","startDate","format","startTime","endDate","endTime","When","injectLazyLibs","whole_day","open_end","momentlib","intl","useIntl","default","locale","datesInfo","className","cx","propTypes","PropTypes","string","isRequired","bool","Recurrence","recurrence","indexOf","RRule","optionsToString","dtstart","Date","rrule","rrulestr","unfold","forceset","List","items","all","map","date","undefined","messages","defineMessages","what","when","allDates","where","contactName","contactPhone","attendees","website","visitWebsite","injectIntl","content","Container","title","description","image","Image","src","scales","thumb","download","floated","Segment","subjects","length","Header","dividing","sub","formatMessage","location","contact_name","contact_email","href","contact_phone","event_url","target","rel","text","dangerouslySetInnerHTML","__html","flattenHTMLToAppURL","data","TimePicker","loadable","time","PrevIcon","style","color","left","padding","position","top","tabIndex","name","leftKey","size","NextIcon","right","rightKey","defaultTimeDateOnly","hour","minute","second","DatetimeWidgetComponent","Component","constructor","props","super","this","isDateOnly","getDateOnly","base","getInternalValue","set","year","month","dateValue","toISOString","onChange","id","setState","isDefault","hours","minutes","seconds","focused","state","parseDateTime","value","utc","dateOnly","widget","render","resettable","reactDates","widgetOptions","noPastDates","pattern_options","datetime","SingleDatePicker","disabled","isDisabled","onDateChange","numberOfMonths","isOutsideRange","onFocusChange","noBorder","displayFormat","localeData","longDateFormat","navPrev","navNext","placeholder","defaultValue","onTimeChange","allowEmpty","showSecond","use12Hours","focusOnOpen","placement","onClick","onResetDates","clearSVG","defaultProps","required","error","compose","Days","MO","TU","WE","TH","FR","SA","SU","WEEKLY_DAYS","MONDAYFRIDAY_DAYS","FREQUENCES","DAILY","MONDAYFRIDAY","WEEKDAYS","WEEKLY","MONTHLY","YEARLY","OPTIONS","frequences","interval","byday","bymonth","byyear","split","rrulei18n","every","until","for","times","weekdays","weekday","day","days","in","week","weeks","months","on","years","the","and","or","at","last","st","nd","rd","th","dateFormat","strings","Object","keys","k","replace","RegExp","dayNames","monthNames","dateFormatter","IntervalField","label","labelAfter","Form","Field","inline","Grid","Row","stretched","Column","width","htmlFor","Input","parseInt","ByDayField","Button","Group","basic","d","active","type","weekdaysShort","dayName","byweekday","i","splice","push","toggleWeekDay","recurrenceEnds","recurrenceEndsCount","recurrenceEndsUntil","occurrences","EndField","count","Radio","checked","e","DatetimeWidget","bymonthDay","ofTheMonth","ByMonthDayField","hideAfterLabel","SelectInput","options","inlineSelectStyles","customSelectStyles","control","styles","minWidth","getDefaultValue","choices","element","o","classNamePrefix","theme","selectTheme","components","DropdownIndicator","Option","bymonthDayNumber","first","third","fourth","ORDINAL_NUMBERS","WeekdayOfTheMonthIndexField","weekdayOfTheMonthIndexList","option","weekdayOfTheMonthList","ByMonthField","bymonthday","weekdayOfTheMonthIndex","weekdayOfTheMonth","MonthOfTheYearField","monthList","m","ByYearField","monthOfTheYear","selected_dates","start_of_recurrence","additional_date","other_items","no_occurences","exclude","include","formatDate","Occurences","rruleSet","undoExclude","showTitle","editOccurences","isAdditional","dateISO","additional","rdates","forEach","exdates","sort","a","b","others","as","divided","verticalAlign","index","excluded","ex","isExcluded","Item","Content","icon","aria-label","trashSVG","addSVG","Label","pointing","toString","any","editRecurrence","save","remove","repeat","daily","mondayfriday","weekly","monthly","yearly","repeatEvery","repeatOn","interval_daily","interval_weekly","interval_monthly","interval_yearly","add_date","select_date_to_add_to_recurrence","NoRRuleOptions","RecurrenceWidget","setRecurrenceStartEnd","formData","_start","getUTCDate","startOf","toDate","prevState","formValues","getFormValues","updateRruleSet","match","dimmer","open","number","freq","entries","f","w","n","changeField","rrules","getFreq","getWeekday","SMONTHLY","values","assign","opt","field","rruleOptions","formValuesToRRuleOptions","dstart","RRuleSet","exdate","r","rdate","tomorrow","add","nextWeek","nextMonth","nextYear","origOptions","currWeekday","currMonth","startMonth","startWeekday","defaultMonthDay","getDefaultUntil","nth","week_day","list","slice","onChangeRule","getTime","simpleDate","close","compatible","RRULE_LANGUAGE","componentDidMount","componentDidUpdate","prevProps","fieldSet","toText","t","show","editingSVG","Modal","onClose","closeIcon","scrolling","Description","getVocabulary","getVocabularyTokenTitle","addDate","Actions","saveSVG","message"],"mappings":"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","file":"static/js/plone-volto-components-theme-View-EventView.433dd14b.chunk.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { List } from 'semantic-ui-react';\nimport { useIntl } from 'react-intl';\nimport cx from 'classnames';\nimport { RRule, rrulestr } from 'rrule';\nimport { injectLazyLibs } from '@plone/volto/helpers/Loadable/Loadable';\n\nexport const datesForDisplay = (start, end, moment) => {\n const mStart = moment(start);\n const mEnd = moment(end);\n if (!mStart.isValid() || !mEnd.isValid()) {\n return null;\n }\n const sameDay = mStart.isSame(mEnd, 'day');\n const sameTime = mStart.isSame(mEnd, 'minute');\n return {\n sameDay,\n sameTime,\n startDate: mStart.format('ll'),\n startTime: mStart.format('LT'),\n endDate: mEnd.format('ll'),\n endTime: mEnd.format('LT'),\n };\n};\n\nconst When_ = ({ start, end, whole_day, open_end, moment: momentlib }) => {\n const intl = useIntl();\n\n const moment = momentlib.default;\n moment.locale(intl.locale);\n\n const datesInfo = datesForDisplay(start, end, moment);\n if (!datesInfo) {\n return;\n }\n // TODO I18N INTL\n return (\n <p\n className={cx('event-when', {\n 'same-day': datesInfo.sameDay,\n 'same-time': datesInfo.sameTime,\n 'whole-day': whole_day,\n 'open-end': open_end,\n })}\n >\n {!datesInfo.sameDay ? (\n <>\n <span className=\"start\">\n <span className=\"start-date\">{datesInfo.startDate}</span>\n {!whole_day && (\n <>\n {/* Plone has an optional word based on locale here */}\n <span> </span>\n <span className=\"start-time\">{datesInfo.startTime}</span>\n </>\n )}\n </span>\n {!open_end && (\n <>\n &nbsp;to&nbsp;\n <span className=\"end\">\n <span className=\"end-date\">{datesInfo.endDate}</span>\n {!whole_day && (\n <>\n {/* Plone has an optional word based on locale here */}\n <span> </span>\n <span className=\"end-time\">{datesInfo.endTime}</span>\n </>\n )}\n </span>\n </>\n )}\n </>\n ) : (\n <>\n {whole_day && (\n <span className=\"start-date\">{datesInfo.startDate}</span>\n )}\n {open_end && !whole_day && (\n <>\n <span className=\"start-date\">{datesInfo.startDate}</span>\n &nbsp;from&nbsp;\n <span className=\"start-time\">{datesInfo.startTime}</span>\n </>\n )}\n {!(whole_day || open_end) && (\n <>\n <span className=\"start-date\">{datesInfo.startDate}</span>\n &nbsp;from&nbsp;\n <span className=\"start-time\">{datesInfo.startTime}</span>\n &nbsp;to&nbsp;\n <span className=\"end-time\">{datesInfo.endTime}</span>\n </>\n )}\n </>\n )}\n </p>\n );\n};\n\nexport const When = injectLazyLibs(['moment'])(When_);\n\nWhen.propTypes = {\n start: PropTypes.string.isRequired,\n end: PropTypes.string,\n whole_day: PropTypes.bool,\n open_end: PropTypes.bool,\n};\n\nexport const Recurrence_ = ({ recurrence, start, moment: momentlib }) => {\n const moment = momentlib.default;\n if (recurrence.indexOf('DTSTART') < 0) {\n var dtstart = RRule.optionsToString({\n dtstart: new Date(start),\n });\n recurrence = dtstart + '\\n' + recurrence;\n }\n const rrule = rrulestr(recurrence, { unfold: true, forceset: true });\n\n return (\n <List\n items={rrule\n .all()\n .map((date) => datesForDisplay(date, undefined, moment))\n .map((date) => date.startDate)}\n />\n );\n};\nexport const Recurrence = injectLazyLibs(['moment'])(Recurrence_);\n\nRecurrence.propTypes = {\n recurrence: PropTypes.string.isRequired,\n start: PropTypes.string.isRequired,\n};\n","/**\n * EventView view component.\n * @module components/theme/View/EventView\n */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport { flattenHTMLToAppURL } from '@plone/volto/helpers';\nimport { Container, Image, Segment, Header, List } from 'semantic-ui-react';\n\nimport {\n When,\n Recurrence,\n} from '@plone/volto/components/theme/View/EventDatesInfo';\n\nconst messages = defineMessages({\n what: {\n id: 'event_what',\n defaultMessage: 'What',\n },\n when: {\n id: 'event_when',\n defaultMessage: 'When',\n },\n allDates: {\n id: 'event_alldates',\n defaultMessage: 'All dates',\n },\n where: {\n id: 'event_where',\n defaultMessage: 'Where',\n },\n contactName: {\n id: 'event_contactname',\n defaultMessage: 'Contact Name',\n },\n contactPhone: {\n id: 'event_contactphone',\n defaultMessage: 'Contact Phone',\n },\n attendees: {\n id: 'event_attendees',\n defaultMessage: 'Attendees',\n },\n website: {\n id: 'event_website',\n defaultMessage: 'Website',\n },\n visitWebsite: {\n id: 'visit_external_website',\n defaultMessage: 'Visit external website',\n },\n});\n\n/**\n * EventView view component class.\n * @function EventView\n * @params {object} content Content object.\n * @returns {string} Markup of the component.\n */\nconst EventView = ({ intl, content }) => (\n <Container className=\"view-wrapper event-view\">\n {content.title && <h1 className=\"documentFirstHeading\">{content.title}</h1>}\n {content.description && (\n <p className=\"documentDescription\">{content.description}</p>\n )}\n {content.image && (\n <Image\n className=\"document-image\"\n src={content.image.scales.thumb.download}\n floated=\"right\"\n />\n )}\n <Segment floated=\"right\">\n {content.subjects.length > 0 && (\n <>\n <Header dividing sub>\n {intl.formatMessage(messages.what)}\n </Header>\n <List items={content.subjects} />\n </>\n )}\n <Header dividing sub>\n {intl.formatMessage(messages.when)}\n </Header>\n <When\n start={content.start}\n end={content.end}\n whole_day={content.whole_day}\n open_end={content.open_end}\n />\n {content.recurrence && (\n <>\n <Header dividing sub>\n {intl.formatMessage(messages.allDates)}\n </Header>\n <Recurrence recurrence={content.recurrence} start={content.start} />\n </>\n )}\n {content.location && (\n <>\n <Header dividing sub>\n {intl.formatMessage(messages.where)}\n </Header>\n <p>{content.location}</p>\n </>\n )}\n {content.contact_name && (\n <>\n <Header dividing sub>\n {intl.formatMessage(messages.contactName)}\n </Header>\n <p>\n {content.contact_email ? (\n <a href={`mailto:${content.contact_email}`}>\n {content.contact_name}\n </a>\n ) : (\n content.contact_name\n )}\n </p>\n </>\n )}\n {content.contact_phone && (\n <>\n <Header dividing sub>\n {intl.formatMessage(messages.contactPhone)}\n </Header>\n <p>{content.contact_phone}</p>\n </>\n )}\n {content.attendees.length > 0 && (\n <>\n <Header dividing sub>\n {intl.formatMessage(messages.attendees)}\n </Header>\n <List items={content.attendees} />\n </>\n )}\n {content.event_url && (\n <>\n <Header dividing sub>\n {intl.formatMessage(messages.website)}\n </Header>\n <p>\n <a\n href={content.event_url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {intl.formatMessage(messages.visitWebsite)}\n </a>\n </p>\n </>\n )}\n </Segment>\n {content.text && (\n <div\n dangerouslySetInnerHTML={{\n __html: flattenHTMLToAppURL(content.text.data),\n }}\n />\n )}\n </Container>\n);\n\n/**\n * Property types.\n * @property {Object} propTypes Property types.\n * @static\n */\nEventView.propTypes = {\n content: PropTypes.shape({\n title: PropTypes.string,\n description: PropTypes.string,\n text: PropTypes.shape({\n data: PropTypes.string,\n }),\n attendees: PropTypes.arrayOf(PropTypes.string).isRequired,\n contact_email: PropTypes.string,\n contact_name: PropTypes.string,\n contact_phone: PropTypes.string,\n end: PropTypes.string.isRequired,\n event_url: PropTypes.string,\n location: PropTypes.string,\n open_end: PropTypes.bool,\n recurrence: PropTypes.any,\n start: PropTypes.string.isRequired,\n subjects: PropTypes.arrayOf(PropTypes.string).isRequired,\n whole_day: PropTypes.bool,\n }).isRequired,\n};\n\nexport default injectIntl(EventView);\n","/**\n * DatetimeWidget component.\n * @module components/manage/Widgets/DatetimeWidget\n */\nimport React, { Component } from 'react';\nimport { compose } from 'redux';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport loadable from '@loadable/component';\nimport cx from 'classnames';\nimport { Icon, FormFieldWrapper } from '@plone/volto/components';\nimport { parseDateTime } from '@plone/volto/helpers';\nimport { injectLazyLibs } from '@plone/volto/helpers/Loadable/Loadable';\n\nimport leftKey from '@plone/volto/icons/left-key.svg';\nimport rightKey from '@plone/volto/icons/right-key.svg';\nimport clearSVG from '@plone/volto/icons/clear.svg';\n\nimport 'rc-time-picker/assets/index.css';\nimport 'react-dates/initialize';\nimport 'react-dates/lib/css/_datepicker.css';\n\nconst TimePicker = loadable(() => import('rc-time-picker'));\n\nconst messages = defineMessages({\n date: {\n id: 'Date',\n defaultMessage: 'Date',\n },\n time: {\n id: 'Time',\n defaultMessage: 'Time',\n },\n});\n\nconst PrevIcon = () => (\n <div\n style={{\n color: '#000',\n left: '22px',\n padding: '5px',\n position: 'absolute',\n top: '15px',\n }}\n // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex\n tabIndex=\"0\"\n >\n <Icon name={leftKey} size=\"30px\" />\n </div>\n);\nconst NextIcon = () => (\n <div\n style={{\n color: '#000',\n right: '22px',\n padding: '5px',\n position: 'absolute',\n top: '15px',\n }}\n // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex\n tabIndex=\"0\"\n >\n <Icon name={rightKey} size=\"30px\" />\n </div>\n);\n\nconst defaultTimeDateOnly = {\n hour: 12,\n minute: 0,\n second: 0,\n};\n\n/**\n * DatetimeWidget component class\n * @class DatetimeWidget\n * @extends Component\n *\n * To use it, in schema properties, declare a field like:\n *\n * ```jsx\n * {\n * title: \"Publish date\",\n * type: 'datetime',\n * }\n * ```\n */\nexport class DatetimeWidgetComponent extends Component {\n /**\n * Constructor\n * @method constructor\n * @param {Object} props Component properties\n * @constructs DatetimeWidget\n */\n constructor(props) {\n super(props);\n this.moment = props.moment.default;\n\n this.state = {\n focused: false,\n // if passed value matches the construction time, we guess it's a default\n isDefault:\n parseDateTime(\n this.props.intl.locale,\n this.props.value,\n undefined,\n this.moment,\n )?.toISOString() === this.moment().utc().toISOString(),\n };\n }\n\n getInternalValue() {\n return parseDateTime(\n this.props.intl.locale,\n this.props.value,\n undefined,\n this.moment,\n );\n }\n\n getDateOnly() {\n return this.props.dateOnly || this.props.widget === 'date';\n }\n\n /**\n * Update date storage\n * @method onDateChange\n * @param {Object} date updated momentjs Object for date\n * @returns {undefined}\n */\n onDateChange = (date) => {\n if (date) {\n const moment = this.props.moment.default;\n const isDateOnly = this.getDateOnly();\n const base = (this.getInternalValue() || moment()).set({\n year: date.year(),\n month: date.month(),\n date: date.date(),\n ...(isDateOnly ? defaultTimeDateOnly : {}),\n });\n const dateValue = isDateOnly\n ? base.format('YYYY-MM-DD')\n : base.toISOString();\n this.props.onChange(this.props.id, dateValue);\n }\n this.setState({ isDefault: false });\n };\n\n /**\n * Update date storage\n * @method onTimeChange\n * @param {Object} time updated momentjs Object for time\n * @returns {undefined}\n */\n onTimeChange = (time) => {\n const moment = this.props.moment.default;\n if (time) {\n const base = (this.getInternalValue() || moment()).set({\n hours: time?.hours() ?? 0,\n minutes: time?.minutes() ?? 0,\n seconds: 0,\n });\n const dateValue = base.toISOString();\n this.props.onChange(this.props.id, dateValue);\n }\n };\n\n onResetDates = () => {\n this.setState({ isDefault: false });\n this.props.onChange(this.props.id, null);\n };\n\n /**\n * Handle SingleDatePicker focus\n * @method onFocusChange\n * @param {boolean} focused component focus state.\n * @returns {undefined}\n */\n onFocusChange = ({ focused }) => this.setState({ focused });\n\n render() {\n const { id, resettable, intl, reactDates, widgetOptions } = this.props;\n const noPastDates =\n this.props.noPastDates || widgetOptions?.pattern_options?.noPastDates;\n const moment = this.props.moment.default;\n const datetime = this.getInternalValue();\n const dateOnly = this.getDateOnly();\n const { SingleDatePicker } = reactDates;\n\n return (\n <FormFieldWrapper {...this.props}>\n <div className=\"date-time-widget-wrapper\">\n <div\n className={cx('ui input date-input', {\n 'default-date': this.state.isDefault,\n })}\n >\n <SingleDatePicker\n date={datetime}\n disabled={this.props.isDisabled}\n onDateChange={this.onDateChange}\n focused={this.state.focused}\n numberOfMonths={1}\n {...(noPastDates ? {} : { isOutsideRange: () => false })}\n onFocusChange={this.onFocusChange}\n noBorder\n displayFormat={moment.localeData(intl.locale).longDateFormat('L')}\n navPrev={<PrevIcon />}\n navNext={<NextIcon />}\n id={`${id}-date`}\n placeholder={intl.formatMessage(messages.date)}\n />\n </div>\n {!dateOnly && (\n <div\n className={cx('ui input time-input', {\n 'default-date': this.state.isDefault,\n })}\n >\n <TimePicker\n disabled={this.props.isDisabled}\n defaultValue={datetime}\n value={datetime}\n onChange={this.onTimeChange}\n allowEmpty={false}\n showSecond={false}\n use12Hours={intl.locale === 'en'}\n id={`${id}-time`}\n format={moment.localeData(intl.locale).longDateFormat('LT')}\n placeholder={intl.formatMessage(messages.time)}\n focusOnOpen\n placement=\"bottomRight\"\n />\n </div>\n )}\n {resettable && (\n <button\n disabled={this.props.isDisabled || !datetime}\n onClick={() => this.onResetDates()}\n className=\"item ui noborder button\"\n >\n <Icon name={clearSVG} size=\"24px\" className=\"close\" />\n </button>\n )}\n </div>\n </FormFieldWrapper>\n );\n }\n}\n\n/**\n * Property types.\n * @property {Object} propTypes Property types.\n * @static\n */\nDatetimeWidgetComponent.propTypes = {\n id: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n description: PropTypes.string,\n required: PropTypes.bool,\n error: PropTypes.arrayOf(PropTypes.string),\n dateOnly: PropTypes.bool,\n noPastDates: PropTypes.bool,\n value: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n wrapped: PropTypes.bool,\n resettable: PropTypes.bool,\n};\n\n/**\n * Default properties.\n * @property {Object} defaultProps Default properties.\n * @static\n */\nDatetimeWidgetComponent.defaultProps = {\n description: null,\n required: false,\n error: [],\n dateOnly: false,\n noPastDates: false,\n value: null,\n resettable: true,\n};\n\nexport default compose(\n injectLazyLibs(['reactDates', 'moment']),\n injectIntl,\n)(DatetimeWidgetComponent);\n","import { RRule } from 'rrule';\nimport { defineMessages } from 'react-intl';\n\nexport const Days = {\n MO: RRule.MO,\n TU: RRule.TU,\n WE: RRule.WE,\n TH: RRule.TH,\n FR: RRule.FR,\n SA: RRule.SA,\n SU: RRule.SU,\n};\n\nexport const WEEKLY_DAYS = [Days.MO, Days.TU, Days.WE, Days.TH, Days.FR];\nexport const MONDAYFRIDAY_DAYS = [Days.MO, Days.FR];\n\nexport const FREQUENCES = {\n DAILY: 'daily',\n MONDAYFRIDAY: 'mondayfriday',\n WEEKDAYS: 'weekdays',\n WEEKLY: 'weekly',\n MONTHLY: 'monthly',\n YEARLY: 'yearly',\n};\n\nexport const OPTIONS = {\n frequences: {\n [FREQUENCES.DAILY]: { rrule: RRule.DAILY, interval: true },\n [FREQUENCES.MONDAYFRIDAY]: { rrule: RRule.WEEKLY },\n [FREQUENCES.WEEKDAYS]: { rrule: RRule.WEEKLY },\n [FREQUENCES.WEEKLY]: { rrule: RRule.WEEKLY, interval: true, byday: true },\n [FREQUENCES.MONTHLY]: {\n rrule: RRule.MONTHLY,\n interval: true,\n bymonth: true,\n },\n [FREQUENCES.YEARLY]: { rrule: RRule.YEARLY, interval: true, byyear: true },\n },\n};\n\nexport const toISOString = (date) => {\n return date.toISOString().split('T')[0];\n};\n\nexport const rrulei18n = (intl, moment) => {\n moment.locale(intl.locale);\n\n const messages = defineMessages({\n every: { id: 'rrule_every', defaultMessage: 'every' },\n until: { id: 'rrule_until', defaultMessage: 'until' },\n for: { id: 'rrule_for', defaultMessage: 'for' },\n time: { id: 'rrule_time', defaultMessage: 'time' },\n times: { id: 'rrule_times', defaultMessage: 'times' },\n '(~ approximate)': {\n id: 'rrule_approximate',\n defaultMessage: '(~approximate)',\n },\n hour: { id: 'rrule_hour', defaultMessage: 'hour' },\n hours: { id: 'rrule_hours', defaultMessage: 'hours' },\n minutes: {\n id: 'rrule_minutes',\n defaultMessage: 'minutes',\n },\n weekdays: {\n id: 'rrule_weekdays',\n defaultMessage: 'weekdays',\n },\n weekday: {\n id: 'rrule_weekday',\n defaultMessage: 'weekday',\n },\n day: { id: 'rrule_day', defaultMessage: 'day' },\n days: { id: 'rrule_days', defaultMessage: 'days' },\n in: { id: 'rrule_in', defaultMessage: 'in' },\n week: { id: 'rrule_week', defaultMessage: 'week' },\n weeks: { id: 'rrule_weeks', defaultMessage: 'weeks' },\n month: {\n id: 'rrule_month',\n defaultMessage: 'month',\n },\n months: {\n id: 'rrule_months',\n defaultMessage: 'months',\n },\n on: { id: 'rrule_on', defaultMessage: 'on' },\n year: { id: 'rrule_year', defaultMessage: 'year' },\n years: { id: 'rrule_years', defaultMessage: 'years' },\n 'on the': {\n id: 'rrule_on the',\n defaultMessage: 'on the',\n },\n the: { id: 'rrule_the', defaultMessage: 'the' },\n and: { id: 'rrule_and', defaultMessage: 'and' },\n or: { id: 'rrule_or', defaultMessage: 'or' },\n at: { id: 'rrule_at', defaultMessage: 'at' },\n last: { id: 'rrule_last', defaultMessage: 'last' },\n st: { id: 'rrule_st', defaultMessage: 'st' },\n nd: { id: 'rrule_nd', defaultMessage: 'nd' },\n rd: { id: 'rrule_rd', defaultMessage: 'rd' },\n th: { id: 'rrule_th', defaultMessage: 'th' },\n dateFormat: {\n id: 'rrule_dateFormat',\n defaultMessage: '[month] [day], [year]',\n },\n });\n\n let strings = {};\n Object.keys(messages).map(\n (k) => (strings[k] = intl.formatMessage(messages[k])),\n );\n\n let dateFormat = strings.dateFormat\n .replace(new RegExp('\\\\[', 'g'), '${')\n .replace(new RegExp('\\\\]', 'g'), '}');\n\n const dateFormatter = (year, month, day) =>\n dateFormat\n .replace(/\\$\\{year\\}/g, year)\n .replace(/\\$\\{month\\}/g, month)\n .replace(/\\$\\{day\\}/g, day);\n const LANGUAGE = {\n dayNames: moment.weekdays(),\n monthNames: moment.months(),\n strings: strings,\n dateFormatter: dateFormatter,\n };\n return LANGUAGE;\n};\n","/**\n * IntervalField component.\n * @module components/manage/Widgets/RecurrenceWidget/IntervalField\n */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { Form, Grid, Input } from 'semantic-ui-react';\n\n/**\n * IntervalField component class.\n * @function IntervalField\n * @returns {string} Markup of the component.\n */\nconst IntervalField = ({ label, labelAfter, value, onChange }) => {\n return (\n <Form.Field inline className=\"text\">\n <Grid>\n <Grid.Row stretched>\n <Grid.Column width=\"4\">\n <div className=\"wrapper\">\n <label htmlFor=\"interval\">{label}</label>\n </div>\n </Grid.Column>\n <Grid.Column width=\"8\">\n <Form.Field inline>\n <Input\n id=\"interval\"\n name=\"interval\"\n value={value || ''}\n onChange={({ target }) => {\n onChange(\n target.id,\n target.value === '' ? undefined : parseInt(target.value),\n );\n }}\n />\n {labelAfter && <span>{labelAfter}</span>}\n </Form.Field>\n </Grid.Column>\n </Grid.Row>\n </Grid>\n </Form.Field>\n );\n};\n\n/**\n * Property types.\n * @property {Object} propTypes Property types.\n * @static\n */\nIntervalField.propTypes = {\n label: PropTypes.string.isRequired,\n labelAfter: PropTypes.string,\n value: PropTypes.any,\n onChange: PropTypes.func,\n};\n\n/**\n * Default properties.\n * @property {Object} defaultProps Default properties.\n * @static\n */\nIntervalField.defaultProps = {\n label: null,\n labelAfter: null,\n onChange: null,\n};\n\nexport default IntervalField;\n","/**\n * ByDayField component.\n * @module components/manage/Widgets/RecurrenceWidget/ByDayField\n */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { Form, Grid, Button } from 'semantic-ui-react';\nimport { Days } from './Utils';\nimport { useIntl } from 'react-intl';\nimport { injectLazyLibs } from '@plone/volto/helpers/Loadable/Loadable';\n\n/**\n * ByDayField component class.\n * @function ByDayField\n * @returns {string} Markup of the component.\n */\nconst ByDayField = ({ label, value, onChange, moment: momentlib }) => {\n const intl = useIntl();\n const moment = momentlib.default;\n moment.locale(intl.locale);\n\n const toggleWeekDay = (dayName) => {\n var day = Days[dayName];\n var byweekday = value ? [...value] : [];\n\n var i = byweekday.indexOf(day);\n if (i >= 0) {\n byweekday.splice(i, 1);\n } else {\n byweekday.push(day);\n }\n onChange('byweekday', byweekday);\n };\n\n return (\n <Form.Field inline className=\"text\">\n <Grid>\n <Grid.Row stretched>\n <Grid.Column width=\"4\">\n <div className=\"wrapper\">\n <label htmlFor=\"byday\">{label}</label>\n </div>\n </Grid.Column>\n <Grid.Column width=\"8\">\n <Button.Group basic className=\"byday-field\">\n {Object.keys(Days).map((d) => (\n <Button\n key={d}\n active={value?.indexOf(Days[d]) >= 0}\n type=\"button\"\n content={moment.weekdaysShort(Days[d].weekday + 1)}\n onClick={() => {\n toggleWeekDay(d);\n }}\n />\n ))}\n </Button.Group>\n </Grid.Column>\n </Grid.Row>\n </Grid>\n </Form.Field>\n );\n};\n\n/**\n * Property types.\n * @property {Object} propTypes Property types.\n * @static\n */\nByDayField.propTypes = {\n label: PropTypes.string.isRequired,\n value: PropTypes.any,\n onChange: PropTypes.func,\n};\n\n/**\n * Default properties.\n * @property {Object} defaultProps Default properties.\n * @static\n */\nByDayField.defaultProps = {\n label: null,\n value: null,\n onChange: null,\n};\n\nexport default injectLazyLibs(['moment'])(ByDayField);\n","/**\n * EndField component.\n * @module components/manage/Widgets/RecurrenceWidget/EndField\n */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport { Form, Grid, Input, Radio } from 'semantic-ui-react';\nimport DatetimeWidget from '../DatetimeWidget';\n\nconst messages = defineMessages({\n recurrenceEnds: { id: 'Recurrence ends', defaultMessage: 'Ends' },\n recurrenceEndsCount: { id: 'Recurrence ends after', defaultMessage: 'after' },\n recurrenceEndsUntil: { id: 'Recurrence ends on', defaultMessage: 'on' },\n occurrences: { id: 'Occurences', defaultMessage: 'occurrence(s)' },\n});\n/**\n * EndField component class.\n * @function EndField\n * @returns {string} Markup of the component.\n */\nconst EndField = ({ value, count, until, onChange, intl }) => {\n return (\n <Form.Field inline className=\"text\">\n <Grid>\n <Grid.Row stretched>\n <Grid.Column width=\"4\">\n <div className=\"wrapper\">\n <label htmlFor=\"recurrenceEnds\">\n {intl.formatMessage(messages.recurrenceEnds)}\n </label>\n </div>\n </Grid.Column>\n <Grid.Column width=\"8\">\n <Form.Group inline>\n <Form.Field>\n <Radio\n label=\"\"\n name=\"recurrenceEnds\"\n id=\"recurrenceEndsCount\"\n value=\"count\"\n checked={value === 'count'}\n onChange={(e, { value }) => onChange('recurrenceEnds', value)}\n />\n </Form.Field>\n <Form.Field disabled={value !== 'count'}>\n {intl.formatMessage(messages.recurrenceEndsCount)}\n </Form.Field>\n <Form.Field disabled={value !== 'count'}>\n <Input\n id=\"count\"\n name=\"count\"\n value={count || ''}\n onChange={({ target }) => {\n onChange(\n target.id,\n target.value === '' ? undefined : target.value,\n );\n }}\n />\n </Form.Field>\n <Form.Field disabled={value !== 'count'}>\n {intl.formatMessage(messages.occurrences)}\n </Form.Field>\n </Form.Group>\n <Form.Group inline>\n <Form.Field>\n <Radio\n id=\"recurrenceEndsUntil\"\n label=\"\"\n name=\"recurrenceEnds\"\n value=\"until\"\n checked={value === 'until'}\n onChange={(e, { value }) => onChange('recurrenceEnds', value)}\n />\n </Form.Field>\n\n <Form.Field disabled={value !== 'until'}>\n <DatetimeWidget\n id=\"until\"\n title={intl.formatMessage(messages.recurrenceEndsUntil)}\n dateOnly={true}\n value={until || ''}\n resettable={false}\n onChange={(id, value) => {\n onChange(id, value === '' ? undefined : value);\n }}\n />\n </Form.Field>\n </Form.Group>\n </Grid.Column>\n </Grid.Row>\n </Grid>\n </Form.Field>\n );\n};\n\n/**\n * Property types.\n * @property {Object} propTypes Property types.\n * @static\n */\nEndField.propTypes = {\n value: PropTypes.string,\n count: PropTypes.any,\n until: PropTypes.any,\n onChange: PropTypes.func,\n};\n\n/**\n * Default properties.\n * @property {Object} defaultProps Default properties.\n * @static\n */\nEndField.defaultProps = {\n value: null,\n count: null,\n until: null,\n onChange: null,\n};\n\nexport default injectIntl(EndField);\n","/**\n * ByMonthDayField component.\n * @module components/manage/Widgets/RecurrenceWidget/ByMonthDayField\n */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport { Form, Input } from 'semantic-ui-react';\n\nconst messages = defineMessages({\n bymonthDay: { id: 'Month day', defaultMessage: 'Day' },\n ofTheMonth: { id: 'of the month', defaultMessage: 'of the month' },\n});\n/**\n * ByMonthDayField component class.\n * @function ByMonthDayField\n * @returns {string} Markup of the component.\n */\nconst ByMonthDayField = ({\n value,\n disabled,\n onChange,\n hideAfterLabel,\n intl,\n}) => {\n return (\n <>\n <Form.Field inline disabled={disabled}>\n {intl.formatMessage(messages.bymonthDay)}\n </Form.Field>\n <Form.Field inline disabled={disabled}>\n <Input\n type=\"number\"\n id=\"bymonthday\"\n name=\"bymonthday\"\n value={value || ''}\n onChange={({ target }) => {\n onChange(\n target.id,\n target.value === '' ? undefined : [parseInt(target.value)],\n );\n }}\n />\n </Form.Field>\n {!hideAfterLabel && (\n <Form.Field inline disabled={disabled}>\n {intl.formatMessage(messages.ofTheMonth)}\n </Form.Field>\n )}\n </>\n );\n};\n\n/**\n * Property types.\n * @property {Object} propTypes Property types.\n * @static\n */\nByMonthDayField.propTypes = {\n disabled: PropTypes.bool,\n value: PropTypes.any,\n onChange: PropTypes.func,\n hideAfterLabel: PropTypes.bool,\n};\n\n/**\n * Default properties.\n * @property {Object} defaultProps Default properties.\n * @static\n */\nByMonthDayField.defaultProps = {\n disabled: false,\n value: null,\n onChange: null,\n hideAfterLabel: false,\n};\n\nexport default injectIntl(ByMonthDayField);\n","/**\n * SelectInput component.\n * @module components/manage/Widgets/RecurrenceWidget/SelectInput\n */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Select from 'react-select';\nimport { find } from 'lodash';\nimport {\n Option,\n DropdownIndicator,\n selectTheme,\n customSelectStyles,\n} from '@plone/volto/components/manage/Widgets/SelectStyling';\n/**\n * SelectInput component class.\n * @function SelectInput\n * @returns {string} Markup of the component.\n */\nconst SelectInput = ({ name, disabled, options, value, onChange }) => {\n const inlineSelectStyles = {\n ...customSelectStyles,\n control: (styles, state) => ({\n ...customSelectStyles.control(styles, state),\n minWidth: '130px',\n }),\n };\n const getDefaultValue = (choices, value) => {\n const element = find(choices, (o) => o.value === value);\n return element ? element : {};\n };\n\n return (\n <Select\n isDisabled={disabled}\n id={name}\n name={name}\n className=\"react-select-container\"\n classNamePrefix=\"react-select\"\n defaultValue={getDefaultValue(options, value)}\n value={getDefaultValue(options, value)}\n options={options}\n styles={inlineSelectStyles}\n theme={selectTheme}\n components={{\n DropdownIndicator,\n Option,\n }}\n onChange={(data) => onChange(name, data.value)}\n />\n );\n};\n\n/**\n * Property types.\n * @property {Object} propTypes Property types.\n * @static\n */\nSelectInput.propTypes = {\n name: PropTypes.string.isRequired,\n options: PropTypes.array.isRequired,\n disabled: PropTypes.bool,\n value: PropTypes.any,\n onChange: PropTypes.func,\n};\n\n/**\n * Default properties.\n * @property {Object} defaultProps Default properties.\n * @static\n */\nSelectInput.defaultProps = {\n name: 'select',\n options: [],\n disabled: false,\n value: null,\n onChange: null,\n};\n\nexport default SelectInput;\n","/**\n * WeekdayOfTheMonthIndexField component.\n * @module components/manage/Widgets/RecurrenceWidget/WeekdayOfTheMonthIndexField\n */\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport { map } from 'lodash';\nimport { Form } from 'semantic-ui-react';\nimport SelectInput from './SelectInput';\n\n/**\n * WeekdayOfTheMonthIndexField component class.\n * @function WeekdayOfTheMonthIndexField\n * @returns {string} Markup of the component.\n */\n\nconst messages = defineMessages({\n bymonthDayNumber: { id: 'Weeek day of month', defaultMessage: 'The' },\n\n first: { id: 'First', defaultMessage: 'First' },\n second: { id: 'Second', defaultMessage: 'Second' },\n third: { id: 'Third', defaultMessage: 'Third' },\n fourth: { id: 'Fourth', defaultMessage: 'Fourth' },\n last: { id: 'Last', defaultMessage: 'Last' },\n});\n\nconst ORDINAL_NUMBERS = {\n '1': 'first',\n '2': 'second',\n '3': 'third',\n '4': 'fourth',\n '-1': 'last',\n};\n\nclass WeekdayOfTheMonthIndexField extends Component {\n /**\n * Property types.\n * @property {Object} propTypes Property types.\n * @static\n */\n static propTypes = {\n disabled: PropTypes.bool,\n value: PropTypes.any,\n onChange: PropTypes.func,\n };\n\n /**\n * Default properties.\n * @property {Object} defaultProps Default properties.\n * @static\n */\n static defaultProps = {\n disabled: false,\n value: null,\n onChange: null,\n };\n\n render() {\n const { intl, disabled } = this.props;\n const weekdayOfTheMonthIndexList = [\n ...map(Object.keys(ORDINAL_NUMBERS), (option) => ({\n value: parseInt(option),\n label: intl.formatMessage(messages[ORDINAL_NUMBERS[option]]),\n })),\n ];\n return (\n <>\n <Form.Field disabled={disabled}>\n {intl.formatMessage(messages.bymonthDayNumber)}\n </Form.Field>\n\n <Form.Field disabled={disabled}>\n <SelectInput\n name=\"weekdayOfTheMonthIndex\"\n options={weekdayOfTheMonthIndexList}\n {...this.props}\n />\n </Form.Field>\n </>\n );\n }\n}\n\nexport default injectIntl(WeekdayOfTheMonthIndexField);\n","/**\n * WeekdayOfTheMonthField component.\n * @module components/manage/Widgets/RecurrenceWidget/WeekdayOfTheMonthField\n */\n\nimport React from 'react';\nimport { map } from 'lodash';\nimport { useIntl } from 'react-intl';\nimport { Days } from './Utils';\nimport SelectInput from './SelectInput';\nimport { Form } from 'semantic-ui-react';\nimport { injectLazyLibs } from '@plone/volto/helpers/Loadable/Loadable';\n\n/**\n * WeekdayOfTheMonthField component class.\n * @function WeekdayOfTheMonthField\n * @returns {string} Markup of the component.\n */\n\nconst WeekdayOfTheMonthField = (props) => {\n const { disabled = false, moment: momentlib } = props;\n const intl = useIntl();\n\n const moment = momentlib.default;\n moment.locale(intl.locale);\n\n const weekdayOfTheMonthList = [\n ...map(Object.keys(Days), (d) => ({\n value: Days[d].weekday,\n label: moment.weekdays(Days[d].weekday + 1),\n })),\n ];\n\n return (\n <Form.Field disabled={disabled}>\n <SelectInput\n name=\"weekdayOfTheMonth\"\n options={weekdayOfTheMonthList}\n {...props}\n />\n </Form.Field>\n );\n};\n\nexport default injectLazyLibs(['moment'])(WeekdayOfTheMonthField);\n","/**\n * ByMonthField component.\n * @module components/manage/Widgets/RecurrenceWidget/ByMonthField\n */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { injectIntl } from 'react-intl';\nimport { Form, Grid, Radio } from 'semantic-ui-react';\nimport ByMonthDayField from './ByMonthDayField';\nimport WeekdayOfTheMonthIndexField from './WeekdayOfTheMonthIndexField';\nimport WeekdayOfTheMonthField from './WeekdayOfTheMonthField';\n\n/**\n * ByMonthField component class.\n * @function ByMonthField\n * @returns {string} Markup of the component.\n */\nconst ByMonthField = ({\n label,\n value,\n bymonthday,\n weekdayOfTheMonthIndex,\n weekdayOfTheMonth,\n onChange,\n intl,\n}) => {\n return (\n <Form.Field inline className=\"text\">\n <Grid>\n <Grid.Row stretched>\n <Grid.Column width=\"4\">\n <div className=\"wrapper\">\n <label htmlFor=\"monthly\">{label}</label>\n </div>\n </Grid.Column>\n <Grid.Column width=\"8\">\n <Form.Group inline>\n <Form.Field>\n <Radio\n label=\"\"\n name=\"monthly\"\n id=\"monthly-bymonthday\"\n value=\"bymonthday\"\n checked={value === 'bymonthday'}\n onChange={(e, { value }) => onChange('monthly', value)}\n />\n </Form.Field>\n <ByMonthDayField\n value={bymonthday}\n disabled={value !== 'bymonthday'}\n onChange={onChange}\n />\n </Form.Group>\n <Form.Group inline>\n <Form.Field>\n <Radio\n label=\"\"\n name=\"monthly\"\n id=\"monthly-byweekday\"\n value=\"byweekday\"\n checked={value === 'byweekday'}\n onChange={(e, { value }) => onChange('monthly', value)}\n />\n </Form.Field>\n\n <WeekdayOfTheMonthIndexField\n disabled={value !== 'byweekday'}\n value={weekdayOfTheMonthIndex}\n onChange={onChange}\n />\n\n <WeekdayOfTheMonthField\n disabled={value !== 'byweekday'}\n value={weekdayOfTheMonth}\n onChange={onChange}\n />\n </Form.Group>\n </Grid.Column>\n </Grid.Row>\n </Grid>\n </Form.Field>\n );\n};\n\n/**\n * Property types.\n * @property {Object} propTypes Property types.\n * @static\n */\nByMonthField.propTypes = {\n label: PropTypes.string.isRequired,\n value: PropTypes.any,\n bymonthday: PropTypes.any,\n weekdayOfTheMonthIndex: PropTypes.any,\n weekdayOfTheMonth: PropTypes.any,\n onChange: PropTypes.func,\n};\n\n/**\n * Default properties.\n * @property {Object} defaultProps Default properties.\n * @static\n */\nByMonthField.defaultProps = {\n label: null,\n value: null,\n bymonthday: null,\n weekdayOfTheMonthIndex: null,\n weekdayOfTheMonth: null,\n onChange: null,\n};\n\nexport default injectIntl(ByMonthField);\n","/**\n * MonthOfTheYearField component.\n * @module components/manage/Widgets/RecurrenceWidget/MonthOfTheYearField\n */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { map } from 'lodash';\nimport { useIntl } from 'react-intl';\nimport { Form } from 'semantic-ui-react';\nimport SelectInput from './SelectInput';\nimport { injectLazyLibs } from '@plone/volto/helpers/Loadable/Loadable';\n\n/**\n * MonthOfTheYearField component class.\n * @function MonthOfTheYearField\n * @returns {string} Markup of the component.\n */\nconst MonthOfTheYearField = ({\n value,\n disabled,\n inline,\n onChange,\n moment: momentlib,\n}) => {\n const moment = momentlib.default;\n const intl = useIntl();\n moment.locale(intl.locale);\n const monthList = [\n ...map(moment.months(), (m, i) => ({\n value: i + 1,\n label: m,\n })),\n ];\n\n return (\n <Form.Field inline={inline} disabled={disabled}>\n <SelectInput\n name=\"monthOfTheYear\"\n disabled={disabled}\n options={monthList}\n value={value}\n onChange={onChange}\n />\n </Form.Field>\n );\n};\n\n/**\n * Property types.\n * @property {Object} propTypes Property types.\n * @static\n */\nMonthOfTheYearField.propTypes = {\n value: PropTypes.any,\n disabled: PropTypes.bool,\n inline: PropTypes.bool,\n onChange: PropTypes.func,\n};\n\n/**\n * Default properties.\n * @property {Object} defaultProps Default properties.\n * @static\n */\nMonthOfTheYearField.defaultProps = {\n value: null,\n disabled: false,\n inline: false,\n onChange: null,\n};\n\nexport default injectLazyLibs(['moment'])(MonthOfTheYearField);\n","/**\n * ByYearField component.\n * @module components/manage/Widgets/RecurrenceWidget/ByYearField\n */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport { Form, Grid, Radio } from 'semantic-ui-react';\n\nimport ByMonthDayField from './ByMonthDayField';\nimport MonthOfTheYearField from './MonthOfTheYearField';\nimport WeekdayOfTheMonthIndexField from './WeekdayOfTheMonthIndexField';\nimport WeekdayOfTheMonthField from './WeekdayOfTheMonthField';\nconst messages = defineMessages({\n ofTheMonth: { id: 'of the month', defaultMessage: 'of the month' },\n});\n/**\n * ByYearField component class.\n * @function ByYearField\n * @returns {string} Markup of the component.\n */\nconst ByYearField = ({\n label,\n value,\n bymonthday,\n monthOfTheYear,\n weekdayOfTheMonthIndex,\n weekdayOfTheMonth,\n onChange,\n intl,\n}) => {\n return (\n <Form.Field inline className=\"text byyear-field\">\n <Grid>\n <Grid.Row stretched>\n <Grid.Column width=\"4\">\n <div className=\"wrapper\">\n <label htmlFor=\"yearly\">{label}</label>\n </div>\n </Grid.Column>\n <Grid.Column width=\"8\">\n <Form.Group inline className=\"byyear-bymonthday\">\n <Form.Field>\n <Radio\n label=\"\"\n name=\"yearly\"\n value=\"bymonthday\"\n id=\"yearly-bymonthday\"\n checked={value === 'bymonthday'}\n onChange={(e, { value }) => onChange('yearly', value)}\n />\n </Form.Field>\n\n <ByMonthDayField\n value={bymonthday}\n disabled={value !== 'bymonthday'}\n onChange={onChange}\n hideAfterLabel={true}\n />\n\n <MonthOfTheYearField\n value={monthOfTheYear}\n disabled={value !== 'bymonthday'}\n onChange={onChange}\n />\n </Form.Group>\n <Form.Group inline className=\"byyear-byday\">\n <Form.Field>\n <Radio\n label=\"\"\n name=\"yearly\"\n id=\"yearly-byday\"\n value=\"byday\"\n checked={value === 'byday'}\n onChange={(e, { value }) => onChange('yearly', value)}\n />\n </Form.Field>\n\n <WeekdayOfTheMonthIndexField\n disabled={value !== 'byday'}\n value={weekdayOfTheMonthIndex}\n onChange={onChange}\n />\n\n <WeekdayOfTheMonthField\n disabled={value !== 'byday'}\n value={weekdayOfTheMonth}\n onChange={onChange}\n />\n\n <Form.Field disabled={value !== 'byday'}>\n {intl.formatMessage(messages.ofTheMonth)}\n </Form.Field>\n\n <MonthOfTheYearField\n value={monthOfTheYear}\n disabled={value !== 'byday'}\n onChange={onChange}\n inline={false}\n />\n </Form.Group>\n </Grid.Column>\n </Grid.Row>\n </Grid>\n </Form.Field>\n );\n};\n\n/**\n * Property types.\n * @property {Object} propTypes Property types.\n * @static\n */\nByYearField.propTypes = {\n label: PropTypes.string.isRequired,\n value: PropTypes.any,\n bymonthday: PropTypes.any,\n monthOfTheYear: PropTypes.any,\n weekdayOfTheMonthIndex: PropTypes.any,\n weekdayOfTheMonth: PropTypes.any,\n onChange: PropTypes.func,\n};\n\n/**\n * Default properties.\n * @property {Object} defaultProps Default properties.\n * @static\n */\nByYearField.defaultProps = {\n label: null,\n value: null,\n bymonthday: null,\n monthOfTheYear: null,\n weekdayOfTheMonthIndex: null,\n weekdayOfTheMonth: null,\n onChange: null,\n};\n\nexport default injectIntl(ByYearField);\n","/**\n * Occurences component.\n * @module components/manage/Widgets/RecurrenceWidget/Occurences\n */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport cx from 'classnames';\nimport { List, Button, Header, Label } from 'semantic-ui-react';\nimport { Icon } from '@plone/volto/components';\nimport addSVG from '@plone/volto/icons/circle-plus.svg';\nimport trashSVG from '@plone/volto/icons/delete.svg';\nimport { injectLazyLibs } from '@plone/volto/helpers/Loadable/Loadable';\n\nimport { toISOString } from './Utils';\n\nconst messages = defineMessages({\n selected_dates: {\n id: 'Selected dates',\n defaultMessage: 'Selected dates',\n },\n start_of_recurrence: {\n id: 'Start of the recurrence',\n defaultMessage: 'Start of the recurrence',\n },\n additional_date: {\n id: 'Additional date',\n defaultMessage: 'Additional date',\n },\n other_items: {\n id: 'others',\n defaultMessage: 'others',\n },\n no_occurences: {\n id: 'No occurences set',\n defaultMessage: 'No occurences set',\n },\n exclude: {\n id: 'Exclude this occurence',\n defaultMessage: 'Exclude this occurence',\n },\n include: {\n id: 'Include this occurence',\n defaultMessage: 'Include this occurence',\n },\n});\n\nconst formatDate = (d, moment) => {\n const m = moment(d);\n return m.format('dddd') + ', ' + m.format('LL');\n};\n\n/**\n * Occurences component class.\n * @function Occurences\n * @returns {string} Markup of the component.\n */\nconst Occurences_ = ({\n rruleSet,\n exclude,\n undoExclude,\n intl,\n showTitle,\n editOccurences,\n moment: momentlib,\n}) => {\n const moment = momentlib.default;\n moment.locale(intl.locale);\n let all = [];\n const isExcluded = (date) => {\n var dateISO = toISOString(date);\n var excluded = false;\n rruleSet.exdates().forEach((ex) => {\n var exISO = toISOString(ex);\n if (exISO === dateISO) {\n excluded = true;\n }\n });\n return excluded;\n };\n\n const isAdditional = (date) => {\n var dateISO = toISOString(date);\n var additional = false;\n rruleSet.rdates().forEach((d) => {\n var dd = toISOString(d);\n if (dd === dateISO) {\n additional = true;\n }\n });\n return additional;\n };\n\n if (rruleSet) {\n all = rruleSet.all();\n\n rruleSet.exdates().forEach((date) => {\n if (all.indexOf(date) < 0) {\n all.push(date);\n }\n });\n all.sort((a, b) => {\n return a > b ? 1 : -1;\n });\n }\n\n const others = all.splice(100);\n\n return (\n <div className=\"occurences\">\n {all.length === 0 && <>{intl.formatMessage(messages.no_occurences)}</>}\n {showTitle && (\n <Header as=\"h2\">{intl.formatMessage(messages.selected_dates)}</Header>\n )}\n\n <List divided verticalAlign=\"middle\">\n {all.map((date, index) => {\n const excluded = isExcluded(date);\n return (\n <List.Item key={date.toString()}>\n {editOccurences && (\n <List.Content floated=\"right\">\n {index > 0 ? (\n <>\n {!excluded && (\n <Button\n basic\n icon\n className=\"exclude-button\"\n onClick={() => {\n exclude(date);\n }}\n aria-label={intl.formatMessage(messages.exclude)}\n >\n <Icon name={trashSVG} size=\"18px\" />\n </Button>\n )}\n {excluded && (\n <Button\n basic\n icon\n className=\"include-button\"\n onClick={() => {\n undoExclude(date);\n }}\n aria-label={intl.formatMessage(messages.include)}\n >\n <Icon name={addSVG} size=\"24px\" />\n </Button>\n )}\n </>\n ) : (\n intl.formatMessage(messages.start_of_recurrence)\n )}\n </List.Content>\n )}\n <List.Content className={cx({ excluded: excluded })}>\n {formatDate(date, moment)}\n {isAdditional(date) && (\n <Label\n pointing=\"left\"\n size=\"small\"\n color={excluded ? 'grey' : 'green'}\n >\n {intl.formatMessage(messages.additional_date)}\n </Label>\n )}\n </List.Content>\n </List.Item>\n );\n })}\n {others.length > 0 && (\n <List.Item>\n <List.Content>\n {`... ${intl.formatMessage(messages.other_items)} ${\n others.length\n }`}\n </List.Content>\n </List.Item>\n )}\n </List>\n </div>\n );\n};\n\nexport const Occurences = injectLazyLibs(['moment'])(Occurences_);\n\n/**\n * Property types.\n * @property {Object} propTypes Property types.\n * @static\n */\nOccurences.propTypes = {\n rruleSet: PropTypes.any,\n showTitle: PropTypes.bool,\n editOccurences: PropTypes.bool,\n};\n\n/**\n * Default properties.\n * @property {Object} defaultProps Default properties.\n * @static\n */\nOccurences.defaultProps = {\n rruleSet: null,\n showTitle: true,\n editOccurences: true,\n};\n\nexport default injectIntl(Occurences);\n","/**\n * RecurrenceWidget component.\n * @module components/manage/Widgets/RecurrenceWidget\n */\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { compose } from 'redux';\nimport { RRule, RRuleSet, rrulestr } from 'rrule';\n\nimport cx from 'classnames';\nimport { isEqual, map, find, concat, remove } from 'lodash';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport {\n Form,\n Grid,\n Label,\n Button,\n Segment,\n Modal,\n Header,\n} from 'semantic-ui-react';\n\nimport { SelectWidget, Icon, DatetimeWidget } from '@plone/volto/components';\nimport { injectLazyLibs } from '@plone/volto/helpers/Loadable/Loadable';\n\nimport saveSVG from '@plone/volto/icons/save.svg';\nimport editingSVG from '@plone/volto/icons/editing.svg';\nimport trashSVG from '@plone/volto/icons/delete.svg';\n\nimport {\n Days,\n OPTIONS,\n FREQUENCES,\n WEEKLY_DAYS,\n MONDAYFRIDAY_DAYS,\n toISOString,\n rrulei18n,\n} from './Utils';\n\nimport IntervalField from './IntervalField';\nimport ByDayField from './ByDayField';\nimport EndField from './EndField';\nimport ByMonthField from './ByMonthField';\nimport ByYearField from './ByYearField';\nimport Occurences from './Occurences';\n\nconst messages = defineMessages({\n editRecurrence: {\n id: 'Edit recurrence',\n defaultMessage: 'Edit recurrence',\n },\n save: {\n id: 'Save recurrence',\n defaultMessage: 'Save',\n },\n remove: {\n id: 'Remove recurrence',\n defaultMessage: 'Remove',\n },\n repeat: {\n id: 'Repeat',\n defaultMessage: 'Repeat',\n },\n daily: {\n id: 'Daily',\n defaultMessage: 'Daily',\n },\n mondayfriday: {\n id: 'Monday and Friday',\n defaultMessage: 'Monday and Friday',\n },\n\n weekdays: {\n id: 'Weekday',\n defaultMessage: 'Weekday',\n },\n weekly: {\n id: 'Weekly',\n defaultMessage: 'Weekly',\n },\n monthly: {\n id: 'Monthly',\n defaultMessage: 'Monthly',\n },\n yearly: {\n id: 'Yearly',\n defaultMessage: 'Yearly',\n },\n\n repeatEvery: {\n id: 'Repeat every',\n defaultMessage: 'Repeat every',\n },\n repeatOn: {\n id: 'Repeat on',\n defaultMessage: 'Repeat on',\n },\n\n interval_daily: {\n id: 'Interval Daily',\n defaultMessage: 'days',\n },\n interval_weekly: {\n id: 'Interval Weekly',\n defaultMessage: 'week(s)',\n },\n interval_monthly: {\n id: 'Interval Monthly',\n defaultMessage: 'Month(s)',\n },\n interval_yearly: {\n id: 'Interval Yearly',\n defaultMessage: 'year(s)',\n },\n add_date: {\n id: 'Add date',\n defaultMessage: 'Add date',\n },\n select_date_to_add_to_recurrence: {\n id: 'Select a date to add to recurrence',\n defaultMessage: 'Select a date to add to recurrence',\n },\n});\n\nconst NoRRuleOptions = [\n 'recurrenceEnds',\n 'monthly',\n 'weekdayOfTheMonthIndex',\n 'weekdayOfTheMonth',\n 'yearly',\n 'monthOfTheYear',\n 'byhour',\n 'byminute',\n 'bysecond',\n 'bynmonthday',\n 'exdates',\n 'rdates',\n];\n/**\n * RecurrenceWidget component class.\n * @function RecurrenceWidget\n * @returns {string} Markup of the component.\n */\nclass RecurrenceWidget extends Component {\n /**\n * Property types.\n * @property {Object} propTypes Property types.\n * @static\n */\n static propTypes = {\n id: PropTypes.string.isRequired,\n formData: PropTypes.object,\n title: PropTypes.string.isRequired,\n description: PropTypes.string,\n required: PropTypes.bool,\n error: PropTypes.arrayOf(PropTypes.string),\n value: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n };\n\n /**\n * Default properties.\n * @property {Object} defaultProps Default properties.\n * @static\n */\n static defaultProps = {\n description: null,\n required: false,\n error: [],\n value: null,\n };\n\n /**\n * Constructor\n * @method constructor\n * @param {Object} props Component properties\n * @constructs Actions\n */\n constructor(props, intl) {\n super(props);\n\n this.moment = this.props.moment.default;\n this.moment.locale(this.props.intl.locale);\n\n let rruleSet = this.props.value\n ? rrulestr(props.value, {\n compatible: true, //If set to True, the parser will operate in RFC-compatible mode. Right now it means that unfold will be turned on, and if a DTSTART is found, it will be considered the first recurrence instance, as documented in the RFC.\n forceset: true,\n // dtstart: props.formData.start\n // ? this.getUTCDate(props.formData.start)\n // .startOf('day')\n // .toDate()\n // : null,\n })\n : new RRuleSet();\n\n this.state = {\n open: false,\n rruleSet: rruleSet,\n formValues: this.getFormValues(rruleSet),\n RRULE_LANGUAGE: rrulei18n(this.props.intl, this.moment),\n };\n }\n\n componentDidMount() {\n if (this.props.value) {\n this.setRecurrenceStartEnd();\n }\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.value) {\n if (prevProps.formData?.start !== this.props.formData?.start) {\n let start = this.getUTCDate(this.props.formData?.start)\n .startOf('day')\n .toDate();\n\n this.setState((prevState) => {\n let rruleSet = prevState.rruleSet;\n\n rruleSet = this.updateRruleSet(\n rruleSet,\n prevState.formValues,\n 'dtstart',\n start,\n );\n\n return {\n ...prevState,\n rruleSet,\n };\n });\n }\n }\n }\n\n editRecurrence = () => {\n this.setRecurrenceStartEnd();\n };\n\n setRecurrenceStartEnd = () => {\n const start = this.props.formData?.start;\n\n let _start = this.getUTCDate(start).startOf('day').toDate();\n\n this.setState((prevState) => {\n let rruleSet = prevState.rruleSet;\n const formValues = this.getFormValues(rruleSet); //to set default values, included end\n\n rruleSet = this.updateRruleSet(rruleSet, formValues, 'dtstart', _start);\n return {\n ...prevState,\n rruleSet,\n formValues,\n };\n });\n };\n\n getUTCDate = (date) => {\n return date.match(/T(.)*(-|\\+|Z)/g)\n ? this.moment(date).utc()\n : this.moment(`${date}Z`).utc();\n };\n\n show = (dimmer) => () => {\n this.setState({ dimmer, open: true });\n this.editRecurrence();\n };\n close = () => this.setState({ open: false });\n\n getFreq = (number, weekdays) => {\n let freq = FREQUENCES.DAILY;\n Object.entries(OPTIONS.frequences).forEach(([f, o]) => {\n if (o.rrule === number) {\n freq = f;\n }\n });\n if (freq === FREQUENCES.WEEKLY && weekdays) {\n if (isEqual(weekdays.sort(), WEEKLY_DAYS.map((w) => w.weekday).sort())) {\n freq = FREQUENCES.WEEKDAYS;\n }\n }\n return freq;\n };\n\n getWeekday = (number) => {\n var day = null;\n const n = number === -1 ? 6 : number; //because sunday for moment has index 0, but for rrule has index 6\n Object.keys(Days).forEach((d) => {\n if (Days[d].weekday === n) {\n day = Days[d];\n }\n });\n return day;\n };\n\n /**\n * Called on init, to populate form values\n * */\n getFormValues = (rruleSet) => {\n //default\n let formValues = {\n freq: FREQUENCES.DAILY,\n interval: 1,\n };\n\n formValues = this.changeField(\n formValues,\n 'recurrenceEnds',\n this.props.formData?.end ? 'until' : 'count',\n );\n\n const rrule = rruleSet.rrules()[0];\n\n if (rrule) {\n var freq = this.getFreq(rrule.options.freq, rrule.options.byweekday);\n\n //init with rruleOptions\n Object.entries(rrule.options).forEach(([option, value]) => {\n switch (option) {\n case 'freq':\n formValues[option] = freq;\n break;\n case 'count':\n if (value != null) {\n formValues['recurrenceEnds'] = option;\n formValues[option] = value;\n }\n break;\n case 'until':\n if (value != null) {\n formValues['recurrenceEnds'] = option;\n formValues[option] = toISOString(value);\n }\n break;\n case 'byweekday':\n if (value && value.length > 0) {\n if (isEqual(value, WEEKLY_DAYS)) {\n formValues['freq'] = FREQUENCES.WEEKDAYS;\n }\n if (isEqual(value, MONDAYFRIDAY_DAYS)) {\n formValues['freq'] = FREQUENCES.MONDAYFRIDAY;\n }\n }\n formValues[option] = value\n ? value.map((d) => {\n return this.getWeekday(d);\n })\n : [];\n break;\n case 'bymonthday':\n if (value && value.length > 0) {\n if (freq === FREQUENCES.MONTHLY) {\n formValues['monthly'] = option;\n }\n if (freq === FREQUENCES.YEARLY) {\n formValues['yearly'] = option;\n }\n } else {\n if (freq === FREQUENCES.MONTHLY) {\n formValues['monthly'] = null;\n }\n if (freq === FREQUENCES.YEARLY) {\n formValues['yearly'] = null;\n }\n }\n formValues[option] = value;\n break;\n case 'bynweekday':\n if (value && value.length > 0) {\n //[weekDayNumber,orinal_number] -> translated is for example: [sunday, third] -> the third sunday of the month\n\n if (freq === FREQUENCES.SMONTHLY) {\n formValues['monthly'] = 'byweekday';\n }\n if (freq === FREQUENCES.YEARLY) {\n formValues['yearly'] = 'byday';\n }\n formValues['weekdayOfTheMonth'] = value[0][0];\n formValues['weekdayOfTheMonthIndex'] = value[0][1];\n }\n break;\n case 'bymonth':\n if (freq === FREQUENCES.YEARLY) {\n formValues['yearly'] = 'byday';\n }\n formValues['monthOfTheYear'] = value ? value[0] : null;\n break;\n\n default:\n formValues[option] = value;\n }\n });\n }\n return formValues;\n };\n\n formValuesToRRuleOptions = (formValues) => {\n var values = Object.assign({}, formValues);\n\n //remove NoRRuleOptions\n NoRRuleOptions.forEach((opt) => {\n delete values[opt];\n });\n\n //transform values for rrule\n Object.keys(values).forEach((field) => {\n var value = values[field];\n switch (field) {\n case 'freq':\n if (value) {\n value = OPTIONS.frequences[value].rrule;\n }\n break;\n case 'until':\n value = value ? this.moment(new Date(value)).utc().toDate() : null;\n break;\n default:\n break;\n }\n\n if (value) {\n //set value\n values[field] = value;\n } else {\n //remove empty values\n delete values[field];\n }\n });\n\n return values;\n };\n\n updateRruleSet = (rruleSet, formValues, field, value) => {\n var rruleOptions = this.formValuesToRRuleOptions(formValues);\n var dstart =\n field === 'dtstart'\n ? value\n : rruleSet.dtstart()\n ? rruleSet.dtstart()\n : this.moment().utc().toDate();\n var exdates =\n field === 'exdates' ? value : Object.assign([], rruleSet.exdates());\n\n var rdates =\n field === 'rdates' ? value : Object.assign([], rruleSet.rdates());\n\n rruleOptions.dtstart = dstart;\n\n let set = new RRuleSet();\n //set.dtstart(dstart);\n set.rrule(new RRule(rruleOptions));\n\n exdates.map((ex) => set.exdate(ex));\n rdates.map((r) => set.rdate(r));\n\n return set;\n };\n\n getDefaultUntil = (freq) => {\n const moment = this.moment;\n var end = this.props.formData?.end\n ? toISOString(this.getUTCDate(this.props.formData.end).toDate())\n : null;\n var tomorrow = toISOString(moment().add(1, 'days').utc().toDate());\n var nextWeek = toISOString(moment().add(7, 'days').utc().toDate());\n var nextMonth = toISOString(moment().add(1, 'months').utc().toDate());\n var nextYear = toISOString(moment().add(1, 'years').utc().toDate());\n\n var until = end;\n switch (freq) {\n case FREQUENCES.DAILY:\n until = end ? end : tomorrow;\n break;\n case FREQUENCES.WEEKLY:\n until = end ? end : nextWeek;\n break;\n case FREQUENCES.WEEKDAYS:\n until = end ? end : nextWeek;\n break;\n case FREQUENCES.MONDAYFRIDAY:\n until = end ? end : nextWeek;\n break;\n case FREQUENCES.MONTHLY:\n until = end ? end : nextMonth;\n break;\n case FREQUENCES.YEARLY:\n until = end ? end : nextYear;\n break;\n default:\n break;\n }\n\n return until;\n };\n\n changeField = (formValues, field, value) => {\n // git p.log('field', field, 'value', value);\n //get weekday from state.\n const moment = this.moment;\n const byweekday =\n this.state?.rruleSet?.rrules().length > 0\n ? this.state.rruleSet.rrules()[0].origOptions.byweekday\n : null;\n const currWeekday = this.getWeekday(moment().day() - 1);\n const currMonth = moment().month() + 1;\n\n const startMonth = this.props.formData?.start\n ? moment(this.props.formData.start).month() + 1\n : currMonth;\n\n const startWeekday = this.props.formData?.start\n ? this.getWeekday(moment(this.props.formData.start).day() - 1)\n : currWeekday;\n formValues[field] = value;\n\n const defaultMonthDay = this.props.formData?.start\n ? moment(this.props.formData.start).date()\n : moment().date();\n\n switch (field) {\n case 'freq':\n formValues.interval = 1;\n const fconfig = OPTIONS.frequences[value];\n\n //clear values\n if (!fconfig.interval) {\n formValues.interval = null;\n }\n\n formValues = this.changeField(formValues, 'byweekday', null);\n formValues = this.changeField(formValues, 'yearly', null);\n formValues = this.changeField(formValues, 'bymonthday', null);\n formValues = this.changeField(formValues, 'byweekday', null);\n formValues = this.changeField(formValues, 'monthOfTheYear', null);\n\n if (!formValues.until) {\n formValues.until = this.getDefaultUntil(value);\n }\n\n //set defaults\n switch (value) {\n case FREQUENCES.DAILY:\n break;\n case FREQUENCES.WEEKDAYS:\n formValues = this.changeField(formValues, 'byweekday', WEEKLY_DAYS);\n break;\n case FREQUENCES.MONDAYFRIDAY:\n formValues = this.changeField(\n formValues,\n 'byweekday',\n MONDAYFRIDAY_DAYS,\n );\n break;\n case FREQUENCES.WEEKLY:\n formValues = this.changeField(formValues, 'byweekday', [\n startWeekday,\n ]);\n\n break;\n case FREQUENCES.MONTHLY:\n formValues = this.changeField(formValues, 'monthly', 'bymonthday');\n\n break;\n case FREQUENCES.YEARLY:\n formValues = this.changeField(formValues, 'yearly', 'bymonthday');\n break;\n default:\n break;\n }\n\n break;\n\n case 'recurrenceEnds':\n if (value === 'count') {\n formValues.count = 1;\n formValues.until = null;\n }\n if (value === 'until') {\n formValues.until = this.getDefaultUntil(formValues.freq);\n formValues.count = null; //default value\n }\n break;\n\n case 'byweekday':\n formValues.byweekday = value;\n\n if (FREQUENCES.WEEKLY !== formValues.freq) {\n formValues.weekdayOfTheMonth = value ? value[0].weekday : null;\n formValues.weekdayOfTheMonthIndex = value ? value[0].n : null;\n } else {\n delete formValues.weekdayOfTheMonth;\n delete formValues.weekdayOfTheMonthIndex;\n }\n\n break;\n case 'weekdayOfTheMonth':\n var weekday = this.getWeekday(value); // get new day\n var n = byweekday ? byweekday[0].n : 1;\n //set nth value\n formValues.byweekday = weekday ? [weekday.nth(n)] : null;\n break;\n case 'weekdayOfTheMonthIndex':\n var week_day = byweekday ? byweekday[0] : currWeekday; //get day from state. If not set get current day\n //set nth value\n formValues.byweekday = value ? [week_day.nth(value)] : null;\n break;\n\n case 'monthOfTheYear':\n if (value === null || value === undefined) {\n delete formValues.bymonth;\n } else {\n formValues.bymonth = [value];\n }\n break;\n\n case 'monthly':\n if (value === 'bymonthday') {\n formValues.bymonthday = [defaultMonthDay]; //default value\n formValues = this.changeField(formValues, 'byweekday', null); //default value\n }\n if (value === 'byweekday') {\n formValues.bymonthday = null; //default value\n formValues = this.changeField(formValues, 'byweekday', [\n currWeekday.nth(1),\n ]); //default value\n }\n if (value === null) {\n formValues = this.changeField(formValues, 'bymonthday', null); //default value\n formValues = this.changeField(formValues, 'byweekday', null); //default value\n }\n break;\n case 'yearly':\n if (value === 'bymonthday') {\n //sets bymonth and bymonthday in rruleset\n formValues.bymonthday = [defaultMonthDay]; //default value\n\n formValues = this.changeField(\n formValues,\n 'monthOfTheYear',\n startMonth,\n ); //default value: current month\n formValues = this.changeField(formValues, 'byweekday', null); //default value\n }\n if (value === 'byday') {\n formValues = this.changeField(formValues, 'bymonthday', null); //default value\n formValues = this.changeField(formValues, 'byweekday', [\n startWeekday.nth(1),\n ]); //default value\n formValues = this.changeField(\n formValues,\n 'monthOfTheYear',\n startMonth,\n ); //default value\n }\n break;\n default:\n break;\n }\n return formValues;\n };\n\n onChangeRule = (field, value) => {\n var formValues = Object.assign({}, this.state.formValues);\n formValues = this.changeField(formValues, field, value);\n\n this.setState((prevState) => {\n var rruleSet = prevState.rruleSet;\n rruleSet = this.updateRruleSet(rruleSet, formValues, field, value);\n return {\n ...prevState,\n rruleSet,\n formValues,\n };\n });\n };\n\n exclude = (date) => {\n let list = this.state.rruleSet.exdates().slice(0);\n list.push(date);\n this.onChangeRule('exdates', list);\n };\n\n undoExclude = (date) => {\n let list = this.state.rruleSet.exdates().slice(0);\n remove(list, (e) => {\n return e.getTime() === date.getTime();\n });\n this.onChangeRule('exdates', list);\n };\n\n addDate = (date) => {\n const moment = this.moment;\n let all = concat(this.state.rruleSet.all(), this.state.rruleSet.exdates());\n\n var simpleDate = moment(new Date(date)).startOf('day').toDate().getTime();\n var exists = find(all, (e) => {\n var d = moment(e).startOf('day').toDate().getTime();\n return d === simpleDate;\n });\n if (!exists) {\n let list = this.state.rruleSet.rdates().slice(0);\n list.push(new Date(date));\n this.onChangeRule('rdates', list);\n }\n };\n\n save = () => {\n var value = this.state.rruleSet.toString();\n this.props.onChange(this.props.id, value);\n this.close();\n };\n\n remove = () => {\n this.props.onChange(this.props.id, null);\n let rruleSet = new RRuleSet();\n this.setState({\n rruleSet: rruleSet,\n formValues: this.getFormValues(rruleSet),\n });\n };\n\n render() {\n const { open, dimmer, rruleSet, formValues, RRULE_LANGUAGE } = this.state;\n\n const {\n id,\n title,\n required,\n description,\n error,\n fieldSet,\n intl,\n } = this.props;\n\n return (\n <Form.Field\n inline\n required={required}\n error={error.length > 0}\n className={cx('recurrence-widget', description ? 'help' : '')}\n id={`${fieldSet || 'field'}-${id}`}\n >\n <Grid>\n <Grid.Row stretched>\n <Grid.Column width=\"4\">\n <div className=\"wrapper\">\n <label htmlFor={`field-${id}`}>{title}</label>\n </div>\n </Grid.Column>\n <Grid.Column width=\"8\">\n {rruleSet.rrules()[0] && (\n <>\n <Label>\n {rruleSet.rrules()[0]?.toText(\n (t) => {\n return RRULE_LANGUAGE.strings[t];\n },\n RRULE_LANGUAGE,\n RRULE_LANGUAGE.dateFormatter,\n )}\n </Label>\n\n <Segment>\n <Occurences\n rruleSet={rruleSet}\n exclude={this.exclude}\n undoExclude={this.undoExclude}\n showTitle={false}\n editOccurences={false}\n />\n </Segment>\n </>\n )}\n <div>\n <Button\n basic\n disabled={this.props.isDisabled}\n color=\"blue\"\n className=\"edit-recurrence\"\n onClick={this.show('blurring')}\n type=\"button\"\n aria-label={intl.formatMessage(messages.editRecurrence)}\n >\n <Icon\n name={editingSVG}\n size=\"20px\"\n title={intl.formatMessage(messages.editRecurrence)}\n />\n </Button>\n {this.props.value && (\n <Button\n basic\n color=\"pink\"\n className=\"remove-recurrence\"\n onClick={() => {\n this.remove();\n }}\n type=\"button\"\n aria-label={intl.formatMessage(messages.remove)}\n >\n <Icon\n name={trashSVG}\n size=\"20px\"\n title={intl.formatMessage(messages.remove)}\n />\n </Button>\n )}\n </div>\n <Modal\n dimmer={dimmer}\n open={open}\n onClose={this.close}\n className=\"recurrence-form\"\n closeIcon\n >\n <Modal.Header>\n {intl.formatMessage(messages.editRecurrence)}{' '}\n </Modal.Header>\n <Modal.Content scrolling>\n {rruleSet.rrules().length > 0 && (\n <Modal.Description>\n <Segment>\n <Form>\n <SelectWidget\n id=\"freq\"\n title={intl.formatMessage(messages.repeat)}\n getVocabulary={() => {}}\n getVocabularyTokenTitle={() => {}}\n choices={Object.keys(OPTIONS.frequences).map(\n (t) => {\n return [t, intl.formatMessage(messages[t])];\n },\n )}\n value={formValues.freq}\n onChange={this.onChangeRule}\n />\n {OPTIONS.frequences[formValues.freq].interval && (\n <IntervalField\n label={intl.formatMessage(messages.repeatEvery)}\n labelAfter={\n formValues.freq &&\n intl.formatMessage(\n messages['interval_' + formValues.freq],\n )\n }\n value={formValues.interval}\n onChange={this.onChangeRule}\n />\n )}\n\n {/***** byday *****/}\n {OPTIONS.frequences[formValues.freq].byday && (\n <ByDayField\n label={intl.formatMessage(messages.repeatOn)}\n value={formValues.byweekday}\n onChange={this.onChangeRule}\n />\n )}\n\n {/***** bymonth *****/}\n {OPTIONS.frequences[formValues.freq].bymonth && (\n <ByMonthField\n label={intl.formatMessage(messages.repeatOn)}\n value={formValues.monthly}\n bymonthday={formValues.bymonthday}\n weekdayOfTheMonthIndex={\n formValues.weekdayOfTheMonthIndex\n }\n weekdayOfTheMonth={formValues.weekdayOfTheMonth}\n onChange={this.onChangeRule}\n />\n )}\n\n {/***** byyear *****/}\n {OPTIONS.frequences[formValues.freq].byyear && (\n <ByYearField\n label={intl.formatMessage(messages.repeatOn)}\n value={formValues.yearly}\n bymonthday={formValues.bymonthday}\n monthOfTheYear={formValues.monthOfTheYear}\n weekdayOfTheMonthIndex={\n formValues.weekdayOfTheMonthIndex\n }\n weekdayOfTheMonth={formValues.weekdayOfTheMonth}\n onChange={this.onChangeRule}\n />\n )}\n\n {/*-- ends after N recurrence or date --*/}\n <EndField\n value={formValues.recurrenceEnds}\n count={formValues.count}\n until={formValues.until}\n onChange={this.onChangeRule}\n />\n </Form>\n </Segment>\n <Segment>\n <Occurences\n rruleSet={rruleSet}\n exclude={this.exclude}\n undoExclude={this.undoExclude}\n />\n </Segment>\n <Segment>\n <Header as=\"h2\">\n {intl.formatMessage(messages.add_date)}\n </Header>\n\n <DatetimeWidget\n id=\"addDate\"\n title={intl.formatMessage(\n messages.select_date_to_add_to_recurrence,\n )}\n dateOnly={true}\n noPastDates={true}\n onChange={(id, value) => {\n this.addDate(value === '' ? undefined : value);\n }}\n />\n </Segment>\n </Modal.Description>\n )}\n </Modal.Content>\n <Modal.Actions>\n <Button\n className=\"save\"\n basic\n onClick={() => {\n this.save();\n }}\n aria-label={intl.formatMessage(messages.save)}\n >\n <Icon\n name={saveSVG}\n className=\"circled\"\n size=\"30px\"\n title={intl.formatMessage(messages.save)}\n />\n </Button>\n </Modal.Actions>\n </Modal>\n {map(error, (message) => (\n <Label key={message} basic color=\"red\" pointing>\n {message}\n </Label>\n ))}\n </Grid.Column>\n </Grid.Row>\n {description && (\n <Grid.Row stretched>\n <Grid.Column stretched width=\"12\">\n <p className=\"help\">{description}</p>\n </Grid.Column>\n </Grid.Row>\n )}\n </Grid>\n </Form.Field>\n );\n }\n}\n\nexport default compose(\n injectLazyLibs(['moment']),\n injectIntl,\n)(RecurrenceWidget);\n"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (window.__LOADABLE_LOADED_CHUNKS__=window.__LOADABLE_LOADED_CHUNKS__||[]).push([[12,5],{rMR1:function(e,s,n){var j={"./de":"tGlX","./de-at":"s+uk","./de-at.js":"s+uk","./de-ch":"u3GI","./de-ch.js":"u3GI","./de.js":"tGlX","./en-SG":"zavE","./en-SG.js":"zavE","./en-au":"Dmvi","./en-au.js":"Dmvi","./en-ca":"OIYi","./en-ca.js":"OIYi","./en-gb":"Oaa7","./en-gb.js":"Oaa7","./en-ie":"4dOw","./en-ie.js":"4dOw","./en-il":"czMo","./en-il.js":"czMo","./en-nz":"b1Dy","./en-nz.js":"b1Dy","./es":"iYuL","./es-do":"CjzT","./es-do.js":"CjzT","./es-us":"Vclq","./es-us.js":"Vclq","./es.js":"iYuL","./eu":"D/JM","./eu.js":"D/JM","./it":"bpih","./it-ch":"bxKX","./it-ch.js":"bxKX","./it.js":"bpih","./ja":"B55N","./ja.js":"B55N","./nl":"+s0g","./nl-be":"2ykv","./nl-be.js":"2ykv","./nl.js":"+s0g","./pt":"8mBD","./pt-br":"0tRk","./pt-br.js":"0tRk","./pt.js":"8mBD","./ro":"lyxo","./ro.js":"lyxo","./x-pseudo":"/X5v","./x-pseudo.js":"/X5v"};function i(e){var s=t(e);return n(s)}function t(e){if(!n.o(j,e)){var s=new Error("Cannot find module '"+e+"'");throw s.code="MODULE_NOT_FOUND",s}return j[e]}i.keys=function(){return Object.keys(j)},i.resolve=t,e.exports=i,i.id="rMR1"}}]);
2
+ //# sourceMappingURL=react-dates.f71abb7c.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack:///./node_modules/moment/locale sync en|de|nl|ro|ja|pt|pt_BR|es|it|eu"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports"],"mappings":"6GAAA,IAAIA,EAAM,CACT,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,gBAAiB,QAIlB,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOG,EAAoBF,GAE5B,SAASC,EAAsBF,GAC9B,IAAIG,EAAoBC,EAAEN,EAAKE,GAAM,CACpC,IAAIK,EAAI,IAAIC,MAAM,uBAAyBN,EAAM,KAEjD,MADAK,EAAEE,KAAO,mBACHF,EAEP,OAAOP,EAAIE,GAEZD,EAAeS,KAAO,WACrB,OAAOC,OAAOD,KAAKV,IAEpBC,EAAeW,QAAUR,EACzBS,EAAOC,QAAUb,EACjBA,EAAeE,GAAK","file":"static/js/react-dates.f71abb7c.chunk.js","sourcesContent":["var map = {\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./en-SG\": \"zavE\",\n\t\"./en-SG.js\": \"zavE\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./it\": \"bpih\",\n\t\"./it-ch\": \"bxKX\",\n\t\"./it-ch.js\": \"bxKX\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"rMR1\";"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (window.__LOADABLE_LOADED_CHUNKS__=window.__LOADABLE_LOADED_CHUNKS__||[]).push([[13],{"8Ppc":function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n("q1tI"));function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}var l="navigator"in e&&/Win/i.test(navigator.platform),c="navigator"in e&&/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform),u="npm__react-simple-code-editor__textarea",h=function(e){function t(){var e,n,r;a(this,t);for(var o=arguments.length,u=Array(o),h=0;h<o;h++)u[h]=arguments[h];return n=r=s(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.state={capture:!0,ie:!1},r._recordCurrentState=function(){var e=r._input;if(e){var t=e.value,n=e.selectionStart,i=e.selectionEnd;r._recordChange({value:t,selectionStart:n,selectionEnd:i})}},r._getLines=function(e,t){return e.substring(0,t).split("\n")},r._recordChange=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=r._history,o=n.stack,a=n.offset;if(o.length&&a>-1){r._history.stack=o.slice(0,a+1);var s=r._history.stack.length;if(s>100){var l=s-100;r._history.stack=o.slice(l,s),r._history.offset=Math.max(r._history.offset-l,0)}}var c=Date.now();if(t){var u=r._history.stack[r._history.offset];if(u&&c-u.timestamp<3e3){var h=/[^a-z0-9]([a-z0-9]+)$/i,p=r._getLines(u.value,u.selectionStart).pop().match(h),f=r._getLines(e.value,e.selectionStart).pop().match(h);if(p&&f&&f[1].startsWith(p[1]))return void(r._history.stack[r._history.offset]=i({},e,{timestamp:c}))}}r._history.stack.push(i({},e,{timestamp:c})),r._history.offset++},r._updateInput=function(e){var t=r._input;t&&(t.value=e.value,t.selectionStart=e.selectionStart,t.selectionEnd=e.selectionEnd,r.props.onValueChange(e.value))},r._applyEdits=function(e){var t=r._input,n=r._history.stack[r._history.offset];n&&t&&(r._history.stack[r._history.offset]=i({},n,{selectionStart:t.selectionStart,selectionEnd:t.selectionEnd})),r._recordChange(e),r._updateInput(e)},r._undoEdit=function(){var e=r._history,t=e.stack,n=e.offset,i=t[n-1];i&&(r._updateInput(i),r._history.offset=Math.max(n-1,0))},r._redoEdit=function(){var e=r._history,t=e.stack,n=e.offset,i=t[n+1];i&&(r._updateInput(i),r._history.offset=Math.min(n+1,t.length-1))},r._handleKeyDown=function(e){var t=r.props,n=t.tabSize,i=t.insertSpaces,o=t.ignoreTabKey,a=e.target,s=a.value,u=a.selectionStart,h=a.selectionEnd,p=(i?" ":" ").repeat(n);if(9===e.keyCode&&!o&&r.state.capture)if(e.preventDefault(),e.shiftKey){var f=r._getLines(s,u),d=f.length-1,y=r._getLines(s,h).length-1,g=s.split("\n").map((function(e,t){return t>=d&&t<=y&&e.startsWith(p)?e.substring(p.length):e})).join("\n");if(s!==g){var _=f[d];r._applyEdits({value:g,selectionStart:_.startsWith(p)?u-p.length:u,selectionEnd:h-(s.length-g.length)})}}else if(u!==h){var v=r._getLines(s,u),m=v.length-1,b=r._getLines(s,h).length-1,k=v[m];r._applyEdits({value:s.split("\n").map((function(e,t){return t>=m&&t<=b?p+e:e})).join("\n"),selectionStart:/\S/.test(k)?u+p.length:u,selectionEnd:h+p.length*(b-m+1)})}else{var S=u+p.length;r._applyEdits({value:s.substring(0,u)+p+s.substring(h),selectionStart:S,selectionEnd:S})}else if(8===e.keyCode){var E=u!==h;if(s.substring(0,u).endsWith(p)&&!E){e.preventDefault();var C=u-p.length;r._applyEdits({value:s.substring(0,u-p.length)+s.substring(h),selectionStart:C,selectionEnd:C})}}else if(13===e.keyCode){if(u===h){var w=r._getLines(s,u).pop().match(/^\s+/);if(w&&w[0]){e.preventDefault();var x="\n"+w[0],K=u+x.length;r._applyEdits({value:s.substring(0,u)+x+s.substring(h),selectionStart:K,selectionEnd:K})}}}else if(57===e.keyCode||219===e.keyCode||222===e.keyCode||192===e.keyCode){var O=void 0;57===e.keyCode&&e.shiftKey?O=["(",")"]:219===e.keyCode?O=e.shiftKey?["{","}"]:["[","]"]:222===e.keyCode?O=e.shiftKey?['"','"']:["'","'"]:192!==e.keyCode||e.shiftKey||(O=["`","`"]),u!==h&&O&&(e.preventDefault(),r._applyEdits({value:s.substring(0,u)+O[0]+s.substring(u,h)+O[1]+s.substring(h),selectionStart:u,selectionEnd:h+2}))}else!(c?e.metaKey&&90===e.keyCode:e.ctrlKey&&90===e.keyCode)||e.shiftKey||e.altKey?(c?e.metaKey&&90===e.keyCode&&e.shiftKey:l?e.ctrlKey&&89===e.keyCode:e.ctrlKey&&90===e.keyCode&&e.shiftKey)&&!e.altKey?(e.preventDefault(),r._redoEdit()):77!==e.keyCode||!e.ctrlKey||c&&!e.shiftKey||(e.preventDefault(),r.setState((function(e){return{capture:!e.capture}}))):(e.preventDefault(),r._undoEdit())},r._handleChange=function(e){var t=e.target,n=t.value,i=t.selectionStart,o=t.selectionEnd;r._recordChange({value:n,selectionStart:i,selectionEnd:o},!0),r.props.onValueChange(n)},r._history={stack:[],offset:-1},s(r,n)}return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"componentDidMount",value:function(){/Trident/.test(navigator.userAgent)&&this.setState({ie:!0}),this._recordCurrentState()}},{key:"render",value:function(){var e=this,t=this.props,n=t.value,r=t.style,a=t.padding,s=t.highlight,l=t.autoFocus,c=t.disabled,h=t.form,f=t.maxLength,d=t.minLength,y=t.name,g=t.placeholder,_=t.readOnly,v=t.required,m=t.onFocus,b=t.onBlur,k=(t.onValueChange,t.tabSize,t.insertSpaces,t.ignoreTabKey,function(e,t){var n={};for(var i in e)t.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(e,i)&&(n[i]=e[i]);return n}(t,["value","style","padding","highlight","autoFocus","disabled","form","maxLength","minLength","name","placeholder","readOnly","required","onFocus","onBlur","onValueChange","tabSize","insertSpaces","ignoreTabKey"])),S={paddingTop:a,paddingRight:a,paddingBottom:a,paddingLeft:a},E=s(n);return o.createElement("div",i({},k,{style:i({},p.container,r)}),o.createElement("textarea",{ref:function(t){return e._input=t},style:i({},p.editor,p.textarea,S),className:u+" "+(this.state.ie?u+"-ie":""),value:n,onChange:this._handleChange,onKeyDown:this._handleKeyDown,onFocus:m,onBlur:b,disabled:c,form:h,maxLength:f,minLength:d,name:y,placeholder:g,readOnly:_,required:v,autoFocus:l,autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"data-gramm":!1}),o.createElement("pre",i({"aria-hidden":"true",style:i({},p.editor,p.highlight,S)},"string"===typeof E?{dangerouslySetInnerHTML:{__html:E+"<br />"}}:{children:E})),o.createElement("style",{type:"text/css"},"\n/**\n * Reset the text fill color so that placeholder is visible\n */\n.npm__react-simple-code-editor__textarea:empty {\n -webkit-text-fill-color: inherit !important;\n}\n\n/**\n * IE doesn't support '-webkit-text-fill-color'\n * So we use 'color: transparent' to make the text transparent on IE\n * Unlike other browsers, it doesn't affect caret color in IE\n */\n.npm__react-simple-code-editor__textarea-ie {\n color: transparent !important;\n}\n\n.npm__react-simple-code-editor__textarea-ie::selection {\n background-color: #accef7 !important;\n color: transparent !important;\n}\n"))}},{key:"session",get:function(){return{history:this._history}},set:function(e){this._history=e.history}}]),t}(o.Component);h.defaultProps={tabSize:2,insertSpaces:!0,ignoreTabKey:!1,padding:0},t.default=h;var p={container:{position:"relative",textAlign:"left",whiteSpace:"pre-wrap",wordBreak:"keep-all",boxSizing:"border-box",padding:0},textarea:{position:"absolute",top:0,left:0,height:"100%",width:"100%",margin:0,border:0,resize:"none",background:"none",overflow:"hidden",color:"inherit",MozOsxFontSmoothing:"grayscale",WebkitFontSmoothing:"antialiased",WebkitTextFillColor:"transparent"},highlight:{position:"relative",margin:0,border:0,pointerEvents:"none"},editor:{boxSizing:"inherit",display:"inherit",fontFamily:"inherit",fontSize:"inherit",fontStyle:"inherit",fontVariantLigatures:"inherit",fontWeight:"inherit",letterSpacing:"inherit",lineHeight:"inherit",tabSize:"inherit",textIndent:"inherit",textRendering:"inherit",textTransform:"inherit",whiteSpace:"inherit",wordBreak:"inherit"}}}).call(this,n("RLDh"))}}]);
2
+ //# sourceMappingURL=react-simple-code-editor.33478dc3.chunk.js.map