@feltmaps/js-sdk 1.7.0-next.16 → 1.7.0-next.18

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.
@@ -8864,6 +8864,22 @@ declare const uiSelectElementSchema: z.ZodObject<z.objectUtil.extendShape<z.obje
8864
8864
  * ```
8865
8865
  *
8866
8866
  * @example
8867
+ * #### with label
8868
+ * `label` is displayed above the select and used for screen readers.
8869
+ * `placeholder` is displayed in the select when no value is selected.
8870
+ *
8871
+ * ```typescript
8872
+ * {
8873
+ * type: "Select",
8874
+ * label: "Fruit",
8875
+ * options: [{ label: "Apple", value: "apple" }, { label: "Banana", value: "banana" }],
8876
+ * value: undefined,
8877
+ * placeholder: "Select a fruit",
8878
+ * onChange: (args) => console.log(args.value),
8879
+ * }
8880
+ * ```
8881
+ *
8882
+ * @example
8867
8883
  * #### with search
8868
8884
  * ```typescript
8869
8885
  * {
@@ -9255,6 +9271,16 @@ type ItemCreateClonableType = Exclude<UIPanelElementCreateClonable, {
9255
9271
  *
9256
9272
  * As part of CSS Grid Layout capabilities it is possible to create a horizontal stack.
9257
9273
  *
9274
+ * #### Alignment & Distribution
9275
+ *
9276
+ * On horizontal stacks, it is possible to align and distribute the items.
9277
+ *
9278
+ * `verticalAlignment` is used to align the items vertically. By default, items are aligned to the top of the container.
9279
+ * It follows the same values as CSS's `align-items` property. See [MDN documentation](https://developer.mozilla.org/en-US/docs/Web/CSS/align-items) for more details.
9280
+ *
9281
+ * `horizontalDistribution` is used to justify the items horizontally. By default, items are justified to the start of the container.
9282
+ * It follows the same values as CSS's `justify-content` property. See [MDN documentation](https://developer.mozilla.org/en-US/docs/Web/CSS/justify-content) for more details.
9283
+ *
9258
9284
  * #### Equal width columns
9259
9285
  *
9260
9286
  * <figure>
@@ -9342,6 +9368,20 @@ interface UIGridContainerElement extends UIElementBase {
9342
9368
  *
9343
9369
  */
9344
9370
  grid?: string;
9371
+ /**
9372
+ * The alignment of the items in the grid.
9373
+ * Only takes effect on horizontal stacks.
9374
+ *
9375
+ * @defaultValue `"top"`
9376
+ */
9377
+ verticalAlignment?: "top" | "center" | "bottom";
9378
+ /**
9379
+ * The distribution of the items in the grid.
9380
+ * Only takes effect on horizontal stacks.
9381
+ *
9382
+ * @defaultValue `"start"`
9383
+ */
9384
+ horizontalDistribution?: "start" | "center" | "end" | "space-between" | "space-around" | "space-evenly";
9345
9385
  /**
9346
9386
  * The items to add to the grid container.
9347
9387
  */
@@ -9413,7 +9453,7 @@ declare const placementForUiElementSchema: z.ZodUnion<[z.ZodObject<{
9413
9453
  at: "start" | "end";
9414
9454
  }>]>;
9415
9455
  /**
9416
- * Used in {@link UiController.createPanel} to specify the position of a panel in the stack
9456
+ * Used in {@link UiController.createOrUpdatePanel} to specify the position of a panel in the stack
9417
9457
  * and in {@link UiController.createPanelElements} to specify the position of an element in a panel.
9418
9458
  *
9419
9459
  * In both cases, the default value is `{ at: "end" }`.
@@ -9446,7 +9486,7 @@ declare const uiPanelSchema: z.ZodObject<z.objectUtil.extendShape<z.objectUtil.e
9446
9486
  /**
9447
9487
  * The elements to add to the panel body.
9448
9488
  */
9449
- body: z.ZodArray<z.ZodType<UIPanelElement, z.ZodTypeDef, UIPanelElement>, "many">;
9489
+ body: z.ZodOptional<z.ZodArray<z.ZodType<UIPanelElement, z.ZodTypeDef, UIPanelElement>, "many">>;
9450
9490
  /**
9451
9491
  * The elements to add to the panel footer.
9452
9492
  */
@@ -9461,7 +9501,6 @@ declare const uiPanelSchema: z.ZodObject<z.objectUtil.extendShape<z.objectUtil.e
9461
9501
  }>, "strip", z.ZodTypeAny, {
9462
9502
  type: "Panel";
9463
9503
  id: string;
9464
- body: UIPanelElement[];
9465
9504
  onCreate?: ((args_0: {
9466
9505
  id: string;
9467
9506
  }, ...args: unknown[]) => void) | undefined;
@@ -9469,6 +9508,7 @@ declare const uiPanelSchema: z.ZodObject<z.objectUtil.extendShape<z.objectUtil.e
9469
9508
  id: string;
9470
9509
  }, ...args: unknown[]) => void) | undefined;
9471
9510
  title?: string | undefined;
9511
+ body?: UIPanelElement[] | undefined;
9472
9512
  footer?: UIPanelElement[] | undefined;
9473
9513
  onClickClose?: ((args_0: {
9474
9514
  id: string;
@@ -9476,7 +9516,6 @@ declare const uiPanelSchema: z.ZodObject<z.objectUtil.extendShape<z.objectUtil.e
9476
9516
  }, {
9477
9517
  type: "Panel";
9478
9518
  id: string;
9479
- body: UIPanelElement[];
9480
9519
  onCreate?: ((args_0: {
9481
9520
  id: string;
9482
9521
  }, ...args: unknown[]) => void) | undefined;
@@ -9484,6 +9523,7 @@ declare const uiPanelSchema: z.ZodObject<z.objectUtil.extendShape<z.objectUtil.e
9484
9523
  id: string;
9485
9524
  }, ...args: unknown[]) => void) | undefined;
9486
9525
  title?: string | undefined;
9526
+ body?: UIPanelElement[] | undefined;
9487
9527
  footer?: UIPanelElement[] | undefined;
