@rytass/bpm-core-react 0.21.0 → 0.21.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/dist/chunks/{FormBuilderView-WtC2iW5f.js → FormBuilderView-6KdApi-D.js} +8 -8
  3. package/dist/chunks/{FormBuilderView-WtC2iW5f.js.map → FormBuilderView-6KdApi-D.js.map} +1 -1
  4. package/dist/chunks/{FormBuilderView-DjPGrOJ2.cjs → FormBuilderView-CGKkuVFi.cjs} +3 -3
  5. package/dist/chunks/{FormBuilderView-DjPGrOJ2.cjs.map → FormBuilderView-CGKkuVFi.cjs.map} +1 -1
  6. package/dist/chunks/{approval-instance-list-page-Bth7Raya.js → approval-instance-list-page-BI5fIXc-.js} +26 -26
  7. package/dist/chunks/{approval-instance-list-page-Bth7Raya.js.map → approval-instance-list-page-BI5fIXc-.js.map} +1 -1
  8. package/dist/chunks/{approval-instance-list-page-Dcvo6TrT.cjs → approval-instance-list-page-Cv5I1YPX.cjs} +2 -2
  9. package/dist/chunks/{approval-instance-list-page-Dcvo6TrT.cjs.map → approval-instance-list-page-Cv5I1YPX.cjs.map} +1 -1
  10. package/dist/chunks/compose-CtWuunwB.cjs +2 -0
  11. package/dist/chunks/compose-CtWuunwB.cjs.map +1 -0
  12. package/dist/chunks/{compose-DZvIspW3.js → compose-M-GR6smM.js} +4 -4
  13. package/dist/chunks/{compose-DZvIspW3.js.map → compose-M-GR6smM.js.map} +1 -1
  14. package/dist/chunks/{designer-CWubIE69.js → designer-BnMeiMVe.js} +2192 -1609
  15. package/dist/chunks/designer-BnMeiMVe.js.map +1 -0
  16. package/dist/chunks/designer-D6fCDq_q.cjs +69 -0
  17. package/dist/chunks/designer-D6fCDq_q.cjs.map +1 -0
  18. package/dist/chunks/detail-C5KrUC7s.cjs +5 -0
  19. package/dist/chunks/detail-C5KrUC7s.cjs.map +1 -0
  20. package/dist/chunks/{detail-Bv90gvy0.js → detail-Dnc4PPWO.js} +768 -742
  21. package/dist/chunks/detail-Dnc4PPWO.js.map +1 -0
  22. package/dist/chunks/{instance-error-message-CAP1vJhX.js → instance-error-message-BEM4O_Kj.js} +6 -2
  23. package/dist/chunks/instance-error-message-BEM4O_Kj.js.map +1 -0
  24. package/dist/chunks/instance-error-message-BpCLCOjp.cjs +2 -0
  25. package/dist/chunks/instance-error-message-BpCLCOjp.cjs.map +1 -0
  26. package/dist/chunks/organization-time-zone-provider-B7CXQril.cjs +2 -0
  27. package/dist/chunks/organization-time-zone-provider-B7CXQril.cjs.map +1 -0
  28. package/dist/chunks/organization-time-zone-provider-DNL8yo4-.js +42 -0
  29. package/dist/chunks/organization-time-zone-provider-DNL8yo4-.js.map +1 -0
  30. package/dist/chunks/{providers-BbCs23sk.js → providers-CQWekD7_.js} +197 -196
  31. package/dist/chunks/providers-CQWekD7_.js.map +1 -0
  32. package/dist/chunks/providers-VUOh6i0i.cjs +2 -0
  33. package/dist/chunks/providers-VUOh6i0i.cjs.map +1 -0
  34. package/dist/components/notification-drawer-options.d.cts +18 -0
  35. package/dist/components/notification-drawer-options.d.ts +18 -0
  36. package/dist/index.cjs +1 -1
  37. package/dist/index.cjs.map +1 -1
  38. package/dist/index.d.cts +1 -0
  39. package/dist/index.d.ts +1 -0
  40. package/dist/index.js +23 -23
  41. package/dist/index.js.map +1 -1
  42. package/dist/lib/organization-time-zone-provider.d.cts +20 -0
  43. package/dist/lib/organization-time-zone-provider.d.ts +20 -0
  44. package/dist/lib/organization-time-zone.d.cts +8 -0
  45. package/dist/lib/organization-time-zone.d.ts +8 -0
  46. package/dist/lib/providers.d.cts +10 -1
  47. package/dist/lib/providers.d.ts +10 -1
  48. package/dist/next/BPMNextProviders.d.cts +8 -1
  49. package/dist/next/BPMNextProviders.d.ts +8 -1
  50. package/dist/next/index.cjs +1 -1
  51. package/dist/next/index.cjs.map +1 -1
  52. package/dist/next/index.js +12 -11
  53. package/dist/next/index.js.map +1 -1
  54. package/dist/pages/instances/detail/index.cjs +1 -1
  55. package/dist/pages/instances/detail/index.js +1 -1
  56. package/dist/pages/templates/compose/index.cjs +1 -1
  57. package/dist/pages/templates/compose/index.js +1 -1
  58. package/dist/pages/templates/designer/index.cjs +1 -1
  59. package/dist/pages/templates/designer/index.js +1 -1
  60. package/dist/views/cc/index.cjs +1 -1
  61. package/dist/views/cc/index.js +1 -1
  62. package/dist/views/forms/builder/index.cjs +1 -1
  63. package/dist/views/forms/builder/index.js +1 -1
  64. package/dist/views/instances/detail/index.cjs +1 -1
  65. package/dist/views/instances/detail/index.js +1 -1
  66. package/dist/views/instances/detail/sections/shared.d.cts +0 -1
  67. package/dist/views/instances/detail/sections/shared.d.ts +0 -1
  68. package/dist/views/instances/new/index.cjs +1 -1
  69. package/dist/views/instances/new/index.js +1 -1
  70. package/dist/views/search/index.cjs +1 -1
  71. package/dist/views/search/index.js +1 -1
  72. package/dist/views/sent/index.cjs +1 -1
  73. package/dist/views/sent/index.js +1 -1
  74. package/dist/views/templates/compose/index.cjs +1 -1
  75. package/dist/views/templates/compose/index.js +1 -1
  76. package/dist/views/templates/designer/approver-resolver-model.d.cts +105 -1
  77. package/dist/views/templates/designer/approver-resolver-model.d.ts +105 -1
  78. package/dist/views/templates/designer/dynamic-form-resolver-options.d.cts +5 -0
  79. package/dist/views/templates/designer/dynamic-form-resolver-options.d.ts +5 -0
  80. package/dist/views/templates/designer/index.cjs +1 -1
  81. package/dist/views/templates/designer/index.js +1 -1
  82. package/dist/views/templates/designer/node-actor-resolver-options.d.cts +44 -1
  83. package/dist/views/templates/designer/node-actor-resolver-options.d.ts +44 -1
  84. package/dist/views/templates/designer/notify-recipient-options.d.cts +81 -0
  85. package/dist/views/templates/designer/notify-recipient-options.d.ts +81 -0
  86. package/dist/views/templates/designer/position-level-options.d.cts +3 -1
  87. package/dist/views/templates/designer/position-level-options.d.ts +3 -1
  88. package/dist/views/templates/designer/position-scope.d.cts +51 -0
  89. package/dist/views/templates/designer/position-scope.d.ts +51 -0
  90. package/package.json +3 -3
  91. package/dist/chunks/compose-BKUTsB2W.cjs +0 -2
  92. package/dist/chunks/compose-BKUTsB2W.cjs.map +0 -1
  93. package/dist/chunks/designer-CWubIE69.js.map +0 -1
  94. package/dist/chunks/designer-C_m8DmMl.cjs +0 -69
  95. package/dist/chunks/designer-C_m8DmMl.cjs.map +0 -1
  96. package/dist/chunks/detail-Bv90gvy0.js.map +0 -1
  97. package/dist/chunks/detail-DNzqesdI.cjs +0 -5
  98. package/dist/chunks/detail-DNzqesdI.cjs.map +0 -1
  99. package/dist/chunks/instance-error-message-BW464LRQ.cjs +0 -2
  100. package/dist/chunks/instance-error-message-BW464LRQ.cjs.map +0 -1
  101. package/dist/chunks/instance-error-message-CAP1vJhX.js.map +0 -1
  102. package/dist/chunks/language-provider-Bdnx3Gxl.cjs +0 -2
  103. package/dist/chunks/language-provider-Bdnx3Gxl.cjs.map +0 -1
  104. package/dist/chunks/language-provider-phkWOapf.js +0 -17
  105. package/dist/chunks/language-provider-phkWOapf.js.map +0 -1
  106. package/dist/chunks/providers-BbCs23sk.js.map +0 -1
  107. package/dist/chunks/providers-D_KAgOOu.cjs +0 -2
  108. package/dist/chunks/providers-D_KAgOOu.cjs.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,60 @@
