@limetech/lime-elements 38.29.3 → 38.30.0

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 (38) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/cjs/index.cjs.js.map +1 -1
  3. package/dist/cjs/limel-form.cjs.entry.js +60 -27
  4. package/dist/cjs/limel-form.cjs.entry.js.map +1 -1
  5. package/dist/cjs/limel-table.cjs.entry.js +14 -6
  6. package/dist/cjs/limel-table.cjs.entry.js.map +1 -1
  7. package/dist/collection/components/form/form.js +1 -0
  8. package/dist/collection/components/form/form.js.map +1 -1
  9. package/dist/collection/components/form/form.types.js.map +1 -1
  10. package/dist/collection/components/form/templates/array-field-collapsible-item.js +11 -9
  11. package/dist/collection/components/form/templates/array-field-collapsible-item.js.map +1 -1
  12. package/dist/collection/components/form/templates/array-field-simple-item.js +36 -18
  13. package/dist/collection/components/form/templates/array-field-simple-item.js.map +1 -1
  14. package/dist/collection/components/form/templates/array-field.js +13 -0
  15. package/dist/collection/components/form/templates/array-field.js.map +1 -1
  16. package/dist/collection/components/table/table.js +15 -7
  17. package/dist/collection/components/table/table.js.map +1 -1
  18. package/dist/esm/index.js.map +1 -1
  19. package/dist/esm/limel-form.entry.js +60 -27
  20. package/dist/esm/limel-form.entry.js.map +1 -1
  21. package/dist/esm/limel-table.entry.js +14 -6
  22. package/dist/esm/limel-table.entry.js.map +1 -1
  23. package/dist/lime-elements/index.esm.js.map +1 -1
  24. package/dist/lime-elements/lime-elements.esm.js +1 -1
  25. package/dist/lime-elements/{p-d24988e7.entry.js → p-beee38bc.entry.js} +5 -5
  26. package/dist/lime-elements/p-beee38bc.entry.js.map +1 -0
  27. package/dist/lime-elements/{p-c3394c18.entry.js → p-d1aa44e1.entry.js} +2 -2
  28. package/dist/lime-elements/p-d1aa44e1.entry.js.map +1 -0
  29. package/dist/types/components/form/form.d.ts +1 -0
  30. package/dist/types/components/form/form.types.d.ts +8 -0
  31. package/dist/types/components/form/templates/array-field-collapsible-item.d.ts +9 -1
  32. package/dist/types/components/form/templates/array-field-simple-item.d.ts +9 -5
  33. package/dist/types/components/form/templates/array-field.d.ts +1 -0
  34. package/dist/types/components/table/table.d.ts +3 -1
  35. package/dist/types/components.d.ts +6 -2
  36. package/package.json +1 -1
  37. package/dist/lime-elements/p-c3394c18.entry.js.map +0 -1
  38. package/dist/lime-elements/p-d24988e7.entry.js.map +0 -1
@@ -11,6 +11,7 @@ import { FormError, FormSchema, ValidationError, ValidationStatus } from './form
11
11
  * @exampleComponent limel-example-form-span-fields
12
12
  * @exampleComponent limel-example-custom-error-message
13
13
  * @exampleComponent limel-example-server-errors
14
+ * @exampleComponent limel-example-form-array-item-controls
14
15
  * @exampleComponent limel-example-form-with-help
15
16
  * @exampleComponent limel-example-form-row-layout
16
17
  */
@@ -183,6 +183,14 @@ export interface LimeSchemaOptions {
183
183
  */
184
184
  hidden?: boolean;
185
185
  help?: string | Partial<Help>;
186
+ /**
187
+ * Controls whether items in an array can be reordered by the end user.
188
+ */
189
+ allowItemReorder?: boolean;
190
+ /**
191
+ * Controls whether items in an array can be removed by the end user.
192
+ */
193
+ allowItemRemoval?: boolean;
186
194
  }
187
195
  /**
188
196
  * Options for a layout to be used in a form
@@ -22,8 +22,16 @@ interface CollapsibleItemProps {
22
22
  * Schema for the entire form
23
23
  */
24
24
  formSchema: JSONSchema7;
25
+ /**
26
+ * Control whether items can be removed.
27
+ */
28
+ allowItemRemoval: boolean;
29
+ /**
30
+ * Control whether items can be reordered.
31
+ */
32
+ allowItemReorder: boolean;
25
33
  }