9488
9528
  onClickClose?: ((args_0: {
9489
9529
  id: string;
@@ -9491,7 +9531,7 @@ declare const uiPanelSchema: z.ZodObject<z.objectUtil.extendShape<z.objectUtil.e
9491
9531
  }>;
9492
9532
  /**
9493
9533
  * Represents a panel in the UI.
9494
- * It can be added to the map by using the {@link UiController.createPanel} method.
9534
+ * It can be added to the map by using the {@link UiController.createOrUpdatePanel} method.
9495
9535
  *
9496
9536
  * A panel is a container for other UI elements.
9497
9537
  * It can have a title, a body, a footer as well as a close button.
@@ -9555,11 +9595,18 @@ declare const uiPanelSchema: z.ZodObject<z.objectUtil.extendShape<z.objectUtil.e
9555
9595
  * ```
9556
9596
  *
9557
9597
  */
9558
- interface UIPanel extends UIElementBase, Omit<zInfer<typeof uiPanelSchema>, "onClickClose" | "body" | "footer" | "onCreate" | "onDestroy"> {
9598
+ interface UIPanel extends UIElementBase, Omit<zInfer<typeof uiPanelSchema>, "onClickClose" | "body" | "footer" | "onCreate" | "onDestroy" | "id"> {
9599
+ /**
9600
+ * The ID of the panel obtained from {@link UiController.createPanelId}.
9601
+ *
9602
+ * @remarks
9603
+ * Custom IDs are not supported.
9604
+ */
9605
+ id: string;
9559
9606
  /**
9560
9607
  * The elements to add to the panel body.
9561
9608
  */
9562
- body: UIPanelElement[];
9609
+ body?: UIPanelElement[];
9563
9610
  /**
9564
9611
  * The elements to add to the panel footer.
9565
9612
  */
@@ -9577,7 +9624,7 @@ interface UIPanel extends UIElementBase, Omit<zInfer<typeof uiPanelSchema>, "onC
9577
9624
  declare const uiPanelCreateSchema: {
9578
9625
  params: z.ZodObject<z.objectUtil.extendShape<Omit<{
9579
9626
  type: z.ZodOptional<z.ZodLiteral<"Panel">>;
9580
- id: z.ZodOptional<z.ZodString>;
9627
+ id: z.ZodString;
9581
9628
  onCreate: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
9582
9629
  id: z.ZodString;
9583
9630
  }, "strip", z.ZodTypeAny, {
@@ -9593,7 +9640,7 @@ declare const uiPanelCreateSchema: {
9593
9640
  id: string;
9594
9641
  }>], z.ZodUnknown>, z.ZodVoid>>;
9595
9642
  title: z.ZodOptional<z.ZodString>;
9596
- body: z.ZodArray<z.ZodType<UIPanelElement, z.ZodTypeDef, UIPanelElement>, "many">;
9643
+ body: z.ZodOptional<z.ZodArray<z.ZodType<UIPanelElement, z.ZodTypeDef, UIPanelElement>, "many">>;
9597
9644
  footer: z.ZodOptional<z.ZodArray<z.ZodType<UIPanelElement, z.ZodTypeDef, UIPanelElement>, "many">>;
9598
9645
  onClickClose: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
9599
9646
  id: z.ZodString;
@@ -9603,12 +9650,11 @@ declare const uiPanelCreateSchema: {
9603
9650
  id: string;
9604
9651
  }>], z.ZodUnknown>, z.ZodVoid>>;
9605
9652
  }, "body" | "footer">, {
9606
- body: z.ZodArray<z.ZodType<UIPanelElementCreate, z.ZodTypeDef, UIPanelElementCreate>, "many">;
9653
+ body: z.ZodOptional<z.ZodArray<z.ZodType<UIPanelElementCreate, z.ZodTypeDef, UIPanelElementCreate>, "many">>;
9607
9654
  footer: z.ZodOptional<z.ZodArray<z.ZodType<UIPanelElementCreate, z.ZodTypeDef, UIPanelElementCreate>, "many">>;
9608
9655
  }>, "strip", z.ZodTypeAny, {
9609
- body: UIPanelElementCreate[];
9656
+ id: string;
9610
9657
  type?: "Panel" | undefined;
9611
- id?: string | undefined;
9612
9658
  onCreate?: ((args_0: {
9613
9659
  id: string;
9614
9660
  }, ...args: unknown[]) => void) | undefined;
@@ -9616,14 +9662,14 @@ declare const uiPanelCreateSchema: {
9616
9662
  id: string;
9617
9663
  }, ...args: unknown[]) => void) | undefined;
9618
9664
  title?: string | undefined;
9665
+ body?: UIPanelElementCreate[] | undefined;
9619
9666
  footer?: UIPanelElementCreate[] | undefined;
9620
9667
  onClickClose?: ((args_0: {
9621
9668
  id: string;
9622
9669
  }, ...args: unknown[]) => void) | undefined;
9623
9670
  }, {
9624
- body: UIPanelElementCreate[];
9671
+ id: string;
9625
9672
  type?: "Panel" | undefined;
9626
- id?: string | undefined;
9627
9673
  onCreate?: ((args_0: {
9628
9674
  id: string;
9629
9675
  }, ...args: unknown[]) => void) | undefined;
@@ -9631,51 +9677,21 @@ declare const uiPanelCreateSchema: {
9631
9677
  id: string;
9632
9678
  }, ...args: unknown[]) => void) | undefined;
9633
9679
  title?: string | undefined;
9680
+ body?: UIPanelElementCreate[] | undefined;
9634
9681
  footer?: UIPanelElementCreate[] | undefined;
9635
9682
  onClickClose?: ((args_0: {
9636
9683
  id: string;
9637
9684
  }, ...args: unknown[]) => void) | undefined;
9638
9685
  }>;
9639
- clonable: z.ZodObject<z.objectUtil.extendShape<z.objectUtil.extendShape<z.objectUtil.extendShape<Omit<{
9686
+ clonable: z.ZodObject<z.objectUtil.extendShape<{
9640
9687
  type: z.ZodOptional<z.ZodLiteral<"Panel">>;
9641
- id: z.ZodOptional<z.ZodString>;
9642
- onCreate: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
9643
- id: z.ZodString;
9644
- }, "strip", z.ZodTypeAny, {
9645
- id: string;
9646
- }, {
9647
- id: string;
9648
- }>], z.ZodUnknown>, z.ZodVoid>>;
9649
- onDestroy: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
9650
- id: z.ZodString;
9651
- }, "strip", z.ZodTypeAny, {
9652
- id: string;
9653
- }, {
9654
- id: string;
9655
- }>], z.ZodUnknown>, z.ZodVoid>>;
9688
+ id: z.ZodString;
9689
+ onCreate: z.ZodOptional<z.ZodString>;
9690
+ onDestroy: z.ZodOptional<z.ZodString>;
9656
9691
  title: z.ZodOptional<z.ZodString>;