1
+ ## 0.21.2 (2026-11-12)
2
+
3
+ ### 🩹 Fixes
4
+
5
+ - **designer:** show the initiator-manager hint only where it applies ([24463a9c](https://github.com/Rytass/BPMCore/commit/24463a9c))
6
+ - **designer:** warn when a manager chain away from the initiator may reach them ([801f63c6](https://github.com/Rytass/BPMCore/commit/801f63c6))
7
+
8
+ ### ❤️ Thank You
9
+
10
+ - Chia Yu Pai @fantasywind
11
+
12
+ ## 0.21.1 (2026-11-11)
13
+
14
+ ### 🚀 Features
15
+
16
+ - **workflow-engine:** judge the launchable list with the initiator customFields resolver ([92faedec](https://github.com/Rytass/BPMCore/commit/92faedec))
17
+ - **react:** read the designer's today in the host organization time zone ([9a31ff90](https://github.com/Rytass/BPMCore/commit/9a31ff90))
18
+ - **shared:** add the default organization time zone constant ([3dac42de](https://github.com/Rytass/BPMCore/commit/3dac42de))
19
+ - **react:** show who a reassigned task belonged to in the instance timeline ([4611a05a](https://github.com/Rytass/BPMCore/commit/4611a05a))
20
+ - **react:** set a manager chain start and start level in the designer ([d220ee6f](https://github.com/Rytass/BPMCore/commit/d220ee6f))
21
+ - **react:** say a manager chain start in the dry-run assignee label ([b7a0a5a2](https://github.com/Rytass/BPMCore/commit/b7a0a5a2))
22
+ - **react:** offer only single-signer stages as a manager chain start ([5581999c](https://github.com/Rytass/BPMCore/commit/5581999c))
23
+ - **react:** model a manager chain start and start level in the designer ([746dfe4e](https://github.com/Rytass/BPMCore/commit/746dfe4e))
24
+ - **react:** offer only the stages that pass the exclusion check on their own ([46298be7](https://github.com/Rytass/BPMCore/commit/46298be7))
25
+ - **react:** edit excludeNodeActors in the designer ([e6e575d8](https://github.com/Rytass/BPMCore/commit/e6e575d8))
26
+ - **react:** open the case from the notification drawer when approval needs a comment ([1b5ece8f](https://github.com/Rytass/BPMCore/commit/1b5ece8f))
27
+ - **react:** let the designer pick position, organization and form-field notify recipients ([4ff6fc95](https://github.com/Rytass/BPMCore/commit/4ff6fc95))
28
+ - **react:** ask for the approval comment in the designer and on the approve dialog ([f80aaf04](https://github.com/Rytass/BPMCore/commit/f80aaf04))
29
+
30
+ ### 🩹 Fixes
31
+
32
+ - **shared:** count excludeNodeActors handing over to the initiator's managers as multiple approvers ([6c5e7de6](https://github.com/Rytass/BPMCore/commit/6c5e7de6))
33
+ - **react:** load reassigned seat holders' names for the timeline ([90e9dd47](https://github.com/Rytass/BPMCore/commit/90e9dd47))
34
+ - **bpm-core:** build one workflow engine so every caller sees the host resolver ([3e172843](https://github.com/Rytass/BPMCore/commit/3e172843))
35
+ - **workflow-engine:** time out the initiator customFields resolver and keep its errors server-side ([45ff109d](https://github.com/Rytass/BPMCore/commit/45ff109d))
36
+ - **react:** say ad-hoc approvers are not excluded in the excludeNodeActors hint ([815a89c4](https://github.com/Rytass/BPMCore/commit/815a89c4))
37
+ - **react:** fall back to the id for a blank member name in every label ([770ef163](https://github.com/Rytass/BPMCore/commit/770ef163))
38
+ - **shared:** refuse a manager chain notify recipient without a whole-number level ([cdca8b1e](https://github.com/Rytass/BPMCore/commit/cdca8b1e))
39
+ - **react:** warn on an inactive stored position in org-unit position pickers ([f1a711e1](https://github.com/Rytass/BPMCore/commit/f1a711e1))
40
+ - **react:** read designer today in the organization time zone ([80772666](https://github.com/Rytass/BPMCore/commit/80772666))
41
+ - **react:** parse notification payload once and guard blank approval comments ([844839de](https://github.com/Rytass/BPMCore/commit/844839de))
42
+ - **bpm-core-react:** show the maxFiles message for a refused file count ([f3b32243](https://github.com/Rytass/BPMCore/commit/f3b32243))
43
+ - **workflow-engine:** count a repeated file_upload id once, as the binding does ([d75adb5c](https://github.com/Rytass/BPMCore/commit/d75adb5c))
44
+ - **react:** word a group seat move correctly and keep blank names visible ([1844f077](https://github.com/Rytass/BPMCore/commit/1844f077))
45
+ - **react:** offer only a stored start level in the manager chain menu ([bd06d68c](https://github.com/Rytass/BPMCore/commit/bd06d68c))
46
+ - **shared:** keep manager chain level and stage ids as written ([1c741259](https://github.com/Rytass/BPMCore/commit/1c741259))
47
+ - **react:** show only effective position holders in the notify pickers ([0c7e43ac](https://github.com/Rytass/BPMCore/commit/0c7e43ac))
48
+ - **workflow-engine:** hold a set-form-field write to member and unit value shapes ([c9d0523c](https://github.com/Rytass/BPMCore/commit/c9d0523c))
49
+ - **react:** tighten manager chain start hints in the designer ([20161034](https://github.com/Rytass/BPMCore/commit/20161034))
50
+ - **shared:** say parallel-branch stages are unsupported in excludeNodeActors hints ([ea6f5efa](https://github.com/Rytass/BPMCore/commit/ea6f5efa))
51
+ - **react:** harden the notify recipient panel after review ([17fab8db](https://github.com/Rytass/BPMCore/commit/17fab8db))
52
+
53
+ ### ❤️ Thank You
54
+
55
+ - Chia Yu Pai @fantasywind
56
+ - Kai-Chieh Yang
57
+
1
58
  ## 0.21.0 (2026-11-11)
2
59
 
3
60
  ### 🚀 Features
@@ -5,9 +5,9 @@ import { useEffect as n, useMemo as r, useState as i } from "react";
5
5
  import { Accordion as a, Badge as o, BaseCard as s, Button as c, DatePicker as l, DateTimePicker as u, Icon as d, InlineMessage as ee, Input as f, Modal as te, Section as ne, SectionGroup as re, Select as p, Tab as ie, TabItem as ae, Table as oe, Tag as se, Textarea as ce, Toggle as m, Typography as h } from "@mezzanine-ui/react";
6
6
  import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
7
7
  import { listFilterableFieldIssues as le } from "@rytass/bpm-core-client/workflow";
8
- import { FormFieldLayout as ue } from "@mezzanine-ui/core/form";
9
- import { parseFormBindingExpressionLintLine as de, readFormBindingExpressionLintMessage as fe } from "@rytass/bpm-core-client/template";
10
- import { readFilterableFieldPaths as pe } from "@rytass/bpm-core-shared";
8
+ import { readFilterableFieldPaths as ue } from "@rytass/bpm-core-shared";
9
+ import { FormFieldLayout as de } from "@mezzanine-ui/core/form";
10
+ import { parseFormBindingExpressionLintLine as fe, readFormBindingExpressionLintMessage as pe } from "@rytass/bpm-core-client/template";
11
11
  import { buildConditionExpression as me, buildFormRendererValues as he, clampOptionalNumber as ge, createFieldDefinition as _e, createTableColumnDefinition as ve, formatDatePickerValue as ye, formatDateTimePickerValue as be, isDateFieldDefinition as xe, isFormDataSourceDescriptorCompatible as Se, isNumberFieldDefinition as Ce, isSelectFieldDefinition as we, lintFormSchema as Te, listFormDataSources as Ee, parseConditionRule as De, parseOptionalNumberInput as Oe, readCompatibleFormDataSourceBindingFields as ke, readCompatibleFormDataSourceDescriptors as Ae, readCompatibleFormTableColumnBindingFields as je, readConditionOperatorOption as Me, readConditionOperatorOptions as Ne, readDatePickerValue as Pe, readDefaultConditionOperator as Fe, readDefaultConditionValue as Ie, readFieldOptionAsSelectOption as Le, readFormDataSourceBinding as y, readFormDataSourceBindingExpression as Re, readFormDataSourceBindingValue as ze, readFormDataSourceBindingValueKind as Be, readFormDataSourceFieldDependencyKeys as Ve, readFormSchemaLintMessage as He, readFormTableRowBounds as Ue, readSelectOption as b, renameFormDataSourceFieldBindings as We, renameFormTableColumnBindings as Ge, upsertFormDataSourceFieldBinding as Ke } from "@rytass/bpm-core-client/form";
12
12
  import { AlignLeftIcon as qe, CalendarIcon as Je, CheckedIcon as Ye, CheckedOutlineIcon as Xe, CurrencyDollarIcon as Ze, DotDragVerticalIcon as Qe, DotGridIcon as $e, FileAttachmentIcon as x, FileIcon as S, FolderIcon as C, ListIcon as w, PlusIcon as et, TrashIcon as tt, UserIcon as nt } from "@mezzanine-ui/icons";
13
13
  import { FORM_TABLE_MAX_ROWS as rt, TEXT_FIELD_PATTERN_ERROR_MESSAGE_MAX_LENGTH as T, TEXT_FIELD_PATTERN_MAX_LENGTH as it, compileTextFieldPattern as E, hasRepeatedTextFieldPatternGroup as at, isFormDataSourceFieldDefinition as D, isFormOptionFieldDefinition as ot, isFormStaticOptionFieldDefinition as st, isMemberFieldDefinition as ct, isOrgUnitFieldDefinition as lt, isTableColumnFieldType as ut, isTableFieldDefinition as O, readFormFieldSelectionMode as dt } from "@rytass/bpm-core-shared/form";
@@ -407,7 +407,7 @@ var gn = {
407
407
  function L({ formDefinitionId: qe, onChange: Je, templateId: Ye, value: Xe }) {
408
408
  let Ze = Xe?.schema ?? gn, $e = Xe?.uiSchema ?? _n, [x, S] = i(Ze), [C, w] = i($e), [nt, T] = i(V(Ze)), [it, E] = i(V($e)), [at, st] = i({}), [ht, k] = i(null), [A, j] = i([]), [gt, M] = i(null);
409
409
  n(() => {
410
- if (!Ye && !qe || pe(x).length === 0) return j([]), M(null), () => void 0;
410
+ if (!Ye && !qe || ue(x).length === 0) return j([]), M(null), () => void 0;
411
411
  let e = !1, t = setTimeout(() => {
412
412
  le({
413
413
  formDefinitionId: qe,
@@ -636,10 +636,10 @@ function L({ formDefinitionId: qe, onChange: Je, templateId: Ye, value: Xe }) {
636
636
  function Er(e) {
637
637
  let t = wt.exec(e);
638
638
  if (t?.[1] && t[3]) return `${Dr(t[1], t[2])}尚未指定必要參數「${Or(t[1], t[2], t[3])}」的來源`;
639
- let n = de(e);
639
+ let n = fe(e);
640
640
  if (n) {
641
641
  let e = String(n.fieldIndex), t = n.columnIndex === null ? void 0 : String(n.columnIndex), r = x.fields[n.fieldIndex], i = r ? Ar(r, t) : void 0, a = kr(e, t, String(n.bindingIndex)) ?? "";
642
- return fe({
642
+ return pe({
643
643
  code: n.code,
644
644
  columnLabel: i ? i.label || i.fieldKey : null,
645
645
  fieldLabel: r ? r.label || r.fieldKey : "",
@@ -1864,7 +1864,7 @@ function L({ formDefinitionId: qe, onChange: Je, templateId: Ye, value: Xe }) {
1864
1864
  style: Wt,
1865
1865
  children: /* @__PURE__ */ _(e, {
1866
1866
  label: t,
1867
- layout: i ? ue.VERTICAL : ue.STRETCH,
1867
+ layout: i ? de.VERTICAL : de.STRETCH,
1868
1868
  name: n,
1869
1869
  ...a ? {
1870
1870
  hintText: a.text,
@@ -2207,4 +2207,4 @@ function er(e, t, n) {
2207
2207
  }
2208
2208
  export { L as t };
2209
2209
 
2210
- //# sourceMappingURL=FormBuilderView-WtC2iW5f.js.map
2210
+ //# sourceMappingURL=FormBuilderView-6KdApi-D.js.map