@bpmn-io/properties-panel 3.24.1 → 3.25.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -15,13 +15,14 @@
15
15
  --color-grey-0-0-22: hsl(0, 0%, 22%);
16
16
 
17
17
  --color-blue-205-100-35: hsl(205, 100%, 35%);
18
+ --color-blue-205-100-40: hsl(205, 100%, 40%);
19
+ --color-green-150-86-44: hsl(150, 86%, 44%);
18
20
  --color-blue-205-100-45: hsl(205, 100%, 45%);
19
21
  --color-blue-205-100-50: hsl(205, 100%, 50%);
20
- --color-blue-205-100-85: hsl(205, 100%, 85%);
21
- --color-blue-205-100-95: hsl(205, 100%, 95%);
22
22
  --color-blue-219-99-53: hsl(219, 99%, 53%);
23
23
  --color-blue-218-100-74: hsl(218, 100%, 74%);
24
- --color-green-150-86-44: hsl(150, 86%, 44%);
24
+ --color-blue-205-100-85: hsl(205, 100%, 85%);
25
+ --color-blue-205-100-95: hsl(205, 100%, 95%);
25
26
 
26
27
  --color-red-360-100-40: hsl(360, 100%, 40%);
27
28
  --color-red-360-100-45: hsl(360, 100%, 45%);
@@ -78,6 +79,7 @@
78
79
 
79
80
  --input-focus-background-color: var(--color-blue-205-100-95);
80
81
  --input-focus-border-color: var(--color-blue-205-100-50);
82
+ --focus-outline-color: var(--color-blue-205-100-40);
81
83
 
82
84
  --input-error-background-color: var(--color-red-360-100-97);
83
85
  --input-error-border-color: var(--color-red-360-100-45);
@@ -299,6 +301,11 @@
299
301
  background: none;
300
302
  }
301
303
 
304
+ .bio-properties-panel-group-header-button:focus {
305
+ outline-offset: 2px;
306
+ outline-color: var(--focus-outline-color);
307
+ }
308
+
302
309
  .bio-properties-panel-group-header-buttons .bio-properties-panel-group-header-buttons:last-child {
303
310
  margin-right: 0;
304
311
  }
@@ -537,8 +544,9 @@ select.bio-properties-panel-input {
537
544
  }
538
545
 
539
546
  .bio-properties-panel-input[type="checkbox"]:focus {
540
- outline: 2px solid var(--input-focus-border-color);
541
- outline-offset: 0;
547
+ outline: auto;
548
+ outline-color: var(--focus-outline-color);
549
+ outline-offset: 2px;
542
550
  }
543
551
 