9657
- body: z.ZodArray<z.ZodType<UIPanelElement, z.ZodTypeDef, UIPanelElement>, "many">;
9658
- footer: z.ZodOptional<z.ZodArray<z.ZodType<UIPanelElement, z.ZodTypeDef, UIPanelElement>, "many">>;
9659
- onClickClose: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
9660
- id: z.ZodString;
9661
- }, "strip", z.ZodTypeAny, {
9662
- id: string;
9663
- }, {
9664
- id: string;
9665
- }>], z.ZodUnknown>, z.ZodVoid>>;
9666
- }, "body" | "footer">, {
9667
- body: z.ZodArray<z.ZodType<UIPanelElementCreate, z.ZodTypeDef, UIPanelElementCreate>, "many">;
9692
+ body: z.ZodOptional<z.ZodArray<z.ZodType<UIPanelElementCreate, z.ZodTypeDef, UIPanelElementCreate>, "many">>;
9668
9693
  footer: z.ZodOptional<z.ZodArray<z.ZodType<UIPanelElementCreate, z.ZodTypeDef, UIPanelElementCreate>, "many">>;
9669
- }>, z.objectUtil.extendShape<{
9670
- id: z.ZodOptional<z.ZodString>;
9671
- onCreate: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
9672
- id: z.ZodString;
9673
- }, "strip", z.ZodTypeAny, {
9674
- id: string;
9675
- }, {
9676
- id: string;
9677
- }>], z.ZodUnknown>, z.ZodVoid>>;
9678
- onDestroy: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
9694
+ onClickClose: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
9679
9695
  id: z.ZodString;
9680
9696
  }, "strip", z.ZodTypeAny, {
9681
9697
  id: string;
@@ -9683,46 +9699,40 @@ declare const uiPanelCreateSchema: {
9683
9699
  id: string;
9684
9700
  }>], z.ZodUnknown>, z.ZodVoid>>;
9685
9701
  }, {
9686
- onCreate: z.ZodOptional<z.ZodString>;
9687
- onDestroy: z.ZodOptional<z.ZodString>;
9688
- }>>, {
9689
9702
  onClickClose: z.ZodOptional<z.ZodString>;
9690
- body: z.ZodArray<z.ZodType<UIPanelElementCreateClonable, z.ZodTypeDef, UIPanelElementCreateClonable>, "many">;
9703
+ body: z.ZodOptional<z.ZodArray<z.ZodType<UIPanelElementCreateClonable, z.ZodTypeDef, UIPanelElementCreateClonable>, "many">>;
9691
9704
  footer: z.ZodOptional<z.ZodArray<z.ZodType<UIPanelElementCreateClonable, z.ZodTypeDef, UIPanelElementCreateClonable>, "many">>;
9692
9705
  }>, "strip", z.ZodTypeAny, {
9693
- body: UIPanelElementCreateClonable[];
9706
+ id: string;
9694
9707
  type?: "Panel" | undefined;
9695
- id?: string | undefined;
9696
9708
  onCreate?: string | undefined;
9697
9709
  onDestroy?: string | undefined;
9698
9710
  title?: string | undefined;
9711
+ body?: UIPanelElementCreateClonable[] | undefined;
9699
9712
  footer?: UIPanelElementCreateClonable[] | undefined;
9700
9713
  onClickClose?: string | undefined;
9701
9714
  }, {
9702
- body: UIPanelElementCreateClonable[];
9715
+ id: string;
9703
9716
  type?: "Panel" | undefined;
9704
- id?: string | undefined;
9705
9717
  onCreate?: string | undefined;
9706
9718
  onDestroy?: string | undefined;
9707
9719
  title?: string | undefined;
9720
+ body?: UIPanelElementCreateClonable[] | undefined;
9708
9721
  footer?: UIPanelElementCreateClonable[] | undefined;
9709
9722
  onClickClose?: string | undefined;
9710
9723
  }>;
9711
9724
  };
9712
9725
  /**
9713
- * The parameters for creating a panel by using {@link UiController.createPanel}.
9726
+ * The parameters for creating a panel by using {@link UiController.createOrUpdatePanel}.
9714
9727
  *
9715
9728
  * @see {@link UIPanel} for more information about panels.
9716
- *
9717
- * @remarks
9718
- * `id` is optional but recommended if you want to be able to perform updates.
9719
9729
  */
