lucid-extension-sdk 0.0.439 → 0.0.440

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.
@@ -39,11 +39,12 @@ export declare enum FieldDisplayType {
39
39
  * as a string, e.g. "1/16/2025 - 2/16/2025"
40
40
  */
41
41
  DateRangeBadge = "DateRangeBadge",
42
- /** Given an object containing iconUrl (optional) and name (optional), determine whether
43
- * to display as an ImageBadge or InitializedString (or nothing, if neither is present).
42
+ /**
43
+ * Displays a user profile badge with avatar and name in the bottom-left of the card. Takes either a name or
44
+ * an object containing an iconUrl (optional) and name (optional).
44
45
  *
45
- * Given or string of name or an object containing iconUrl and name, display as
46
- * an as a full name or an ImageBadge with full name (if name is present).
46
+ * If an iconUrl is provided, displays it as an ImageBadge. If a name is provided, displays it as text.
47
+ * If no iconUrl is provided but a name is, generates an avatar with the name's initials.
47
48
  */
48
49
  UserProfile = "UserProfile",
49
50
  /**
@@ -74,7 +75,12 @@ export declare enum OnClickHandlerKeys {
74
75
  /**
75
76
  * Display a custom UI panel to edit non-standard fields on the data associated with the card
76
77
  */
77
- CustomEditAction = "CustomEditAction"
78
+ CustomEditAction = "CustomEditAction",
79
+ /**
80
+ * Display a panel on the canvas when a stencil is clicked, showing editable input fields for the values that
81
+ * calculate what is shown on the stencil
82
+ */
83
+ EditFieldsStencilPanel = "EditFieldsStencilPanel"
78
84
  }
79
85
  export declare const isOnClickHandlerKey: (x: unknown) => x is OnClickHandlerKeys;
80
86
  export type ImageBadgeSettings = {
@@ -44,11 +44,12 @@ var FieldDisplayType;
44
44
  * as a string, e.g. "1/16/2025 - 2/16/2025"
45
45
  */
46
46
  FieldDisplayType["DateRangeBadge"] = "DateRangeBadge";
47
- /** Given an object containing iconUrl (optional) and name (optional), determine whether
48
- * to display as an ImageBadge or InitializedString (or nothing, if neither is present).
47
+ /**
48
+ * Displays a user profile badge with avatar and name in the bottom-left of the card. Takes either a name or
49
+ * an object containing an iconUrl (optional) and name (optional).
49
50
  *
50
- * Given or string of name or an object containing iconUrl and name, display as
51
- * an as a full name or an ImageBadge with full name (if name is present).
51
+ * If an iconUrl is provided, displays it as an ImageBadge. If a name is provided, displays it as text.
52
+ * If no iconUrl is provided but a name is, generates an avatar with the name's initials.
52
53
  */
53
54
  FieldDisplayType["UserProfile"] = "UserProfile";
54
55
  /**
@@ -81,6 +82,11 @@ var OnClickHandlerKeys;
81
82
  * Display a custom UI panel to edit non-standard fields on the data associated with the card
82
83
  */
83
84
  OnClickHandlerKeys["CustomEditAction"] = "CustomEditAction";
85
+ /**
86
+ * Display a panel on the canvas when a stencil is clicked, showing editable input fields for the values that
87
+ * calculate what is shown on the stencil
88
+ */
89
+ OnClickHandlerKeys["EditFieldsStencilPanel"] = "EditFieldsStencilPanel";
84
90
  })(OnClickHandlerKeys || (exports.OnClickHandlerKeys = OnClickHandlerKeys = {}));
85
91
  exports.isOnClickHandlerKey = (0, validators_1.enumValidator)(OnClickHandlerKeys);