544
552
  .bio-properties-panel-checkbox > .bio-properties-panel-label {
@@ -1397,10 +1405,14 @@ textarea.bio-properties-panel-input {
1397
1405
  }
1398
1406
 
1399
1407
  .bio-properties-panel-feel-popup__title-link {
1400
- margin-left: auto;
1408
+ margin-left: 8px;
1401
1409
  display: flex;
1402
1410
  }
1403
1411
 
1412
+ .bio-properties-panel-feel-popup__title-link:first-of-type {
1413
+ margin-left: auto;
1414
+ }
1415
+
1404
1416
  .bio-properties-panel-feel-popup__title-link svg {
1405
1417
  width: var(--popup-header-line-height);
1406
1418
  height: var(--popup-header-line-height);
package/dist/index.esm.js CHANGED
@@ -24,6 +24,21 @@ ArrowIcon.defaultProps = {
24
24
  width: "16",
25
25
  height: "16"
26
26
  };
27
+ var CloseIcon = function CloseIcon(props) {
28
+ return jsx("svg", {
29
+ ...props,
30
+ children: jsx("path", {
31
+ fillRule: "evenodd",
32
+ d: "m12 4.7-.7-.7L8 7.3 4.7 4l-.7.7L7.3 8 4 11.3l.7.7L8 8.7l3.3 3.3.7-.7L8.7 8 12 4.7Z",
33
+ fill: "currentColor"
34
+ })
35
+ });
36
+ };
37
+ CloseIcon.defaultProps = {
38
+ xmlns: "http://www.w3.org/2000/svg",
39
+ width: "16",
40
+ height: "16"
41
+ };
27
42
  var CreateIcon = function CreateIcon(props) {
28
43
  return jsx("svg", {
29
44
  ...props,
@@ -111,26 +126,17 @@ FeelIcon$1.defaultProps = {
111
126
  fill: "none",
112
127
  xmlns: "http://www.w3.org/2000/svg"
113
128
  };
114
- var HelpIcon = function HelpIcon(props) {
129
+ var LaunchIcon = function LaunchIcon(props) {
115
130
  return jsxs("svg", {
116
131
  ...props,
117
132
  children: [jsx("path", {
118
- d: "M16 2a14 14 0 1 0 14 14A14 14 0 0 0 16 2Zm0 26a12 12 0 1 1 12-12 12 12 0 0 1-12 12Z"
119
- }), jsx("circle", {
120
- cx: "16",
121
- cy: "23.5",
122
- r: "1.5"
133
+ d: "M26 28H6a2.003 2.003 0 0 1-2-2V6a2.003 2.003 0 0 1 2-2h10v2H6v20h20V16h2v10a2.003 2.003 0 0 1-2 2Z"
123
134
  }), jsx("path", {
124
- d: "M17 8h-1.5a4.49 4.49 0 0 0-4.5 4.5v.5h2v-.5a2.5 2.5 0 0 1 2.5-2.5H17a2.5 2.5 0 0 1 0 5h-2v4.5h2V17a4.5 4.5 0 0 0 0-9Z"
125
- }), jsx("path", {
126
- style: {
127
- fill: "none"
128
- },
129
- d: "M0 0h32v32H0z"
135
+ d: "M20 2v2h6.586L18 12.586 19.414 14 28 5.414V12h2V2H20z"
130
136
  })]
131
137
  });
132
138
  };
133
- HelpIcon.defaultProps = {
139
+ LaunchIcon.defaultProps = {
134
140
  xmlns: "http://www.w3.org/2000/svg",
135
141
  viewBox: "0 0 32 32"
136
142
  };
@@ -152,21 +158,6 @@ PopupIcon.defaultProps = {
152
158
  height: "16",
153
159
  viewBox: "0 0 32 32"
154
160
  };
155
- var CloseIcon = function CloseIcon(props) {
156
- return jsx("svg", {
157
- ...props,
158
- children: jsx("path", {
159
- fillRule: "evenodd",
160
- d: "m12 4.7-.7-.7L8 7.3 4.7 4l-.7.7L7.3 8 4 11.3l.7.7L8 8.7l3.3 3.3.7-.7L8.7 8 12 4.7Z",
161
- fill: "currentColor"
162
- })
163
- });
164
- };
165
- CloseIcon.defaultProps = {
166
- xmlns: "http://www.w3.org/2000/svg",
167
- width: "16",
168
- height: "16"
169
- };
170
161
 
171
162
  function Header(props) {
172
163
  const {
@@ -206,7 +197,7 @@ function Header(props) {
206
197
  }), jsx("div", {
207
198
  class: "bio-properties-panel-header-actions",
208
199
  children: documentationRef ? jsx("a", {
209
- rel: "noopener",
200
+ rel: "noreferrer",
210
201
  class: "bio-properties-panel-header-link",
211
202
  href: documentationRef,
212
203
  title: "Open documentation",
@@ -1477,7 +1468,8 @@ function FEELPopupRoot(props) {
1477
1468
  on() {},
1478
1469
  off() {}
1479
1470
  },
1480
- popupContainer
1471
+ popupContainer,
1472
+ getPopupLinks = () => []
1481
1473
  } = props;
1482
1474
  const prevElement = usePrevious(element);
1483
1475
  const [popupConfig, setPopupConfig] = useState({});
@@ -1552,6 +1544,7 @@ function FEELPopupRoot(props) {
1552
1544
  children: [open && jsx(FeelPopupComponent, {
1553
1545
  onClose: handleClose,
1554
1546
  container: popupContainer,
1547
+ getLinks: getPopupLinks,
1555
1548
  sourceElement: sourceElement,
1556
1549
  emit: emit,
1557
1550
  ...popupConfig
@@ -1561,6 +1554,7 @@ function FEELPopupRoot(props) {
1561
1554
  function FeelPopupComponent(props) {
1562
1555
  const {
1563
1556
  container,
1557
+ getLinks,
1564
1558
  id,
1565
1559
  hostLanguage,
1566
1560
  onInput,
@@ -1630,24 +1624,24 @@ function FeelPopupComponent(props) {
1630
1624
  height: FEEL_POPUP_HEIGHT,
1631
1625
  width: FEEL_POPUP_WIDTH,
1632
1626
  ref: popupRef,
1633
- children: [jsxs(Popup.Title, {
1627
+ children: [jsx(Popup.Title, {
1634
1628
  title: title,
1635
1629
  emit: emit,
1636
1630
  showCloseButton: true,
1637
1631
  closeButtonTooltip: "Save and close",
1638
1632
  onClose: onClose,
1639
1633
  draggable: true,
1640
- children: [type === 'feel' && jsxs("a", {
1641
- href: "https://docs.camunda.io/docs/components/modeler/feel/what-is-feel/",
1642
- target: "_blank",
1643
- class: "bio-properties-panel-feel-popup__title-link",
1644
- children: ["Learn FEEL expressions", jsx(HelpIcon, {})]
1645
- }), type === 'feelers' && jsxs("a", {
1646
- href: "https://docs.camunda.io/docs/components/modeler/forms/configuration/forms-config-templating-syntax/",
1647
- target: "_blank",
1648
- class: "bio-properties-panel-feel-popup__title-link",
1649
- children: ["Learn templating", jsx(HelpIcon, {})]
1650
- })]
1634
+ children: jsx(Fragment, {
1635
+ children: getLinks(type).map((link, index) => {
1636
+ return jsxs("a", {
1637
+ rel: "noreferrer",
1638
+ href: link.href,
1639
+ target: "_blank",
1640
+ class: "bio-properties-panel-feel-popup__title-link",
1641
+ children: [link.title, jsx(LaunchIcon, {})]
1642
+ }, index);
1643
+ })
1644
+ })
1651
1645
  }), jsx(Popup.Body, {
1652
1646
  children: jsxs("div", {
1653
1647
  onKeyDownCapture: onKeyDownCapture,
@@ -2776,6 +2770,7 @@ const DEFAULT_TOOLTIP = {};
2776
2770
  * @param {TooltipConfig} [props.tooltipConfig]
2777
2771
  * @param {Function} [props.tooltipLoaded]
2778
2772
  * @param {HTMLElement} [props.feelPopupContainer]
2773
+ * @param {Function} [props.getFeelPopupLinks]
2779
2774
  * @param {Object} [props.eventBus]
2780
2775
  */
2781
2776
  function PropertiesPanel(props) {
@@ -2791,6 +2786,7 @@ function PropertiesPanel(props) {
2791
2786
  tooltipConfig,
2792
2787
  tooltipLoaded,
2793
2788
  feelPopupContainer,
2789
+ getFeelPopupLinks,
2794
2790
  eventBus
2795
2791
  } = props;
2796
2792
 
@@ -2895,6 +2891,7 @@ function PropertiesPanel(props) {
2895
2891
  element: element,
2896
2892
  eventBus: eventBus,
2897
2893
  popupContainer: feelPopupContainer,
2894
+ getPopupLinks: getFeelPopupLinks,
2898
2895
  children: jsxs("div", {
2899
2896
  class: "bio-properties-panel",
2900
2897
  children: [jsx(Header, {
@@ -4330,5 +4327,5 @@ var index = {
4330
4327
  feelPopup: ['type', FeelPopupModule]
4331
4328
  };
4332
4329
 
4333
- export { ArrowIcon, CheckboxEntry, CloseIcon, CollapsibleEntry, CreateIcon, index$1 as DebounceInputModule, DeleteIcon, DescriptionContext, Description as DescriptionEntry, DragIcon, DropdownButton, ErrorsContext, EventContext, ExternalLinkIcon, FeelCheckboxEntry, FeelEntry, FeelIcon$1 as FeelIcon, FeelNumberEntry, index as FeelPopupModule, FeelTemplatingEntry, FeelTextAreaEntry, FeelToggleSwitchEntry, Group, Header, HeaderButton, HelpIcon, LayoutContext, List as ListEntry, ListGroup, ListItem, NumberFieldEntry, Placeholder, Popup, PopupIcon, PropertiesPanel, LayoutContext as PropertiesPanelContext, SelectEntry, Simple as SimpleEntry, TemplatingEntry, TextAreaEntry, TextfieldEntry as TextFieldEntry, ToggleSwitchEntry, TooltipContext, TooltipWrapper as TooltipEntry, isEdited$5 as isCheckboxEntryEdited, isEdited$6 as isFeelEntryEdited, isEdited$7 as isNumberFieldEntryEdited, isEdited$3 as isSelectEntryEdited, isEdited$2 as isSimpleEntryEdited, isEdited$4 as isTemplatingEntryEdited, isEdited$1 as isTextAreaEntryEdited, isEdited as isTextFieldEntryEdited, isEdited$8 as isToggleSwitchEntryEdited, useDescriptionContext, useElementVisible, useError, useErrors, useEvent, useKeyFactory, useLayoutState, usePrevious, useShowEntryEvent, useStaticCallback, useStickyIntersectionObserver, useTooltipContext };
4330
+ export { ArrowIcon, CheckboxEntry, CloseIcon, CollapsibleEntry, CreateIcon, index$1 as DebounceInputModule, DeleteIcon, DescriptionContext, Description as DescriptionEntry, DragIcon, DropdownButton, ErrorsContext, EventContext, ExternalLinkIcon, FeelCheckboxEntry, FeelEntry, FeelIcon$1 as FeelIcon, FeelNumberEntry, index as FeelPopupModule, FeelTemplatingEntry, FeelTextAreaEntry, FeelToggleSwitchEntry, Group, Header, HeaderButton, LaunchIcon, LayoutContext, List as ListEntry, ListGroup, ListItem, NumberFieldEntry, Placeholder, Popup, PopupIcon, PropertiesPanel, LayoutContext as PropertiesPanelContext, SelectEntry, Simple as SimpleEntry, TemplatingEntry, TextAreaEntry, TextfieldEntry as TextFieldEntry, ToggleSwitchEntry, TooltipContext, TooltipWrapper as TooltipEntry, isEdited$5 as isCheckboxEntryEdited, isEdited$6 as isFeelEntryEdited, isEdited$7 as isNumberFieldEntryEdited, isEdited$3 as isSelectEntryEdited, isEdited$2 as isSimpleEntryEdited, isEdited$4 as isTemplatingEntryEdited, isEdited$1 as isTextAreaEntryEdited, isEdited as isTextFieldEntryEdited, isEdited$8 as isToggleSwitchEntryEdited, useDescriptionContext, useElementVisible, useError, useErrors, useEvent, useKeyFactory, useLayoutState, usePrevious, useShowEntryEvent, useStaticCallback, useStickyIntersectionObserver, useTooltipContext };
4334
4331
  //# sourceMappingURL=index.esm.js.map