9720
- interface UIPanelCreate extends Omit<UIPanel, "id" | "body" | "footer" | "type">, UIElementBaseCreateParams {
9730
+ interface UIPanelCreateOrUpdate extends Omit<UIPanel, "body" | "footer" | "type">, Omit<UIElementBaseCreateParams, "id"> {
9721
9731
  type?: "Panel";
9722
9732
  /**
9723
9733
  * The elements to add to the panel body.
9724
9734
  */
9725
- body: UIPanelElementCreate[];
9735
+ body?: UIPanelElementCreate[];
9726
9736
  /**
9727
9737
  * The elements to add to the panel footer.
9728
9738
  */
@@ -10117,10 +10127,10 @@ declare const UpdateActionTriggerParamsSchema: z.ZodObject<{
10117
10127
  interface UpdateActionTriggerParams extends Omit<Partial<UIActionTriggerCreate>, "id"> {
10118
10128
  id: zInfer<typeof UpdateActionTriggerParamsSchema>["id"];
10119
10129
  }
10120
- declare const CreatePanelParamsSchema: z.ZodObject<{
10130
+ declare const CreateOrUpdatePanelParamsSchema: z.ZodObject<{
10121
10131
  panel: z.ZodObject<z.objectUtil.extendShape<Omit<{
10122
10132
  type: z.ZodOptional<z.ZodLiteral<"Panel">>;
10123
- id: z.ZodOptional<z.ZodString>;
10133
+ id: z.ZodString;
10124
10134
  onCreate: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
10125
10135
  id: z.ZodString;
10126
10136
  }, "strip", z.ZodTypeAny, {
@@ -10136,7 +10146,7 @@ declare const CreatePanelParamsSchema: z.ZodObject<{
10136
10146
  id: string;
10137
10147
  }>], z.ZodUnknown>, z.ZodVoid>>;
10138
10148
  title: z.ZodOptional<z.ZodString>;
10139
- body: z.ZodArray<z.ZodType<UIPanelElement, z.ZodTypeDef, UIPanelElement>, "many">;
10149
+ body: z.ZodOptional<z.ZodArray<z.ZodType<UIPanelElement, z.ZodTypeDef, UIPanelElement>, "many">>;
10140
10150
  footer: z.ZodOptional<z.ZodArray<z.ZodType<UIPanelElement, z.ZodTypeDef, UIPanelElement>, "many">>;
10141
10151
  onClickClose: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
10142
10152
  id: z.ZodString;
@@ -10146,12 +10156,11 @@ declare const CreatePanelParamsSchema: z.ZodObject<{
10146
10156
  id: string;
10147
10157
  }>], z.ZodUnknown>, z.ZodVoid>>;
10148
10158
  }, "body" | "footer">, {
10149
- body: z.ZodArray<z.ZodType<UIPanelElementCreate, z.ZodTypeDef, UIPanelElementCreate>, "many">;
10159
+ body: z.ZodOptional<z.ZodArray<z.ZodType<UIPanelElementCreate, z.ZodTypeDef, UIPanelElementCreate>, "many">>;
10150
10160
  footer: z.ZodOptional<z.ZodArray<z.ZodType<UIPanelElementCreate, z.ZodTypeDef, UIPanelElementCreate>, "many">>;
10151
10161
  }>, "strip", z.ZodTypeAny, {
10152
- body: UIPanelElementCreate[];
10162
+ id: string;
10153
10163
  type?: "Panel" | undefined;
10154
- id?: string | undefined;
10155
10164
  onCreate?: ((args_0: {
10156
10165
  id: string;
10157
10166
  }, ...args: unknown[]) => void) | undefined;
@@ -10159,14 +10168,14 @@ declare const CreatePanelParamsSchema: z.ZodObject<{
10159
10168
  id: string;
10160
10169
  }, ...args: unknown[]) => void) | undefined;
10161
10170
  title?: string | undefined;
10171
+ body?: UIPanelElementCreate[] | undefined;
10162
10172
  footer?: UIPanelElementCreate[] | undefined;
10163
10173
  onClickClose?: ((args_0: {
10164
10174
  id: string;
10165
10175
  }, ...args: unknown[]) => void) | undefined;
10166
10176
  }, {
10167
- body: UIPanelElementCreate[];
10177
+ id: string;
10168
10178
  type?: "Panel" | undefined;
10169
- id?: string | undefined;
10170
10179
  onCreate?: ((args_0: {
10171
10180
  id: string;
10172
10181
  }, ...args: unknown[]) => void) | undefined;
@@ -10174,6 +10183,7 @@ declare const CreatePanelParamsSchema: z.ZodObject<{
10174
10183
  id: string;
10175
10184
  }, ...args: unknown[]) => void) | undefined;
10176
10185
  title?: string | undefined;
10186
+ body?: UIPanelElementCreate[] | undefined;
10177
10187
  footer?: UIPanelElementCreate[] | undefined;