86
92
  const isImageBadgeSettings = (0, validators_1.objectValidator)({
@@ -55,6 +55,27 @@ export interface ExtensionCardFieldDefinition extends FieldDefinition {
55
55
  */
56
56
  truncatedLabel?: string | undefined;
57
57
  }
58
+ /**
59
+ * @experimental
60
+ *
61
+ * Pairs an array of field definitions with a label and potentially other supplementary data if needed.
62
+ *
63
+ * An example use case for this would be a chunk of related fields in an edit panel, with the label used as the chunk's
64
+ * heading.
65
+ */
66
+ export interface ExtensionCardFieldsGroup {
67
+ label: string;
68
+ fieldDefinitions: ExtensionCardFieldDefinition[];
69
+ }
70
+ /** @ignore */
71
+ export type SerializedExtensionCardFieldsGroup = {
72
+ 'l': string | undefined;
73
+ 'fd': SerializedExtensionCardFieldDefinition[];
74
+ };
75
+ /** @ignore */
76
+ export declare function serializeExtensionCardFieldsGroup(group: ExtensionCardFieldsGroup): SerializedExtensionCardFieldsGroup;
77
+ /** @ignore */
78
+ export declare function serializeExtensionCardFieldsGroupArray(groups: ExtensionCardFieldsGroup[]): SerializedExtensionCardFieldsGroup[];
58
79
  export type ExtensionCardUserData = ExtensionCardFieldOption & {
59
80
  email: string | undefined;
60
81
  };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.serializeTagCallbackResult = exports.isSerializedTagCallbackResult = exports.deserializePlaceholderImportMetadata = exports.serializePlaceholderImportMetadata = exports.isSerializedPlaceholderImportMetadata = exports.isSearchResult = exports.deserializeCardFieldArrayDefinition = exports.deserializeCardFieldDefinition = exports.isSerializedExtensionCardFieldDefinition = exports.isSerializedFieldOptions = exports.isSerializedFieldOption = exports.deserializeFieldOption = exports.serializeCardFieldArrayDefinition = exports.serializeCardFieldDefinition = exports.serializeCardFieldOption = exports.isSerializedCardUserDataArray = exports.isSerializedCardUserData = exports.deserializeCardUserData = exports.serializeCardUserData = void 0;
3
+ exports.serializeTagCallbackResult = exports.isSerializedTagCallbackResult = exports.deserializePlaceholderImportMetadata = exports.serializePlaceholderImportMetadata = exports.isSerializedPlaceholderImportMetadata = exports.isSearchResult = exports.deserializeCardFieldArrayDefinition = exports.deserializeCardFieldDefinition = exports.isSerializedExtensionCardFieldDefinition = exports.isSerializedFieldOptions = exports.isSerializedFieldOption = exports.deserializeFieldOption = exports.serializeCardFieldArrayDefinition = exports.serializeCardFieldDefinition = exports.serializeCardFieldOption = exports.isSerializedCardUserDataArray = exports.isSerializedCardUserData = exports.deserializeCardUserData = exports.serializeCardUserData = exports.serializeExtensionCardFieldsGroupArray = exports.serializeExtensionCardFieldsGroup = void 0;
4
4
  const collectiondefinition_1 = require("../../data/collectiondefinition");
5
5
  const schemadefinition_1 = require("../../data/schemadefinition");
6
6
  const checks_1 = require("../checks");
@@ -9,6 +9,19 @@ const serializedfielddefinition_1 = require("../data/serializedfield/serializedf
9
9
  const serializedfields_1 = require("../data/serializedfield/serializedfields");
10
10
  const validators_1 = require("../validators/validators");
11
11
  /** @ignore */
12
+ function serializeExtensionCardFieldsGroup(group) {
13
+ return {
14
+ 'l': group.label,
15
+ 'fd': serializeCardFieldArrayDefinition(group.fieldDefinitions),
16
+ };
17
+ }
18
+ exports.serializeExtensionCardFieldsGroup = serializeExtensionCardFieldsGroup;
19
+ /** @ignore */
20
+ function serializeExtensionCardFieldsGroupArray(groups) {
21
+ return groups.map(serializeExtensionCardFieldsGroup);
22
+ }
23
+ exports.serializeExtensionCardFieldsGroupArray = serializeExtensionCardFieldsGroupArray;
24
+ /** @ignore */
12
25
  function serializeCardUserData(userData) {
13
26
  return Object.assign({ 'e': userData.email }, serializeCardFieldOption(userData));
14
27
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lucid-extension-sdk",
3
- "version": "0.0.439",
3
+ "version": "0.0.440",
4
4
  "description": "Utility classes for writing Lucid Software editor extensions",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",