@bpmn-io/form-js-playground 1.7.1 → 1.7.3

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.
@@ -53323,20 +53323,59 @@
53323
53323
  }, [conditionChecker, condition, expressionContextInfo]);
53324
53324
  }
53325
53325
 
53326
- // parses the options data from the provided form field and form data
53327
- function getOptionsData(formField, formData) {
53326
+ /**
53327
+ * Returns the options data for the provided if they can be simply determined, ignoring expression defined options.
53328
+ *
53329
+ * @param {object} formField
53330
+ * @param {object} formData
53331
+ */
53332
+ function getSimpleOptionsData(formField, formData) {
53328
53333
  const {
53334
+ valuesExpression: optionsExpression,
53329
53335
  valuesKey: optionsKey,
53330
53336
  values: staticOptions
53331
53337
  } = formField;
53338
+ if (optionsExpression) {
53339
+ return null;
53340
+ }
53332
53341
  return optionsKey ? get$1(formData, [optionsKey]) : staticOptions;
53333
53342
  }
53334
53343
 
53335
- // transforms the provided options into a normalized format, trimming invalid options
53344
+ /**
53345
+ * Normalizes the provided options data to a format that can be used by the select components.
53346
+ * If the options data is not valid, it is filtered out.
53347
+ *
53348
+ * @param {any[]} optionsData
53349
+ *
53350
+ * @returns {object[]}
53351
+ */
53336
53352
  function normalizeOptionsData(optionsData) {
53337
53353
  return optionsData.filter(_isAllowedValue).map(_normalizeOption).filter(o => !isNil$1(o));
53338
53354
  }
53339
53355
 
53356
+ /**
53357
+ * Creates an options object with default values if no options are provided.
53358
+ *
53359
+ * @param {object} options
53360
+ *
53361
+ * @returns {object}
53362
+ */
53363
+ function createEmptyOptions(options = {}) {
53364
+ const defaults = {};
53365
+
53366
+ // provide default options if valuesKey and valuesExpression are not set
53367
+ if (!options.valuesKey && !options.valuesExpression) {
53368
+ defaults.values = [{
53369
+ label: 'Value',
53370
+ value: 'value'
53371
+ }];
53372
+ }
53373
+ return {
53374
+ ...defaults,
53375
+ ...options
53376
+ };
53377
+ }
53378
+
53340
53379
  /**
53341
53380
  * Converts the provided option to a normalized format.
53342
53381
  * If the option is not valid, null is returned.
@@ -53387,21 +53426,6 @@
53387
53426
  }
53388
53427
  return _isAllowedPrimitive(value);
53389
53428
  }
53390
- function createEmptyOptions(options = {}) {
53391
- const defaults = {};
53392
-
53393
- // provide default options if valuesKey and valuesExpression are not set
53394
- if (!options.valuesKey && !options.valuesExpression) {
53395
- defaults.values = [{
53396
- label: 'Value',
53397
- value: 'value'
53398
- }];
53399
- }
53400
- return {
53401
- ...defaults,
53402
- ...options
53403
- };
53404
- }
53405
53429
 
53406
53430
  /**
53407
53431
  * Evaluate a string reactively based on the expressionLanguage and form data.
@@ -53421,29 +53445,20 @@
53421
53445
  return value;
53422
53446
  }, [expressionLanguage, expressionContextInfo, value]);
53423
53447
  }
53424
- function usePrevious$1(value, defaultValue = null) {
53425
- const ref = s$1(defaultValue);
53426
- y(() => ref.current = value, [value]);
53427
- return ref.current;
53428
- }
53429
53448
 
53430
53449
  /**
53431
53450
  * A custom hook to manage state changes with deep comparison.
53432
53451
  *
53433
- * @param {any} value - The current value to manage.
53434
- * @param {any} defaultValue - The initial default value for the state.
53435
- * @returns {any} - Returns the current state.
53452
+ * @template T
53453
+ * @param {T} value - The current value to manage.
53454
+ * @returns {T} - Returns the current state.
53436
53455
  */
53437
- function useDeepCompareState(value, defaultValue) {
53438
- const [state, setState] = l$1(defaultValue);
53439
- const previous = usePrevious$1(value, defaultValue);
53440
- const changed = !isEqual$1(previous, value);
53441
- y(() => {
53442
- if (changed) {
53443
- setState(value);
53444
- }
53445
- }, [changed, value]);
53446
- return state;
53456
+ function useDeepCompareMemoize(value) {
53457
+ const ref = s$1();
53458
+ if (!isEqual$1(value, ref.current)) {
53459
+ ref.current = value;
53460
+ }
53461
+ return ref.current;
53447
53462
  }
53448
53463
 
53449
53464
  /**
@@ -53473,15 +53488,10 @@
53473
53488
  valuesKey: optionsKey,
53474
53489
  values: staticOptions
53475
53490
  } = field;
53476
- const [optionsGetter, setOptionsGetter] = l$1({
53477
- options: [],
53478
- error: undefined,
53479
- loadState: LOAD_STATES.LOADING
53480
- });
53481
53491
  const initialData = useService$2('form')._getState().initialData;
53482
53492
  const expressionEvaluation = useExpressionEvaluation(optionsExpression);
53483
- const evaluatedOptions = useDeepCompareState(expressionEvaluation || [], []);
53484
- y(() => {
53493
+ const evaluatedOptions = useDeepCompareMemoize(expressionEvaluation || []);
53494
+ const optionsGetter = d(() => {
53485
53495
  let options = [];
53486
53496
 
53487
53497
  // dynamic options
@@ -53496,18 +53506,16 @@
53496
53506
  options = Array.isArray(staticOptions) ? staticOptions : [];
53497
53507
 
53498
53508
  // expression
53499
- } else if (optionsExpression) {
53500
- if (evaluatedOptions && Array.isArray(evaluatedOptions)) {
53501
- options = evaluatedOptions;
53502
- }
53509
+ } else if (optionsExpression && evaluatedOptions && Array.isArray(evaluatedOptions)) {
53510
+ options = evaluatedOptions;
53511
+
53512
+ // error case
53503
53513
  } else {
53504
- setOptionsGetter(buildErrorState('No options source defined in the form definition'));
53505
- return;
53514
+ return buildErrorState('No options source defined in the form definition');
53506
53515
  }
53507
53516
 
53508
53517
  // normalize data to support primitives and partially defined objects
53509
- options = normalizeOptionsData(options);
53510
- setOptionsGetter(buildLoadedState(options));
53518
+ return buildLoadedState(normalizeOptionsData(options));
53511
53519
  }, [optionsKey, staticOptions, initialData, optionsExpression, evaluatedOptions]);
53512
53520
  return optionsGetter;
53513
53521
  }
@@ -53552,14 +53560,14 @@
53552
53560
  };
53553
53561
  };
53554
53562
 
53555
- /**
53556
- * A custom hook to build up security attributes from form configuration.
53557
- *
53558
- * @param {Object} security - The security configuration.
53559
- * @returns {Array} - Returns a tuple with sandbox and allow attributes.
53563
+ /**
53564
+ * A custom hook to build up security attributes from form configuration.
53565
+ *
53566
+ * @param {Object} security - The security configuration.
53567
+ * @returns {Array} - Returns a tuple with sandbox and allow attributes.
53560
53568
  */
53561
53569
  function useSecurityAttributesMap(security) {
53562
- const securityMemoized = useDeepCompareState(security);
53570
+ const securityMemoized = useDeepCompareMemoize(security);
53563
53571
  const sandbox = d(() => SECURITY_ATTRIBUTES_DEFINITIONS.filter(({
53564
53572
  attribute
53565
53573
  }) => attribute === SANDBOX_ATTRIBUTE).filter(({
@@ -53729,6 +53737,11 @@
53729
53737
  }
53730
53738
  return readonly || false;
53731
53739
  }
53740
+ function usePrevious$1(value, defaultValue = null) {
53741
+ const ref = s$1(defaultValue);
53742
+ y(() => ref.current = value, [value]);
53743
+ return ref.current;
53744
+ }
53732
53745
  function useFlushDebounce(func) {
53733
53746
  const timeoutRef = s$1(null);
53734
53747
  const lastArgsRef = s$1(null);
@@ -53991,8 +54004,16 @@
53991
54004
  data,
53992
54005
  value
53993
54006
  } = options;
54007
+ const {
54008
+ valuesExpression: optionsExpression
54009
+ } = formField;
53994
54010
  try {
53995
- const validValues = normalizeOptionsData(getOptionsData(formField, data)).map(v => v.value);
54011
+ // if options are expression evaluated, we don't need to sanitize the value against the options
54012
+ // and defer to the field's internal validation
54013
+ if (optionsExpression) {
54014
+ return value;
54015
+ }
54016
+ const validValues = normalizeOptionsData(getSimpleOptionsData(formField, data)).map(v => v.value);
53996
54017
  return hasEqualValue(value, validValues) ? value : null;
53997
54018
  } catch (error) {
53998
54019
  // use default value in case of formatting error
@@ -54006,8 +54027,16 @@
54006
54027
  data,
54007
54028
  value
54008
54029
  } = options;
54030
+ const {
54031
+ valuesExpression: optionsExpression
54032
+ } = formField;
54009
54033
  try {
54010
- const validValues = normalizeOptionsData(getOptionsData(formField, data)).map(v => v.value);
54034
+ // if options are expression evaluated, we don't need to sanitize the values against the options
54035
+ // and defer to the field's internal validation
54036
+ if (optionsExpression) {
54037
+ return value;
54038
+ }
54039
+ const validValues = normalizeOptionsData(getSimpleOptionsData(formField, data)).map(v => v.value);
54011
54040
  return value.filter(v => hasEqualValue(v, validValues));
54012
54041
  } catch (error) {
54013
54042
  // use default value in case of formatting error
@@ -54093,7 +54122,7 @@
54093
54122
  onChange,
54094
54123
  values
54095
54124
  } = props;
54096
- const memoizedValues = useDeepCompareState(values, []);
54125
+ const memoizedValues = useDeepCompareMemoize(values || []);
54097
54126
 
54098
54127
  // ensures that the values are always a subset of the possible options
54099
54128
  y(() => {
@@ -54783,7 +54812,7 @@
54783
54812
  const [forceFocusCalendar, setForceFocusCalendar] = l$1(false);
54784
54813
 
54785
54814
  // ensures we render based on date value instead of reference
54786
- const date = useDeepCompareState(dateObject, null);
54815
+ const date = useDeepCompareMemoize(dateObject);
54787
54816
 
54788
54817
  // shorts the date value back to the source
54789
54818
  y(() => {
@@ -56487,8 +56516,8 @@
56487
56516
  'fjs-readonly': readonly
56488
56517
  }),
56489
56518
  children: [e("button", {
56490
- class: "fjs-number-arrow-up",
56491
56519
  type: "button",
56520
+ class: "fjs-number-arrow-up",
56492
56521
  "aria-label": "Increment",
56493
56522
  onClick: () => increment(),
56494
56523
  tabIndex: -1,
@@ -56496,8 +56525,8 @@
56496
56525
  }), e("div", {
56497
56526
  class: "fjs-number-arrow-separator"
56498
56527
  }), e("button", {
56499
- class: "fjs-number-arrow-down",
56500
56528
  type: "button",
56529
+ class: "fjs-number-arrow-down",
56501
56530
  "aria-label": "Decrement",
56502
56531
  onClick: () => decrement(),
56503
56532
  tabIndex: -1,
@@ -57171,7 +57200,7 @@
57171
57200
  } = useOptionsAsync(field);
57172
57201
 
57173
57202
  // ensures we render based on array content instead of reference
57174
- const values = useDeepCompareState(value || [], []);
57203
+ const values = useDeepCompareMemoize(value || []);
57175
57204
  useCleanupMultiSelectValue({
57176
57205
  field,
57177
57206
  loadState,
@@ -59493,9 +59522,9 @@
59493
59522
  };
59494
59523
  const parentExpressionContextInfo = F$1(LocalExpressionContext);
59495
59524
  return e(d$1, {
59496
- children: displayValues.map((value, index) => e(RepetitionScaffold, {
59497
- index: index,
59498
- value: value,
59525
+ children: displayValues.map((itemValue, itemIndex) => e(RepetitionScaffold, {
59526
+ itemIndex: itemIndex,
59527
+ itemValue: itemValue,
59499
59528
  parentExpressionContextInfo: parentExpressionContextInfo,
59500
59529
  repeaterField: repeaterField,
59501
59530
  RowsRenderer: RowsRenderer,
@@ -59503,7 +59532,7 @@
59503
59532
  onDeleteItem: onDeleteItem,
59504
59533
  showRemove: showRemove,
59505
59534
  ...restProps
59506
- }, index))
59535
+ }, itemIndex))
59507
59536
  });
59508
59537
  }
59509
59538
  RepeatFooter(props) {
@@ -59566,18 +59595,18 @@
59566
59595
  'fjs-remove-allowed': repeaterField.allowAddRemove
59567
59596
  }),
59568
59597
  children: [showAdd ? e("button", {
59598
+ type: "button",
59569
59599
  readOnly: readonly,
59570
59600
  disabled: disabled || readonly,
59571
59601
  class: "fjs-repeat-render-add",
59572
- type: "button",
59573
59602
  ref: addButtonRef,
59574
59603
  onClick: onAddItem,
59575
59604
  children: e(d$1, {
59576
59605
  children: [e(AddSvg, {}), " ", 'Add new']
59577
59606
  })
59578
59607
  }) : null, collapseEnabled ? e("button", {
59579
- class: "fjs-repeat-render-collapse",
59580
59608
  type: "button",
59609
+ class: "fjs-repeat-render-collapse",
59581
59610
  onClick: toggle,
59582
59611
  children: isCollapsed ? e(d$1, {
59583
59612
  children: [e(ExpandSvg, {}), " ", `Expand all (${values.length})`]
@@ -59600,8 +59629,8 @@
59600
59629
  * Individual repetition of a repeated field and context scaffolding.
59601
59630
  *
59602
59631
  * @param {Object} props
59603
- * @param {number} props.index
59604
- * @param {Object} props.value
59632
+ * @param {number} props.itemIndex
59633
+ * @param {Object} props.itemValue
59605
59634
  * @param {Object} props.parentExpressionContextInfo
59606
59635
  * @param {Object} props.repeaterField
59607
59636
  * @param {Function} props.RowsRenderer
@@ -59612,8 +59641,8 @@
59612
59641
 
59613
59642
  const RepetitionScaffold = props => {
59614
59643
  const {
59615
- index,
59616
- value,
59644
+ itemIndex,
59645
+ itemValue,
59617
59646
  parentExpressionContextInfo,
59618
59647
  repeaterField,
59619
59648
  RowsRenderer,
@@ -59626,15 +59655,15 @@
59626
59655
  ...restProps,
59627
59656
  indexes: {
59628
59657
  ...(indexes || {}),
59629
- [repeaterField.id]: index
59658
+ [repeaterField.id]: itemIndex
59630
59659
  }
59631
- }), [index, indexes, repeaterField.id, restProps]);
59660
+ }), [itemIndex, indexes, repeaterField.id, restProps]);
59632
59661
  const localExpressionContextInfo = d(() => ({
59633
59662
  data: parentExpressionContextInfo.data,
59634
- this: value,
59663
+ this: itemValue,
59635
59664
  parent: buildExpressionContext(parentExpressionContextInfo),
59636
- i: [...parentExpressionContextInfo.i, index + 1]
59637
- }), [index, parentExpressionContextInfo, value]);
59665
+ i: [...parentExpressionContextInfo.i, itemIndex + 1]
59666
+ }), [itemIndex, parentExpressionContextInfo, itemValue]);
59638
59667
  return !showRemove ? e(LocalExpressionContext.Provider, {
59639
59668
  value: localExpressionContextInfo,
59640
59669
  children: e(RowsRenderer, {
@@ -59651,10 +59680,10 @@
59651
59680
  })
59652
59681
  })
59653
59682
  }), e("button", {
59654
- class: "fjs-repeat-row-remove",
59655
59683
  type: "button",
59656
- "aria-label": `Remove list item ${index + 1}`,
59657
- onClick: () => onDeleteItem(index),
59684
+ class: "fjs-repeat-row-remove",
59685
+ "aria-label": `Remove list item ${itemIndex + 1}`,
59686
+ onClick: () => onDeleteItem(itemIndex),
59658
59687
  children: e("div", {
59659
59688
  class: "fjs-repeat-row-remove-icon-container",
59660
59689
  children: e(DeleteSvg, {})
@@ -67729,6 +67758,7 @@
67729
67758
  }
67730
67759
  };
67731
67760
  return e("button", {
67761
+ type: "button",
67732
67762
  class: "fjs-palette-field fjs-drag-copy fjs-no-drop",
67733
67763
  "data-field-type": type,
67734
67764
  title: `Create ${getIndefiniteArticle(type)} ${label} element`,
@@ -67820,6 +67850,7 @@
67820
67850
  value: searchTerm,
67821
67851
  onInput: handleInput
67822
67852
  }), searchTerm && e("button", {
67853
+ type: "button",
67823
67854
  title: "Clear content",
67824
67855
  class: "fjs-palette-search-clear",
67825
67856
  onClick: handleClear,
@@ -68564,6 +68595,7 @@
68564
68595
  field: field
68565
68596
  }), e(ContextPad, {
68566
68597
  children: selection.isSelected(field) && field.type !== 'default' ? e("button", {
68598
+ type: "button",
68567
68599
  title: getRemoveButtonTitle(field, formFields),
68568
68600
  class: "fjs-context-pad-item",
68569
68601
  onClick: onRemove,
@@ -75988,7 +76020,7 @@
75988
76020
  getValue,
75989
76021
  id,
75990
76022
  label: 'Disabled',
75991
- tooltip: 'Field cannot be edited by the end-user, and the data is not submitted.',
76023
+ tooltip: 'Field cannot be edited by the end-user, and the data is not submitted. Takes precedence over read only.',
75992
76024
  inline: true,
75993
76025
  setValue
75994
76026
  });
@@ -77835,15 +77867,20 @@
77835
77867
  editField,
77836
77868
  field
77837
77869
  } = props;
77870
+ const {
77871
+ disabled
77872
+ } = field;
77838
77873
  const entries = [];
77839
- entries.push({
77840
- id: 'readonly',
77841
- component: Readonly,
77842
- editField: editField,
77843
- field: field,
77844
- isEdited: isEdited$6,
77845
- isDefaultVisible: field => INPUTS.includes(field.type)
77846
- });
77874
+ if (!disabled) {
77875
+ entries.push({
77876
+ id: 'readonly',
77877
+ component: Readonly,
77878
+ editField: editField,
77879
+ field: field,
77880
+ isEdited: isEdited$6,
77881
+ isDefaultVisible: field => INPUTS.includes(field.type)
77882
+ });
77883
+ }
77847
77884
  return entries;
77848
77885
  }
77849
77886
  function Readonly(props) {
@@ -79707,6 +79744,7 @@
79707
79744
  }), e("div", {
79708
79745
  class: "fjs-pgl-modal-footer",
79709
79746
  children: e("button", {
79747
+ type: "button",
79710
79748
  class: "fjs-pgl-button fjs-pgl-button-default",
79711
79749
  onClick: props.onClose,
79712
79750
  children: "Close"
@@ -81685,6 +81723,7 @@
81685
81723
  name: "Form Definition",
81686
81724
  children: [displayActions && e(Section.HeaderItem, {
81687
81725
  children: e("button", {
81726
+ type: "button",
81688
81727
  class: "fjs-pgl-button",
81689
81728
  title: "Download form definition",
81690
81729
  onClick: handleDownload,
@@ -81692,6 +81731,7 @@
81692
81731
  })
81693
81732
  }), displayActions && e(Section.HeaderItem, {
81694
81733
  children: e("button", {
81734
+ type: "button",
81695
81735
  class: "fjs-pgl-button",
81696
81736
  onClick: showEmbedModal,
81697
81737
  children: "Embed"
package/dist/index.cjs CHANGED
@@ -49,6 +49,7 @@ function Modal(props) {
49
49
  }), jsxRuntime.jsx("div", {
50
50
  class: "fjs-pgl-modal-footer",
51
51
  children: jsxRuntime.jsx("button", {
52
+ type: "button",
52
53
  class: "fjs-pgl-button fjs-pgl-button-default",
53
54
  onClick: props.onClose,
54
55
  children: "Close"
@@ -499,6 +500,7 @@ function PlaygroundRoot(props) {
499
500
  name: "Form Definition",
500
501
  children: [displayActions && jsxRuntime.jsx(Section.HeaderItem, {
501
502
  children: jsxRuntime.jsx("button", {
503
+ type: "button",
502
504
  class: "fjs-pgl-button",
503
505
  title: "Download form definition",
504
506
  onClick: handleDownload,
@@ -506,6 +508,7 @@ function PlaygroundRoot(props) {
506
508
  })
507
509
  }), displayActions && jsxRuntime.jsx(Section.HeaderItem, {
508
510
  children: jsxRuntime.jsx("button", {
511
+ type: "button",
509
512
  class: "fjs-pgl-button",
510
513
  onClick: showEmbedModal,
511
514
  children: "Embed"
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/components/Modal.js","../src/components/EmbedModal.js","../src/components/autocompletion/VariablesFacet.js","../src/components/autocompletion/index.js","../src/components/JSONEditor.js","../src/components/Section.js","../src/components/PlaygroundRoot.js","../src/Playground.js"],"sourcesContent":["import { useEffect } from 'preact/hooks';\n\nexport function Modal(props) {\n\n useEffect(() => {\n function handleKey(event) {\n\n if (event.key === 'Escape') {\n event.stopPropagation();\n\n props.onClose();\n }\n }\n\n document.addEventListener('keydown', handleKey);\n\n return () => {\n document.removeEventListener('keydown', handleKey);\n };\n });\n\n return (\n <div class=\"fjs-pgl-modal\">\n <div class=\"fjs-pgl-modal-backdrop\" onClick={ props.onClose }></div>\n <div class=\"fjs-pgl-modal-content\">\n <h1 class=\"fjs-pgl-modal-header\">{ props.name }</h1>\n <div class=\"fjs-pgl-modal-body\">\n { props.children }\n </div>\n <div class=\"fjs-pgl-modal-footer\">\n <button class=\"fjs-pgl-button fjs-pgl-button-default\" onClick={ props.onClose }>Close</button>\n </div>\n </div>\n </div>\n );\n}\n","import { useEffect, useRef } from 'preact/hooks';\n\nimport { Modal } from './Modal';\n\n\nexport function EmbedModal(props) {\n\n const schema = serializeValue(props.schema);\n const data = serializeValue(props.data || {});\n\n const fieldRef = useRef();\n\n const snippet = `<!-- styles needed for rendering -->\n<link rel=\"stylesheet\" href=\"https://unpkg.com/@bpmn-io/form-js@0.2.4/dist/assets/form-js.css\">\n\n<!-- container to render the form into -->\n<div class=\"fjs-pgl-form-container\"></div>\n\n<!-- scripts needed for embedding -->\n<script src=\"https://unpkg.com/@bpmn-io/form-js@0.2.4/dist/form-viewer.umd.js\"></script>\n\n<!-- actual script to instantiate the form and load form schema + data -->\n<script>\n const data = JSON.parse(${data});\n const schema = JSON.parse(${schema});\n\n const form = new FormViewer.Form({\n container: document.querySelector(\".fjs-pgl-form-container\")\n });\n\n form.on(\"submit\", (event) => {\n console.log(event.data, event.errors);\n });\n\n form.importSchema(schema, data).catch(err => {\n console.error(\"Failed to render form\", err);\n });\n</script>\n `.trim();\n\n useEffect(() => {\n fieldRef.current.select();\n });\n\n return (\n <Modal name=\"Embed form\" onClose={ props.onClose }>\n <p>Use the following HTML snippet to embed your form with <a href=\"https://github.com/bpmn-io/form-js\">form-js</a>:</p>\n\n <textarea spellCheck=\"false\" ref={ fieldRef }>{snippet}</textarea>\n </Modal>\n );\n}\n\n\n// helpers ///////////\n\nfunction serializeValue(obj) {\n return JSON.stringify(JSON.stringify(obj)).replace(/</g, '&lt;').replace(/>/g, '&gt;');\n}","import { Facet } from '@codemirror/state';\n\n/**\n * @type {Facet<import('..').Variables>} Variables\n */\nexport const variablesFacet = Facet.define();","import { autocompletion } from '@codemirror/autocomplete';\nimport { variablesFacet } from './VariablesFacet';\n\nimport { syntaxTree } from '@codemirror/language';\n\nexport function autocompletionExtension() {\n return [\n autocompletion({\n override: [\n completions\n ]\n })\n ];\n}\n\nfunction completions(context) {\n\n const variables = context.state.facet(variablesFacet)[0];\n\n const options = variables.map(v => ({\n label: v,\n type: 'variable'\n }));\n\n let nodeBefore = syntaxTree(context.state).resolve(context.pos, -1);\n\n // handle inside property name as explicit call\n if (nodeBefore.type.name === 'PropertyName') {\n context.explicit = true;\n }\n\n let word = context.matchBefore(/\\w*/);\n\n if (word.from == word.to && !context.explicit) {\n return null;\n }\n\n return {\n from: word.from,\n options\n };\n}","import mitt from 'mitt';\n\nimport { basicSetup } from 'codemirror';\nimport { EditorView, keymap, placeholder } from '@codemirror/view';\nimport { EditorState, Compartment } from '@codemirror/state';\nimport { lintGutter, linter } from '@codemirror/lint';\nimport { json, jsonParseLinter } from '@codemirror/lang-json';\nimport { indentWithTab } from '@codemirror/commands';\nimport { autocompletionExtension } from './autocompletion/index';\nimport { variablesFacet } from './autocompletion/VariablesFacet';\n\nimport {\n classes as domClasses\n} from 'min-dom';\n\nconst NO_LINT_CLS = 'fjs-no-json-lint';\n\n\n/**\n * @param {object} options\n * @param {boolean} [options.readonly]\n * @param {object} [options.contentAttributes]\n * @param {string | HTMLElement} [options.placeholder]\n */\nexport function JSONEditor(options = {}) {\n const {\n contentAttributes = {},\n placeholder: editorPlaceholder,\n readonly = false,\n } = options;\n\n const emitter = mitt();\n\n let language = new Compartment().of(json());\n let tabSize = new Compartment().of(EditorState.tabSize.of(2));\n\n let container = null;\n\n\n /**\n * @typedef {Array<string>} Variables\n */\n\n const autocompletionConf = new Compartment();\n\n const linterExtension = linter(jsonParseLinter());\n\n // this sets no-linting mode if placeholders are present\n const placeholderLinterExtension = linter(view => {\n const placeholders = view.dom.querySelectorAll('.cm-placeholder');\n\n if (placeholders.length > 0) {\n set(container, NO_LINT_CLS);\n } else {\n unset(container, NO_LINT_CLS);\n }\n\n return [];\n });\n\n function createState(doc, extensions = [], variables = []) {\n return EditorState.create({\n doc,\n extensions: [\n basicSetup,\n language,\n tabSize,\n linterExtension,\n placeholderLinterExtension,\n lintGutter(),\n autocompletionConf.of(variablesFacet.of(variables)),\n autocompletionExtension(),\n keymap.of([ indentWithTab ]),\n editorPlaceholder ? placeholder(editorPlaceholder) : [],\n ...extensions\n ]\n });\n }\n\n function createView(readonly) {\n\n const updateListener = EditorView.updateListener.of(update => {\n if (update.docChanged) {\n emitter.emit('changed', {\n value: update.view.state.doc.toString()\n });\n }\n });\n\n const editable = EditorView.editable.of(!readonly);\n\n const contentAttributesExtension = EditorView.contentAttributes.of(contentAttributes);\n\n const view = new EditorView({\n state: createState('', [ updateListener, editable, contentAttributesExtension ])\n });\n\n view.setValue = function(value) {\n this.setState(createState(value, [ updateListener, editable, contentAttributesExtension ]));\n };\n\n view.setVariables = function(variables) {\n this.setState(createState(\n view.state.doc.toString(),\n [ updateListener, editable, contentAttributesExtension ],\n variables\n ));\n };\n\n return view;\n }\n\n const view = this._view = createView(readonly);\n\n this.setValue = function(value) {\n view.setValue(value);\n };\n\n this.getValue = function() {\n return view.state.doc.toString();\n };\n\n /**\n * @param {Variables} variables\n */\n this.setVariables = function(variables) {\n view.setVariables(variables);\n };\n\n this.on = emitter.on;\n this.off = emitter.off;\n this.emit = emitter.emit;\n\n this.attachTo = function(_container) {\n container = _container;\n container.appendChild(view.dom);\n };\n\n this.destroy = function() {\n if (view.dom.parentNode) {\n view.dom.parentNode.removeChild(view.dom);\n }\n\n view.destroy();\n };\n}\n\n// helpers //////////////////////\n\n\nfunction set(node, cls) {\n const classes = domClasses(node, document.body);\n classes.add(cls);\n}\n\nfunction unset(node, cls) {\n const classes = domClasses(node, document.body);\n classes.remove(cls);\n}\n","export function Section(props) {\n\n const elements =\n Array.isArray(props.children)\n ? props.children :\n [ props.children ];\n\n const {\n headerItems,\n children\n } = elements.reduce((_, child) => {\n const bucket =\n child.type === Section.HeaderItem\n ? _.headerItems\n : _.children;\n\n bucket.push(child);\n\n return _;\n }, { headerItems: [], children: [] });\n\n return (\n <div class=\"fjs-pgl-section\">\n <h1 class=\"header\">{ props.name } { headerItems.length ? <span class=\"header-items\">{ headerItems }</span> : null }</h1>\n <div class=\"body\">\n { children }\n </div>\n </div>\n );\n}\n\nSection.HeaderItem = function(props) {\n return props.children;\n};","import { useRef, useEffect, useState, useCallback } from 'preact/hooks';\nimport { isFunction } from 'min-dash';\nimport download from 'downloadjs';\n\nimport classNames from 'classnames';\n\nimport {\n Form,\n getSchemaVariables\n} from '@bpmn-io/form-js-viewer';\n\nimport {\n FormEditor\n} from '@bpmn-io/form-js-editor';\n\nimport { EmbedModal } from './EmbedModal';\nimport { JSONEditor } from './JSONEditor';\nimport { Section } from './Section';\n\n\nimport './FileDrop.css';\nimport './PlaygroundRoot.css';\n\n\nexport function PlaygroundRoot(props) {\n\n const {\n additionalModules = [], // goes into both editor + viewer\n actions: actionsConfig = {},\n emit,\n exporter: exporterConfig = {},\n viewerProperties = {},\n editorProperties = {},\n viewerAdditionalModules = [],\n editorAdditionalModules = [],\n propertiesPanel: propertiesPanelConfig = {},\n onInit: onPlaygroundInit,\n onStateChanged\n } = props;\n\n const {\n display: displayActions = true\n } = actionsConfig;\n\n const paletteContainerRef = useRef();\n const editorContainerRef = useRef();\n const formContainerRef = useRef();\n const dataContainerRef = useRef();\n const resultContainerRef = useRef();\n const propertiesPanelContainerRef = useRef();\n\n const paletteRef = useRef();\n const formEditorRef = useRef();\n const formRef = useRef();\n const dataEditorRef = useRef();\n const resultViewRef = useRef();\n const propertiesPanelRef = useRef();\n\n const [ showEmbed, setShowEmbed ] = useState(false);\n\n const [ initialData ] = useState(props.data || undefined);\n const [ initialSchema, setInitialSchema ] = useState(props.schema);\n\n const [ data, setData ] = useState(props.data || {});\n const [ schema, setSchema ] = useState(props.schema);\n\n const [ resultData, setResultData ] = useState({});\n\n // pipe to playground API\n useEffect(() => {\n onPlaygroundInit({\n attachDataContainer: (node) => dataEditorRef.current.attachTo(node),\n attachEditorContainer: (node) => formEditorRef.current.attachTo(node),\n attachFormContainer: (node) => formRef.current.attachTo(node),\n attachPaletteContainer: (node) => paletteRef.current.attachTo(node),\n attachPropertiesPanelContainer: (node) => propertiesPanelRef.current.attachTo(node),\n attachResultContainer: (node) => resultViewRef.current.attachTo(node),\n get: (name, strict) => formEditorRef.current.get(name, strict),\n getDataEditor: () => dataEditorRef.current,\n getEditor: () => formEditorRef.current,\n getForm: () => formRef.current,\n getResultView: () => resultViewRef.current,\n getSchema: () => formEditorRef.current.getSchema(),\n setSchema: setInitialSchema,\n saveSchema: () => formEditorRef.current.saveSchema()\n });\n }, [ onPlaygroundInit ]);\n\n useEffect(() => {\n setInitialSchema(props.schema || {});\n }, [ props.schema ]);\n\n useEffect(() => {\n const dataEditor = dataEditorRef.current = new JSONEditor({\n value: toString(data),\n contentAttributes: { 'aria-label': 'Form Input', tabIndex: 0 },\n placeholder: createDataEditorPlaceholder()\n });\n\n const resultView = resultViewRef.current = new JSONEditor({\n readonly: true,\n value: toString(resultData),\n contentAttributes: { 'aria-label': 'Form Output', tabIndex: 0 }\n });\n\n const form = formRef.current = new Form({\n additionalModules: [\n ...additionalModules,\n ...viewerAdditionalModules\n ],\n properties: {\n ...viewerProperties,\n 'ariaLabel': 'Form Preview'\n }\n });\n\n const formEditor = formEditorRef.current = new FormEditor({\n renderer: {\n compact: true\n },\n palette: {\n parent: paletteContainerRef.current\n },\n propertiesPanel: {\n parent: propertiesPanelContainerRef.current,\n ...propertiesPanelConfig\n },\n exporter: exporterConfig,\n properties: {\n ...editorProperties,\n 'ariaLabel': 'Form Definition'\n },\n additionalModules: [\n ...additionalModules,\n ...editorAdditionalModules\n ]\n });\n\n paletteRef.current = formEditor.get('palette');\n propertiesPanelRef.current = formEditor.get('propertiesPanel');\n\n formEditor.on('formField.add', ({ formField }) => {\n const formFields = formEditor.get('formFields');\n const { config } = formFields.get(formField.type);\n const { generateInitialDemoData } = config;\n const { id } = formField;\n\n if (!isFunction(generateInitialDemoData)) {\n return;\n }\n\n const initialDemoData = generateInitialDemoData(formField);\n\n if ([ initialDemoData, id ].includes(undefined)) {\n return;\n }\n\n setData((currentData) => {\n const newData = {\n ...currentData,\n [id]: initialDemoData,\n };\n\n dataEditorRef.current.setValue(\n toString(newData)\n );\n\n return newData;\n });\n });\n\n formEditor.on('changed', () => {\n setSchema(formEditor.getSchema());\n });\n\n formEditor.on('formEditor.rendered', () => {\n\n // notify interested parties after render\n emit('formPlayground.rendered');\n });\n\n form.on('changed', () => {\n setResultData(form._getSubmitData());\n });\n\n dataEditor.on('changed', event => {\n try {\n setData(JSON.parse(event.value));\n } catch (error) {\n\n // notify interested about input data error\n emit('formPlayground.inputDataError', error);\n }\n });\n\n const formContainer = formContainerRef.current;\n const editorContainer = editorContainerRef.current;\n const dataContainer = dataContainerRef.current;\n const resultContainer = resultContainerRef.current;\n\n dataEditor.attachTo(dataContainer);\n resultView.attachTo(resultContainer);\n form.attachTo(formContainer);\n formEditor.attachTo(editorContainer);\n\n return () => {\n dataEditor.destroy();\n resultView.destroy();\n form.destroy();\n formEditor.destroy();\n };\n }, []);\n\n useEffect(() => {\n dataEditorRef.current.setValue(toString(initialData));\n }, [ initialData ]);\n\n useEffect(() => {\n if (initialSchema) {\n formEditorRef.current.importSchema(initialSchema);\n dataEditorRef.current.setVariables(getSchemaVariables(initialSchema));\n }\n }, [ initialSchema ]);\n\n useEffect(() => {\n if (schema && dataContainerRef.current) {\n const variables = getSchemaVariables(schema);\n dataEditorRef.current.setVariables(variables);\n }\n }, [ schema ]);\n\n useEffect(() => {\n schema && formRef.current.importSchema(schema, data);\n }, [ schema, data ]);\n\n useEffect(() => {\n resultViewRef.current.setValue(toString(resultData));\n }, [ resultData ]);\n\n useEffect(() => {\n onStateChanged && onStateChanged({\n schema,\n data\n });\n }, [ onStateChanged, schema, data ]);\n\n const handleDownload = useCallback(() => {\n\n download(JSON.stringify(schema, null, ' '), 'form.json', 'text/json');\n }, [ schema ]);\n\n const hideEmbedModal = useCallback(() => {\n setShowEmbed(false);\n }, []);\n\n const showEmbedModal = useCallback(() => {\n setShowEmbed(true);\n }, []);\n\n return (\n <div class={ classNames(\n 'fjs-container',\n 'fjs-pgl-root'\n ) }>\n <div class=\"fjs-pgl-modals\">\n { showEmbed ? <EmbedModal schema={ schema } data={ data } onClose={ hideEmbedModal } /> : null }\n </div>\n <div class=\"fjs-pgl-palette-container\" ref={ paletteContainerRef } />\n <div class=\"fjs-pgl-main\">\n\n <Section name=\"Form Definition\">\n\n {\n displayActions && <Section.HeaderItem>\n <button\n class=\"fjs-pgl-button\"\n title=\"Download form definition\"\n onClick={ handleDownload }\n >Download</button>\n </Section.HeaderItem>\n }\n\n {\n displayActions && <Section.HeaderItem>\n <button\n class=\"fjs-pgl-button\"\n onClick={ showEmbedModal }\n >Embed</button>\n </Section.HeaderItem>\n }\n\n <div ref={ editorContainerRef } class=\"fjs-pgl-form-container\"></div>\n </Section>\n <Section name=\"Form Preview\">\n <div ref={ formContainerRef } class=\"fjs-pgl-form-container\"></div>\n </Section>\n <Section name=\"Form Input\">\n <div ref={ dataContainerRef } class=\"fjs-pgl-text-container\"></div>\n </Section>\n <Section name=\"Form Output\">\n <div ref={ resultContainerRef } class=\"fjs-pgl-text-container\"></div>\n </Section>\n </div>\n <div class=\"fjs-pgl-properties-container\" ref={ propertiesPanelContainerRef } />\n </div>\n );\n}\n\n\n// helpers ///////////////\n\nfunction toString(obj) {\n return JSON.stringify(obj, null, ' ');\n}\n\nfunction createDataEditorPlaceholder() {\n const element = document.createElement('p');\n\n element.innerHTML = 'Use this panel to simulate the form input, such as process variables.\\nThis helps to test the form by populating the preview.\\n\\n' +\n 'Follow the JSON format like this:\\n\\n' +\n '{\\n \"variable\": \"value\"\\n}';\n\n return element;\n}","import { render } from 'preact';\n\nimport fileDrop from 'file-drops';\n\nimport mitt from 'mitt';\n\nimport { PlaygroundRoot } from './components/PlaygroundRoot';\n\n/**\n * @typedef { import('@bpmn-io/form-js-viewer/dist/types/types').FormProperties } FormProperties\n * @typedef { import('@bpmn-io/form-js-editor/dist/types/types').FormEditorProperties } FormEditorProperties\n *\n * @typedef { {\n * actions?: { display: Boolean }\n * additionalModules?: Array<any>\n * container?: Element\n * data: any\n * editor?: { inlinePropertiesPanel: Boolean }\n * editorAdditionalModules?: Array<any>\n * editorProperties?: FormEditorProperties\n * exporter?: { name: String, version: String }\n * propertiesPanel?: { parent: Element, feelPopupContainer: Element }\n * schema: any\n * viewerAdditionalModules?: Array<any>\n * viewerProperties?: FormProperties\n * } } FormPlaygroundOptions\n */\n\n/**\n * @param {FormPlaygroundOptions} options\n */\nexport function Playground(options) {\n\n const {\n container: parent,\n schema,\n data,\n ...rest\n } = options;\n\n const emitter = mitt();\n\n let state = { data, schema };\n let ref;\n\n const container = document.createElement('div');\n\n container.classList.add('fjs-pgl-parent');\n\n if (parent) {\n parent.appendChild(container);\n }\n\n const handleDrop = fileDrop('Drop a form file', function(files) {\n const file = files[0];\n\n if (file) {\n try {\n ref.setSchema(JSON.parse(file.contents));\n } catch (err) {\n\n // TODO(nikku): indicate JSON parse error\n }\n }\n });\n\n const withRef = function(fn) {\n return function(...args) {\n if (!ref) {\n throw new Error('Playground is not initialized.');\n }\n\n return fn(...args);\n };\n };\n\n const onInit = function(_ref) {\n ref = _ref;\n emitter.emit('formPlayground.init');\n };\n\n container.addEventListener('dragover', handleDrop);\n\n render(\n <PlaygroundRoot\n data={ data }\n emit={ emitter.emit }\n onInit={ onInit }\n onStateChanged={ (_state) => state = _state }\n schema={ schema }\n { ...rest }\n />,\n container\n );\n\n this.on = emitter.on;\n this.off = emitter.off;\n\n this.emit = emitter.emit;\n\n this.on('destroy', function() {\n render(null, container);\n });\n\n this.on('destroy', function() {\n parent.removeChild(container);\n });\n\n this.getState = function() {\n return state;\n };\n\n this.getSchema = withRef(() => ref.getSchema());\n\n this.setSchema = withRef((schema) => ref.setSchema(schema));\n\n this.saveSchema = withRef(() => ref.saveSchema());\n\n this.get = withRef((name, strict) => ref.get(name, strict));\n\n this.getDataEditor = withRef(() => ref.getDataEditor());\n\n this.getEditor = withRef(() => ref.getEditor());\n\n this.getForm = withRef((name, strict) => ref.getForm(name, strict));\n\n this.getResultView = withRef(() => ref.getResultView());\n\n this.destroy = function() {\n this.emit('destroy');\n };\n\n this.attachEditorContainer = withRef((node) => ref.attachEditorContainer(node));\n\n this.attachPreviewContainer = withRef((node) => ref.attachFormContainer(node));\n\n this.attachDataContainer = withRef((node) => ref.attachDataContainer(node));\n\n this.attachResultContainer = withRef((node) => ref.attachResultContainer(node));\n\n this.attachPaletteContainer = withRef((node) => ref.attachPaletteContainer(node));\n\n this.attachPropertiesPanelContainer = withRef((node) => ref.attachPropertiesPanelContainer(node));\n}"],"names":["Modal","props","useEffect","handleKey","event","key","stopPropagation","onClose","document","addEventListener","removeEventListener","_jsxs","class","children","_jsx","onClick","name","EmbedModal","schema","serializeValue","data","fieldRef","useRef","snippet","trim","current","select","href","spellCheck","ref","obj","JSON","stringify","replace","variablesFacet","Facet","define","autocompletionExtension","autocompletion","override","completions","context","variables","state","facet","options","map","v","label","type","nodeBefore","syntaxTree","resolve","pos","explicit","word","matchBefore","from","to","NO_LINT_CLS","JSONEditor","contentAttributes","placeholder","editorPlaceholder","readonly","emitter","mitt","language","Compartment","of","json","tabSize","EditorState","container","autocompletionConf","linterExtension","linter","jsonParseLinter","placeholderLinterExtension","view","placeholders","dom","querySelectorAll","length","set","unset","createState","doc","extensions","create","basicSetup","lintGutter","keymap","indentWithTab","createView","updateListener","EditorView","update","docChanged","emit","value","toString","editable","contentAttributesExtension","setValue","setState","setVariables","_view","getValue","on","off","attachTo","_container","appendChild","destroy","parentNode","removeChild","node","cls","classes","domClasses","body","add","remove","Section","elements","Array","isArray","headerItems","reduce","_","child","bucket","HeaderItem","push","PlaygroundRoot","additionalModules","actions","actionsConfig","exporter","exporterConfig","viewerProperties","editorProperties","viewerAdditionalModules","editorAdditionalModules","propertiesPanel","propertiesPanelConfig","onInit","onPlaygroundInit","onStateChanged","display","displayActions","paletteContainerRef","editorContainerRef","formContainerRef","dataContainerRef","resultContainerRef","propertiesPanelContainerRef","paletteRef","formEditorRef","formRef","dataEditorRef","resultViewRef","propertiesPanelRef","showEmbed","setShowEmbed","useState","initialData","undefined","initialSchema","setInitialSchema","setData","setSchema","resultData","setResultData","attachDataContainer","attachEditorContainer","attachFormContainer","attachPaletteContainer","attachPropertiesPanelContainer","attachResultContainer","get","strict","getDataEditor","getEditor","getForm","getResultView","getSchema","saveSchema","dataEditor","tabIndex","createDataEditorPlaceholder","resultView","form","Form","properties","formEditor","FormEditor","renderer","compact","palette","parent","formField","formFields","config","generateInitialDemoData","id","isFunction","initialDemoData","includes","currentData","newData","_getSubmitData","parse","error","formContainer","editorContainer","dataContainer","resultContainer","importSchema","getSchemaVariables","handleDownload","useCallback","download","hideEmbedModal","showEmbedModal","classNames","title","element","createElement","innerHTML","Playground","rest","classList","handleDrop","fileDrop","files","file","contents","err","withRef","fn","args","Error","_ref","render","_state","getState","attachPreviewContainer"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/components/Modal.js","../src/components/EmbedModal.js","../src/components/autocompletion/VariablesFacet.js","../src/components/autocompletion/index.js","../src/components/JSONEditor.js","../src/components/Section.js","../src/components/PlaygroundRoot.js","../src/Playground.js"],"sourcesContent":["import { useEffect } from 'preact/hooks';\n\nexport function Modal(props) {\n\n useEffect(() => {\n function handleKey(event) {\n\n if (event.key === 'Escape') {\n event.stopPropagation();\n\n props.onClose();\n }\n }\n\n document.addEventListener('keydown', handleKey);\n\n return () => {\n document.removeEventListener('keydown', handleKey);\n };\n });\n\n return (\n <div class=\"fjs-pgl-modal\">\n <div class=\"fjs-pgl-modal-backdrop\" onClick={ props.onClose }></div>\n <div class=\"fjs-pgl-modal-content\">\n <h1 class=\"fjs-pgl-modal-header\">{ props.name }</h1>\n <div class=\"fjs-pgl-modal-body\">\n { props.children }\n </div>\n <div class=\"fjs-pgl-modal-footer\">\n <button type=\"button\" class=\"fjs-pgl-button fjs-pgl-button-default\" onClick={ props.onClose }>Close</button>\n </div>\n </div>\n </div>\n );\n}\n","import { useEffect, useRef } from 'preact/hooks';\n\nimport { Modal } from './Modal';\n\n\nexport function EmbedModal(props) {\n\n const schema = serializeValue(props.schema);\n const data = serializeValue(props.data || {});\n\n const fieldRef = useRef();\n\n const snippet = `<!-- styles needed for rendering -->\n<link rel=\"stylesheet\" href=\"https://unpkg.com/@bpmn-io/form-js@0.2.4/dist/assets/form-js.css\">\n\n<!-- container to render the form into -->\n<div class=\"fjs-pgl-form-container\"></div>\n\n<!-- scripts needed for embedding -->\n<script src=\"https://unpkg.com/@bpmn-io/form-js@0.2.4/dist/form-viewer.umd.js\"></script>\n\n<!-- actual script to instantiate the form and load form schema + data -->\n<script>\n const data = JSON.parse(${data});\n const schema = JSON.parse(${schema});\n\n const form = new FormViewer.Form({\n container: document.querySelector(\".fjs-pgl-form-container\")\n });\n\n form.on(\"submit\", (event) => {\n console.log(event.data, event.errors);\n });\n\n form.importSchema(schema, data).catch(err => {\n console.error(\"Failed to render form\", err);\n });\n</script>\n `.trim();\n\n useEffect(() => {\n fieldRef.current.select();\n });\n\n return (\n <Modal name=\"Embed form\" onClose={ props.onClose }>\n <p>Use the following HTML snippet to embed your form with <a href=\"https://github.com/bpmn-io/form-js\">form-js</a>:</p>\n\n <textarea spellCheck=\"false\" ref={ fieldRef }>{snippet}</textarea>\n </Modal>\n );\n}\n\n\n// helpers ///////////\n\nfunction serializeValue(obj) {\n return JSON.stringify(JSON.stringify(obj)).replace(/</g, '&lt;').replace(/>/g, '&gt;');\n}","import { Facet } from '@codemirror/state';\n\n/**\n * @type {Facet<import('..').Variables>} Variables\n */\nexport const variablesFacet = Facet.define();","import { autocompletion } from '@codemirror/autocomplete';\nimport { variablesFacet } from './VariablesFacet';\n\nimport { syntaxTree } from '@codemirror/language';\n\nexport function autocompletionExtension() {\n return [\n autocompletion({\n override: [\n completions\n ]\n })\n ];\n}\n\nfunction completions(context) {\n\n const variables = context.state.facet(variablesFacet)[0];\n\n const options = variables.map(v => ({\n label: v,\n type: 'variable'\n }));\n\n let nodeBefore = syntaxTree(context.state).resolve(context.pos, -1);\n\n // handle inside property name as explicit call\n if (nodeBefore.type.name === 'PropertyName') {\n context.explicit = true;\n }\n\n let word = context.matchBefore(/\\w*/);\n\n if (word.from == word.to && !context.explicit) {\n return null;\n }\n\n return {\n from: word.from,\n options\n };\n}","import mitt from 'mitt';\n\nimport { basicSetup } from 'codemirror';\nimport { EditorView, keymap, placeholder } from '@codemirror/view';\nimport { EditorState, Compartment } from '@codemirror/state';\nimport { lintGutter, linter } from '@codemirror/lint';\nimport { json, jsonParseLinter } from '@codemirror/lang-json';\nimport { indentWithTab } from '@codemirror/commands';\nimport { autocompletionExtension } from './autocompletion/index';\nimport { variablesFacet } from './autocompletion/VariablesFacet';\n\nimport {\n classes as domClasses\n} from 'min-dom';\n\nconst NO_LINT_CLS = 'fjs-no-json-lint';\n\n\n/**\n * @param {object} options\n * @param {boolean} [options.readonly]\n * @param {object} [options.contentAttributes]\n * @param {string | HTMLElement} [options.placeholder]\n */\nexport function JSONEditor(options = {}) {\n const {\n contentAttributes = {},\n placeholder: editorPlaceholder,\n readonly = false,\n } = options;\n\n const emitter = mitt();\n\n let language = new Compartment().of(json());\n let tabSize = new Compartment().of(EditorState.tabSize.of(2));\n\n let container = null;\n\n\n /**\n * @typedef {Array<string>} Variables\n */\n\n const autocompletionConf = new Compartment();\n\n const linterExtension = linter(jsonParseLinter());\n\n // this sets no-linting mode if placeholders are present\n const placeholderLinterExtension = linter(view => {\n const placeholders = view.dom.querySelectorAll('.cm-placeholder');\n\n if (placeholders.length > 0) {\n set(container, NO_LINT_CLS);\n } else {\n unset(container, NO_LINT_CLS);\n }\n\n return [];\n });\n\n function createState(doc, extensions = [], variables = []) {\n return EditorState.create({\n doc,\n extensions: [\n basicSetup,\n language,\n tabSize,\n linterExtension,\n placeholderLinterExtension,\n lintGutter(),\n autocompletionConf.of(variablesFacet.of(variables)),\n autocompletionExtension(),\n keymap.of([ indentWithTab ]),\n editorPlaceholder ? placeholder(editorPlaceholder) : [],\n ...extensions\n ]\n });\n }\n\n function createView(readonly) {\n\n const updateListener = EditorView.updateListener.of(update => {\n if (update.docChanged) {\n emitter.emit('changed', {\n value: update.view.state.doc.toString()\n });\n }\n });\n\n const editable = EditorView.editable.of(!readonly);\n\n const contentAttributesExtension = EditorView.contentAttributes.of(contentAttributes);\n\n const view = new EditorView({\n state: createState('', [ updateListener, editable, contentAttributesExtension ])\n });\n\n view.setValue = function(value) {\n this.setState(createState(value, [ updateListener, editable, contentAttributesExtension ]));\n };\n\n view.setVariables = function(variables) {\n this.setState(createState(\n view.state.doc.toString(),\n [ updateListener, editable, contentAttributesExtension ],\n variables\n ));\n };\n\n return view;\n }\n\n const view = this._view = createView(readonly);\n\n this.setValue = function(value) {\n view.setValue(value);\n };\n\n this.getValue = function() {\n return view.state.doc.toString();\n };\n\n /**\n * @param {Variables} variables\n */\n this.setVariables = function(variables) {\n view.setVariables(variables);\n };\n\n this.on = emitter.on;\n this.off = emitter.off;\n this.emit = emitter.emit;\n\n this.attachTo = function(_container) {\n container = _container;\n container.appendChild(view.dom);\n };\n\n this.destroy = function() {\n if (view.dom.parentNode) {\n view.dom.parentNode.removeChild(view.dom);\n }\n\n view.destroy();\n };\n}\n\n// helpers //////////////////////\n\n\nfunction set(node, cls) {\n const classes = domClasses(node, document.body);\n classes.add(cls);\n}\n\nfunction unset(node, cls) {\n const classes = domClasses(node, document.body);\n classes.remove(cls);\n}\n","export function Section(props) {\n\n const elements =\n Array.isArray(props.children)\n ? props.children :\n [ props.children ];\n\n const {\n headerItems,\n children\n } = elements.reduce((_, child) => {\n const bucket =\n child.type === Section.HeaderItem\n ? _.headerItems\n : _.children;\n\n bucket.push(child);\n\n return _;\n }, { headerItems: [], children: [] });\n\n return (\n <div class=\"fjs-pgl-section\">\n <h1 class=\"header\">{ props.name } { headerItems.length ? <span class=\"header-items\">{ headerItems }</span> : null }</h1>\n <div class=\"body\">\n { children }\n </div>\n </div>\n );\n}\n\nSection.HeaderItem = function(props) {\n return props.children;\n};","import { useRef, useEffect, useState, useCallback } from 'preact/hooks';\nimport { isFunction } from 'min-dash';\nimport download from 'downloadjs';\n\nimport classNames from 'classnames';\n\nimport {\n Form,\n getSchemaVariables\n} from '@bpmn-io/form-js-viewer';\n\nimport {\n FormEditor\n} from '@bpmn-io/form-js-editor';\n\nimport { EmbedModal } from './EmbedModal';\nimport { JSONEditor } from './JSONEditor';\nimport { Section } from './Section';\n\n\nimport './FileDrop.css';\nimport './PlaygroundRoot.css';\n\n\nexport function PlaygroundRoot(props) {\n\n const {\n additionalModules = [], // goes into both editor + viewer\n actions: actionsConfig = {},\n emit,\n exporter: exporterConfig = {},\n viewerProperties = {},\n editorProperties = {},\n viewerAdditionalModules = [],\n editorAdditionalModules = [],\n propertiesPanel: propertiesPanelConfig = {},\n onInit: onPlaygroundInit,\n onStateChanged\n } = props;\n\n const {\n display: displayActions = true\n } = actionsConfig;\n\n const paletteContainerRef = useRef();\n const editorContainerRef = useRef();\n const formContainerRef = useRef();\n const dataContainerRef = useRef();\n const resultContainerRef = useRef();\n const propertiesPanelContainerRef = useRef();\n\n const paletteRef = useRef();\n const formEditorRef = useRef();\n const formRef = useRef();\n const dataEditorRef = useRef();\n const resultViewRef = useRef();\n const propertiesPanelRef = useRef();\n\n const [ showEmbed, setShowEmbed ] = useState(false);\n\n const [ initialData ] = useState(props.data || undefined);\n const [ initialSchema, setInitialSchema ] = useState(props.schema);\n\n const [ data, setData ] = useState(props.data || {});\n const [ schema, setSchema ] = useState(props.schema);\n\n const [ resultData, setResultData ] = useState({});\n\n // pipe to playground API\n useEffect(() => {\n onPlaygroundInit({\n attachDataContainer: (node) => dataEditorRef.current.attachTo(node),\n attachEditorContainer: (node) => formEditorRef.current.attachTo(node),\n attachFormContainer: (node) => formRef.current.attachTo(node),\n attachPaletteContainer: (node) => paletteRef.current.attachTo(node),\n attachPropertiesPanelContainer: (node) => propertiesPanelRef.current.attachTo(node),\n attachResultContainer: (node) => resultViewRef.current.attachTo(node),\n get: (name, strict) => formEditorRef.current.get(name, strict),\n getDataEditor: () => dataEditorRef.current,\n getEditor: () => formEditorRef.current,\n getForm: () => formRef.current,\n getResultView: () => resultViewRef.current,\n getSchema: () => formEditorRef.current.getSchema(),\n setSchema: setInitialSchema,\n saveSchema: () => formEditorRef.current.saveSchema()\n });\n }, [ onPlaygroundInit ]);\n\n useEffect(() => {\n setInitialSchema(props.schema || {});\n }, [ props.schema ]);\n\n useEffect(() => {\n const dataEditor = dataEditorRef.current = new JSONEditor({\n value: toString(data),\n contentAttributes: { 'aria-label': 'Form Input', tabIndex: 0 },\n placeholder: createDataEditorPlaceholder()\n });\n\n const resultView = resultViewRef.current = new JSONEditor({\n readonly: true,\n value: toString(resultData),\n contentAttributes: { 'aria-label': 'Form Output', tabIndex: 0 }\n });\n\n const form = formRef.current = new Form({\n additionalModules: [\n ...additionalModules,\n ...viewerAdditionalModules\n ],\n properties: {\n ...viewerProperties,\n 'ariaLabel': 'Form Preview'\n }\n });\n\n const formEditor = formEditorRef.current = new FormEditor({\n renderer: {\n compact: true\n },\n palette: {\n parent: paletteContainerRef.current\n },\n propertiesPanel: {\n parent: propertiesPanelContainerRef.current,\n ...propertiesPanelConfig\n },\n exporter: exporterConfig,\n properties: {\n ...editorProperties,\n 'ariaLabel': 'Form Definition'\n },\n additionalModules: [\n ...additionalModules,\n ...editorAdditionalModules\n ]\n });\n\n paletteRef.current = formEditor.get('palette');\n propertiesPanelRef.current = formEditor.get('propertiesPanel');\n\n formEditor.on('formField.add', ({ formField }) => {\n const formFields = formEditor.get('formFields');\n const { config } = formFields.get(formField.type);\n const { generateInitialDemoData } = config;\n const { id } = formField;\n\n if (!isFunction(generateInitialDemoData)) {\n return;\n }\n\n const initialDemoData = generateInitialDemoData(formField);\n\n if ([ initialDemoData, id ].includes(undefined)) {\n return;\n }\n\n setData((currentData) => {\n const newData = {\n ...currentData,\n [id]: initialDemoData,\n };\n\n dataEditorRef.current.setValue(\n toString(newData)\n );\n\n return newData;\n });\n });\n\n formEditor.on('changed', () => {\n setSchema(formEditor.getSchema());\n });\n\n formEditor.on('formEditor.rendered', () => {\n\n // notify interested parties after render\n emit('formPlayground.rendered');\n });\n\n form.on('changed', () => {\n setResultData(form._getSubmitData());\n });\n\n dataEditor.on('changed', event => {\n try {\n setData(JSON.parse(event.value));\n } catch (error) {\n\n // notify interested about input data error\n emit('formPlayground.inputDataError', error);\n }\n });\n\n const formContainer = formContainerRef.current;\n const editorContainer = editorContainerRef.current;\n const dataContainer = dataContainerRef.current;\n const resultContainer = resultContainerRef.current;\n\n dataEditor.attachTo(dataContainer);\n resultView.attachTo(resultContainer);\n form.attachTo(formContainer);\n formEditor.attachTo(editorContainer);\n\n return () => {\n dataEditor.destroy();\n resultView.destroy();\n form.destroy();\n formEditor.destroy();\n };\n }, []);\n\n useEffect(() => {\n dataEditorRef.current.setValue(toString(initialData));\n }, [ initialData ]);\n\n useEffect(() => {\n if (initialSchema) {\n formEditorRef.current.importSchema(initialSchema);\n dataEditorRef.current.setVariables(getSchemaVariables(initialSchema));\n }\n }, [ initialSchema ]);\n\n useEffect(() => {\n if (schema && dataContainerRef.current) {\n const variables = getSchemaVariables(schema);\n dataEditorRef.current.setVariables(variables);\n }\n }, [ schema ]);\n\n useEffect(() => {\n schema && formRef.current.importSchema(schema, data);\n }, [ schema, data ]);\n\n useEffect(() => {\n resultViewRef.current.setValue(toString(resultData));\n }, [ resultData ]);\n\n useEffect(() => {\n onStateChanged && onStateChanged({\n schema,\n data\n });\n }, [ onStateChanged, schema, data ]);\n\n const handleDownload = useCallback(() => {\n\n download(JSON.stringify(schema, null, ' '), 'form.json', 'text/json');\n }, [ schema ]);\n\n const hideEmbedModal = useCallback(() => {\n setShowEmbed(false);\n }, []);\n\n const showEmbedModal = useCallback(() => {\n setShowEmbed(true);\n }, []);\n\n return (\n <div class={ classNames(\n 'fjs-container',\n 'fjs-pgl-root'\n ) }>\n <div class=\"fjs-pgl-modals\">\n { showEmbed ? <EmbedModal schema={ schema } data={ data } onClose={ hideEmbedModal } /> : null }\n </div>\n <div class=\"fjs-pgl-palette-container\" ref={ paletteContainerRef } />\n <div class=\"fjs-pgl-main\">\n\n <Section name=\"Form Definition\">\n\n {\n displayActions && <Section.HeaderItem>\n <button\n type=\"button\"\n class=\"fjs-pgl-button\"\n title=\"Download form definition\"\n onClick={ handleDownload }\n >Download</button>\n </Section.HeaderItem>\n }\n\n {\n displayActions && <Section.HeaderItem>\n <button\n type=\"button\"\n class=\"fjs-pgl-button\"\n onClick={ showEmbedModal }\n >Embed</button>\n </Section.HeaderItem>\n }\n\n <div ref={ editorContainerRef } class=\"fjs-pgl-form-container\"></div>\n </Section>\n <Section name=\"Form Preview\">\n <div ref={ formContainerRef } class=\"fjs-pgl-form-container\"></div>\n </Section>\n <Section name=\"Form Input\">\n <div ref={ dataContainerRef } class=\"fjs-pgl-text-container\"></div>\n </Section>\n <Section name=\"Form Output\">\n <div ref={ resultContainerRef } class=\"fjs-pgl-text-container\"></div>\n </Section>\n </div>\n <div class=\"fjs-pgl-properties-container\" ref={ propertiesPanelContainerRef } />\n </div>\n );\n}\n\n\n// helpers ///////////////\n\nfunction toString(obj) {\n return JSON.stringify(obj, null, ' ');\n}\n\nfunction createDataEditorPlaceholder() {\n const element = document.createElement('p');\n\n element.innerHTML = 'Use this panel to simulate the form input, such as process variables.\\nThis helps to test the form by populating the preview.\\n\\n' +\n 'Follow the JSON format like this:\\n\\n' +\n '{\\n \"variable\": \"value\"\\n}';\n\n return element;\n}","import { render } from 'preact';\n\nimport fileDrop from 'file-drops';\n\nimport mitt from 'mitt';\n\nimport { PlaygroundRoot } from './components/PlaygroundRoot';\n\n/**\n * @typedef { import('@bpmn-io/form-js-viewer/dist/types/types').FormProperties } FormProperties\n * @typedef { import('@bpmn-io/form-js-editor/dist/types/types').FormEditorProperties } FormEditorProperties\n *\n * @typedef { {\n * actions?: { display: Boolean }\n * additionalModules?: Array<any>\n * container?: Element\n * data: any\n * editor?: { inlinePropertiesPanel: Boolean }\n * editorAdditionalModules?: Array<any>\n * editorProperties?: FormEditorProperties\n * exporter?: { name: String, version: String }\n * propertiesPanel?: { parent: Element, feelPopupContainer: Element }\n * schema: any\n * viewerAdditionalModules?: Array<any>\n * viewerProperties?: FormProperties\n * } } FormPlaygroundOptions\n */\n\n/**\n * @param {FormPlaygroundOptions} options\n */\nexport function Playground(options) {\n\n const {\n container: parent,\n schema,\n data,\n ...rest\n } = options;\n\n const emitter = mitt();\n\n let state = { data, schema };\n let ref;\n\n const container = document.createElement('div');\n\n container.classList.add('fjs-pgl-parent');\n\n if (parent) {\n parent.appendChild(container);\n }\n\n const handleDrop = fileDrop('Drop a form file', function(files) {\n const file = files[0];\n\n if (file) {\n try {\n ref.setSchema(JSON.parse(file.contents));\n } catch (err) {\n\n // TODO(nikku): indicate JSON parse error\n }\n }\n });\n\n const withRef = function(fn) {\n return function(...args) {\n if (!ref) {\n throw new Error('Playground is not initialized.');\n }\n\n return fn(...args);\n };\n };\n\n const onInit = function(_ref) {\n ref = _ref;\n emitter.emit('formPlayground.init');\n };\n\n container.addEventListener('dragover', handleDrop);\n\n render(\n <PlaygroundRoot\n data={ data }\n emit={ emitter.emit }\n onInit={ onInit }\n onStateChanged={ (_state) => state = _state }\n schema={ schema }\n { ...rest }\n />,\n container\n );\n\n this.on = emitter.on;\n this.off = emitter.off;\n\n this.emit = emitter.emit;\n\n this.on('destroy', function() {\n render(null, container);\n });\n\n this.on('destroy', function() {\n parent.removeChild(container);\n });\n\n this.getState = function() {\n return state;\n };\n\n this.getSchema = withRef(() => ref.getSchema());\n\n this.setSchema = withRef((schema) => ref.setSchema(schema));\n\n this.saveSchema = withRef(() => ref.saveSchema());\n\n this.get = withRef((name, strict) => ref.get(name, strict));\n\n this.getDataEditor = withRef(() => ref.getDataEditor());\n\n this.getEditor = withRef(() => ref.getEditor());\n\n this.getForm = withRef((name, strict) => ref.getForm(name, strict));\n\n this.getResultView = withRef(() => ref.getResultView());\n\n this.destroy = function() {\n this.emit('destroy');\n };\n\n this.attachEditorContainer = withRef((node) => ref.attachEditorContainer(node));\n\n this.attachPreviewContainer = withRef((node) => ref.attachFormContainer(node));\n\n this.attachDataContainer = withRef((node) => ref.attachDataContainer(node));\n\n this.attachResultContainer = withRef((node) => ref.attachResultContainer(node));\n\n this.attachPaletteContainer = withRef((node) => ref.attachPaletteContainer(node));\n\n this.attachPropertiesPanelContainer = withRef((node) => ref.attachPropertiesPanelContainer(node));\n}"],"names":["Modal","props","useEffect","handleKey","event","key","stopPropagation","onClose","document","addEventListener","removeEventListener","_jsxs","class","children","_jsx","onClick","name","type","EmbedModal","schema","serializeValue","data","fieldRef","useRef","snippet","trim","current","select","href","spellCheck","ref","obj","JSON","stringify","replace","variablesFacet","Facet","define","autocompletionExtension","autocompletion","override","completions","context","variables","state","facet","options","map","v","label","nodeBefore","syntaxTree","resolve","pos","explicit","word","matchBefore","from","to","NO_LINT_CLS","JSONEditor","contentAttributes","placeholder","editorPlaceholder","readonly","emitter","mitt","language","Compartment","of","json","tabSize","EditorState","container","autocompletionConf","linterExtension","linter","jsonParseLinter","placeholderLinterExtension","view","placeholders","dom","querySelectorAll","length","set","unset","createState","doc","extensions","create","basicSetup","lintGutter","keymap","indentWithTab","createView","updateListener","EditorView","update","docChanged","emit","value","toString","editable","contentAttributesExtension","setValue","setState","setVariables","_view","getValue","on","off","attachTo","_container","appendChild","destroy","parentNode","removeChild","node","cls","classes","domClasses","body","add","remove","Section","elements","Array","isArray","headerItems","reduce","_","child","bucket","HeaderItem","push","PlaygroundRoot","additionalModules","actions","actionsConfig","exporter","exporterConfig","viewerProperties","editorProperties","viewerAdditionalModules","editorAdditionalModules","propertiesPanel","propertiesPanelConfig","onInit","onPlaygroundInit","onStateChanged","display","displayActions","paletteContainerRef","editorContainerRef","formContainerRef","dataContainerRef","resultContainerRef","propertiesPanelContainerRef","paletteRef","formEditorRef","formRef","dataEditorRef","resultViewRef","propertiesPanelRef","showEmbed","setShowEmbed","useState","initialData","undefined","initialSchema","setInitialSchema","setData","setSchema","resultData","setResultData","attachDataContainer","attachEditorContainer","attachFormContainer","attachPaletteContainer","attachPropertiesPanelContainer","attachResultContainer","get","strict","getDataEditor","getEditor","getForm","getResultView","getSchema","saveSchema","dataEditor","tabIndex","createDataEditorPlaceholder","resultView","form","Form","properties","formEditor","FormEditor","renderer","compact","palette","parent","formField","formFields","config","generateInitialDemoData","id","isFunction","initialDemoData","includes","currentData","newData","_getSubmitData","parse","error","formContainer","editorContainer","dataContainer","resultContainer","importSchema","getSchemaVariables","handleDownload","useCallback","download","hideEmbedModal","showEmbedModal","classNames","title","element","createElement","innerHTML","Playground","rest","classList","handleDrop","fileDrop","files","file","contents","err","withRef","fn","args","Error","_ref","render","_state","getState","attachPreviewContainer"],"mappings":"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"}
package/dist/index.es.js CHANGED
@@ -47,6 +47,7 @@ function Modal(props) {
47
47
  }), jsx("div", {
48
48
  class: "fjs-pgl-modal-footer",
49
49
  children: jsx("button", {
50
+ type: "button",
50
51
  class: "fjs-pgl-button fjs-pgl-button-default",
51
52
  onClick: props.onClose,
52
53
  children: "Close"
@@ -497,6 +498,7 @@ function PlaygroundRoot(props) {
497
498
  name: "Form Definition",
498
499
  children: [displayActions && jsx(Section.HeaderItem, {
499
500
  children: jsx("button", {
501
+ type: "button",
500
502
  class: "fjs-pgl-button",
501
503
  title: "Download form definition",
502
504
  onClick: handleDownload,
@@ -504,6 +506,7 @@ function PlaygroundRoot(props) {
504
506
  })
505
507
  }), displayActions && jsx(Section.HeaderItem, {
506
508
  children: jsx("button", {
509
+ type: "button",
507
510
  class: "fjs-pgl-button",
508
511
  onClick: showEmbedModal,
509
512
  children: "Embed"
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../src/components/Modal.js","../src/components/EmbedModal.js","../src/components/autocompletion/VariablesFacet.js","../src/components/autocompletion/index.js","../src/components/JSONEditor.js","../src/components/Section.js","../src/components/PlaygroundRoot.js","../src/Playground.js"],"sourcesContent":["import { useEffect } from 'preact/hooks';\n\nexport function Modal(props) {\n\n useEffect(() => {\n function handleKey(event) {\n\n if (event.key === 'Escape') {\n event.stopPropagation();\n\n props.onClose();\n }\n }\n\n document.addEventListener('keydown', handleKey);\n\n return () => {\n document.removeEventListener('keydown', handleKey);\n };\n });\n\n return (\n <div class=\"fjs-pgl-modal\">\n <div class=\"fjs-pgl-modal-backdrop\" onClick={ props.onClose }></div>\n <div class=\"fjs-pgl-modal-content\">\n <h1 class=\"fjs-pgl-modal-header\">{ props.name }</h1>\n <div class=\"fjs-pgl-modal-body\">\n { props.children }\n </div>\n <div class=\"fjs-pgl-modal-footer\">\n <button class=\"fjs-pgl-button fjs-pgl-button-default\" onClick={ props.onClose }>Close</button>\n </div>\n </div>\n </div>\n );\n}\n","import { useEffect, useRef } from 'preact/hooks';\n\nimport { Modal } from './Modal';\n\n\nexport function EmbedModal(props) {\n\n const schema = serializeValue(props.schema);\n const data = serializeValue(props.data || {});\n\n const fieldRef = useRef();\n\n const snippet = `<!-- styles needed for rendering -->\n<link rel=\"stylesheet\" href=\"https://unpkg.com/@bpmn-io/form-js@0.2.4/dist/assets/form-js.css\">\n\n<!-- container to render the form into -->\n<div class=\"fjs-pgl-form-container\"></div>\n\n<!-- scripts needed for embedding -->\n<script src=\"https://unpkg.com/@bpmn-io/form-js@0.2.4/dist/form-viewer.umd.js\"></script>\n\n<!-- actual script to instantiate the form and load form schema + data -->\n<script>\n const data = JSON.parse(${data});\n const schema = JSON.parse(${schema});\n\n const form = new FormViewer.Form({\n container: document.querySelector(\".fjs-pgl-form-container\")\n });\n\n form.on(\"submit\", (event) => {\n console.log(event.data, event.errors);\n });\n\n form.importSchema(schema, data).catch(err => {\n console.error(\"Failed to render form\", err);\n });\n</script>\n `.trim();\n\n useEffect(() => {\n fieldRef.current.select();\n });\n\n return (\n <Modal name=\"Embed form\" onClose={ props.onClose }>\n <p>Use the following HTML snippet to embed your form with <a href=\"https://github.com/bpmn-io/form-js\">form-js</a>:</p>\n\n <textarea spellCheck=\"false\" ref={ fieldRef }>{snippet}</textarea>\n </Modal>\n );\n}\n\n\n// helpers ///////////\n\nfunction serializeValue(obj) {\n return JSON.stringify(JSON.stringify(obj)).replace(/</g, '&lt;').replace(/>/g, '&gt;');\n}","import { Facet } from '@codemirror/state';\n\n/**\n * @type {Facet<import('..').Variables>} Variables\n */\nexport const variablesFacet = Facet.define();","import { autocompletion } from '@codemirror/autocomplete';\nimport { variablesFacet } from './VariablesFacet';\n\nimport { syntaxTree } from '@codemirror/language';\n\nexport function autocompletionExtension() {\n return [\n autocompletion({\n override: [\n completions\n ]\n })\n ];\n}\n\nfunction completions(context) {\n\n const variables = context.state.facet(variablesFacet)[0];\n\n const options = variables.map(v => ({\n label: v,\n type: 'variable'\n }));\n\n let nodeBefore = syntaxTree(context.state).resolve(context.pos, -1);\n\n // handle inside property name as explicit call\n if (nodeBefore.type.name === 'PropertyName') {\n context.explicit = true;\n }\n\n let word = context.matchBefore(/\\w*/);\n\n if (word.from == word.to && !context.explicit) {\n return null;\n }\n\n return {\n from: word.from,\n options\n };\n}","import mitt from 'mitt';\n\nimport { basicSetup } from 'codemirror';\nimport { EditorView, keymap, placeholder } from '@codemirror/view';\nimport { EditorState, Compartment } from '@codemirror/state';\nimport { lintGutter, linter } from '@codemirror/lint';\nimport { json, jsonParseLinter } from '@codemirror/lang-json';\nimport { indentWithTab } from '@codemirror/commands';\nimport { autocompletionExtension } from './autocompletion/index';\nimport { variablesFacet } from './autocompletion/VariablesFacet';\n\nimport {\n classes as domClasses\n} from 'min-dom';\n\nconst NO_LINT_CLS = 'fjs-no-json-lint';\n\n\n/**\n * @param {object} options\n * @param {boolean} [options.readonly]\n * @param {object} [options.contentAttributes]\n * @param {string | HTMLElement} [options.placeholder]\n */\nexport function JSONEditor(options = {}) {\n const {\n contentAttributes = {},\n placeholder: editorPlaceholder,\n readonly = false,\n } = options;\n\n const emitter = mitt();\n\n let language = new Compartment().of(json());\n let tabSize = new Compartment().of(EditorState.tabSize.of(2));\n\n let container = null;\n\n\n /**\n * @typedef {Array<string>} Variables\n */\n\n const autocompletionConf = new Compartment();\n\n const linterExtension = linter(jsonParseLinter());\n\n // this sets no-linting mode if placeholders are present\n const placeholderLinterExtension = linter(view => {\n const placeholders = view.dom.querySelectorAll('.cm-placeholder');\n\n if (placeholders.length > 0) {\n set(container, NO_LINT_CLS);\n } else {\n unset(container, NO_LINT_CLS);\n }\n\n return [];\n });\n\n function createState(doc, extensions = [], variables = []) {\n return EditorState.create({\n doc,\n extensions: [\n basicSetup,\n language,\n tabSize,\n linterExtension,\n placeholderLinterExtension,\n lintGutter(),\n autocompletionConf.of(variablesFacet.of(variables)),\n autocompletionExtension(),\n keymap.of([ indentWithTab ]),\n editorPlaceholder ? placeholder(editorPlaceholder) : [],\n ...extensions\n ]\n });\n }\n\n function createView(readonly) {\n\n const updateListener = EditorView.updateListener.of(update => {\n if (update.docChanged) {\n emitter.emit('changed', {\n value: update.view.state.doc.toString()\n });\n }\n });\n\n const editable = EditorView.editable.of(!readonly);\n\n const contentAttributesExtension = EditorView.contentAttributes.of(contentAttributes);\n\n const view = new EditorView({\n state: createState('', [ updateListener, editable, contentAttributesExtension ])\n });\n\n view.setValue = function(value) {\n this.setState(createState(value, [ updateListener, editable, contentAttributesExtension ]));\n };\n\n view.setVariables = function(variables) {\n this.setState(createState(\n view.state.doc.toString(),\n [ updateListener, editable, contentAttributesExtension ],\n variables\n ));\n };\n\n return view;\n }\n\n const view = this._view = createView(readonly);\n\n this.setValue = function(value) {\n view.setValue(value);\n };\n\n this.getValue = function() {\n return view.state.doc.toString();\n };\n\n /**\n * @param {Variables} variables\n */\n this.setVariables = function(variables) {\n view.setVariables(variables);\n };\n\n this.on = emitter.on;\n this.off = emitter.off;\n this.emit = emitter.emit;\n\n this.attachTo = function(_container) {\n container = _container;\n container.appendChild(view.dom);\n };\n\n this.destroy = function() {\n if (view.dom.parentNode) {\n view.dom.parentNode.removeChild(view.dom);\n }\n\n view.destroy();\n };\n}\n\n// helpers //////////////////////\n\n\nfunction set(node, cls) {\n const classes = domClasses(node, document.body);\n classes.add(cls);\n}\n\nfunction unset(node, cls) {\n const classes = domClasses(node, document.body);\n classes.remove(cls);\n}\n","export function Section(props) {\n\n const elements =\n Array.isArray(props.children)\n ? props.children :\n [ props.children ];\n\n const {\n headerItems,\n children\n } = elements.reduce((_, child) => {\n const bucket =\n child.type === Section.HeaderItem\n ? _.headerItems\n : _.children;\n\n bucket.push(child);\n\n return _;\n }, { headerItems: [], children: [] });\n\n return (\n <div class=\"fjs-pgl-section\">\n <h1 class=\"header\">{ props.name } { headerItems.length ? <span class=\"header-items\">{ headerItems }</span> : null }</h1>\n <div class=\"body\">\n { children }\n </div>\n </div>\n );\n}\n\nSection.HeaderItem = function(props) {\n return props.children;\n};","import { useRef, useEffect, useState, useCallback } from 'preact/hooks';\nimport { isFunction } from 'min-dash';\nimport download from 'downloadjs';\n\nimport classNames from 'classnames';\n\nimport {\n Form,\n getSchemaVariables\n} from '@bpmn-io/form-js-viewer';\n\nimport {\n FormEditor\n} from '@bpmn-io/form-js-editor';\n\nimport { EmbedModal } from './EmbedModal';\nimport { JSONEditor } from './JSONEditor';\nimport { Section } from './Section';\n\n\nimport './FileDrop.css';\nimport './PlaygroundRoot.css';\n\n\nexport function PlaygroundRoot(props) {\n\n const {\n additionalModules = [], // goes into both editor + viewer\n actions: actionsConfig = {},\n emit,\n exporter: exporterConfig = {},\n viewerProperties = {},\n editorProperties = {},\n viewerAdditionalModules = [],\n editorAdditionalModules = [],\n propertiesPanel: propertiesPanelConfig = {},\n onInit: onPlaygroundInit,\n onStateChanged\n } = props;\n\n const {\n display: displayActions = true\n } = actionsConfig;\n\n const paletteContainerRef = useRef();\n const editorContainerRef = useRef();\n const formContainerRef = useRef();\n const dataContainerRef = useRef();\n const resultContainerRef = useRef();\n const propertiesPanelContainerRef = useRef();\n\n const paletteRef = useRef();\n const formEditorRef = useRef();\n const formRef = useRef();\n const dataEditorRef = useRef();\n const resultViewRef = useRef();\n const propertiesPanelRef = useRef();\n\n const [ showEmbed, setShowEmbed ] = useState(false);\n\n const [ initialData ] = useState(props.data || undefined);\n const [ initialSchema, setInitialSchema ] = useState(props.schema);\n\n const [ data, setData ] = useState(props.data || {});\n const [ schema, setSchema ] = useState(props.schema);\n\n const [ resultData, setResultData ] = useState({});\n\n // pipe to playground API\n useEffect(() => {\n onPlaygroundInit({\n attachDataContainer: (node) => dataEditorRef.current.attachTo(node),\n attachEditorContainer: (node) => formEditorRef.current.attachTo(node),\n attachFormContainer: (node) => formRef.current.attachTo(node),\n attachPaletteContainer: (node) => paletteRef.current.attachTo(node),\n attachPropertiesPanelContainer: (node) => propertiesPanelRef.current.attachTo(node),\n attachResultContainer: (node) => resultViewRef.current.attachTo(node),\n get: (name, strict) => formEditorRef.current.get(name, strict),\n getDataEditor: () => dataEditorRef.current,\n getEditor: () => formEditorRef.current,\n getForm: () => formRef.current,\n getResultView: () => resultViewRef.current,\n getSchema: () => formEditorRef.current.getSchema(),\n setSchema: setInitialSchema,\n saveSchema: () => formEditorRef.current.saveSchema()\n });\n }, [ onPlaygroundInit ]);\n\n useEffect(() => {\n setInitialSchema(props.schema || {});\n }, [ props.schema ]);\n\n useEffect(() => {\n const dataEditor = dataEditorRef.current = new JSONEditor({\n value: toString(data),\n contentAttributes: { 'aria-label': 'Form Input', tabIndex: 0 },\n placeholder: createDataEditorPlaceholder()\n });\n\n const resultView = resultViewRef.current = new JSONEditor({\n readonly: true,\n value: toString(resultData),\n contentAttributes: { 'aria-label': 'Form Output', tabIndex: 0 }\n });\n\n const form = formRef.current = new Form({\n additionalModules: [\n ...additionalModules,\n ...viewerAdditionalModules\n ],\n properties: {\n ...viewerProperties,\n 'ariaLabel': 'Form Preview'\n }\n });\n\n const formEditor = formEditorRef.current = new FormEditor({\n renderer: {\n compact: true\n },\n palette: {\n parent: paletteContainerRef.current\n },\n propertiesPanel: {\n parent: propertiesPanelContainerRef.current,\n ...propertiesPanelConfig\n },\n exporter: exporterConfig,\n properties: {\n ...editorProperties,\n 'ariaLabel': 'Form Definition'\n },\n additionalModules: [\n ...additionalModules,\n ...editorAdditionalModules\n ]\n });\n\n paletteRef.current = formEditor.get('palette');\n propertiesPanelRef.current = formEditor.get('propertiesPanel');\n\n formEditor.on('formField.add', ({ formField }) => {\n const formFields = formEditor.get('formFields');\n const { config } = formFields.get(formField.type);\n const { generateInitialDemoData } = config;\n const { id } = formField;\n\n if (!isFunction(generateInitialDemoData)) {\n return;\n }\n\n const initialDemoData = generateInitialDemoData(formField);\n\n if ([ initialDemoData, id ].includes(undefined)) {\n return;\n }\n\n setData((currentData) => {\n const newData = {\n ...currentData,\n [id]: initialDemoData,\n };\n\n dataEditorRef.current.setValue(\n toString(newData)\n );\n\n return newData;\n });\n });\n\n formEditor.on('changed', () => {\n setSchema(formEditor.getSchema());\n });\n\n formEditor.on('formEditor.rendered', () => {\n\n // notify interested parties after render\n emit('formPlayground.rendered');\n });\n\n form.on('changed', () => {\n setResultData(form._getSubmitData());\n });\n\n dataEditor.on('changed', event => {\n try {\n setData(JSON.parse(event.value));\n } catch (error) {\n\n // notify interested about input data error\n emit('formPlayground.inputDataError', error);\n }\n });\n\n const formContainer = formContainerRef.current;\n const editorContainer = editorContainerRef.current;\n const dataContainer = dataContainerRef.current;\n const resultContainer = resultContainerRef.current;\n\n dataEditor.attachTo(dataContainer);\n resultView.attachTo(resultContainer);\n form.attachTo(formContainer);\n formEditor.attachTo(editorContainer);\n\n return () => {\n dataEditor.destroy();\n resultView.destroy();\n form.destroy();\n formEditor.destroy();\n };\n }, []);\n\n useEffect(() => {\n dataEditorRef.current.setValue(toString(initialData));\n }, [ initialData ]);\n\n useEffect(() => {\n if (initialSchema) {\n formEditorRef.current.importSchema(initialSchema);\n dataEditorRef.current.setVariables(getSchemaVariables(initialSchema));\n }\n }, [ initialSchema ]);\n\n useEffect(() => {\n if (schema && dataContainerRef.current) {\n const variables = getSchemaVariables(schema);\n dataEditorRef.current.setVariables(variables);\n }\n }, [ schema ]);\n\n useEffect(() => {\n schema && formRef.current.importSchema(schema, data);\n }, [ schema, data ]);\n\n useEffect(() => {\n resultViewRef.current.setValue(toString(resultData));\n }, [ resultData ]);\n\n useEffect(() => {\n onStateChanged && onStateChanged({\n schema,\n data\n });\n }, [ onStateChanged, schema, data ]);\n\n const handleDownload = useCallback(() => {\n\n download(JSON.stringify(schema, null, ' '), 'form.json', 'text/json');\n }, [ schema ]);\n\n const hideEmbedModal = useCallback(() => {\n setShowEmbed(false);\n }, []);\n\n const showEmbedModal = useCallback(() => {\n setShowEmbed(true);\n }, []);\n\n return (\n <div class={ classNames(\n 'fjs-container',\n 'fjs-pgl-root'\n ) }>\n <div class=\"fjs-pgl-modals\">\n { showEmbed ? <EmbedModal schema={ schema } data={ data } onClose={ hideEmbedModal } /> : null }\n </div>\n <div class=\"fjs-pgl-palette-container\" ref={ paletteContainerRef } />\n <div class=\"fjs-pgl-main\">\n\n <Section name=\"Form Definition\">\n\n {\n displayActions && <Section.HeaderItem>\n <button\n class=\"fjs-pgl-button\"\n title=\"Download form definition\"\n onClick={ handleDownload }\n >Download</button>\n </Section.HeaderItem>\n }\n\n {\n displayActions && <Section.HeaderItem>\n <button\n class=\"fjs-pgl-button\"\n onClick={ showEmbedModal }\n >Embed</button>\n </Section.HeaderItem>\n }\n\n <div ref={ editorContainerRef } class=\"fjs-pgl-form-container\"></div>\n </Section>\n <Section name=\"Form Preview\">\n <div ref={ formContainerRef } class=\"fjs-pgl-form-container\"></div>\n </Section>\n <Section name=\"Form Input\">\n <div ref={ dataContainerRef } class=\"fjs-pgl-text-container\"></div>\n </Section>\n <Section name=\"Form Output\">\n <div ref={ resultContainerRef } class=\"fjs-pgl-text-container\"></div>\n </Section>\n </div>\n <div class=\"fjs-pgl-properties-container\" ref={ propertiesPanelContainerRef } />\n </div>\n );\n}\n\n\n// helpers ///////////////\n\nfunction toString(obj) {\n return JSON.stringify(obj, null, ' ');\n}\n\nfunction createDataEditorPlaceholder() {\n const element = document.createElement('p');\n\n element.innerHTML = 'Use this panel to simulate the form input, such as process variables.\\nThis helps to test the form by populating the preview.\\n\\n' +\n 'Follow the JSON format like this:\\n\\n' +\n '{\\n \"variable\": \"value\"\\n}';\n\n return element;\n}","import { render } from 'preact';\n\nimport fileDrop from 'file-drops';\n\nimport mitt from 'mitt';\n\nimport { PlaygroundRoot } from './components/PlaygroundRoot';\n\n/**\n * @typedef { import('@bpmn-io/form-js-viewer/dist/types/types').FormProperties } FormProperties\n * @typedef { import('@bpmn-io/form-js-editor/dist/types/types').FormEditorProperties } FormEditorProperties\n *\n * @typedef { {\n * actions?: { display: Boolean }\n * additionalModules?: Array<any>\n * container?: Element\n * data: any\n * editor?: { inlinePropertiesPanel: Boolean }\n * editorAdditionalModules?: Array<any>\n * editorProperties?: FormEditorProperties\n * exporter?: { name: String, version: String }\n * propertiesPanel?: { parent: Element, feelPopupContainer: Element }\n * schema: any\n * viewerAdditionalModules?: Array<any>\n * viewerProperties?: FormProperties\n * } } FormPlaygroundOptions\n */\n\n/**\n * @param {FormPlaygroundOptions} options\n */\nexport function Playground(options) {\n\n const {\n container: parent,\n schema,\n data,\n ...rest\n } = options;\n\n const emitter = mitt();\n\n let state = { data, schema };\n let ref;\n\n const container = document.createElement('div');\n\n container.classList.add('fjs-pgl-parent');\n\n if (parent) {\n parent.appendChild(container);\n }\n\n const handleDrop = fileDrop('Drop a form file', function(files) {\n const file = files[0];\n\n if (file) {\n try {\n ref.setSchema(JSON.parse(file.contents));\n } catch (err) {\n\n // TODO(nikku): indicate JSON parse error\n }\n }\n });\n\n const withRef = function(fn) {\n return function(...args) {\n if (!ref) {\n throw new Error('Playground is not initialized.');\n }\n\n return fn(...args);\n };\n };\n\n const onInit = function(_ref) {\n ref = _ref;\n emitter.emit('formPlayground.init');\n };\n\n container.addEventListener('dragover', handleDrop);\n\n render(\n <PlaygroundRoot\n data={ data }\n emit={ emitter.emit }\n onInit={ onInit }\n onStateChanged={ (_state) => state = _state }\n schema={ schema }\n { ...rest }\n />,\n container\n );\n\n this.on = emitter.on;\n this.off = emitter.off;\n\n this.emit = emitter.emit;\n\n this.on('destroy', function() {\n render(null, container);\n });\n\n this.on('destroy', function() {\n parent.removeChild(container);\n });\n\n this.getState = function() {\n return state;\n };\n\n this.getSchema = withRef(() => ref.getSchema());\n\n this.setSchema = withRef((schema) => ref.setSchema(schema));\n\n this.saveSchema = withRef(() => ref.saveSchema());\n\n this.get = withRef((name, strict) => ref.get(name, strict));\n\n this.getDataEditor = withRef(() => ref.getDataEditor());\n\n this.getEditor = withRef(() => ref.getEditor());\n\n this.getForm = withRef((name, strict) => ref.getForm(name, strict));\n\n this.getResultView = withRef(() => ref.getResultView());\n\n this.destroy = function() {\n this.emit('destroy');\n };\n\n this.attachEditorContainer = withRef((node) => ref.attachEditorContainer(node));\n\n this.attachPreviewContainer = withRef((node) => ref.attachFormContainer(node));\n\n this.attachDataContainer = withRef((node) => ref.attachDataContainer(node));\n\n this.attachResultContainer = withRef((node) => ref.attachResultContainer(node));\n\n this.attachPaletteContainer = withRef((node) => ref.attachPaletteContainer(node));\n\n this.attachPropertiesPanelContainer = withRef((node) => ref.attachPropertiesPanelContainer(node));\n}"],"names":["Modal","props","useEffect","handleKey","event","key","stopPropagation","onClose","document","addEventListener","removeEventListener","_jsxs","class","children","_jsx","onClick","name","EmbedModal","schema","serializeValue","data","fieldRef","useRef","snippet","trim","current","select","href","spellCheck","ref","obj","JSON","stringify","replace","variablesFacet","Facet","define","autocompletionExtension","autocompletion","override","completions","context","variables","state","facet","options","map","v","label","type","nodeBefore","syntaxTree","resolve","pos","explicit","word","matchBefore","from","to","NO_LINT_CLS","JSONEditor","contentAttributes","placeholder","editorPlaceholder","readonly","emitter","mitt","language","Compartment","of","json","tabSize","EditorState","container","autocompletionConf","linterExtension","linter","jsonParseLinter","placeholderLinterExtension","view","placeholders","dom","querySelectorAll","length","set","unset","createState","doc","extensions","create","basicSetup","lintGutter","keymap","indentWithTab","createView","updateListener","EditorView","update","docChanged","emit","value","toString","editable","contentAttributesExtension","setValue","setState","setVariables","_view","getValue","on","off","attachTo","_container","appendChild","destroy","parentNode","removeChild","node","cls","classes","domClasses","body","add","remove","Section","elements","Array","isArray","headerItems","reduce","_","child","bucket","HeaderItem","push","PlaygroundRoot","additionalModules","actions","actionsConfig","exporter","exporterConfig","viewerProperties","editorProperties","viewerAdditionalModules","editorAdditionalModules","propertiesPanel","propertiesPanelConfig","onInit","onPlaygroundInit","onStateChanged","display","displayActions","paletteContainerRef","editorContainerRef","formContainerRef","dataContainerRef","resultContainerRef","propertiesPanelContainerRef","paletteRef","formEditorRef","formRef","dataEditorRef","resultViewRef","propertiesPanelRef","showEmbed","setShowEmbed","useState","initialData","undefined","initialSchema","setInitialSchema","setData","setSchema","resultData","setResultData","attachDataContainer","attachEditorContainer","attachFormContainer","attachPaletteContainer","attachPropertiesPanelContainer","attachResultContainer","get","strict","getDataEditor","getEditor","getForm","getResultView","getSchema","saveSchema","dataEditor","tabIndex","createDataEditorPlaceholder","resultView","form","Form","properties","formEditor","FormEditor","renderer","compact","palette","parent","formField","formFields","config","generateInitialDemoData","id","isFunction","initialDemoData","includes","currentData","newData","_getSubmitData","parse","error","formContainer","editorContainer","dataContainer","resultContainer","importSchema","getSchemaVariables","handleDownload","useCallback","download","hideEmbedModal","showEmbedModal","classNames","title","element","createElement","innerHTML","Playground","rest","classList","handleDrop","fileDrop","files","file","contents","err","withRef","fn","args","Error","_ref","render","_state","getState","attachPreviewContainer"],"mappings":"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"}
1
+ {"version":3,"file":"index.es.js","sources":["../src/components/Modal.js","../src/components/EmbedModal.js","../src/components/autocompletion/VariablesFacet.js","../src/components/autocompletion/index.js","../src/components/JSONEditor.js","../src/components/Section.js","../src/components/PlaygroundRoot.js","../src/Playground.js"],"sourcesContent":["import { useEffect } from 'preact/hooks';\n\nexport function Modal(props) {\n\n useEffect(() => {\n function handleKey(event) {\n\n if (event.key === 'Escape') {\n event.stopPropagation();\n\n props.onClose();\n }\n }\n\n document.addEventListener('keydown', handleKey);\n\n return () => {\n document.removeEventListener('keydown', handleKey);\n };\n });\n\n return (\n <div class=\"fjs-pgl-modal\">\n <div class=\"fjs-pgl-modal-backdrop\" onClick={ props.onClose }></div>\n <div class=\"fjs-pgl-modal-content\">\n <h1 class=\"fjs-pgl-modal-header\">{ props.name }</h1>\n <div class=\"fjs-pgl-modal-body\">\n { props.children }\n </div>\n <div class=\"fjs-pgl-modal-footer\">\n <button type=\"button\" class=\"fjs-pgl-button fjs-pgl-button-default\" onClick={ props.onClose }>Close</button>\n </div>\n </div>\n </div>\n );\n}\n","import { useEffect, useRef } from 'preact/hooks';\n\nimport { Modal } from './Modal';\n\n\nexport function EmbedModal(props) {\n\n const schema = serializeValue(props.schema);\n const data = serializeValue(props.data || {});\n\n const fieldRef = useRef();\n\n const snippet = `<!-- styles needed for rendering -->\n<link rel=\"stylesheet\" href=\"https://unpkg.com/@bpmn-io/form-js@0.2.4/dist/assets/form-js.css\">\n\n<!-- container to render the form into -->\n<div class=\"fjs-pgl-form-container\"></div>\n\n<!-- scripts needed for embedding -->\n<script src=\"https://unpkg.com/@bpmn-io/form-js@0.2.4/dist/form-viewer.umd.js\"></script>\n\n<!-- actual script to instantiate the form and load form schema + data -->\n<script>\n const data = JSON.parse(${data});\n const schema = JSON.parse(${schema});\n\n const form = new FormViewer.Form({\n container: document.querySelector(\".fjs-pgl-form-container\")\n });\n\n form.on(\"submit\", (event) => {\n console.log(event.data, event.errors);\n });\n\n form.importSchema(schema, data).catch(err => {\n console.error(\"Failed to render form\", err);\n });\n</script>\n `.trim();\n\n useEffect(() => {\n fieldRef.current.select();\n });\n\n return (\n <Modal name=\"Embed form\" onClose={ props.onClose }>\n <p>Use the following HTML snippet to embed your form with <a href=\"https://github.com/bpmn-io/form-js\">form-js</a>:</p>\n\n <textarea spellCheck=\"false\" ref={ fieldRef }>{snippet}</textarea>\n </Modal>\n );\n}\n\n\n// helpers ///////////\n\nfunction serializeValue(obj) {\n return JSON.stringify(JSON.stringify(obj)).replace(/</g, '&lt;').replace(/>/g, '&gt;');\n}","import { Facet } from '@codemirror/state';\n\n/**\n * @type {Facet<import('..').Variables>} Variables\n */\nexport const variablesFacet = Facet.define();","import { autocompletion } from '@codemirror/autocomplete';\nimport { variablesFacet } from './VariablesFacet';\n\nimport { syntaxTree } from '@codemirror/language';\n\nexport function autocompletionExtension() {\n return [\n autocompletion({\n override: [\n completions\n ]\n })\n ];\n}\n\nfunction completions(context) {\n\n const variables = context.state.facet(variablesFacet)[0];\n\n const options = variables.map(v => ({\n label: v,\n type: 'variable'\n }));\n\n let nodeBefore = syntaxTree(context.state).resolve(context.pos, -1);\n\n // handle inside property name as explicit call\n if (nodeBefore.type.name === 'PropertyName') {\n context.explicit = true;\n }\n\n let word = context.matchBefore(/\\w*/);\n\n if (word.from == word.to && !context.explicit) {\n return null;\n }\n\n return {\n from: word.from,\n options\n };\n}","import mitt from 'mitt';\n\nimport { basicSetup } from 'codemirror';\nimport { EditorView, keymap, placeholder } from '@codemirror/view';\nimport { EditorState, Compartment } from '@codemirror/state';\nimport { lintGutter, linter } from '@codemirror/lint';\nimport { json, jsonParseLinter } from '@codemirror/lang-json';\nimport { indentWithTab } from '@codemirror/commands';\nimport { autocompletionExtension } from './autocompletion/index';\nimport { variablesFacet } from './autocompletion/VariablesFacet';\n\nimport {\n classes as domClasses\n} from 'min-dom';\n\nconst NO_LINT_CLS = 'fjs-no-json-lint';\n\n\n/**\n * @param {object} options\n * @param {boolean} [options.readonly]\n * @param {object} [options.contentAttributes]\n * @param {string | HTMLElement} [options.placeholder]\n */\nexport function JSONEditor(options = {}) {\n const {\n contentAttributes = {},\n placeholder: editorPlaceholder,\n readonly = false,\n } = options;\n\n const emitter = mitt();\n\n let language = new Compartment().of(json());\n let tabSize = new Compartment().of(EditorState.tabSize.of(2));\n\n let container = null;\n\n\n /**\n * @typedef {Array<string>} Variables\n */\n\n const autocompletionConf = new Compartment();\n\n const linterExtension = linter(jsonParseLinter());\n\n // this sets no-linting mode if placeholders are present\n const placeholderLinterExtension = linter(view => {\n const placeholders = view.dom.querySelectorAll('.cm-placeholder');\n\n if (placeholders.length > 0) {\n set(container, NO_LINT_CLS);\n } else {\n unset(container, NO_LINT_CLS);\n }\n\n return [];\n });\n\n function createState(doc, extensions = [], variables = []) {\n return EditorState.create({\n doc,\n extensions: [\n basicSetup,\n language,\n tabSize,\n linterExtension,\n placeholderLinterExtension,\n lintGutter(),\n autocompletionConf.of(variablesFacet.of(variables)),\n autocompletionExtension(),\n keymap.of([ indentWithTab ]),\n editorPlaceholder ? placeholder(editorPlaceholder) : [],\n ...extensions\n ]\n });\n }\n\n function createView(readonly) {\n\n const updateListener = EditorView.updateListener.of(update => {\n if (update.docChanged) {\n emitter.emit('changed', {\n value: update.view.state.doc.toString()\n });\n }\n });\n\n const editable = EditorView.editable.of(!readonly);\n\n const contentAttributesExtension = EditorView.contentAttributes.of(contentAttributes);\n\n const view = new EditorView({\n state: createState('', [ updateListener, editable, contentAttributesExtension ])\n });\n\n view.setValue = function(value) {\n this.setState(createState(value, [ updateListener, editable, contentAttributesExtension ]));\n };\n\n view.setVariables = function(variables) {\n this.setState(createState(\n view.state.doc.toString(),\n [ updateListener, editable, contentAttributesExtension ],\n variables\n ));\n };\n\n return view;\n }\n\n const view = this._view = createView(readonly);\n\n this.setValue = function(value) {\n view.setValue(value);\n };\n\n this.getValue = function() {\n return view.state.doc.toString();\n };\n\n /**\n * @param {Variables} variables\n */\n this.setVariables = function(variables) {\n view.setVariables(variables);\n };\n\n this.on = emitter.on;\n this.off = emitter.off;\n this.emit = emitter.emit;\n\n this.attachTo = function(_container) {\n container = _container;\n container.appendChild(view.dom);\n };\n\n this.destroy = function() {\n if (view.dom.parentNode) {\n view.dom.parentNode.removeChild(view.dom);\n }\n\n view.destroy();\n };\n}\n\n// helpers //////////////////////\n\n\nfunction set(node, cls) {\n const classes = domClasses(node, document.body);\n classes.add(cls);\n}\n\nfunction unset(node, cls) {\n const classes = domClasses(node, document.body);\n classes.remove(cls);\n}\n","export function Section(props) {\n\n const elements =\n Array.isArray(props.children)\n ? props.children :\n [ props.children ];\n\n const {\n headerItems,\n children\n } = elements.reduce((_, child) => {\n const bucket =\n child.type === Section.HeaderItem\n ? _.headerItems\n : _.children;\n\n bucket.push(child);\n\n return _;\n }, { headerItems: [], children: [] });\n\n return (\n <div class=\"fjs-pgl-section\">\n <h1 class=\"header\">{ props.name } { headerItems.length ? <span class=\"header-items\">{ headerItems }</span> : null }</h1>\n <div class=\"body\">\n { children }\n </div>\n </div>\n );\n}\n\nSection.HeaderItem = function(props) {\n return props.children;\n};","import { useRef, useEffect, useState, useCallback } from 'preact/hooks';\nimport { isFunction } from 'min-dash';\nimport download from 'downloadjs';\n\nimport classNames from 'classnames';\n\nimport {\n Form,\n getSchemaVariables\n} from '@bpmn-io/form-js-viewer';\n\nimport {\n FormEditor\n} from '@bpmn-io/form-js-editor';\n\nimport { EmbedModal } from './EmbedModal';\nimport { JSONEditor } from './JSONEditor';\nimport { Section } from './Section';\n\n\nimport './FileDrop.css';\nimport './PlaygroundRoot.css';\n\n\nexport function PlaygroundRoot(props) {\n\n const {\n additionalModules = [], // goes into both editor + viewer\n actions: actionsConfig = {},\n emit,\n exporter: exporterConfig = {},\n viewerProperties = {},\n editorProperties = {},\n viewerAdditionalModules = [],\n editorAdditionalModules = [],\n propertiesPanel: propertiesPanelConfig = {},\n onInit: onPlaygroundInit,\n onStateChanged\n } = props;\n\n const {\n display: displayActions = true\n } = actionsConfig;\n\n const paletteContainerRef = useRef();\n const editorContainerRef = useRef();\n const formContainerRef = useRef();\n const dataContainerRef = useRef();\n const resultContainerRef = useRef();\n const propertiesPanelContainerRef = useRef();\n\n const paletteRef = useRef();\n const formEditorRef = useRef();\n const formRef = useRef();\n const dataEditorRef = useRef();\n const resultViewRef = useRef();\n const propertiesPanelRef = useRef();\n\n const [ showEmbed, setShowEmbed ] = useState(false);\n\n const [ initialData ] = useState(props.data || undefined);\n const [ initialSchema, setInitialSchema ] = useState(props.schema);\n\n const [ data, setData ] = useState(props.data || {});\n const [ schema, setSchema ] = useState(props.schema);\n\n const [ resultData, setResultData ] = useState({});\n\n // pipe to playground API\n useEffect(() => {\n onPlaygroundInit({\n attachDataContainer: (node) => dataEditorRef.current.attachTo(node),\n attachEditorContainer: (node) => formEditorRef.current.attachTo(node),\n attachFormContainer: (node) => formRef.current.attachTo(node),\n attachPaletteContainer: (node) => paletteRef.current.attachTo(node),\n attachPropertiesPanelContainer: (node) => propertiesPanelRef.current.attachTo(node),\n attachResultContainer: (node) => resultViewRef.current.attachTo(node),\n get: (name, strict) => formEditorRef.current.get(name, strict),\n getDataEditor: () => dataEditorRef.current,\n getEditor: () => formEditorRef.current,\n getForm: () => formRef.current,\n getResultView: () => resultViewRef.current,\n getSchema: () => formEditorRef.current.getSchema(),\n setSchema: setInitialSchema,\n saveSchema: () => formEditorRef.current.saveSchema()\n });\n }, [ onPlaygroundInit ]);\n\n useEffect(() => {\n setInitialSchema(props.schema || {});\n }, [ props.schema ]);\n\n useEffect(() => {\n const dataEditor = dataEditorRef.current = new JSONEditor({\n value: toString(data),\n contentAttributes: { 'aria-label': 'Form Input', tabIndex: 0 },\n placeholder: createDataEditorPlaceholder()\n });\n\n const resultView = resultViewRef.current = new JSONEditor({\n readonly: true,\n value: toString(resultData),\n contentAttributes: { 'aria-label': 'Form Output', tabIndex: 0 }\n });\n\n const form = formRef.current = new Form({\n additionalModules: [\n ...additionalModules,\n ...viewerAdditionalModules\n ],\n properties: {\n ...viewerProperties,\n 'ariaLabel': 'Form Preview'\n }\n });\n\n const formEditor = formEditorRef.current = new FormEditor({\n renderer: {\n compact: true\n },\n palette: {\n parent: paletteContainerRef.current\n },\n propertiesPanel: {\n parent: propertiesPanelContainerRef.current,\n ...propertiesPanelConfig\n },\n exporter: exporterConfig,\n properties: {\n ...editorProperties,\n 'ariaLabel': 'Form Definition'\n },\n additionalModules: [\n ...additionalModules,\n ...editorAdditionalModules\n ]\n });\n\n paletteRef.current = formEditor.get('palette');\n propertiesPanelRef.current = formEditor.get('propertiesPanel');\n\n formEditor.on('formField.add', ({ formField }) => {\n const formFields = formEditor.get('formFields');\n const { config } = formFields.get(formField.type);\n const { generateInitialDemoData } = config;\n const { id } = formField;\n\n if (!isFunction(generateInitialDemoData)) {\n return;\n }\n\n const initialDemoData = generateInitialDemoData(formField);\n\n if ([ initialDemoData, id ].includes(undefined)) {\n return;\n }\n\n setData((currentData) => {\n const newData = {\n ...currentData,\n [id]: initialDemoData,\n };\n\n dataEditorRef.current.setValue(\n toString(newData)\n );\n\n return newData;\n });\n });\n\n formEditor.on('changed', () => {\n setSchema(formEditor.getSchema());\n });\n\n formEditor.on('formEditor.rendered', () => {\n\n // notify interested parties after render\n emit('formPlayground.rendered');\n });\n\n form.on('changed', () => {\n setResultData(form._getSubmitData());\n });\n\n dataEditor.on('changed', event => {\n try {\n setData(JSON.parse(event.value));\n } catch (error) {\n\n // notify interested about input data error\n emit('formPlayground.inputDataError', error);\n }\n });\n\n const formContainer = formContainerRef.current;\n const editorContainer = editorContainerRef.current;\n const dataContainer = dataContainerRef.current;\n const resultContainer = resultContainerRef.current;\n\n dataEditor.attachTo(dataContainer);\n resultView.attachTo(resultContainer);\n form.attachTo(formContainer);\n formEditor.attachTo(editorContainer);\n\n return () => {\n dataEditor.destroy();\n resultView.destroy();\n form.destroy();\n formEditor.destroy();\n };\n }, []);\n\n useEffect(() => {\n dataEditorRef.current.setValue(toString(initialData));\n }, [ initialData ]);\n\n useEffect(() => {\n if (initialSchema) {\n formEditorRef.current.importSchema(initialSchema);\n dataEditorRef.current.setVariables(getSchemaVariables(initialSchema));\n }\n }, [ initialSchema ]);\n\n useEffect(() => {\n if (schema && dataContainerRef.current) {\n const variables = getSchemaVariables(schema);\n dataEditorRef.current.setVariables(variables);\n }\n }, [ schema ]);\n\n useEffect(() => {\n schema && formRef.current.importSchema(schema, data);\n }, [ schema, data ]);\n\n useEffect(() => {\n resultViewRef.current.setValue(toString(resultData));\n }, [ resultData ]);\n\n useEffect(() => {\n onStateChanged && onStateChanged({\n schema,\n data\n });\n }, [ onStateChanged, schema, data ]);\n\n const handleDownload = useCallback(() => {\n\n download(JSON.stringify(schema, null, ' '), 'form.json', 'text/json');\n }, [ schema ]);\n\n const hideEmbedModal = useCallback(() => {\n setShowEmbed(false);\n }, []);\n\n const showEmbedModal = useCallback(() => {\n setShowEmbed(true);\n }, []);\n\n return (\n <div class={ classNames(\n 'fjs-container',\n 'fjs-pgl-root'\n ) }>\n <div class=\"fjs-pgl-modals\">\n { showEmbed ? <EmbedModal schema={ schema } data={ data } onClose={ hideEmbedModal } /> : null }\n </div>\n <div class=\"fjs-pgl-palette-container\" ref={ paletteContainerRef } />\n <div class=\"fjs-pgl-main\">\n\n <Section name=\"Form Definition\">\n\n {\n displayActions && <Section.HeaderItem>\n <button\n type=\"button\"\n class=\"fjs-pgl-button\"\n title=\"Download form definition\"\n onClick={ handleDownload }\n >Download</button>\n </Section.HeaderItem>\n }\n\n {\n displayActions && <Section.HeaderItem>\n <button\n type=\"button\"\n class=\"fjs-pgl-button\"\n onClick={ showEmbedModal }\n >Embed</button>\n </Section.HeaderItem>\n }\n\n <div ref={ editorContainerRef } class=\"fjs-pgl-form-container\"></div>\n </Section>\n <Section name=\"Form Preview\">\n <div ref={ formContainerRef } class=\"fjs-pgl-form-container\"></div>\n </Section>\n <Section name=\"Form Input\">\n <div ref={ dataContainerRef } class=\"fjs-pgl-text-container\"></div>\n </Section>\n <Section name=\"Form Output\">\n <div ref={ resultContainerRef } class=\"fjs-pgl-text-container\"></div>\n </Section>\n </div>\n <div class=\"fjs-pgl-properties-container\" ref={ propertiesPanelContainerRef } />\n </div>\n );\n}\n\n\n// helpers ///////////////\n\nfunction toString(obj) {\n return JSON.stringify(obj, null, ' ');\n}\n\nfunction createDataEditorPlaceholder() {\n const element = document.createElement('p');\n\n element.innerHTML = 'Use this panel to simulate the form input, such as process variables.\\nThis helps to test the form by populating the preview.\\n\\n' +\n 'Follow the JSON format like this:\\n\\n' +\n '{\\n \"variable\": \"value\"\\n}';\n\n return element;\n}","import { render } from 'preact';\n\nimport fileDrop from 'file-drops';\n\nimport mitt from 'mitt';\n\nimport { PlaygroundRoot } from './components/PlaygroundRoot';\n\n/**\n * @typedef { import('@bpmn-io/form-js-viewer/dist/types/types').FormProperties } FormProperties\n * @typedef { import('@bpmn-io/form-js-editor/dist/types/types').FormEditorProperties } FormEditorProperties\n *\n * @typedef { {\n * actions?: { display: Boolean }\n * additionalModules?: Array<any>\n * container?: Element\n * data: any\n * editor?: { inlinePropertiesPanel: Boolean }\n * editorAdditionalModules?: Array<any>\n * editorProperties?: FormEditorProperties\n * exporter?: { name: String, version: String }\n * propertiesPanel?: { parent: Element, feelPopupContainer: Element }\n * schema: any\n * viewerAdditionalModules?: Array<any>\n * viewerProperties?: FormProperties\n * } } FormPlaygroundOptions\n */\n\n/**\n * @param {FormPlaygroundOptions} options\n */\nexport function Playground(options) {\n\n const {\n container: parent,\n schema,\n data,\n ...rest\n } = options;\n\n const emitter = mitt();\n\n let state = { data, schema };\n let ref;\n\n const container = document.createElement('div');\n\n container.classList.add('fjs-pgl-parent');\n\n if (parent) {\n parent.appendChild(container);\n }\n\n const handleDrop = fileDrop('Drop a form file', function(files) {\n const file = files[0];\n\n if (file) {\n try {\n ref.setSchema(JSON.parse(file.contents));\n } catch (err) {\n\n // TODO(nikku): indicate JSON parse error\n }\n }\n });\n\n const withRef = function(fn) {\n return function(...args) {\n if (!ref) {\n throw new Error('Playground is not initialized.');\n }\n\n return fn(...args);\n };\n };\n\n const onInit = function(_ref) {\n ref = _ref;\n emitter.emit('formPlayground.init');\n };\n\n container.addEventListener('dragover', handleDrop);\n\n render(\n <PlaygroundRoot\n data={ data }\n emit={ emitter.emit }\n onInit={ onInit }\n onStateChanged={ (_state) => state = _state }\n schema={ schema }\n { ...rest }\n />,\n container\n );\n\n this.on = emitter.on;\n this.off = emitter.off;\n\n this.emit = emitter.emit;\n\n this.on('destroy', function() {\n render(null, container);\n });\n\n this.on('destroy', function() {\n parent.removeChild(container);\n });\n\n this.getState = function() {\n return state;\n };\n\n this.getSchema = withRef(() => ref.getSchema());\n\n this.setSchema = withRef((schema) => ref.setSchema(schema));\n\n this.saveSchema = withRef(() => ref.saveSchema());\n\n this.get = withRef((name, strict) => ref.get(name, strict));\n\n this.getDataEditor = withRef(() => ref.getDataEditor());\n\n this.getEditor = withRef(() => ref.getEditor());\n\n this.getForm = withRef((name, strict) => ref.getForm(name, strict));\n\n this.getResultView = withRef(() => ref.getResultView());\n\n this.destroy = function() {\n this.emit('destroy');\n };\n\n this.attachEditorContainer = withRef((node) => ref.attachEditorContainer(node));\n\n this.attachPreviewContainer = withRef((node) => ref.attachFormContainer(node));\n\n this.attachDataContainer = withRef((node) => ref.attachDataContainer(node));\n\n this.attachResultContainer = withRef((node) => ref.attachResultContainer(node));\n\n this.attachPaletteContainer = withRef((node) => ref.attachPaletteContainer(node));\n\n this.attachPropertiesPanelContainer = withRef((node) => ref.attachPropertiesPanelContainer(node));\n}"],"names":["Modal","props","useEffect","handleKey","event","key","stopPropagation","onClose","document","addEventListener","removeEventListener","_jsxs","class","children","_jsx","onClick","name","type","EmbedModal","schema","serializeValue","data","fieldRef","useRef","snippet","trim","current","select","href","spellCheck","ref","obj","JSON","stringify","replace","variablesFacet","Facet","define","autocompletionExtension","autocompletion","override","completions","context","variables","state","facet","options","map","v","label","nodeBefore","syntaxTree","resolve","pos","explicit","word","matchBefore","from","to","NO_LINT_CLS","JSONEditor","contentAttributes","placeholder","editorPlaceholder","readonly","emitter","mitt","language","Compartment","of","json","tabSize","EditorState","container","autocompletionConf","linterExtension","linter","jsonParseLinter","placeholderLinterExtension","view","placeholders","dom","querySelectorAll","length","set","unset","createState","doc","extensions","create","basicSetup","lintGutter","keymap","indentWithTab","createView","updateListener","EditorView","update","docChanged","emit","value","toString","editable","contentAttributesExtension","setValue","setState","setVariables","_view","getValue","on","off","attachTo","_container","appendChild","destroy","parentNode","removeChild","node","cls","classes","domClasses","body","add","remove","Section","elements","Array","isArray","headerItems","reduce","_","child","bucket","HeaderItem","push","PlaygroundRoot","additionalModules","actions","actionsConfig","exporter","exporterConfig","viewerProperties","editorProperties","viewerAdditionalModules","editorAdditionalModules","propertiesPanel","propertiesPanelConfig","onInit","onPlaygroundInit","onStateChanged","display","displayActions","paletteContainerRef","editorContainerRef","formContainerRef","dataContainerRef","resultContainerRef","propertiesPanelContainerRef","paletteRef","formEditorRef","formRef","dataEditorRef","resultViewRef","propertiesPanelRef","showEmbed","setShowEmbed","useState","initialData","undefined","initialSchema","setInitialSchema","setData","setSchema","resultData","setResultData","attachDataContainer","attachEditorContainer","attachFormContainer","attachPaletteContainer","attachPropertiesPanelContainer","attachResultContainer","get","strict","getDataEditor","getEditor","getForm","getResultView","getSchema","saveSchema","dataEditor","tabIndex","createDataEditorPlaceholder","resultView","form","Form","properties","formEditor","FormEditor","renderer","compact","palette","parent","formField","formFields","config","generateInitialDemoData","id","isFunction","initialDemoData","includes","currentData","newData","_getSubmitData","parse","error","formContainer","editorContainer","dataContainer","resultContainer","importSchema","getSchemaVariables","handleDownload","useCallback","download","hideEmbedModal","showEmbedModal","classNames","title","element","createElement","innerHTML","Playground","rest","classList","handleDrop","fileDrop","files","file","contents","err","withRef","fn","args","Error","_ref","render","_state","getState","attachPreviewContainer"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bpmn-io/form-js-playground",
3
- "version": "1.7.1",
3
+ "version": "1.7.3",
4
4
  "description": "A form-js playground",
5
5
  "files": [
6
6
  "dist"
@@ -44,8 +44,8 @@
44
44
  "url": "https://github.com/bpmn-io"
45
45
  },
46
46
  "dependencies": {
47
- "@bpmn-io/form-js-editor": "^1.7.1",
48
- "@bpmn-io/form-js-viewer": "^1.7.1",
47
+ "@bpmn-io/form-js-editor": "^1.7.3",
48
+ "@bpmn-io/form-js-viewer": "^1.7.3",
49
49
  "@codemirror/autocomplete": "^6.12.0",
50
50
  "@codemirror/commands": "^6.1.2",
51
51
  "@codemirror/lang-json": "^6.0.1",
@@ -70,5 +70,5 @@
70
70
  "rollup-plugin-css-only": "^4.0.0",
71
71
  "style-loader": "^3.3.0"
72
72
  },
73
- "gitHead": "f6ffe2569d2d2f7fe6214ad5bb00b76f1d74ef1a"
73
+ "gitHead": "495efb051b4ff6a8f8abebedd035a95651345f9f"
74
74
  }