10178
10188
  onClickClose?: ((args_0: {
10179
10189
  id: string;
@@ -10200,9 +10210,8 @@ declare const CreatePanelParamsSchema: z.ZodObject<{
10200
10210
  }>]>>;
10201
10211
  }, "strip", z.ZodTypeAny, {
10202
10212
  panel: {
10203
- body: UIPanelElementCreate[];
10213
+ id: string;
10204
10214
  type?: "Panel" | undefined;
10205
- id?: string | undefined;
10206
10215
  onCreate?: ((args_0: {
10207
10216
  id: string;
10208
10217
  }, ...args: unknown[]) => void) | undefined;
@@ -10210,6 +10219,7 @@ declare const CreatePanelParamsSchema: z.ZodObject<{
10210
10219
  id: string;
10211
10220
  }, ...args: unknown[]) => void) | undefined;
10212
10221
  title?: string | undefined;
10222
+ body?: UIPanelElementCreate[] | undefined;
10213
10223
  footer?: UIPanelElementCreate[] | undefined;
10214
10224
  onClickClose?: ((args_0: {
10215
10225
  id: string;
@@ -10224,9 +10234,8 @@ declare const CreatePanelParamsSchema: z.ZodObject<{
10224
10234
  } | undefined;
10225
10235
  }, {
10226
10236
  panel: {
10227
- body: UIPanelElementCreate[];
10237
+ id: string;
10228
10238
  type?: "Panel" | undefined;
10229
- id?: string | undefined;
10230
10239
  onCreate?: ((args_0: {
10231
10240
  id: string;
10232
10241
  }, ...args: unknown[]) => void) | undefined;
@@ -10234,6 +10243,7 @@ declare const CreatePanelParamsSchema: z.ZodObject<{
10234
10243
  id: string;
10235
10244
  }, ...args: unknown[]) => void) | undefined;
10236
10245
  title?: string | undefined;
10246
+ body?: UIPanelElementCreate[] | undefined;
10237
10247
  footer?: UIPanelElementCreate[] | undefined;
10238
10248
  onClickClose?: ((args_0: {
10239
10249
  id: string;
@@ -10248,26 +10258,21 @@ declare const CreatePanelParamsSchema: z.ZodObject<{
10248
10258
  } | undefined;
10249
10259
  }>;
10250
10260
  /**
10251
- * The parameters for adding a panel to the map by using {@link UiController.createPanel}.
10261
+ * The parameters for creating or updating a panel by using {@link UiController.createOrUpdatePanel}.
10252
10262
  *
10253
10263
  * @public
10254
10264
  */
10255
- interface CreatePanelParams extends zInfer<typeof CreatePanelParamsSchema> {
10265
+ interface CreateOrUpdatePanelParams extends zInfer<typeof CreateOrUpdatePanelParamsSchema> {
10256
10266
  /**
10257
10267
  * The panel to add.
10258
10268
  */
10259
- panel: UIPanelCreate;
10269
+ panel: UIPanelCreateOrUpdate;
10260
10270
  /**
10261
10271
  * The placement of the panel on the right sidebar stack.
10262
10272
  *
10263
10273
  * @defaultValue `{ at: "end" }`
10264
10274
  */
10265
- placement?: PlacementForUIElement;
10266
- }
10267
- /**
10268
- * @public
10269
- */
10270
- interface UpdatePanelParams extends Omit<Partial<UIPanelCreate>, "id">, UIElementBase {
10275
+ initialPlacement?: PlacementForUIElement;
10271
10276
  }
10272
10277
  declare const CreatePanelElementsParamsSchema: z.ZodObject<{
10273
10278
  panelId: z.ZodString;
@@ -10752,6 +10757,8 @@ declare const UpdatePanelElementsParamsSchema: z.ZodObject<{
10752
10757
  id: string;
10753
10758
  }>], z.ZodUnknown>, z.ZodVoid>>>;
10754
10759
  grid: z.ZodOptional<z.ZodOptional<z.ZodString>>;
10760
+ verticalAlignment: z.ZodOptional<z.ZodOptional<z.ZodEnum<["top", "center", "bottom"]>>>;
10761
+ horizontalDistribution: z.ZodOptional<z.ZodOptional<z.ZodEnum<["start", "center", "end", "space-between", "space-around", "space-evenly"]>>>;
10755
10762
  items: z.ZodOptional<z.ZodType<(UIButtonElementCreate | UITextElementCreate | UIDividerElementCreate | UITextInputElementCreate | UISelectElementCreate | UIFlexibleSpaceElementCreate)[], z.ZodTypeDef, (UIButtonElementCreate | UITextElementCreate | UIDividerElementCreate | UITextInputElementCreate | UISelectElementCreate | UIFlexibleSpaceElementCreate)[]>>;
10756
10763
  }, z.UnknownKeysParam, z.ZodTypeAny, {
10757
10764
  type: "Grid";
@@ -10764,6 +10771,8 @@ declare const UpdatePanelElementsParamsSchema: z.ZodObject<{
10764
10771
  id: string;
10765
10772
  }, ...args: unknown[]) => void) | undefined;
10766
10773
  grid?: string | undefined;
10774
+ verticalAlignment?: "center" | "top" | "bottom" | undefined;
10775
+ horizontalDistribution?: "center" | "start" | "end" | "space-between" | "space-around" | "space-evenly" | undefined;
10767
10776
  }, {
10768
10777
  type: "Grid";
10769
10778
  id: string;
@@ -10775,6 +10784,8 @@ declare const UpdatePanelElementsParamsSchema: z.ZodObject<{
10775
10784
  id: string;
10776
10785
  }, ...args: unknown[]) => void) | undefined;
10777
10786
  grid?: string | undefined;
10787
+ verticalAlignment?: "center" | "top" | "bottom" | undefined;
10788
+ horizontalDistribution?: "center" | "start" | "end" | "space-between" | "space-around" | "space-evenly" | undefined;
10778
10789
  }>]>;
10779
10790
  }, "strip", z.ZodTypeAny, {
10780
10791
  element: {
@@ -10877,6 +10888,8 @@ declare const UpdatePanelElementsParamsSchema: z.ZodObject<{
10877
10888
  id: string;
10878
10889
  }, ...args: unknown[]) => void) | undefined;
10879
10890
  grid?: string | undefined;
10891
+ verticalAlignment?: "center" | "top" | "bottom" | undefined;
10892
+ horizontalDistribution?: "center" | "start" | "end" | "space-between" | "space-around" | "space-evenly" | undefined;
10880
10893
  };
10881
10894
  }, {
10882
10895
  element: {
@@ -10979,6 +10992,8 @@ declare const UpdatePanelElementsParamsSchema: z.ZodObject<{
10979
10992
  id: string;
10980
10993
  }, ...args: unknown[]) => void) | undefined;
10981
10994
  grid?: string | undefined;
10995
+ verticalAlignment?: "center" | "top" | "bottom" | undefined;
10996
+ horizontalDistribution?: "center" | "start" | "end" | "space-between" | "space-around" | "space-evenly" | undefined;
10982
10997
  };
10983
10998
  }>, "many">;
10984
10999
  }, "strip", z.ZodTypeAny, {
@@ -11084,6 +11099,8 @@ declare const UpdatePanelElementsParamsSchema: z.ZodObject<{
11084
11099
  id: string;
11085
11100
  }, ...args: unknown[]) => void) | undefined;
11086
11101
  grid?: string | undefined;
11102
+ verticalAlignment?: "center" | "top" | "bottom" | undefined;
11103
+ horizontalDistribution?: "center" | "start" | "end" | "space-between" | "space-around" | "space-evenly" | undefined;
11087
11104
  };
11088
11105
  }[];
11089
11106
  }, {
@@ -11189,6 +11206,8 @@ declare const UpdatePanelElementsParamsSchema: z.ZodObject<{
11189
11206
  id: string;
11190
11207
  }, ...args: unknown[]) => void) | undefined;
11191
11208
  grid?: string | undefined;
11209
+ verticalAlignment?: "center" | "top" | "bottom" | undefined;
11210
+ horizontalDistribution?: "center" | "start" | "end" | "space-between" | "space-around" | "space-evenly" | undefined;
11192
11211
  };
11193
11212
  }[];
11194
11213
  }>;