26
- export declare class CollapsibleItemTemplate extends React.Component {
34
+ export declare class CollapsibleItemTemplate extends React.Component<CollapsibleItemProps> {
27
35
  props: CollapsibleItemProps;
28
36
  state: {
29
37
  isOpen: boolean;
@@ -3,14 +3,15 @@ import { ArrayFieldItem } from './types';
3
3
  interface SimpleItemProps {
4
4
  item: ArrayFieldItem;
5
5
  index: number;
6
+ allowItemRemoval: boolean;
7
+ allowItemReorder: boolean;
6
8
  }
7
- export declare class SimpleItemTemplate extends React.Component {
9
+ export declare class SimpleItemTemplate extends React.Component<SimpleItemProps> {
8
10
  props: SimpleItemProps;
9
11
  constructor(props: SimpleItemProps);
10
- private removeButton;
11
- private moveUpButton;
12
- private moveDownButton;
13
- componentDidMount(): void;
12
+ private removeButton?;
13
+ private moveUpButton?;
14
+ private moveDownButton?;
14
15
  componentWillUnmount(): void;
15
16
  render(): React.DetailedReactHTMLElement<{
16
17
  className: string;
@@ -21,6 +22,9 @@ export declare class SimpleItemTemplate extends React.Component {
21
22
  private handleRemove;
22
23
  private handleMoveUp;
23
24
  private handleMoveDown;
25
+ private setRemoveButton;
26
+ private setMoveUpButton;
27
+ private setMoveDownButton;
24
28
  }
25
29
  export {};
26
30
  //# sourceMappingURL=array-field-simple-item.d.ts.map
@@ -6,6 +6,7 @@ export declare class ArrayFieldTemplate extends React.Component {
6
6
  render(): React.DetailedReactHTMLElement<{}, HTMLElement>;
7
7
  private renderAddButton;
8
8
  private renderItem;
9
+ private getItemControls;
9
10
  private handleAddClick;
10
11
  }
11
12
  //# sourceMappingURL=array-field.d.ts.map
@@ -21,7 +21,8 @@ import { Languages } from '../date-picker/date.types';
21
21
  */
22
22
  export declare class Table {
23
23
  /**
24
- * Data to be displayed in the table
24
+ * Data to be displayed in the table. Provide a stable `id` on each row to keep
25
+ * scroll position, focus, and selections intact across updates.
25
26
  */
26
27
  data: object[];
27
28
  /**
@@ -151,6 +152,7 @@ export declare class Table {
151
152
  protected updateSortableColumns(): void;
152
153
  protected updateSorting(newValue: ColumnSorter[], oldValue: ColumnSorter[]): void;
153
154
  private shouldReplaceData;
155
+ private getRowIds;
154
156
  private areEqualIds;
155
157
  private isSameOrder;
156
158
  private areSameColumns;
@@ -1498,6 +1498,7 @@ export namespace Components {
1498
1498
  * @exampleComponent limel-example-form-span-fields
1499
1499
  * @exampleComponent limel-example-custom-error-message
1500
1500
  * @exampleComponent limel-example-server-errors
1501
+ * @exampleComponent limel-example-form-array-item-controls
1501
1502
  * @exampleComponent limel-example-form-with-help
1502
1503
  * @exampleComponent limel-example-form-row-layout
1503
1504
  */
@@ -3077,7 +3078,7 @@ export namespace Components {
3077
3078
  */
3078
3079
  "columns": Column[];
3079
3080
  /**
3080
- * Data to be displayed in the table
3081
+ * Data to be displayed in the table. Provide a stable `id` on each row to keep scroll position, focus, and selections intact across updates.
3081
3082
  */
3082
3083
  "data": object[];
3083
3084
  /**
@@ -4223,6 +4224,7 @@ declare global {
4223
4224
  * @exampleComponent limel-example-form-span-fields
4224
4225
  * @exampleComponent limel-example-custom-error-message
4225
4226
  * @exampleComponent limel-example-server-errors
4227
+ * @exampleComponent limel-example-form-array-item-controls
4226
4228
  * @exampleComponent limel-example-form-with-help
4227
4229
  * @exampleComponent limel-example-form-row-layout
4228
4230
  */
@@ -6724,6 +6726,7 @@ declare namespace LocalJSX {
6724
6726
  * @exampleComponent limel-example-form-span-fields
6725
6727
  * @exampleComponent limel-example-custom-error-message
6726
6728
  * @exampleComponent limel-example-server-errors
6729
+ * @exampleComponent limel-example-form-array-item-controls
6727
6730
  * @exampleComponent limel-example-form-with-help
6728
6731
  * @exampleComponent limel-example-form-row-layout
6729
6732
  */
@@ -8432,7 +8435,7 @@ declare namespace LocalJSX {
8432
8435
  */
8433
8436
  "columns"?: Column[];
8434
8437
  /**
8435
- * Data to be displayed in the table
8438
+ * Data to be displayed in the table. Provide a stable `id` on each row to keep scroll position, focus, and selections intact across updates.
8436
8439
  */
8437
8440
  "data"?: object[];
8438
8441
  /**
@@ -9391,6 +9394,7 @@ declare module "@stencil/core" {
9391
9394
  * @exampleComponent limel-example-form-span-fields
9392
9395
  * @exampleComponent limel-example-custom-error-message
9393
9396
  * @exampleComponent limel-example-server-errors
9397
+ * @exampleComponent limel-example-form-array-item-controls
9394
9398
  * @exampleComponent limel-example-form-with-help
9395
9399
  * @exampleComponent limel-example-form-row-layout
9396
9400
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@limetech/lime-elements",
3
- "version": "38.29.3",
3
+ "version": "38.30.0",
4
4
  "description": "Lime Elements",
5
5
  "author": "Lime Technologies",
6
6
  "license": "Apache-2.0",