@fkui/vue 6.8.0 → 6.10.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.
@@ -398,11 +398,14 @@ export declare class FFormModalPageObject extends FModalPageObject implements Ba
398
398
  */
399
399
  export declare class FInteractiveTablePageObject implements BasePageObject {
400
400
  selector: string;
401
- el: () => DefaultCypressChainable;
402
401
  /**
403
- * @param selector - table selector.
402
+ * @param selector - root element selector for `FInteractiveTable`, usually `.table`.
404
403
  */
405
- constructor(selector: string);
404
+ constructor(selector?: string);
405
+ /**
406
+ * Get root element.
407
+ */
408
+ el(): DefaultCypressChainable;
406
409
  /**
407
410
  * Get table cell (typically `<td>` but can be `<th>` if row headers are
408
411
  * present).
@@ -427,18 +430,55 @@ export declare class FInteractiveTablePageObject implements BasePageObject {
427
430
  row: number;
428
431
  col: number;
429
432
  }): Cypress.Chainable<JQuery<HTMLTableCellElement>>;
433
+ /**
434
+ * Get `<caption>` element.
435
+ */
430
436
  caption(): DefaultCypressChainable;
437
+ /**
438
+ * Get all table headers (`<th>` in `<thead>`).
439
+ *
440
+ * Includes the headers for checkboxes in selectable rows and markers in expandable rows.
441
+ */
442
+ headersRow(): DefaultCypressChainable;
443
+ /**
444
+ * Get all table body rows (`<tr>` in `<tbody>`).
445
+ *
446
+ * Includes expandable rows even if not expanded.
447
+ */
431
448
  bodyRow(): DefaultCypressChainable;
449
+ /**
450
+ * Get row (`<tr>` in `<tbody>`) of given index.
451
+ *
452
+ * Includes expandable rows even if not expanded.
453
+ *
454
+ * @param index - Row number (0-indexed).
455
+ */
432
456
  row(index: number): DefaultCypressChainable;
433
- headersRow(): DefaultCypressChainable;
434
457
  /**
435
- * Hämta page object för specifikt Table row item.
458
+ * Get page object for `FTableColumn` with selector targeting the given row number.
459
+ *
460
+ * Index includes the header row (index 0 selects the header row while 1 selects first row in table body).
461
+ * Index ignores expandable rows.
462
+ *
463
+ * @param index - Row number (0-indexed).
464
+ * @returns Page object for `FTableColumn`.
436
465
  */
437
466
  columnItem(index: number): FTableColumnPageObject;
438
467
  /**
439
- * Hämta page object för specifikt Header row item.
468
+ * Get page object for `FTableColumn` with selector targeting the header row.
469
+ *
470
+ * @returns Page object for `FTableColumn`.
440
471
  */
441
472
  headerRowItem(): FTableColumnPageObject;
473
+ /**
474
+ * Get sort order icon in given column.
475
+ *
476
+ * Index includes the columns for checkboxes in selectable rows and markers in expandable rows.
477
+ *
478
+ * @param index - Column index (0-indexed).
479
+ * @param order - Column sort order.
480
+ * @returns icon of given sort order.
481
+ */
442
482
  getColumnSortedByIcon(index: number, order: "ascending" | "descending" | "unsorted"): DefaultCypressChainable;
443
483
  }
444
484
 
@@ -13389,14 +13389,14 @@ default: () => string;
13389
13389
  * @model
13390
13390
  */
13391
13391
  modelValue: {
13392
- type: (StringConstructor | BooleanConstructor | ObjectConstructor | DateConstructor | ArrayConstructor | NumberConstructor)[];
13392
+ type: (StringConstructor | BooleanConstructor | ObjectConstructor | DateConstructor | ArrayConstructor | NumberConstructor | null)[];
13393
13393
  required: false;
13394
13394
  };
13395
13395
  /**
13396
13396
  * The value for the input.
13397
13397
  */
13398
13398
  value: {
13399
- type: (StringConstructor | BooleanConstructor | ObjectConstructor | DateConstructor | ArrayConstructor | NumberConstructor)[];
13399
+ type: (StringConstructor | BooleanConstructor | ObjectConstructor | DateConstructor | ArrayConstructor | NumberConstructor | null)[];
13400
13400
  required: true;
13401
13401
  };