@@ -11433,29 +11452,44 @@ interface UiController {
11433
11452
  */
11434
11453
  deleteActionTrigger(id: string): void;
11435
11454
  /**
11436
- * Creates a panel on map's right sidebar.
11455
+ * Creates a panel ID.
11456
+ *
11457
+ * In order to create a panel using {@link createOrUpdatePanel}, you need to create a panel ID first.
11458
+ *
11459
+ * @example
11460
+ * ```typescript
11461
+ * const panelId = await felt.createPanelId();
11462
+ * ```
11463
+ */
11464
+ createPanelId(): Promise<string>;
11465
+ /**
11466
+ * Creates or updates a panel.
11467
+ *
11468
+ * Panels are rendered on map's right sidebar and are useful to extend Felt UI for your own use cases
11469
+ * (e.g. a form, a settings panel, etc.) using Felt UI elements (e.g. Text, Button, etc.).
11470
+ * This way it is possible to cover new use cases while keeping the user experience consistent with the rest of Felt.
11437
11471
  *
11438
- * Panels are useful to extend Felt UI for your own use cases (e.g. a form, a settings panel, etc.)
11439
- * by using Felt UI elements (e.g. Text, Button, etc.). This way the user experience is consistent
11440
- * with the rest of Felt.
11472
+ * A panel is identified by its ID and must come from {@link createPanelId}.
11473
+ * Custom IDs are not supported in order to prevent conflicts with other panels.
11441
11474
  *
11442
11475
  * Panels have two sections:
11443
11476
  * - `body` - Body of the panel, scrollable.
11444
11477
  * - `footer` - It sticks to the bottom of the panel, useful to add submit buttons.
11445
11478
  *
11446
- * By default, the panel will be added to the end of the stack but you can
11447
- * specify a placement to add it at a specific position in the stack.
11479
+ * Regarding panel placement, by default it is added to the end of the panels stack but you can
11480
+ * specify a different placement by using the `initialPlacement` parameter.
11481
+ * This placement cannot be updated later.
11448
11482
  *
11449
- * Once created, you can add elements to the panel by using the {@link createPanelElements} method or
11450
- * perform partial updates of elements by using the {@link updatePanelElements} method.
11451
- *
11452
- * When adding a panel, its id is optional as well as its elements' ids.
11453
- * It is recommended to provide an id for the panel and its elements to make
11483
+ * When adding a panel, its elements' ids are optional though it is recommended to make
11454
11484
  * it easier to update or delete them later.
11455
11485
  *
11486
+ * Once created, you can add elements to the panel by using the {@link createPanelElements} method,
11487
+ * perform partial updates of elements by using the {@link updatePanelElements} method or
11488
+ * delete elements by using the {@link deletePanelElements} method.
11489
+ *
11456
11490
  * @param args - The arguments for the method.
11457
11491
  * @param args.panel - The panel to add.
11458
- * @param args.placement - The placement of the panel. Optional. Defaults to `{ at: "end" }`.
11492
+ * @param args.initialPlacement - The placement of the panel when added. Optional. Defaults to `{ at: "end" }`.
11459
11493
  * - `{ at: "start" }` - Add the panel to the start of the stack.
11460
11494
  * - `{ at: "end" }` - Add the panel to the end of the stack.
11461
11495
  * - `{ after: "panel-1" }` - Add the panel after the panel with the id `panel-1`.
@@ -11463,9 +11497,11 @@ interface UiController {
11463
11497
  *
11464
11498
  * @example
11465
11499
  * ```typescript
11466
- * await felt.createPanel({
11500
+ * const id = await felt.createPanelId();
11501
+ *
11502
+ * await felt.createOrUpdatePanel({
11467
11503
  * panel: {
11468
- * id: "panel-1", // not required but useful for further updates
11504
+ * id,
11469
11505
  * title: "My Panel",
11470
11506
  * body: [
11471
11507
  * {
@@ -11488,32 +11524,11 @@ interface UiController {
11488
11524
  * },
11489
11525
  * ],
11490
11526
  * },
11491
- * placement: { at: "start" }, // add the panel to the start of the stack
11492
- * });
11493
- * ```
11494
- */
11495
- createPanel(args: CreatePanelParams): Promise<UIPanel>;
11496
- /**
11497
- * Updates a panel.
11498
- *
11499
- * Panel to update is identified by the `id` property.
11500
- *
11501
- * @remarks
11502
- * Properties provided will override the existing properties.
11503
- * Override is done at Panel level, so if you want to update a specific element,
11504
- * you need to provide the entire element. For partial updates of elements, use
11505
- * {@link updatePanelElements} instead.
11506
- *
11507
- * @param panel - The panel to update.
11508
- * @example
11509
- * ```typescript
11510
- * await felt.updatePanel({
11511
- * id: "panel-1",
11512
- * title: "A new title for my panel", // only title changes
11527
+ * initialPlacement: { at: "start" }, // when added, the panel will be added to the start of the stack
11513
11528
  * });
11514
11529
  * ```
11515
11530
  */
11516
- updatePanel(panel: UpdatePanelParams): Promise<UIPanel>;
11531
+ createOrUpdatePanel(args: CreateOrUpdatePanelParams): Promise<UIPanel>;
11517
11532
  /**
11518
11533
  * Deletes a panel.
11519
11534
  *
@@ -11549,7 +11564,7 @@ interface UiController {
11549
11564
  * @example
11550
11565
  * ```typescript
11551
11566
  * await felt.createPanelElements({
11552
- * panelId: "panel-1",
11567
+ * panelId,
11553
11568
  * elements: [
11554
11569
  * {
11555
11570
  * element: { type: "Text", content: "Hello, world!" },
@@ -11571,7 +11586,7 @@ interface UiController {
11571
11586
  * @example
11572
11587
  * ```typescript
11573
11588
  * await felt.updatePanelElements({
11574
- * panelId: "panel-1",
11589
+ * panelId,
11575
11590
  * elements: [
11576
11591
  * {
11577
11592
  * element: {
@@ -11594,7 +11609,7 @@ interface UiController {
11594
11609
  * @example
11595
11610
  * ```typescript
11596
11611
  * await felt.deletePanelElements({
11597
- * panelId: "panel-1",
11612
+ * panelId,
11598
11613
  * elements: ["element-1", "element-2"],
11599
11614
  * });
11600
11615
  * ```
@@ -12018,4 +12033,4 @@ interface FeltController extends ViewportController, UiController, LayersControl
12018
12033
  iframe: HTMLIFrameElement | null;
12019
12034
  }
12020
12035
 
12021
- export { type LayerChangeCallbackParams as $, type TextElementUpdate as A, type ElementsController as B, type CircleElementCreate as C, type MapInteractionEvent as D, type Element as E, type FeltController as F, type GetElementGroupsConstraint as G, type HighlighterElementCreate as H, type ImageElementCreate as I, type InteractionsController as J, type CreateLayersFromGeoJsonParams as K, type LinkElementRead as L, type MarkerElementCreate as M, type NoteElementCreate as N, type DataOnlyLayer as O, type PathElementCreate as P, type FeltTiledVectorSource as Q, type GeoJsonDataVectorSource as R, type GeoJsonFileVectorSource as S, type TextElementCreate as T, type UiControlsOptions as U, type ViewportCenterZoom as V, type GeoJsonUrlVectorSource as W, type GetLayerGroupsConstraint as X, type GetLayersConstraint as Y, type GetRenderedFeaturesConstraint as Z, type Layer as _, type CircleElementRead as a, type LngLatTuple as a$, type LayerCommon as a0, type LayerGroup as a1, type LayerGroupChangeCallbackParams as a2, type LayerProcessingStatus as a3, type LegendItem as a4, type LegendItemChangeCallbackParams as a5, type LegendItemIdentifier as a6, type LegendItemsConstraint as a7, type RasterBand as a8, type RasterLayer as a9, type GetLayerCategoriesParams as aA, type GetLayerHistogramBin as aB, type GetLayerHistogramParams as aC, type GetLayerPrecomputedCalculationParams as aD, type GridConfig as aE, type GridType as aF, type MultiAggregationConfig as aG, type PrecomputedAggregationMethod as aH, type ValueConfiguration as aI, type LayersController as aJ, type MapDetails as aK, type MiscController as aL, type ElementGroupNode as aM, type ElementNode as aN, type EntityNode as aO, type FeatureNode as aP, type FeatureSelection as aQ, type LayerGroupNode as aR, type LayerNode as aS, type SelectionController as aT, type FeltBoundary as aU, type FeltZoom as aV, type GeoJsonFeature as aW, type GeoJsonGeometry as aX, type GeoJsonProperties as aY, type LatLng as aZ, type LineStringGeometry as a_, type RasterLayerSource as aa, type UpdateLayerParams as ab, type VectorLayer as ac, type LayerFeature as ad, type RasterValue as ae, type LayerSchema as af, type LayerSchemaAttribute as ag, type LayerSchemaBooleanAttribute as ah, type LayerSchemaCommonAttribute as ai, type LayerSchemaDateAttribute as aj, type LayerSchemaDateTimeAttribute as ak, type LayerSchemaNumericAttribute as al, type LayerSchemaTextAttribute as am, type FilterExpression as an, type FilterLogicGate as ao, type FilterTernary as ap, type Filters as aq, type GeometryFilter as ar, type LayerBoundaries as as, type LayerFilters as at, type AggregatedGridConfig as au, type AggregationConfig as av, type AggregationMethod as aw, type CountGridConfig as ax, type GetLayerCalculationParams as ay, type GetLayerCategoriesGroup as az, type CircleElementUpdate as b, type ViewportConstraints as b$, type MultiLineStringGeometry as b0, type MultiPointGeometry as b1, type MultiPolygonGeometry as b2, type PointGeometry as b3, type PolygonGeometry as b4, type SetVisibilityRequest as b5, type SortConfig as b6, type SortDirection as b7, type CircleToolSettings as b8, type ConfigurableToolType as b9, type UIButtonElement as bA, type UIButtonElementCreate as bB, type UIButtonElementUpdate as bC, type UITextElement as bD, type UITextElementCreate as bE, type UITextElementUpdate as bF, type UIFlexibleSpaceElement as bG, type UIFlexibleSpaceElementCreate as bH, type UIFlexibleSpaceElementUpdate as bI, type UIDividerElement as bJ, type UIDividerElementCreate as bK, type UIDividerElementUpdate as bL, type UITextInputElement as bM, type UITextInputElementCreate as bN, type UITextInputElementUpdate as bO, type UISelectElement as bP, type UISelectElementCreate as bQ, type UISelectElementUpdate as bR, type UIPanelElement as bS, type UIPanelElementCreate as bT, type UIPanelElementUpdate as bU, type UIGridContainerElement as bV, type UIGridContainerElementCreate as bW, type UIGridContainerElementUpdate as bX, type UIActionTriggerCreate as bY, type UiController as bZ, type SetViewportCenterZoomParams as b_, type HighlighterToolSettings as ba, type InputToolSettings as bb, type LineToolSettings as bc, type MarkerToolSettings as bd, type NoteToolSettings as be, type PinToolSettings as bf, type PlaceFrame as bg, type PlaceSymbol as bh, type PolygonToolSettings as bi, type RouteToolSettings as bj, type TextToolSettings as bk, type ToolSettingsChangeEvent as bl, type ToolSettingsMap as bm, type ToolType as bn, type ToolsController as bo, type CreateActionTriggerParams as bp, type CreatePanelElementsParams as bq, type CreatePanelParams as br, type DeletePanelElementsParams as bs, type UiOnMapInteractionsOptions as bt, type UpdateActionTriggerParams as bu, type UpdatePanelElementsParams as bv, type UpdatePanelParams as bw, type PlacementForUIElement as bx, type UIPanel as by, type UIPanelCreate as bz, type ElementChangeCallbackParams as c, type ViewportFitBoundsParams as c0, type ViewportState as c1, type ViewportController as c2, type UnwrapPromise as c3, uiActionTriggerSchema as c4, type UIPanelElementCreateClonable as c5, uiPanelCreateSchema as c6, type UIButtonElementCreateClonable as c7, type MakeClonableSchema as c8, type PromiseOrNot as c9, type UnionToIntersection as ca, type ElementCreate as d, type ElementGroup as e, type ElementGroupChangeCallbackParams as f, type ElementUpdate as g, type GetElementsConstraint as h, type HighlighterElementRead as i, type HighlighterElementUpdate as j, type ImageElementRead as k, type ImageElementUpdate as l, type MarkerElementRead as m, type MarkerElementUpdate as n, type NoteElementRead as o, type NoteElementUpdate as p, type PathElementRead as q, type PathElementUpdate as r, type PlaceElementCreate as s, type PlaceElementRead as t, type PlaceElementUpdate as u, type PolygonElementCreate as v, type PolygonElementRead as w, type PolygonElementUpdate as x, type TextElementRead as y, type zInfer as z };
12036
+ export { type LayerChangeCallbackParams as $, type TextElementUpdate as A, type ElementsController as B, type CircleElementCreate as C, type MapInteractionEvent as D, type Element as E, type FeltController as F, type GetElementGroupsConstraint as G, type HighlighterElementCreate as H, type ImageElementCreate as I, type InteractionsController as J, type CreateLayersFromGeoJsonParams as K, type LinkElementRead as L, type MarkerElementCreate as M, type NoteElementCreate as N, type DataOnlyLayer as O, type PathElementCreate as P, type FeltTiledVectorSource as Q, type GeoJsonDataVectorSource as R, type GeoJsonFileVectorSource as S, type TextElementCreate as T, type UiControlsOptions as U, type ViewportCenterZoom as V, type GeoJsonUrlVectorSource as W, type GetLayerGroupsConstraint as X, type GetLayersConstraint as Y, type GetRenderedFeaturesConstraint as Z, type Layer as _, type CircleElementRead as a, type LngLatTuple as a$, type LayerCommon as a0, type LayerGroup as a1, type LayerGroupChangeCallbackParams as a2, type LayerProcessingStatus as a3, type LegendItem as a4, type LegendItemChangeCallbackParams as a5, type LegendItemIdentifier as a6, type LegendItemsConstraint as a7, type RasterBand as a8, type RasterLayer as a9, type GetLayerCategoriesParams as aA, type GetLayerHistogramBin as aB, type GetLayerHistogramParams as aC, type GetLayerPrecomputedCalculationParams as aD, type GridConfig as aE, type GridType as aF, type MultiAggregationConfig as aG, type PrecomputedAggregationMethod as aH, type ValueConfiguration as aI, type LayersController as aJ, type MapDetails as aK, type MiscController as aL, type ElementGroupNode as aM, type ElementNode as aN, type EntityNode as aO, type FeatureNode as aP, type FeatureSelection as aQ, type LayerGroupNode as aR, type LayerNode as aS, type SelectionController as aT, type FeltBoundary as aU, type FeltZoom as aV, type GeoJsonFeature as aW, type GeoJsonGeometry as aX, type GeoJsonProperties as aY, type LatLng as aZ, type LineStringGeometry as a_, type RasterLayerSource as aa, type UpdateLayerParams as ab, type VectorLayer as ac, type LayerFeature as ad, type RasterValue as ae, type LayerSchema as af, type LayerSchemaAttribute as ag, type LayerSchemaBooleanAttribute as ah, type LayerSchemaCommonAttribute as ai, type LayerSchemaDateAttribute as aj, type LayerSchemaDateTimeAttribute as ak, type LayerSchemaNumericAttribute as al, type LayerSchemaTextAttribute as am, type FilterExpression as an, type FilterLogicGate as ao, type FilterTernary as ap, type Filters as aq, type GeometryFilter as ar, type LayerBoundaries as as, type LayerFilters as at, type AggregatedGridConfig as au, type AggregationConfig as av, type AggregationMethod as aw, type CountGridConfig as ax, type GetLayerCalculationParams as ay, type GetLayerCategoriesGroup as az, type CircleElementUpdate as b, type ViewportFitBoundsParams as b$, type MultiLineStringGeometry as b0, type MultiPointGeometry as b1, type MultiPolygonGeometry as b2, type PointGeometry as b3, type PolygonGeometry as b4, type SetVisibilityRequest as b5, type SortConfig as b6, type SortDirection as b7, type CircleToolSettings as b8, type ConfigurableToolType as b9, type UIButtonElementCreate as bA, type UIButtonElementUpdate as bB, type UITextElement as bC, type UITextElementCreate as bD, type UITextElementUpdate as bE, type UIFlexibleSpaceElement as bF, type UIFlexibleSpaceElementCreate as bG, type UIFlexibleSpaceElementUpdate as bH, type UIDividerElement as bI, type UIDividerElementCreate as bJ, type UIDividerElementUpdate as bK, type UITextInputElement as bL, type UITextInputElementCreate as bM, type UITextInputElementUpdate as bN, type UISelectElement as bO, type UISelectElementCreate as bP, type UISelectElementUpdate as bQ, type UIPanelElement as bR, type UIPanelElementCreate as bS, type UIPanelElementUpdate as bT, type UIGridContainerElement as bU, type UIGridContainerElementCreate as bV, type UIGridContainerElementUpdate as bW, type UIActionTriggerCreate as bX, type UiController as bY, type SetViewportCenterZoomParams as bZ, type ViewportConstraints as b_, type HighlighterToolSettings as ba, type InputToolSettings as bb, type LineToolSettings as bc, type MarkerToolSettings as bd, type NoteToolSettings as be, type PinToolSettings as bf, type PlaceFrame as bg, type PlaceSymbol as bh, type PolygonToolSettings as bi, type RouteToolSettings as bj, type TextToolSettings as bk, type ToolSettingsChangeEvent as bl, type ToolSettingsMap as bm, type ToolType as bn, type ToolsController as bo, type CreateActionTriggerParams as bp, type CreateOrUpdatePanelParams as bq, type CreatePanelElementsParams as br, type DeletePanelElementsParams as bs, type UiOnMapInteractionsOptions as bt, type UpdateActionTriggerParams as bu, type UpdatePanelElementsParams as bv, type PlacementForUIElement as bw, type UIPanel as bx, type UIPanelCreateOrUpdate as by, type UIButtonElement as bz, type ElementChangeCallbackParams as c, type ViewportState as c0, type ViewportController as c1, type UnwrapPromise as c2, uiActionTriggerSchema as c3, type UIPanelElementCreateClonable as c4, uiPanelCreateSchema as c5, type UIButtonElementCreateClonable as c6, type MakeClonableSchema as c7, type PromiseOrNot as c8, type UnionToIntersection as c9, type ElementCreate as d, type ElementGroup as e, type ElementGroupChangeCallbackParams as f, type ElementUpdate as g, type GetElementsConstraint as h, type HighlighterElementRead as i, type HighlighterElementUpdate as j, type ImageElementRead as k, type ImageElementUpdate as l, type MarkerElementRead as m, type MarkerElementUpdate as n, type NoteElementRead as o, type NoteElementUpdate as p, type PathElementRead as q, type PathElementUpdate as r, type PlaceElementCreate as s, type PlaceElementRead as t, type PlaceElementUpdate as u, type PolygonElementCreate as v, type PolygonElementRead as w, type PolygonElementUpdate as x, type TextElementRead as y, type zInfer as z };