13402
13402
  }>, {
@@ -13455,14 +13455,14 @@ default: () => string;
13455
13455
  * @model
13456
13456
  */
13457
13457
  modelValue: {
13458
- type: (StringConstructor | BooleanConstructor | ObjectConstructor | DateConstructor | ArrayConstructor | NumberConstructor)[];
13458
+ type: (StringConstructor | BooleanConstructor | ObjectConstructor | DateConstructor | ArrayConstructor | NumberConstructor | null)[];
13459
13459
  required: false;
13460
13460
  };
13461
13461
  /**
13462
13462
  * The value for the input.
13463
13463
  */
13464
13464
  value: {
13465
- type: (StringConstructor | BooleanConstructor | ObjectConstructor | DateConstructor | ArrayConstructor | NumberConstructor)[];
13465
+ type: (StringConstructor | BooleanConstructor | ObjectConstructor | DateConstructor | ArrayConstructor | NumberConstructor | null)[];
13466
13466
  required: true;
13467
13467
  };
13468
13468
  }>> & Readonly<{
@@ -14045,7 +14045,7 @@ default: boolean;
14045
14045
  * @model
14046
14046
  */
14047
14047
  modelValue: {
14048
- type: (StringConstructor | BooleanConstructor | ObjectConstructor | ArrayConstructor | NumberConstructor)[];
14048
+ type: (StringConstructor | BooleanConstructor | ObjectConstructor | ArrayConstructor | NumberConstructor | null)[];
14049
14049
  required: false;
14050
14050
  default: undefined;
14051
14051
  };
@@ -14086,7 +14086,7 @@ labelClass(): string;
14086
14086
  labelWrapperClass(): string | undefined;
14087
14087
  selectWrapperClass(): string | undefined;
14088
14088
  vModel: {
14089
- get(): string | number | boolean | unknown[] | Record<string, any> | undefined;
14089
+ get(): string | number | boolean | unknown[] | Record<string, any> | null | undefined;
14090
14090
  set(value: unknown): void;
14091
14091
  };
14092
14092
  }, {
@@ -14116,7 +14116,7 @@ default: boolean;
14116
14116
  * @model
14117
14117
  */
14118
14118
  modelValue: {
14119
- type: (StringConstructor | BooleanConstructor | ObjectConstructor | ArrayConstructor | NumberConstructor)[];
14119
+ type: (StringConstructor | BooleanConstructor | ObjectConstructor | ArrayConstructor | NumberConstructor | null)[];
14120
14120
  required: false;
14121
14121
  default: undefined;
14122
14122
  };
@@ -14149,7 +14149,7 @@ onChange?: ((...args: any[]) => any) | undefined;
14149
14149
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
14150
14150
  }>, {
14151
14151
  id: string;
14152
- modelValue: string | number | boolean | unknown[] | Record<string, any>;
14152
+ modelValue: string | number | boolean | unknown[] | Record<string, any> | null;
14153
14153
  inline: boolean;
14154
14154
  labelWidth: string;
14155
14155
  selectWidth: string;
@@ -18445,9 +18445,9 @@ export declare function useResize(options?: UseResizeOptions): UseResize;
18445
18445
  */
18446
18446
  export declare interface UseResizeOptions {
18447
18447
  /** When one or more components sets `enabled` to `true` the resize handle is enabled and the end user can drag it to resize the pane */
18448
- readonly enabled?: Readonly<Ref<boolean>>;
18448
+ readonly enabled?: boolean | Readonly<Ref<boolean>>;
18449
18449
  /** When one or more compoents set `visible` to `true` the resize pane is visible */
18450
- readonly visible?: Readonly<Ref<boolean>>;
18450
+ readonly visible?: boolean | Readonly<Ref<boolean>>;
18451
18451
  /**
18452
18452
  * When one or more components set `overlay` to `true` the resize pane is
18453
18453
  * displayed as an overlay and instead of occupying space from ther layout
@@ -18456,7 +18456,7 @@ export declare interface UseResizeOptions {
18456
18456
  * The `offset` property can be used to set a static size of how much space
18457
18457
  * it should occupy.
18458
18458
  */
18459
- readonly overlay?: Readonly<Ref<boolean>>;
18459
+ readonly overlay?: boolean | Readonly<Ref<boolean>>;
18460
18460
  /**
18461
18461
  * When `overlay` is enabled this sets how much static space (in px) the
18462
18462
  * pane should occupy from the nearby layout areas, that is, how much of the
@@ -18467,7 +18467,7 @@ export declare interface UseResizeOptions {
18467
18467
  * amount of space and the rest of the pane will be positioned on
18468
18468
  * top of the other layout areas.
18469
18469
  */
18470
- readonly offset?: Readonly<Ref<number>>;
18470
+ readonly offset?: number | Readonly<Ref<number>>;
18471
18471
  }
18472
18472
 
18473
18473
  /**
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.52.7"
8
+ "packageVersion": "7.52.8"
9
9
  }
10
10
  ]
11
11
  }
@@ -1018,6 +1018,11 @@ module.exports = defineMetadata({
1018
1018
  },
1019
1019
  requiredAttributes: ["action", "item"],
1020
1020
  requiredAncestors: ["f-crud-dataset"],
1021
+ deprecated: {
1022
+ message:
1023
+ "<f-crud-button> is deprecated, for table replace with <f-table-button> or <button> in other cases",
1024
+ source: "@fkui/vue",
1025
+ },
1021
1026
  },
1022
1027
 
1023
1028
  "f-radio-field": {
@@ -1239,7 +1244,10 @@ module.exports = defineMetadata({
1239
1244
 
1240
1245
  "f-wizard-step": {
1241
1246
  flow: true,
1242
- requiredAncestors: ["f-wizard > f-wizard-step"],
1247
+ requiredAncestors: [
1248
+ "f-wizard > f-wizard-step",
1249
+ "template > f-wizard-step",
1250
+ ],
1243
1251
  attributes: {
1244
1252
  key: {
1245
1253
  required: true,
@@ -3,11 +3,12 @@ const { getDocumentationUrl } = require("./common");
3
3
 
4
4
  /**
5
5
  * @typedef {import("html-validate/node").ElementReadyEvent} ElementReadyEvent
6
+ * @typedef {import("html-validate/node").HtmlElement} HtmlElement
6
7
  */
7
8
 
8
9
  /**
9
- *
10
10
  * @param {ElementReadyEvent} event
11
+ * @returns {boolean}
11
12
  */
12
13
  function isRelevant(event) {
13
14
  const { target } = event;
@@ -18,6 +19,26 @@ function isRelevant(event) {
18
19
  );
19
20
  }
20
21
 
22
+ /**
23
+ * Test if this element is the document root.
24
+ *
25
+ * @param {HtmlElement} node
26
+ * @returns {boolean}
27
+ */
28
+ function isDocumentRoot(node) {
29
+ return node.isRootElement();
30
+ }
31
+
32
+ /**
33
+ * Test if this element is the <template> element of a Vue SFC component.
34
+ *
35
+ * @param {HtmlElement} node
36
+ * @returns {boolean}
37
+ */
38
+ function isSFCTemplateRoot(node) {
39
+ return node.is("template") && node.parent.isRootElement();
40
+ }
41
+
21
42
  class NoTemplateModal extends Rule {
22
43
  documentation() {
23
44
  return {
@@ -29,7 +50,8 @@ class NoTemplateModal extends Rule {
29
50
 
30
51
  setup() {
31
52
  this.on("element:ready", isRelevant, (event) => {
32
- if (event.target.parent.is("#document")) {
53
+ const { parent } = event.target;
54
+ if (isDocumentRoot(parent) || isSFCTemplateRoot(parent)) {
33
55
  return;
34
56
  }
35
57
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fkui/vue",
3
- "version": "6.8.0",
3
+ "version": "6.10.0",
4
4
  "description": "Vue implementation of FKUI components",
5
5
  "keywords": [
6
6
  "fkui",
@@ -60,9 +60,9 @@
60
60
  "unit:watch": "jest --watch"
61
61
  },
62
62
  "peerDependencies": {
63
- "@fkui/date": "^6.8.0",
64
- "@fkui/design": "^6.8.0",
65
- "@fkui/logic": "^6.8.0",
63
+ "@fkui/date": "^6.10.0",
64
+ "@fkui/design": "^6.10.0",
65
+ "@fkui/logic": "^6.10.0",
66
66
  "fk-icons": "^4.30.1",
67
67
  "html-validate": ">= 7.9.0",
68
68
  "vue": "^3.5.0"
@@ -79,5 +79,5 @@
79
79
  "node": ">= 20",
80
80
  "npm": ">= 7"
81
81
  },
82
- "gitHead": "c76b7bb4c189847cdf9ab69abd426eb462761226"
82
+ "gitHead": "e9daf74232b7f96db6d4289338ad08c7bd6f61fa"
83
83
  }