@kubex/zinc 1.1.12 → 1.1.13

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.
@@ -47,6 +47,79 @@
47
47
  }
48
48
  ]
49
49
  },
50
+ {
51
+ "kind": "javascript-module",
52
+ "path": "components/action-bar/action-bar.js",
53
+ "declarations": [
54
+ {
55
+ "kind": "class",
56
+ "description": "",
57
+ "name": "ZnActionBar",
58
+ "cssProperties": [
59
+ {
60
+ "description": "An example CSS custom property.",
61
+ "name": "--example"
62
+ }
63
+ ],
64
+ "cssParts": [
65
+ {
66
+ "description": "The component's base wrapper.",
67
+ "name": "base"
68
+ }
69
+ ],
70
+ "slots": [
71
+ {
72
+ "description": "The default slot.",
73
+ "name": ""
74
+ },
75
+ {
76
+ "description": "An example slot.",
77
+ "name": "example"
78
+ }
79
+ ],
80
+ "members": [
81
+ {
82
+ "kind": "field",
83
+ "name": "localize",
84
+ "privacy": "private",
85
+ "readonly": true,
86
+ "default": "new LocalizeController(this)"
87
+ }
88
+ ],
89
+ "events": [
90
+ {
91
+ "description": "Emitted as an example.",
92
+ "name": "zn-event-name"
93
+ }
94
+ ],
95
+ "superclass": {
96
+ "name": "ZincElement",
97
+ "module": "/src/internal/zinc-element"
98
+ },
99
+ "summary": "Short summary of the component's intended use.",
100
+ "tagNameWithoutPrefix": "action-bar",
101
+ "tagName": "zn-action-bar",
102
+ "customElement": true,
103
+ "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/action-bar\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
104
+ "documentation": "https://zinc.style/components/action-bar",
105
+ "status": "experimental",
106
+ "since": "1.0",
107
+ "dependencies": [
108
+ "zn-example"
109
+ ]
110
+ }
111
+ ],
112
+ "exports": [
113
+ {
114
+ "kind": "js",
115
+ "name": "default",
116
+ "declaration": {
117
+ "name": "ZnActionBar",
118
+ "module": "components/action-bar/action-bar.js"
119
+ }
120
+ }
121
+ ]
122
+ },
50
123
  {
51
124
  "kind": "javascript-module",
52
125
  "path": "components/alert/alert.js",
@@ -223,79 +296,6 @@
223
296
  }
224
297
  ]
225
298
  },
226
- {
227
- "kind": "javascript-module",
228
- "path": "components/action-bar/action-bar.js",
229
- "declarations": [
230
- {
231
- "kind": "class",
232
- "description": "",
233
- "name": "ZnActionBar",
234
- "cssProperties": [
235
- {
236
- "description": "An example CSS custom property.",
237
- "name": "--example"
238
- }
239
- ],
240
- "cssParts": [
241
- {
242
- "description": "The component's base wrapper.",
243
- "name": "base"
244
- }
245
- ],
246
- "slots": [
247
- {
248
- "description": "The default slot.",
249
- "name": ""
250
- },
251
- {
252
- "description": "An example slot.",
253
- "name": "example"
254
- }
255
- ],
256
- "members": [
257
- {
258
- "kind": "field",
259
- "name": "localize",
260
- "privacy": "private",
261
- "readonly": true,
262
- "default": "new LocalizeController(this)"
263
- }
264
- ],
265
- "events": [
266
- {
267
- "description": "Emitted as an example.",
268
- "name": "zn-event-name"
269
- }
270
- ],
271
- "superclass": {
272
- "name": "ZincElement",
273
- "module": "/src/internal/zinc-element"
274
- },
275
- "summary": "Short summary of the component's intended use.",
276
- "tagNameWithoutPrefix": "action-bar",
277
- "tagName": "zn-action-bar",
278
- "customElement": true,
279
- "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/action-bar\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
280
- "documentation": "https://zinc.style/components/action-bar",
281
- "status": "experimental",
282
- "since": "1.0",
283
- "dependencies": [
284
- "zn-example"
285
- ]
286
- }
287
- ],
288
- "exports": [
289
- {
290
- "kind": "js",
291
- "name": "default",
292
- "declaration": {
293
- "name": "ZnActionBar",
294
- "module": "components/action-bar/action-bar.js"
295
- }
296
- }
297
- ]
298
- },
299
299
  {
300
300
  "kind": "javascript-module",
301
301
  "path": "components/animated-button/animated-button.js",
@@ -2561,171 +2561,241 @@
2561
2561
  },
2562
2562
  {
2563
2563
  "kind": "javascript-module",
2564
- "path": "components/chart/chart.js",
2564
+ "path": "components/channel-tile/channel-tile.js",
2565
2565
  "declarations": [
2566
2566
  {
2567
2567
  "kind": "class",
2568
2568
  "description": "",
2569
- "name": "ZnChart",
2569
+ "name": "ZnChannelTile",
2570
+ "cssProperties": [
2571
+ {
2572
+ "description": "Resolved accent color (set from the `color` property).",
2573
+ "name": "--channel-tile-color"
2574
+ }
2575
+ ],
2570
2576
  "cssParts": [
2571
2577
  {
2572
2578
  "description": "The component's base wrapper.",
2573
2579
  "name": "base"
2580
+ },
2581
+ {
2582
+ "description": "The progress indicator (incoming countdown overlay or active progress bar).",
2583
+ "name": "progress"
2584
+ }
2585
+ ],
2586
+ "slots": [
2587
+ {
2588
+ "description": "Replaces the leading icon in the active state.",
2589
+ "name": "leading"
2590
+ },
2591
+ {
2592
+ "description": "Action content for the available state (e.g. a form). Falls back to a default accept button.",
2593
+ "name": "action"
2594
+ },
2595
+ {
2596
+ "description": "Trailing content (e.g. status badges) in the active state.",
2597
+ "name": "footer"
2574
2598
  }
2575
2599
  ],
2576
2600
  "members": [
2577
2601
  {
2578
2602
  "kind": "field",
2579
- "name": "type",
2603
+ "name": "available",
2580
2604
  "type": {
2581
- "text": "ChartType"
2605
+ "text": "boolean"
2582
2606
  },
2583
- "default": "'bar'",
2584
- "attribute": "type"
2607
+ "default": "false",
2608
+ "description": "Renders the empty/available face instead of the active face.",
2609
+ "attribute": "available",
2610
+ "reflects": true
2585
2611
  },
2586
2612
  {
2587
2613
  "kind": "field",
2588
- "name": "data",
2614
+ "name": "incoming",
2589
2615
  "type": {
2590
- "text": "SeriesItem[]"
2616
+ "text": "boolean"
2591
2617
  },
2592
- "default": "[]",
2593
- "attribute": "data"
2618
+ "default": "false",
2619
+ "description": "(Available only) the tile is reserving an incoming item awaiting acceptance.",
2620
+ "attribute": "incoming",
2621
+ "reflects": true
2594
2622
  },
2595
2623
  {
2596
2624
  "kind": "field",
2597
- "name": "categories",
2625
+ "name": "variant",
2598
2626
  "type": {
2599
- "text": "string[]"
2627
+ "text": "string"
2600
2628
  },
2601
- "default": "[]",
2602
- "attribute": "categories"
2629
+ "default": "''",
2630
+ "description": "Free-form grouping/theming key (reflected so consumers can query/style by it).",
2631
+ "attribute": "variant",
2632
+ "reflects": true
2603
2633
  },
2604
2634
  {
2605
2635
  "kind": "field",
2606
- "name": "xAxis",
2636
+ "name": "header",
2607
2637
  "type": {
2608
- "text": "'datetime' | 'category' | 'numeric'"
2638
+ "text": "string"
2609
2639
  },
2610
- "attribute": "xaxis"
2640
+ "default": "''",
2641
+ "description": "Top-bar text (e.g. brand).",
2642
+ "attribute": "header"
2611
2643
  },
2612
2644
  {
2613
2645
  "kind": "field",
2614
- "name": "datapointSize",
2646
+ "name": "icon",
2615
2647
  "type": {
2616
- "text": "number"
2648
+ "text": "string"
2617
2649
  },
2618
- "default": "1",
2619
- "attribute": "d-size"
2650
+ "default": "''",
2651
+ "description": "Leading icon (active state).",
2652
+ "attribute": "icon"
2620
2653
  },
2621
2654
  {
2622
2655
  "kind": "field",
2623
- "name": "stacked",
2656
+ "name": "color",
2624
2657
  "type": {
2625
- "text": "boolean"
2658
+ "text": "ChannelTileColor"
2626
2659
  },
2627
- "default": "false",
2628
- "attribute": "stacked"
2660
+ "default": "'default'",
2661
+ "description": "Accent color driving the leading icon and `--channel-tile-color`.",
2662
+ "attribute": "color",
2663
+ "reflects": true
2629
2664
  },
2630
2665
  {
2631
2666
  "kind": "field",
2632
- "name": "live",
2667
+ "name": "title",
2633
2668
  "type": {
2634
- "text": "boolean"
2669
+ "text": "string"
2635
2670
  },
2636
- "default": "false",
2637
- "attribute": "live"
2671
+ "default": "''",
2672
+ "description": "Primary line. Defaults to \"Available\" in the available state when unset.",
2673
+ "attribute": "title"
2638
2674
  },
2639
2675
  {
2640
2676
  "kind": "field",
2641
- "name": "dataUrl",
2677
+ "name": "subtitle",
2642
2678
  "type": {
2643
2679
  "text": "string"
2644
2680
  },
2645
2681
  "default": "''",
2646
- "attribute": "data-url"
2682
+ "description": "Secondary line.",
2683
+ "attribute": "subtitle"
2647
2684
  },
2648
2685
  {
2649
2686
  "kind": "field",
2650
- "name": "liveInterval",
2687
+ "name": "progress",
2651
2688
  "type": {
2652
2689
  "text": "number"
2653
2690
  },
2654
- "default": "1000",
2655
- "attribute": "live-interval"
2691
+ "default": "0",
2692
+ "description": "(Active only) progress bar fill, 0–100.",
2693
+ "attribute": "progress"
2656
2694
  },
2657
2695
  {
2658
2696
  "kind": "field",
2659
- "name": "height",
2697
+ "name": "progressColor",
2660
2698
  "type": {
2661
- "text": "number"
2699
+ "text": "string"
2662
2700
  },
2663
- "default": "300",
2664
- "attribute": "height",
2665
- "reflects": true
2701
+ "default": "''",
2702
+ "description": "(Active only) CSS color for the progress bar fill.",
2703
+ "attribute": "progress-color"
2666
2704
  },
2667
2705
  {
2668
2706
  "kind": "field",
2669
- "name": "enableAnimations",
2707
+ "name": "fid",
2670
2708
  "type": {
2671
- "text": "boolean | number"
2709
+ "text": "string"
2672
2710
  },
2673
- "default": "false",
2674
- "attribute": "enable-animations"
2711
+ "default": "''",
2712
+ "description": "Identifier carried in `zn-accept` / `zn-reject` event details.",
2713
+ "attribute": "fid"
2675
2714
  },
2676
2715
  {
2677
2716
  "kind": "field",
2678
- "name": "yAxisAppend",
2717
+ "name": "acceptUri",
2679
2718
  "type": {
2680
2719
  "text": "string"
2681
2720
  },
2682
- "attribute": "y-axis-append"
2721
+ "default": "''",
2722
+ "description": "(Available only) when set, accepting fetches this URI unless `zn-accept` is canceled.",
2723
+ "attribute": "accept-uri"
2683
2724
  },
2684
2725
  {
2685
2726
  "kind": "field",
2686
- "name": "colors",
2727
+ "name": "reservedUntil",
2687
2728
  "type": {
2688
- "text": "string[] | undefined"
2729
+ "text": "number"
2689
2730
  },
2690
- "attribute": "colors"
2731
+ "default": "0",
2732
+ "description": "(Available/incoming) epoch (seconds or millis) at which the reservation window ends.",
2733
+ "attribute": "reserved-until"
2691
2734
  },
2692
2735
  {
2693
2736
  "kind": "field",
2694
- "name": "syncGroup",
2737
+ "name": "autoAcceptDelay",
2695
2738
  "type": {
2696
- "text": "string | undefined"
2739
+ "text": "number"
2697
2740
  },
2698
- "attribute": "sync-group"
2741
+ "default": "0",
2742
+ "description": "(Available/incoming) auto-accept window length in milliseconds.",
2743
+ "attribute": "auto-accept-delay"
2699
2744
  },
2700
2745
  {
2701
2746
  "kind": "field",
2702
- "name": "smooth",
2747
+ "name": "rejectable",
2703
2748
  "type": {
2704
2749
  "text": "boolean"
2705
2750
  },
2706
2751
  "default": "false",
2707
- "attribute": "smooth"
2752
+ "description": "(Available/incoming) whether a reject control is offered.",
2753
+ "attribute": "rejectable",
2754
+ "reflects": true
2708
2755
  },
2709
2756
  {
2710
2757
  "kind": "field",
2711
- "name": "scale",
2758
+ "name": "acceptIcon",
2712
2759
  "type": {
2713
- "text": "boolean | number"
2760
+ "text": "string"
2714
2761
  },
2715
- "default": "false",
2716
- "attribute": "scale"
2762
+ "default": "'plus@lu'",
2763
+ "description": "Icon for the built-in accept button.",
2764
+ "attribute": "accept-icon"
2717
2765
  },
2718
2766
  {
2719
2767
  "kind": "field",
2720
- "name": "chart",
2768
+ "name": "acceptGaid",
2721
2769
  "type": {
2722
- "text": "ECharts | undefined"
2770
+ "text": "string"
2723
2771
  },
2724
- "privacy": "private"
2772
+ "default": "''",
2773
+ "description": "Optional analytics id forwarded to the built-in accept button.",
2774
+ "attribute": "accept-gaid"
2725
2775
  },
2726
2776
  {
2727
2777
  "kind": "field",
2728
- "name": "liveTimer",
2778
+ "name": "rejectIcon",
2779
+ "type": {
2780
+ "text": "string"
2781
+ },
2782
+ "default": "'call_end'",
2783
+ "description": "Icon for the reject control.",
2784
+ "attribute": "reject-icon"
2785
+ },
2786
+ {
2787
+ "kind": "field",
2788
+ "name": "rejectLabel",
2789
+ "type": {
2790
+ "text": "string"
2791
+ },
2792
+ "default": "'Reject'",
2793
+ "description": "Accessible label for the reject control.",
2794
+ "attribute": "reject-label"
2795
+ },
2796
+ {
2797
+ "kind": "field",
2798
+ "name": "_tickInterval",
2729
2799
  "type": {
2730
2800
  "text": "number | undefined"
2731
2801
  },
@@ -2733,200 +2803,288 @@
2733
2803
  },
2734
2804
  {
2735
2805
  "kind": "field",
2736
- "name": "resizeObserver",
2806
+ "name": "_autoAcceptFired",
2807
+ "type": {
2808
+ "text": "string"
2809
+ },
2737
2810
  "privacy": "private",
2738
- "readonly": true,
2739
- "default": "new ResizeController(this, { target: null, skipInitial: true, callback: () => this.chart?.resize(), })"
2811
+ "default": "''"
2740
2812
  },
2741
2813
  {
2742
2814
  "kind": "method",
2743
- "name": "getTheme",
2815
+ "name": "_isCountingDown",
2744
2816
  "privacy": "private",
2745
2817
  "return": {
2746
2818
  "type": {
2747
- "text": "'light' | 'dark'"
2819
+ "text": "boolean"
2748
2820
  }
2749
2821
  }
2750
2822
  },
2751
2823
  {
2752
2824
  "kind": "method",
2753
- "name": "getTextColor",
2825
+ "name": "_startTicker",
2826
+ "privacy": "private"
2827
+ },
2828
+ {
2829
+ "kind": "method",
2830
+ "name": "_stopTicker",
2831
+ "privacy": "private"
2832
+ },
2833
+ {
2834
+ "kind": "method",
2835
+ "name": "_maybeAutoAccept",
2836
+ "privacy": "private"
2837
+ },
2838
+ {
2839
+ "kind": "method",
2840
+ "name": "_accept",
2754
2841
  "privacy": "private",
2755
2842
  "return": {
2756
2843
  "type": {
2757
- "text": "string | undefined"
2844
+ "text": "void"
2758
2845
  }
2759
2846
  }
2760
2847
  },
2761
2848
  {
2762
2849
  "kind": "method",
2763
- "name": "getBorderColor",
2850
+ "name": "_reservedUntilMs",
2764
2851
  "privacy": "private",
2765
2852
  "return": {
2766
2853
  "type": {
2767
- "text": "string | undefined"
2854
+ "text": "number"
2768
2855
  }
2769
2856
  }
2770
2857
  },
2771
2858
  {
2772
2859
  "kind": "method",
2773
- "name": "buildOption",
2860
+ "name": "_countdownPercent",
2861
+ "privacy": "private",
2862
+ "return": {
2863
+ "type": {
2864
+ "text": "number"
2865
+ }
2866
+ }
2867
+ },
2868
+ {
2869
+ "kind": "field",
2870
+ "name": "_handleReject",
2774
2871
  "privacy": "private"
2775
2872
  },
2776
2873
  {
2777
- "kind": "method",
2778
- "name": "initChart",
2874
+ "kind": "field",
2875
+ "name": "_handleClick",
2779
2876
  "privacy": "private"
2780
2877
  },
2781
2878
  {
2782
2879
  "kind": "method",
2783
- "name": "startLive",
2880
+ "name": "_renderLeading",
2784
2881
  "privacy": "private"
2785
2882
  },
2786
2883
  {
2787
2884
  "kind": "method",
2788
- "name": "reinit",
2885
+ "name": "_renderAvailableAction",
2789
2886
  "privacy": "private"
2790
2887
  }
2791
2888
  ],
2889
+ "events": [
2890
+ {
2891
+ "description": "Emitted when an available tile is accepted (click or auto-accept). Cancelable — call `preventDefault()` to suppress the built-in `accept-uri` fetch.",
2892
+ "name": "zn-accept"
2893
+ },
2894
+ {
2895
+ "description": "Emitted when the reject control is pressed.",
2896
+ "name": "zn-reject"
2897
+ }
2898
+ ],
2792
2899
  "attributes": [
2793
2900
  {
2794
- "name": "type",
2901
+ "name": "available",
2795
2902
  "type": {
2796
- "text": "ChartType"
2903
+ "text": "boolean"
2797
2904
  },
2798
- "default": "'bar'",
2799
- "fieldName": "type"
2905
+ "default": "false",
2906
+ "description": "Renders the empty/available face instead of the active face.",
2907
+ "fieldName": "available"
2800
2908
  },
2801
2909
  {
2802
- "name": "data",
2910
+ "name": "incoming",
2803
2911
  "type": {
2804
- "text": "SeriesItem[]"
2912
+ "text": "boolean"
2805
2913
  },
2806
- "default": "[]",
2807
- "fieldName": "data"
2914
+ "default": "false",
2915
+ "description": "(Available only) the tile is reserving an incoming item awaiting acceptance.",
2916
+ "fieldName": "incoming"
2808
2917
  },
2809
2918
  {
2810
- "name": "categories",
2919
+ "name": "variant",
2811
2920
  "type": {
2812
- "text": "string[]"
2921
+ "text": "string"
2813
2922
  },
2814
- "default": "[]",
2815
- "fieldName": "categories"
2923
+ "default": "''",
2924
+ "description": "Free-form grouping/theming key (reflected so consumers can query/style by it).",
2925
+ "fieldName": "variant"
2816
2926
  },
2817
2927
  {
2818
- "name": "xaxis",
2928
+ "name": "header",
2819
2929
  "type": {
2820
- "text": "'datetime' | 'category' | 'numeric'"
2930
+ "text": "string"
2821
2931
  },
2822
- "fieldName": "xAxis"
2932
+ "default": "''",
2933
+ "description": "Top-bar text (e.g. brand).",
2934
+ "fieldName": "header"
2823
2935
  },
2824
2936
  {
2825
- "name": "d-size",
2937
+ "name": "icon",
2826
2938
  "type": {
2827
- "text": "number"
2939
+ "text": "string"
2828
2940
  },
2829
- "default": "1",
2830
- "fieldName": "datapointSize"
2941
+ "default": "''",
2942
+ "description": "Leading icon (active state).",
2943
+ "fieldName": "icon"
2831
2944
  },
2832
2945
  {
2833
- "name": "stacked",
2946
+ "name": "color",
2834
2947
  "type": {
2835
- "text": "boolean"
2948
+ "text": "ChannelTileColor"
2836
2949
  },
2837
- "default": "false",
2838
- "fieldName": "stacked"
2950
+ "default": "'default'",
2951
+ "description": "Accent color driving the leading icon and `--channel-tile-color`.",
2952
+ "fieldName": "color"
2839
2953
  },
2840
2954
  {
2841
- "name": "live",
2955
+ "name": "title",
2842
2956
  "type": {
2843
- "text": "boolean"
2957
+ "text": "string"
2844
2958
  },
2845
- "default": "false",
2846
- "fieldName": "live"
2959
+ "default": "''",
2960
+ "description": "Primary line. Defaults to \"Available\" in the available state when unset.",
2961
+ "fieldName": "title"
2847
2962
  },
2848
2963
  {
2849
- "name": "data-url",
2964
+ "name": "subtitle",
2850
2965
  "type": {
2851
2966
  "text": "string"
2852
2967
  },
2853
2968
  "default": "''",
2854
- "fieldName": "dataUrl"
2969
+ "description": "Secondary line.",
2970
+ "fieldName": "subtitle"
2855
2971
  },
2856
2972
  {
2857
- "name": "live-interval",
2973
+ "name": "progress",
2858
2974
  "type": {
2859
2975
  "text": "number"
2860
2976
  },
2861
- "default": "1000",
2862
- "fieldName": "liveInterval"
2977
+ "default": "0",
2978
+ "description": "(Active only) progress bar fill, 0–100.",
2979
+ "fieldName": "progress"
2863
2980
  },
2864
2981
  {
2865
- "name": "height",
2982
+ "name": "progress-color",
2866
2983
  "type": {
2867
- "text": "number"
2984
+ "text": "string"
2868
2985
  },
2869
- "default": "300",
2870
- "fieldName": "height"
2986
+ "default": "''",
2987
+ "description": "(Active only) CSS color for the progress bar fill.",
2988
+ "fieldName": "progressColor"
2871
2989
  },
2872
2990
  {
2873
- "name": "enable-animations",
2991
+ "name": "fid",
2874
2992
  "type": {
2875
- "text": "boolean | number"
2993
+ "text": "string"
2876
2994
  },
2877
- "default": "false",
2878
- "fieldName": "enableAnimations"
2995
+ "default": "''",
2996
+ "description": "Identifier carried in `zn-accept` / `zn-reject` event details.",
2997
+ "fieldName": "fid"
2879
2998
  },
2880
2999
  {
2881
- "name": "y-axis-append",
3000
+ "name": "accept-uri",
2882
3001
  "type": {
2883
3002
  "text": "string"
2884
3003
  },
2885
- "fieldName": "yAxisAppend"
3004
+ "default": "''",
3005
+ "description": "(Available only) when set, accepting fetches this URI unless `zn-accept` is canceled.",
3006
+ "fieldName": "acceptUri"
2886
3007
  },
2887
3008
  {
2888
- "name": "colors",
3009
+ "name": "reserved-until",
2889
3010
  "type": {
2890
- "text": "string[] | undefined"
3011
+ "text": "number"
2891
3012
  },
2892
- "fieldName": "colors"
3013
+ "default": "0",
3014
+ "description": "(Available/incoming) epoch (seconds or millis) at which the reservation window ends.",
3015
+ "fieldName": "reservedUntil"
2893
3016
  },
2894
3017
  {
2895
- "name": "sync-group",
3018
+ "name": "auto-accept-delay",
2896
3019
  "type": {
2897
- "text": "string | undefined"
3020
+ "text": "number"
2898
3021
  },
2899
- "fieldName": "syncGroup"
3022
+ "default": "0",
3023
+ "description": "(Available/incoming) auto-accept window length in milliseconds.",
3024
+ "fieldName": "autoAcceptDelay"
2900
3025
  },
2901
3026
  {
2902
- "name": "smooth",
3027
+ "name": "rejectable",
2903
3028
  "type": {
2904
3029
  "text": "boolean"
2905
3030
  },
2906
3031
  "default": "false",
2907
- "fieldName": "smooth"
3032
+ "description": "(Available/incoming) whether a reject control is offered.",
3033
+ "fieldName": "rejectable"
2908
3034
  },
2909
3035
  {
2910
- "name": "scale",
3036
+ "name": "accept-icon",
2911
3037
  "type": {
2912
- "text": "boolean | number"
3038
+ "text": "string"
2913
3039
  },
2914
- "default": "false",
2915
- "fieldName": "scale"
3040
+ "default": "'plus@lu'",
3041
+ "description": "Icon for the built-in accept button.",
3042
+ "fieldName": "acceptIcon"
3043
+ },
3044
+ {
3045
+ "name": "accept-gaid",
3046
+ "type": {
3047
+ "text": "string"
3048
+ },
3049
+ "default": "''",
3050
+ "description": "Optional analytics id forwarded to the built-in accept button.",
3051
+ "fieldName": "acceptGaid"
3052
+ },
3053
+ {
3054
+ "name": "reject-icon",
3055
+ "type": {
3056
+ "text": "string"
3057
+ },
3058
+ "default": "'call_end'",
3059
+ "description": "Icon for the reject control.",
3060
+ "fieldName": "rejectIcon"
3061
+ },
3062
+ {
3063
+ "name": "reject-label",
3064
+ "type": {
3065
+ "text": "string"
3066
+ },
3067
+ "default": "'Reject'",
3068
+ "description": "Accessible label for the reject control.",
3069
+ "fieldName": "rejectLabel"
2916
3070
  }
2917
3071
  ],
2918
3072
  "superclass": {
2919
3073
  "name": "ZincElement",
2920
3074
  "module": "/src/internal/zinc-element"
2921
3075
  },
2922
- "summary": "Chart component powered by Apache ECharts.",
2923
- "tagNameWithoutPrefix": "chart",
2924
- "tagName": "zn-chart",
3076
+ "summary": "A channel/queue slot tile with two faces: an active (occupied) state\nshowing an in-progress item, and an available (empty) state advertising\ncapacity — optionally reserving an incoming item with an auto-accept countdown.",
3077
+ "tagNameWithoutPrefix": "channel-tile",
3078
+ "tagName": "zn-channel-tile",
2925
3079
  "customElement": true,
2926
- "jsDoc": "/**\n * @summary Chart component powered by Apache ECharts.\n * @documentation https://zinc.style/components/data-chart\n * @status experimental\n * @since 1.0\n *\n * @csspart base - The component's base wrapper.\n */",
2927
- "documentation": "https://zinc.style/components/data-chart",
3080
+ "jsDoc": "/**\n * @summary A channel/queue slot tile with two faces: an active (occupied) state\n * showing an in-progress item, and an available (empty) state advertising\n * capacity — optionally reserving an incoming item with an auto-accept countdown.\n * @documentation https://zinc.style/components/channel-tile\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-button\n * @dependency zn-icon\n *\n * @event zn-accept - Emitted when an available tile is accepted (click or auto-accept).\n * Cancelable — call `preventDefault()` to suppress the built-in `accept-uri` fetch.\n * @event zn-reject - Emitted when the reject control is pressed.\n *\n * @slot leading - Replaces the leading icon in the active state.\n * @slot action - Action content for the available state (e.g. a form). Falls back to a default accept button.\n * @slot footer - Trailing content (e.g. status badges) in the active state.\n *\n * @csspart base - The component's base wrapper.\n * @csspart progress - The progress indicator (incoming countdown overlay or active progress bar).\n *\n * @cssproperty --channel-tile-color - Resolved accent color (set from the `color` property).\n */",
3081
+ "documentation": "https://zinc.style/components/channel-tile",
2928
3082
  "status": "experimental",
2929
- "since": "1.0"
3083
+ "since": "1.0",
3084
+ "dependencies": [
3085
+ "zn-button",
3086
+ "zn-icon"
3087
+ ]
2930
3088
  }
2931
3089
  ],
2932
3090
  "exports": [
@@ -2934,99 +3092,480 @@
2934
3092
  "kind": "js",
2935
3093
  "name": "default",
2936
3094
  "declaration": {
2937
- "name": "ZnChart",
2938
- "module": "components/chart/chart.js"
3095
+ "name": "ZnChannelTile",
3096
+ "module": "components/channel-tile/channel-tile.js"
2939
3097
  }
2940
3098
  }
2941
3099
  ]
2942
3100
  },
2943
3101
  {
2944
3102
  "kind": "javascript-module",
2945
- "path": "components/chat-message/chat-message.js",
3103
+ "path": "components/chart/chart.js",
2946
3104
  "declarations": [
2947
3105
  {
2948
3106
  "kind": "class",
2949
3107
  "description": "",
2950
- "name": "ZnChatMessage",
2951
- "cssProperties": [
2952
- {
2953
- "description": "The bubble's background colour.",
2954
- "name": "--message-background"
2955
- }
2956
- ],
3108
+ "name": "ZnChart",
2957
3109
  "cssParts": [
2958
3110
  {
2959
3111
  "description": "The component's base wrapper.",
2960
3112
  "name": "base"
2961
- },
2962
- {
2963
- "description": "The avatar column.",
2964
- "name": "avatar"
2965
- },
2966
- {
2967
- "description": "The header and bubble column.",
2968
- "name": "body"
2969
- },
2970
- {
2971
- "description": "The sender/time/badge row.",
2972
- "name": "header"
2973
- },
2974
- {
2975
- "description": "The message bubble.",
2976
- "name": "bubble"
2977
- },
2978
- {
2979
- "description": "The message content within the bubble.",
2980
- "name": "content"
2981
- },
2982
- {
2983
- "description": "The card rendered for system action types.",
2984
- "name": "system-card"
2985
- }
2986
- ],
2987
- "slots": [
2988
- {
2989
- "description": "The message content. Ignored when the `message` attribute is set.",
2990
- "name": ""
2991
- },
2992
- {
2993
- "description": "Rendered in the header after the sender and time (e.g. an INTERNAL NOTE chip).",
2994
- "name": "badge"
2995
- },
2996
- {
2997
- "description": "Action rendered at the end of the bubble (e.g. a remove icon button).",
2998
- "name": "edit-dialog-trigger"
2999
- },
3000
- {
3001
- "description": "Pass-through for an associated dialog element.",
3002
- "name": "edit-dialog"
3003
3113
  }
3004
3114
  ],
3005
3115
  "members": [
3006
3116
  {
3007
3117
  "kind": "field",
3008
- "name": "dependencies",
3118
+ "name": "type",
3009
3119
  "type": {
3010
- "text": "object"
3120
+ "text": "ChartType"
3011
3121
  },
3012
- "static": true,
3013
- "default": "{ 'zn-icon': ZnIcon }"
3122
+ "default": "'bar'",
3123
+ "attribute": "type"
3014
3124
  },
3015
3125
  {
3016
3126
  "kind": "field",
3017
- "name": "SYSTEM_ACTION_TYPES",
3127
+ "name": "data",
3018
3128
  "type": {
3019
- "text": "readonly string[]"
3129
+ "text": "SeriesItem[]"
3020
3130
  },
3021
- "static": true,
3022
- "readonly": true,
3023
- "default": "[ 'connected.agent', 'attachment.added', 'transfer', 'ended', 'customer.ended', 'customer.connected', 'customer.disconnected', ]"
3131
+ "default": "[]",
3132
+ "attribute": "data"
3024
3133
  },
3025
3134
  {
3026
3135
  "kind": "field",
3027
- "name": "DISPLAYED_ACTION_TYPES",
3136
+ "name": "categories",
3028
3137
  "type": {
3029
- "text": "readonly string[]"
3138
+ "text": "string[]"
3139
+ },
3140
+ "default": "[]",
3141
+ "attribute": "categories"
3142
+ },
3143
+ {
3144
+ "kind": "field",
3145
+ "name": "xAxis",
3146
+ "type": {
3147
+ "text": "'datetime' | 'category' | 'numeric'"
3148
+ },
3149
+ "attribute": "xaxis"
3150
+ },
3151
+ {
3152
+ "kind": "field",
3153
+ "name": "datapointSize",
3154
+ "type": {
3155
+ "text": "number"
3156
+ },
3157
+ "default": "1",
3158
+ "attribute": "d-size"
3159
+ },
3160
+ {
3161
+ "kind": "field",
3162
+ "name": "stacked",
3163
+ "type": {
3164
+ "text": "boolean"
3165
+ },
3166
+ "default": "false",
3167
+ "attribute": "stacked"
3168
+ },
3169
+ {
3170
+ "kind": "field",
3171
+ "name": "live",
3172
+ "type": {
3173
+ "text": "boolean"
3174
+ },
3175
+ "default": "false",
3176
+ "attribute": "live"
3177
+ },
3178
+ {
3179
+ "kind": "field",
3180
+ "name": "dataUrl",
3181
+ "type": {
3182
+ "text": "string"
3183
+ },
3184
+ "default": "''",
3185
+ "attribute": "data-url"
3186
+ },
3187
+ {
3188
+ "kind": "field",
3189
+ "name": "liveInterval",
3190
+ "type": {
3191
+ "text": "number"
3192
+ },
3193
+ "default": "1000",
3194
+ "attribute": "live-interval"
3195
+ },
3196
+ {
3197
+ "kind": "field",
3198
+ "name": "height",
3199
+ "type": {
3200
+ "text": "number"
3201
+ },
3202
+ "default": "300",
3203
+ "attribute": "height",
3204
+ "reflects": true
3205
+ },
3206
+ {
3207
+ "kind": "field",
3208
+ "name": "enableAnimations",
3209
+ "type": {
3210
+ "text": "boolean | number"
3211
+ },
3212
+ "default": "false",
3213
+ "attribute": "enable-animations"
3214
+ },
3215
+ {
3216
+ "kind": "field",
3217
+ "name": "yAxisAppend",
3218
+ "type": {
3219
+ "text": "string"
3220
+ },
3221
+ "attribute": "y-axis-append"
3222
+ },
3223
+ {
3224
+ "kind": "field",
3225
+ "name": "colors",
3226
+ "type": {
3227
+ "text": "string[] | undefined"
3228
+ },
3229
+ "attribute": "colors"
3230
+ },
3231
+ {
3232
+ "kind": "field",
3233
+ "name": "syncGroup",
3234
+ "type": {
3235
+ "text": "string | undefined"
3236
+ },
3237
+ "attribute": "sync-group"
3238
+ },
3239
+ {
3240
+ "kind": "field",
3241
+ "name": "smooth",
3242
+ "type": {
3243
+ "text": "boolean"
3244
+ },
3245
+ "default": "false",
3246
+ "attribute": "smooth"
3247
+ },
3248
+ {
3249
+ "kind": "field",
3250
+ "name": "scale",
3251
+ "type": {
3252
+ "text": "boolean | number"
3253
+ },
3254
+ "default": "false",
3255
+ "attribute": "scale"
3256
+ },
3257
+ {
3258
+ "kind": "field",
3259
+ "name": "chart",
3260
+ "type": {
3261
+ "text": "ECharts | undefined"
3262
+ },
3263
+ "privacy": "private"
3264
+ },
3265
+ {
3266
+ "kind": "field",
3267
+ "name": "liveTimer",
3268
+ "type": {
3269
+ "text": "number | undefined"
3270
+ },
3271
+ "privacy": "private"
3272
+ },
3273
+ {
3274
+ "kind": "field",
3275
+ "name": "resizeObserver",
3276
+ "privacy": "private",
3277
+ "readonly": true,
3278
+ "default": "new ResizeController(this, { target: null, skipInitial: true, callback: () => this.chart?.resize(), })"
3279
+ },
3280
+ {
3281
+ "kind": "method",
3282
+ "name": "getTheme",
3283
+ "privacy": "private",
3284
+ "return": {
3285
+ "type": {
3286
+ "text": "'light' | 'dark'"
3287
+ }
3288
+ }
3289
+ },
3290
+ {
3291
+ "kind": "method",
3292
+ "name": "getTextColor",
3293
+ "privacy": "private",
3294
+ "return": {
3295
+ "type": {
3296
+ "text": "string | undefined"
3297
+ }
3298
+ }
3299
+ },
3300
+ {
3301
+ "kind": "method",
3302
+ "name": "getBorderColor",
3303
+ "privacy": "private",
3304
+ "return": {
3305
+ "type": {
3306
+ "text": "string | undefined"
3307
+ }
3308
+ }
3309
+ },
3310
+ {
3311
+ "kind": "method",
3312
+ "name": "buildOption",
3313
+ "privacy": "private"
3314
+ },
3315
+ {
3316
+ "kind": "method",
3317
+ "name": "initChart",
3318
+ "privacy": "private"
3319
+ },
3320
+ {
3321
+ "kind": "method",
3322
+ "name": "startLive",
3323
+ "privacy": "private"
3324
+ },
3325
+ {
3326
+ "kind": "method",
3327
+ "name": "reinit",
3328
+ "privacy": "private"
3329
+ }
3330
+ ],
3331
+ "attributes": [
3332
+ {
3333
+ "name": "type",
3334
+ "type": {
3335
+ "text": "ChartType"
3336
+ },
3337
+ "default": "'bar'",
3338
+ "fieldName": "type"
3339
+ },
3340
+ {
3341
+ "name": "data",
3342
+ "type": {
3343
+ "text": "SeriesItem[]"
3344
+ },
3345
+ "default": "[]",
3346
+ "fieldName": "data"
3347
+ },
3348
+ {
3349
+ "name": "categories",
3350
+ "type": {
3351
+ "text": "string[]"
3352
+ },
3353
+ "default": "[]",
3354
+ "fieldName": "categories"
3355
+ },
3356
+ {
3357
+ "name": "xaxis",
3358
+ "type": {
3359
+ "text": "'datetime' | 'category' | 'numeric'"
3360
+ },
3361
+ "fieldName": "xAxis"
3362
+ },
3363
+ {
3364
+ "name": "d-size",
3365
+ "type": {
3366
+ "text": "number"
3367
+ },
3368
+ "default": "1",
3369
+ "fieldName": "datapointSize"
3370
+ },
3371
+ {
3372
+ "name": "stacked",
3373
+ "type": {
3374
+ "text": "boolean"
3375
+ },
3376
+ "default": "false",
3377
+ "fieldName": "stacked"
3378
+ },
3379
+ {
3380
+ "name": "live",
3381
+ "type": {
3382
+ "text": "boolean"
3383
+ },
3384
+ "default": "false",
3385
+ "fieldName": "live"
3386
+ },
3387
+ {
3388
+ "name": "data-url",
3389
+ "type": {
3390
+ "text": "string"
3391
+ },
3392
+ "default": "''",
3393
+ "fieldName": "dataUrl"
3394
+ },
3395
+ {
3396
+ "name": "live-interval",
3397
+ "type": {
3398
+ "text": "number"
3399
+ },
3400
+ "default": "1000",
3401
+ "fieldName": "liveInterval"
3402
+ },
3403
+ {
3404
+ "name": "height",
3405
+ "type": {
3406
+ "text": "number"
3407
+ },
3408
+ "default": "300",
3409
+ "fieldName": "height"
3410
+ },
3411
+ {
3412
+ "name": "enable-animations",
3413
+ "type": {
3414
+ "text": "boolean | number"
3415
+ },
3416
+ "default": "false",
3417
+ "fieldName": "enableAnimations"
3418
+ },
3419
+ {
3420
+ "name": "y-axis-append",
3421
+ "type": {
3422
+ "text": "string"
3423
+ },
3424
+ "fieldName": "yAxisAppend"
3425
+ },
3426
+ {
3427
+ "name": "colors",
3428
+ "type": {
3429
+ "text": "string[] | undefined"
3430
+ },
3431
+ "fieldName": "colors"
3432
+ },
3433
+ {
3434
+ "name": "sync-group",
3435
+ "type": {
3436
+ "text": "string | undefined"
3437
+ },
3438
+ "fieldName": "syncGroup"
3439
+ },
3440
+ {
3441
+ "name": "smooth",
3442
+ "type": {
3443
+ "text": "boolean"
3444
+ },
3445
+ "default": "false",
3446
+ "fieldName": "smooth"
3447
+ },
3448
+ {
3449
+ "name": "scale",
3450
+ "type": {
3451
+ "text": "boolean | number"
3452
+ },
3453
+ "default": "false",
3454
+ "fieldName": "scale"
3455
+ }
3456
+ ],
3457
+ "superclass": {
3458
+ "name": "ZincElement",
3459
+ "module": "/src/internal/zinc-element"
3460
+ },
3461
+ "summary": "Chart component powered by Apache ECharts.",
3462
+ "tagNameWithoutPrefix": "chart",
3463
+ "tagName": "zn-chart",
3464
+ "customElement": true,
3465
+ "jsDoc": "/**\n * @summary Chart component powered by Apache ECharts.\n * @documentation https://zinc.style/components/data-chart\n * @status experimental\n * @since 1.0\n *\n * @csspart base - The component's base wrapper.\n */",
3466
+ "documentation": "https://zinc.style/components/data-chart",
3467
+ "status": "experimental",
3468
+ "since": "1.0"
3469
+ }
3470
+ ],
3471
+ "exports": [
3472
+ {
3473
+ "kind": "js",
3474
+ "name": "default",
3475
+ "declaration": {
3476
+ "name": "ZnChart",
3477
+ "module": "components/chart/chart.js"
3478
+ }
3479
+ }
3480
+ ]
3481
+ },
3482
+ {
3483
+ "kind": "javascript-module",
3484
+ "path": "components/chat-message/chat-message.js",
3485
+ "declarations": [
3486
+ {
3487
+ "kind": "class",
3488
+ "description": "",
3489
+ "name": "ZnChatMessage",
3490
+ "cssProperties": [
3491
+ {
3492
+ "description": "The bubble's background colour.",
3493
+ "name": "--message-background"
3494
+ }
3495
+ ],
3496
+ "cssParts": [
3497
+ {
3498
+ "description": "The component's base wrapper.",
3499
+ "name": "base"
3500
+ },
3501
+ {
3502
+ "description": "The avatar column.",
3503
+ "name": "avatar"
3504
+ },
3505
+ {
3506
+ "description": "The header and bubble column.",
3507
+ "name": "body"
3508
+ },
3509
+ {
3510
+ "description": "The sender/time/badge row.",
3511
+ "name": "header"
3512
+ },
3513
+ {
3514
+ "description": "The message bubble.",
3515
+ "name": "bubble"
3516
+ },
3517
+ {
3518
+ "description": "The message content within the bubble.",
3519
+ "name": "content"
3520
+ },
3521
+ {
3522
+ "description": "The card rendered for system action types.",
3523
+ "name": "system-card"
3524
+ }
3525
+ ],
3526
+ "slots": [
3527
+ {
3528
+ "description": "The message content. Ignored when the `message` attribute is set.",
3529
+ "name": ""
3530
+ },
3531
+ {
3532
+ "description": "Rendered in the header after the sender and time (e.g. an INTERNAL NOTE chip).",
3533
+ "name": "badge"
3534
+ },
3535
+ {
3536
+ "description": "Action rendered at the end of the bubble (e.g. a remove icon button).",
3537
+ "name": "edit-dialog-trigger"
3538
+ },
3539
+ {
3540
+ "description": "Pass-through for an associated dialog element.",
3541
+ "name": "edit-dialog"
3542
+ }
3543
+ ],
3544
+ "members": [
3545
+ {
3546
+ "kind": "field",
3547
+ "name": "dependencies",
3548
+ "type": {
3549
+ "text": "object"
3550
+ },
3551
+ "static": true,
3552
+ "default": "{ 'zn-icon': ZnIcon }"
3553
+ },
3554
+ {
3555
+ "kind": "field",
3556
+ "name": "SYSTEM_ACTION_TYPES",
3557
+ "type": {
3558
+ "text": "readonly string[]"
3559
+ },
3560
+ "static": true,
3561
+ "readonly": true,
3562
+ "default": "[ 'connected.agent', 'attachment.added', 'transfer', 'ended', 'customer.ended', 'customer.connected', 'customer.disconnected', ]"
3563
+ },
3564
+ {
3565
+ "kind": "field",
3566
+ "name": "DISPLAYED_ACTION_TYPES",
3567
+ "type": {
3568
+ "text": "readonly string[]"
3030
3569
  },
3031
3570
  "privacy": "private",
3032
3571
  "static": true,
@@ -23357,639 +23896,534 @@
23357
23896
  },
23358
23897
  {
23359
23898
  "kind": "javascript-module",
23360
- "path": "components/priority-list/priority-list.js",
23899
+ "path": "components/popup/popup.js",
23361
23900
  "declarations": [
23362
23901
  {
23363
23902
  "kind": "class",
23364
23903
  "description": "",
23365
- "name": "ZnPriorityList",
23904
+ "name": "ZnPopup",
23366
23905
  "cssProperties": [
23367
23906
  {
23368
- "description": "The gap between list items. Defaults to `var(--zn-spacing-2x-small)`.",
23369
- "name": "--zn-priority-list-item-gap"
23370
- },
23371
- {
23372
- "description": "The padding inside each item. Defaults to `var(--zn-spacing-small) var(--zn-spacing-medium)`.",
23373
- "name": "--zn-priority-list-item-padding"
23374
- },
23375
- {
23376
- "description": "The color of the drag handle. Defaults to `var(--zn-color-neutral-500)`.",
23377
- "name": "--zn-priority-list-handle-color"
23378
- },
23379
- {
23380
- "description": "The color of the priority number. Defaults to `var(--zn-color-neutral-600)`.",
23381
- "name": "--zn-priority-list-priority-color"
23907
+ "description": "An example CSS custom property.",
23908
+ "name": "--example"
23382
23909
  }
23383
23910
  ],
23384
23911
  "cssParts": [
23385
23912
  {
23386
- "description": "The form control wrapper.",
23387
- "name": "form-control"
23388
- },
23389
- {
23390
- "description": "The label wrapper.",
23391
- "name": "form-control-label"
23392
- },
23393
- {
23394
- "description": "The input area wrapper.",
23395
- "name": "form-control-input"
23396
- },
23397
- {
23398
- "description": "The help text wrapper.",
23399
- "name": "form-control-help-text"
23400
- },
23401
- {
23402
- "description": "The list container.",
23403
- "name": "list"
23404
- },
23405
- {
23406
- "description": "An individual list item row.",
23407
- "name": "item"
23408
- },
23409
- {
23410
- "description": "The drag handle icon.",
23411
- "name": "drag-handle"
23412
- },
23413
- {
23414
- "description": "The priority number badge.",
23415
- "name": "priority"
23416
- },
23417
- {
23418
- "description": "The content area of an item.",
23419
- "name": "content"
23913
+ "description": "The component's base wrapper.",
23914
+ "name": "base"
23420
23915
  }
23421
23916
  ],
23422
23917
  "slots": [
23423
23918
  {
23424
- "description": "The default slot where list items are placed. Each slotted element must have a `value` attribute that uniquely identifies the item. The component automatically assigns slot names to project each item into the correct position. The item's position in the list determines its priority (top = `priority-start`, incrementing).",
23919
+ "description": "The default slot.",
23425
23920
  "name": ""
23426
23921
  },
23427
23922
  {
23428
- "description": "The component's label. Required for proper accessibility. Alternatively, use the `label` attribute.",
23429
- "name": "label"
23430
- },
23431
- {
23432
- "description": "Used to add text displayed in a tooltip next to the label.",
23433
- "name": "label-tooltip"
23434
- },
23435
- {
23436
- "description": "Text that describes how to use the component. Alternatively, use the `help-text` attribute.",
23437
- "name": "help-text"
23923
+ "description": "An example slot.",
23924
+ "name": "example"
23438
23925
  }
23439
23926
  ],
23440
23927
  "members": [
23441
23928
  {
23442
23929
  "kind": "field",
23443
- "name": "dependencies",
23930
+ "name": "anchorEl",
23444
23931
  "type": {
23445
- "text": "object"
23932
+ "text": "Element | VirtualElement | null"
23446
23933
  },
23447
- "static": true,
23448
- "default": "{ 'zn-icon': ZnIcon, }"
23449
- },
23450
- {
23451
- "kind": "field",
23452
- "name": "formControlController",
23453
- "privacy": "protected",
23454
- "readonly": true,
23455
- "default": "new FormControlController(this, { value: (control: ZnPriorityList) => { return JSON.stringify(control.getPriorityMap()); }, defaultValue: (control: ZnPriorityList) => control.defaultValue, setValue: (control: ZnPriorityList, value: string) => { if (value) { try { const parsed: unknown = JSON.parse(value); if (Array.isArray(parsed) && parsed.every((item: unknown): item is string => typeof item === 'string')) { control.value = parsed as string[]; } } catch { // ignore parse errors } } }, })"
23934
+ "privacy": "private"
23456
23935
  },
23457
23936
  {
23458
23937
  "kind": "field",
23459
- "name": "hasSlotController",
23460
- "privacy": "private",
23461
- "readonly": true,
23462
- "default": "new HasSlotController(this, 'help-text', 'label')"
23938
+ "name": "cleanup",
23939
+ "type": {
23940
+ "text": "ReturnType<typeof autoUpdate> | undefined"
23941
+ },
23942
+ "privacy": "private"
23463
23943
  },
23464
23944
  {
23465
23945
  "kind": "field",
23466
- "name": "hiddenInputsContainer",
23946
+ "name": "popup",
23467
23947
  "type": {
23468
- "text": "HTMLDivElement"
23469
- }
23948
+ "text": "HTMLElement"
23949
+ },
23950
+ "description": "A reference to the internal popup container. Useful for animating and styling the popup with JavaScript."
23470
23951
  },
23471
23952
  {
23472
23953
  "kind": "field",
23473
- "name": "name",
23954
+ "name": "arrowEl",
23474
23955
  "type": {
23475
- "text": "string"
23956
+ "text": "HTMLElement"
23476
23957
  },
23477
- "default": "''",
23478
- "description": "The name prefix for form submission. Each item generates a hidden input named `{name}[{itemValue}]`\nwith the priority number as its value.",
23479
- "attribute": "name"
23958
+ "privacy": "private"
23480
23959
  },
23481
23960
  {
23482
23961
  "kind": "field",
23483
- "name": "value",
23962
+ "name": "anchor",
23484
23963
  "type": {
23485
- "text": "string[]"
23964
+ "text": "Element | string | VirtualElement"
23486
23965
  },
23487
- "description": "The current ordered list of item keys, reflecting the visual order. This is the source of truth for ordering.\nEach entry should match a `value` attribute on a slotted child element.",
23488
- "attribute": "value"
23966
+ "description": "The element the popup will be anchored to. If the anchor lives outside of the popup, you can provide the anchor\nelement `id`, a DOM element reference, or a `VirtualElement`. If the anchor lives inside the popup, use the\n`anchor` slot instead.",
23967
+ "attribute": "anchor"
23489
23968
  },
23490
23969
  {
23491
23970
  "kind": "field",
23492
- "name": "_value",
23971
+ "name": "active",
23493
23972
  "type": {
23494
- "text": "string[]"
23973
+ "text": "boolean"
23495
23974
  },
23496
- "privacy": "private",
23497
- "default": "[]"
23975
+ "default": "false",
23976
+ "description": "Activates the positioning logic and shows the popup. When this attribute is removed, the positioning logic is torn\ndown and the popup will be hidden.",
23977
+ "attribute": "active",
23978
+ "reflects": true
23498
23979
  },
23499
23980
  {
23500
23981
  "kind": "field",
23501
- "name": "defaultValue",
23982
+ "name": "placement",
23502
23983
  "type": {
23503
- "text": "string[]"
23984
+ "text": "| 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end'"
23504
23985
  },
23505
- "default": "[]"
23986
+ "default": "'top'",
23987
+ "description": "The preferred placement of the popup. Note that the actual placement will vary as configured to keep the\npanel inside of the viewport.",
23988
+ "attribute": "placement",
23989
+ "reflects": true
23506
23990
  },
23507
23991
  {
23508
23992
  "kind": "field",
23509
- "name": "label",
23993
+ "name": "strategy",
23510
23994
  "type": {
23511
- "text": "string"
23995
+ "text": "'absolute' | 'fixed'"
23512
23996
  },
23513
- "default": "''",
23514
- "description": "The component's label. Required for proper accessibility.",
23515
- "attribute": "label"
23997
+ "default": "'fixed'",
23998
+ "description": "Determines how the popup is positioned. The `absolute` strategy works well in most cases, but if overflow is\nclipped, using a `fixed` position strategy can often workaround it.",
23999
+ "attribute": "strategy",
24000
+ "reflects": true
23516
24001
  },
23517
24002
  {
23518
24003
  "kind": "field",
23519
- "name": "labelTooltip",
24004
+ "name": "distance",
23520
24005
  "type": {
23521
- "text": "string"
24006
+ "text": "number"
23522
24007
  },
23523
- "default": "''",
23524
- "description": "Text that appears in a tooltip next to the label.",
23525
- "attribute": "label-tooltip"
24008
+ "default": "0",
24009
+ "description": "The distance in pixels from which to offset the panel away from its anchor.",
24010
+ "attribute": "distance"
23526
24011
  },
23527
24012
  {
23528
24013
  "kind": "field",
23529
- "name": "helpText",
24014
+ "name": "skidding",
23530
24015
  "type": {
23531
- "text": "string"
24016
+ "text": "number"
23532
24017
  },
23533
- "default": "''",
23534
- "description": "Help text that describes how to use the component.",
23535
- "attribute": "help-text"
24018
+ "default": "0",
24019
+ "description": "The distance in pixels from which to offset the panel along its anchor.",
24020
+ "attribute": "skidding"
23536
24021
  },
23537
24022
  {
23538
24023
  "kind": "field",
23539
- "name": "form",
24024
+ "name": "arrow",
23540
24025
  "type": {
23541
- "text": "string"
24026
+ "text": "boolean"
23542
24027
  },
23543
- "default": "''",
23544
- "description": "Associates the control with a form by id. The form must be in the same document or shadow root.",
23545
- "attribute": "form",
23546
- "reflects": true
24028
+ "default": "false",
24029
+ "description": "Attaches an arrow to the popup. The arrow's size and color can be customized using the `--arrow-size` and\n`--arrow-color` custom properties. For additional customizations, you can also target the arrow using\n`::part(arrow)` in your stylesheet.",
24030
+ "attribute": "arrow"
23547
24031
  },
23548
24032
  {
23549
24033
  "kind": "field",
23550
- "name": "size",
24034
+ "name": "arrowPlacement",
23551
24035
  "type": {
23552
- "text": "'small' | 'medium' | 'large'"
24036
+ "text": "'start' | 'end' | 'center' | 'anchor'"
23553
24037
  },
23554
- "default": "'medium'",
23555
- "description": "The size of the list items.",
23556
- "attribute": "size",
23557
- "reflects": true
24038
+ "default": "'anchor'",
24039
+ "description": "The placement of the arrow. The default is `anchor`, which will align the arrow as close to the center of the\nanchor as possible, considering available space and `arrow-padding`. A value of `start`, `end`, or `center` will\nalign the arrow to the start, end, or center of the popover instead.",
24040
+ "attribute": "arrow-placement"
23558
24041
  },
23559
24042
  {
23560
24043
  "kind": "field",
23561
- "name": "disabled",
24044
+ "name": "arrowPadding",
23562
24045
  "type": {
23563
- "text": "boolean"
24046
+ "text": "number"
23564
24047
  },
23565
- "default": "false",
23566
- "description": "Whether the priority list is disabled.",
23567
- "attribute": "disabled",
23568
- "reflects": true
24048
+ "default": "10",
24049
+ "description": "The amount of padding between the arrow and the edges of the popup. If the popup has a border-radius, for example,\nthis will prevent it from overflowing the corners.",
24050
+ "attribute": "arrow-padding"
23569
24051
  },
23570
24052
  {
23571
24053
  "kind": "field",
23572
- "name": "required",
24054
+ "name": "flip",
23573
24055
  "type": {
23574
24056
  "text": "boolean"
23575
24057
  },
23576
24058
  "default": "false",
23577
- "description": "Ensures the form control has a value before allowing submission.",
23578
- "attribute": "required",
23579
- "reflects": true
24059
+ "description": "When set, placement of the popup will flip to the opposite site to keep it in view. You can use\n`flipFallbackPlacements` to further configure how the fallback placement is determined.",
24060
+ "attribute": "flip"
23580
24061
  },
23581
24062
  {
23582
24063
  "kind": "field",
23583
- "name": "priorityStart",
24064
+ "name": "flipFallbackPlacements",
23584
24065
  "type": {
23585
- "text": "number"
24066
+ "text": "string"
23586
24067
  },
23587
- "default": "1",
23588
- "description": "The starting priority number. Defaults to 1.",
23589
- "attribute": "priority-start"
24068
+ "default": "''",
24069
+ "description": "If the preferred placement doesn't fit, popup will be tested in these fallback placements until one fits. Must be a\nstring of any number of placements separated by a space, e.g. \"top bottom left\". If no placement fits, the flip\nfallback strategy will be used instead.",
24070
+ "attribute": "flip-fallback-placements"
23590
24071
  },
23591
24072
  {
23592
24073
  "kind": "field",
23593
- "name": "formAction",
24074
+ "name": "flipFallbackStrategy",
23594
24075
  "type": {
23595
- "text": "string"
24076
+ "text": "'best-fit' | 'initial'"
23596
24077
  },
23597
- "description": "When set, the associated form will be submitted with the given action URL whenever items are reordered.\nIf set to an empty string, the form will be submitted using its existing action.",
23598
- "attribute": "formaction"
24078
+ "default": "'best-fit'",
24079
+ "description": "When neither the preferred placement nor the fallback placements fit, this value will be used to determine whether\nthe popup should be positioned using the best available fit based on available space or as it was initially\npreferred.",
24080
+ "attribute": "flip-fallback-strategy"
23599
24081
  },
23600
24082
  {
23601
24083
  "kind": "field",
23602
- "name": "order",
24084
+ "name": "flipBoundary",
23603
24085
  "type": {
23604
- "text": "string"
24086
+ "text": "Element | Element[]"
23605
24087
  },
23606
- "default": "''",
23607
- "description": "A comma-separated list of item keys defining the initial display order.\nKeys must match the `value` attributes on slotted children.\nAny slotted items not listed are appended at the end in DOM order.",
23608
- "attribute": "order"
24088
+ "description": "The flip boundary describes clipping element(s) that overflow will be checked relative to when flipping. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
24089
+ "attribute": "flipBoundary"
23609
24090
  },
23610
24091
  {
23611
24092
  "kind": "field",
23612
- "name": "draggedKey",
24093
+ "name": "flipPadding",
23613
24094
  "type": {
23614
- "text": "string | null"
24095
+ "text": "number"
23615
24096
  },
23616
- "privacy": "private",
23617
- "default": "null"
24097
+ "default": "0",
24098
+ "description": "The amount of padding, in pixels, to exceed before the flip behavior will occur.",
24099
+ "attribute": "flip-padding"
23618
24100
  },
23619
24101
  {
23620
24102
  "kind": "field",
23621
- "name": "isDragging",
24103
+ "name": "shift",
23622
24104
  "type": {
23623
24105
  "text": "boolean"
23624
24106
  },
23625
- "privacy": "private",
23626
- "default": "false"
24107
+ "default": "false",
24108
+ "description": "Moves the popup along the axis to keep it in view when clipped.",
24109
+ "attribute": "shift"
23627
24110
  },
23628
24111
  {
23629
24112
  "kind": "field",
23630
- "name": "dragOverKey",
24113
+ "name": "shiftBoundary",
23631
24114
  "type": {
23632
- "text": "string | null"
24115
+ "text": "Element | Element[]"
23633
24116
  },
23634
- "privacy": "private",
23635
- "default": "null"
24117
+ "description": "The shift boundary describes clipping element(s) that overflow will be checked relative to when shifting. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
24118
+ "attribute": "shiftBoundary"
23636
24119
  },
23637
24120
  {
23638
24121
  "kind": "field",
23639
- "name": "validity",
24122
+ "name": "shiftPadding",
23640
24123
  "type": {
23641
- "text": "ValidityState"
24124
+ "text": "number"
23642
24125
  },
23643
- "description": "Gets the validity state object.",
23644
- "readonly": true
24126
+ "default": "0",
24127
+ "description": "The amount of padding, in pixels, to exceed before the shift behavior will occur.",
24128
+ "attribute": "shift-padding"
23645
24129
  },
23646
24130
  {
23647
24131
  "kind": "field",
23648
- "name": "validationMessage",
24132
+ "name": "autoSize",
23649
24133
  "type": {
23650
- "text": "string"
24134
+ "text": "'horizontal' | 'vertical' | 'both'"
23651
24135
  },
23652
- "description": "Gets the validation message.",
23653
- "readonly": true
24136
+ "description": "When set, this will cause the popup to automatically resize itself to prevent it from overflowing.",
24137
+ "attribute": "auto-size"
23654
24138
  },
23655
24139
  {
23656
- "kind": "method",
23657
- "name": "_initializeOrderFromSlot",
23658
- "privacy": "private",
23659
- "description": "Initialize item order from slotted children if no explicit value was provided.\nIf an `order` attribute is set, use it to define the initial order,\nappending any slotted items not listed in the order at the end."
24140
+ "kind": "field",
24141
+ "name": "sync",
24142
+ "type": {
24143
+ "text": "'width' | 'height' | 'both'"
24144
+ },
24145
+ "description": "Syncs the popup's width or height to that of the anchor element.",
24146
+ "attribute": "sync"
23660
24147
  },
23661
24148
  {
23662
- "kind": "method",
23663
- "name": "_getSlottedItems",
23664
- "privacy": "private",
23665
- "return": {
23666
- "type": {
23667
- "text": "HTMLElement[]"
23668
- }
24149
+ "kind": "field",
24150
+ "name": "autoSizeBoundary",
24151
+ "type": {
24152
+ "text": "Element | Element[]"
23669
24153
  },
23670
- "description": "Gets all direct children with a `value` attribute (excluding those in reserved slots)."
24154
+ "description": "The auto-size boundary describes clipping element(s) that overflow will be checked relative to when resizing. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
24155
+ "attribute": "autoSizeBoundary"
23671
24156
  },
23672
24157
  {
23673
- "kind": "method",
23674
- "name": "_assignSlotNames",
23675
- "privacy": "private",
23676
- "description": "Assigns `slot` attributes to light DOM children based on their `value` attribute,\nso they project into the correct named slot in the shadow DOM."
24158
+ "kind": "field",
24159
+ "name": "autoSizePadding",
24160
+ "type": {
24161
+ "text": "number"
24162
+ },
24163
+ "default": "0",
24164
+ "description": "The amount of padding, in pixels, to exceed before the auto-size behavior will occur.",
24165
+ "attribute": "auto-size-padding"
23677
24166
  },
23678
24167
  {
23679
- "kind": "method",
23680
- "name": "getPriorityMap",
23681
- "return": {
23682
- "type": {
23683
- "text": "PriorityItem[]"
23684
- }
24168
+ "kind": "field",
24169
+ "name": "hoverBridge",
24170
+ "type": {
24171
+ "text": "boolean"
23685
24172
  },
23686
- "description": "Returns the priority map: an array of { key, priority } objects."
24173
+ "default": "false",
24174
+ "description": "When a gap exists between the anchor and the popup element, this option will add a \"hover bridge\" that fills the\ngap using an invisible element. This makes listening for events such as `mouseenter` and `mouseleave` more sane\nbecause the pointer never technically leaves the element. The hover bridge will only be drawn when the popover is\nactive.",
24175
+ "attribute": "hover-bridge"
23687
24176
  },
23688
24177
  {
23689
24178
  "kind": "method",
23690
- "name": "_syncHiddenInputs",
23691
- "privacy": "private",
23692
- "description": "Syncs hidden inputs so form data includes priority values."
24179
+ "name": "handleAnchorChange",
24180
+ "privacy": "private"
23693
24181
  },
23694
24182
  {
23695
- "kind": "method",
23696
- "name": "_moveItem",
23697
- "privacy": "private",
23698
- "parameters": [
23699
- {
23700
- "name": "fromIndex",
23701
- "type": {
23702
- "text": "number"
23703
- }
23704
- },
23705
- {
23706
- "name": "toIndex",
23707
- "type": {
23708
- "text": "number"
23709
- }
23710
- }
23711
- ],
23712
- "description": "Moves an item from one index to another."
24183
+ "kind": "field",
24184
+ "name": "handleAnchorHover",
24185
+ "privacy": "public"
23713
24186
  },
23714
24187
  {
23715
24188
  "kind": "method",
23716
- "name": "_submitForm",
23717
- "privacy": "private",
23718
- "description": "Submits the associated form if a `formaction` attribute is set."
24189
+ "name": "start",
24190
+ "privacy": "private"
23719
24191
  },
23720
24192
  {
23721
24193
  "kind": "method",
23722
- "name": "_handleDragStart",
24194
+ "name": "stop",
23723
24195
  "privacy": "private",
23724
- "parameters": [
23725
- {
23726
- "name": "event",
23727
- "type": {
23728
- "text": "DragEvent"
23729
- }
23730
- },
23731
- {
23732
- "name": "key",
23733
- "type": {
23734
- "text": "string"
23735
- }
24196
+ "return": {
24197
+ "type": {
24198
+ "text": "Promise<void>"
23736
24199
  }
23737
- ]
24200
+ }
23738
24201
  },
23739
24202
  {
23740
24203
  "kind": "method",
23741
- "name": "_handleDragEnd",
23742
- "privacy": "private"
24204
+ "name": "reposition",
24205
+ "description": "Forces the popup to recalculate and reposition itself."
23743
24206
  },
23744
24207
  {
23745
- "kind": "method",
23746
- "name": "_handleDragOver",
23747
- "privacy": "private",
23748
- "parameters": [
23749
- {
23750
- "name": "event",
23751
- "type": {
23752
- "text": "DragEvent"
23753
- }
23754
- },
23755
- {
23756
- "name": "key",
23757
- "type": {
23758
- "text": "string"
23759
- }
23760
- }
23761
- ]
23762
- },
24208
+ "kind": "field",
24209
+ "name": "updateHoverBridge",
24210
+ "privacy": "private"
24211
+ }
24212
+ ],
24213
+ "events": [
23763
24214
  {
23764
- "kind": "method",
23765
- "name": "_handleDragLeave",
23766
- "privacy": "private",
23767
- "parameters": [
23768
- {
23769
- "name": "event",
23770
- "type": {
23771
- "text": "DragEvent"
23772
- }
23773
- },
23774
- {
23775
- "name": "key",
23776
- "type": {
23777
- "text": "string"
23778
- }
23779
- }
23780
- ]
23781
- },
24215
+ "description": "Emitted as an example.",
24216
+ "name": "zn-event-name"
24217
+ }
24218
+ ],
24219
+ "attributes": [
23782
24220
  {
23783
- "kind": "method",
23784
- "name": "_handleDrop",
23785
- "privacy": "private",
23786
- "parameters": [
23787
- {
23788
- "name": "event",
23789
- "type": {
23790
- "text": "DragEvent"
23791
- }
23792
- }
23793
- ]
24221
+ "name": "anchor",
24222
+ "type": {
24223
+ "text": "Element | string | VirtualElement"
24224
+ },
24225
+ "description": "The element the popup will be anchored to. If the anchor lives outside of the popup, you can provide the anchor\nelement `id`, a DOM element reference, or a `VirtualElement`. If the anchor lives inside the popup, use the\n`anchor` slot instead.",
24226
+ "fieldName": "anchor"
23794
24227
  },
23795
24228
  {
23796
- "kind": "method",
23797
- "name": "_handleKeyDown",
23798
- "privacy": "private",
23799
- "parameters": [
23800
- {
23801
- "name": "event",
23802
- "type": {
23803
- "text": "KeyboardEvent"
23804
- }
23805
- },
23806
- {
23807
- "name": "key",
23808
- "type": {
23809
- "text": "string"
23810
- }
23811
- }
23812
- ]
24229
+ "name": "active",
24230
+ "type": {
24231
+ "text": "boolean"
24232
+ },
24233
+ "default": "false",
24234
+ "description": "Activates the positioning logic and shows the popup. When this attribute is removed, the positioning logic is torn\ndown and the popup will be hidden.",
24235
+ "fieldName": "active"
23813
24236
  },
23814
24237
  {
23815
- "kind": "method",
23816
- "name": "_handleSlotChange",
23817
- "privacy": "private"
24238
+ "name": "placement",
24239
+ "type": {
24240
+ "text": "| 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end'"
24241
+ },
24242
+ "default": "'top'",
24243
+ "description": "The preferred placement of the popup. Note that the actual placement will vary as configured to keep the\npanel inside of the viewport.",
24244
+ "fieldName": "placement"
23818
24245
  },
23819
24246
  {
23820
- "kind": "method",
23821
- "name": "checkValidity",
23822
- "return": {
23823
- "type": {
23824
- "text": "boolean"
23825
- }
24247
+ "name": "strategy",
24248
+ "type": {
24249
+ "text": "'absolute' | 'fixed'"
23826
24250
  },
23827
- "description": "Checks for validity but does not show a validation message."
24251
+ "default": "'fixed'",
24252
+ "description": "Determines how the popup is positioned. The `absolute` strategy works well in most cases, but if overflow is\nclipped, using a `fixed` position strategy can often workaround it.",
24253
+ "fieldName": "strategy"
23828
24254
  },
23829
24255
  {
23830
- "kind": "method",
23831
- "name": "getForm",
23832
- "return": {
23833
- "type": {
23834
- "text": "HTMLFormElement | null"
23835
- }
24256
+ "name": "distance",
24257
+ "type": {
24258
+ "text": "number"
23836
24259
  },
23837
- "description": "Gets the associated form, if one exists."
24260
+ "default": "0",
24261
+ "description": "The distance in pixels from which to offset the panel away from its anchor.",
24262
+ "fieldName": "distance"
23838
24263
  },
23839
24264
  {
23840
- "kind": "method",
23841
- "name": "reportValidity",
23842
- "return": {
23843
- "type": {
23844
- "text": "boolean"
23845
- }
24265
+ "name": "skidding",
24266
+ "type": {
24267
+ "text": "number"
23846
24268
  },
23847
- "description": "Checks for validity and shows the browser's validation message if the control is invalid."
24269
+ "default": "0",
24270
+ "description": "The distance in pixels from which to offset the panel along its anchor.",
24271
+ "fieldName": "skidding"
23848
24272
  },
23849
24273
  {
23850
- "kind": "method",
23851
- "name": "setCustomValidity",
23852
- "parameters": [
23853
- {
23854
- "name": "_message",
23855
- "default": "''"
23856
- }
23857
- ],
23858
- "description": "Sets a custom validation message. Pass an empty string to restore validity."
23859
- }
23860
- ],
23861
- "events": [
23862
- {
23863
- "description": "Emitted when the order of items changes.",
23864
- "name": "zn-change"
24274
+ "name": "arrow",
24275
+ "type": {
24276
+ "text": "boolean"
24277
+ },
24278
+ "default": "false",
24279
+ "description": "Attaches an arrow to the popup. The arrow's size and color can be customized using the `--arrow-size` and\n`--arrow-color` custom properties. For additional customizations, you can also target the arrow using\n`::part(arrow)` in your stylesheet.",
24280
+ "fieldName": "arrow"
23865
24281
  },
23866
24282
  {
23867
- "description": "Emitted when items are reordered. Call `getPriorityMap()` on the component to get the updated `{ key: string, priority: number }[]` array.",
23868
- "name": "zn-reorder"
23869
- }
23870
- ],
23871
- "attributes": [
23872
- {
23873
- "name": "name",
24283
+ "name": "arrow-placement",
23874
24284
  "type": {
23875
- "text": "string"
24285
+ "text": "'start' | 'end' | 'center' | 'anchor'"
23876
24286
  },
23877
- "default": "''",
23878
- "description": "The name prefix for form submission. Each item generates a hidden input named `{name}[{itemValue}]`\nwith the priority number as its value.",
23879
- "fieldName": "name"
24287
+ "default": "'anchor'",
24288
+ "description": "The placement of the arrow. The default is `anchor`, which will align the arrow as close to the center of the\nanchor as possible, considering available space and `arrow-padding`. A value of `start`, `end`, or `center` will\nalign the arrow to the start, end, or center of the popover instead.",
24289
+ "fieldName": "arrowPlacement"
23880
24290
  },
23881
24291
  {
23882
- "name": "value",
24292
+ "name": "arrow-padding",
23883
24293
  "type": {
23884
- "text": "string[]"
24294
+ "text": "number"
23885
24295
  },
23886
- "description": "The current ordered list of item keys, reflecting the visual order. This is the source of truth for ordering.\nEach entry should match a `value` attribute on a slotted child element.",
23887
- "fieldName": "value"
24296
+ "default": "10",
24297
+ "description": "The amount of padding between the arrow and the edges of the popup. If the popup has a border-radius, for example,\nthis will prevent it from overflowing the corners.",
24298
+ "fieldName": "arrowPadding"
23888
24299
  },
23889
24300
  {
23890
- "name": "label",
24301
+ "name": "flip",
23891
24302
  "type": {
23892
- "text": "string"
24303
+ "text": "boolean"
23893
24304
  },
23894
- "default": "''",
23895
- "description": "The component's label. Required for proper accessibility.",
23896
- "fieldName": "label"
24305
+ "default": "false",
24306
+ "description": "When set, placement of the popup will flip to the opposite site to keep it in view. You can use\n`flipFallbackPlacements` to further configure how the fallback placement is determined.",
24307
+ "fieldName": "flip"
23897
24308
  },
23898
24309
  {
23899
- "name": "label-tooltip",
24310
+ "name": "flip-fallback-placements",
23900
24311
  "type": {
23901
24312
  "text": "string"
23902
24313
  },
23903
24314
  "default": "''",
23904
- "description": "Text that appears in a tooltip next to the label.",
23905
- "fieldName": "labelTooltip"
24315
+ "description": "If the preferred placement doesn't fit, popup will be tested in these fallback placements until one fits. Must be a\nstring of any number of placements separated by a space, e.g. \"top bottom left\". If no placement fits, the flip\nfallback strategy will be used instead.",
24316
+ "fieldName": "flipFallbackPlacements"
23906
24317
  },
23907
24318
  {
23908
- "name": "help-text",
24319
+ "name": "flip-fallback-strategy",
23909
24320
  "type": {
23910
- "text": "string"
24321
+ "text": "'best-fit' | 'initial'"
23911
24322
  },
23912
- "default": "''",
23913
- "description": "Help text that describes how to use the component.",
23914
- "fieldName": "helpText"
24323
+ "default": "'best-fit'",
24324
+ "description": "When neither the preferred placement nor the fallback placements fit, this value will be used to determine whether\nthe popup should be positioned using the best available fit based on available space or as it was initially\npreferred.",
24325
+ "fieldName": "flipFallbackStrategy"
23915
24326
  },
23916
24327
  {
23917
- "name": "form",
24328
+ "name": "flipBoundary",
23918
24329
  "type": {
23919
- "text": "string"
24330
+ "text": "Element | Element[]"
23920
24331
  },
23921
- "default": "''",
23922
- "description": "Associates the control with a form by id. The form must be in the same document or shadow root.",
23923
- "fieldName": "form"
24332
+ "description": "The flip boundary describes clipping element(s) that overflow will be checked relative to when flipping. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
24333
+ "fieldName": "flipBoundary"
23924
24334
  },
23925
24335
  {
23926
- "name": "size",
24336
+ "name": "flip-padding",
23927
24337
  "type": {
23928
- "text": "'small' | 'medium' | 'large'"
24338
+ "text": "number"
23929
24339
  },
23930
- "default": "'medium'",
23931
- "description": "The size of the list items.",
23932
- "fieldName": "size"
24340
+ "default": "0",
24341
+ "description": "The amount of padding, in pixels, to exceed before the flip behavior will occur.",
24342
+ "fieldName": "flipPadding"
23933
24343
  },
23934
24344
  {
23935
- "name": "disabled",
24345
+ "name": "shift",
23936
24346
  "type": {
23937
24347
  "text": "boolean"
23938
24348
  },
23939
24349
  "default": "false",
23940
- "description": "Whether the priority list is disabled.",
23941
- "fieldName": "disabled"
24350
+ "description": "Moves the popup along the axis to keep it in view when clipped.",
24351
+ "fieldName": "shift"
23942
24352
  },
23943
24353
  {
23944
- "name": "required",
24354
+ "name": "shiftBoundary",
23945
24355
  "type": {
23946
- "text": "boolean"
24356
+ "text": "Element | Element[]"
23947
24357
  },
23948
- "default": "false",
23949
- "description": "Ensures the form control has a value before allowing submission.",
23950
- "fieldName": "required"
24358
+ "description": "The shift boundary describes clipping element(s) that overflow will be checked relative to when shifting. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
24359
+ "fieldName": "shiftBoundary"
23951
24360
  },
23952
24361
  {
23953
- "name": "priority-start",
24362
+ "name": "shift-padding",
23954
24363
  "type": {
23955
24364
  "text": "number"
23956
24365
  },
23957
- "default": "1",
23958
- "description": "The starting priority number. Defaults to 1.",
23959
- "fieldName": "priorityStart"
24366
+ "default": "0",
24367
+ "description": "The amount of padding, in pixels, to exceed before the shift behavior will occur.",
24368
+ "fieldName": "shiftPadding"
23960
24369
  },
23961
24370
  {
23962
- "name": "formaction",
24371
+ "name": "auto-size",
23963
24372
  "type": {
23964
- "text": "string"
24373
+ "text": "'horizontal' | 'vertical' | 'both'"
23965
24374
  },
23966
- "description": "When set, the associated form will be submitted with the given action URL whenever items are reordered.\nIf set to an empty string, the form will be submitted using its existing action.",
23967
- "fieldName": "formAction"
24375
+ "description": "When set, this will cause the popup to automatically resize itself to prevent it from overflowing.",
24376
+ "fieldName": "autoSize"
23968
24377
  },
23969
24378
  {
23970
- "name": "order",
24379
+ "name": "sync",
23971
24380
  "type": {
23972
- "text": "string"
24381
+ "text": "'width' | 'height' | 'both'"
23973
24382
  },
23974
- "default": "''",
23975
- "description": "A comma-separated list of item keys defining the initial display order.\nKeys must match the `value` attributes on slotted children.\nAny slotted items not listed are appended at the end in DOM order.",
23976
- "fieldName": "order"
24383
+ "description": "Syncs the popup's width or height to that of the anchor element.",
24384
+ "fieldName": "sync"
24385
+ },
24386
+ {
24387
+ "name": "autoSizeBoundary",
24388
+ "type": {
24389
+ "text": "Element | Element[]"
24390
+ },
24391
+ "description": "The auto-size boundary describes clipping element(s) that overflow will be checked relative to when resizing. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
24392
+ "fieldName": "autoSizeBoundary"
24393
+ },
24394
+ {
24395
+ "name": "auto-size-padding",
24396
+ "type": {
24397
+ "text": "number"
24398
+ },
24399
+ "default": "0",
24400
+ "description": "The amount of padding, in pixels, to exceed before the auto-size behavior will occur.",
24401
+ "fieldName": "autoSizePadding"
24402
+ },
24403
+ {
24404
+ "name": "hover-bridge",
24405
+ "type": {
24406
+ "text": "boolean"
24407
+ },
24408
+ "default": "false",
24409
+ "description": "When a gap exists between the anchor and the popup element, this option will add a \"hover bridge\" that fills the\ngap using an invisible element. This makes listening for events such as `mouseenter` and `mouseleave` more sane\nbecause the pointer never technically leaves the element. The hover bridge will only be drawn when the popover is\nactive.",
24410
+ "fieldName": "hoverBridge"
23977
24411
  }
23978
24412
  ],
23979
24413
  "superclass": {
23980
24414
  "name": "ZincElement",
23981
24415
  "module": "/src/internal/zinc-element"
23982
24416
  },
23983
- "summary": "A reorderable list where each item receives a numerical priority based on its position. Supports drag-and-drop\nand keyboard reordering. Priority values are submitted as form data via hidden inputs.",
23984
- "tagNameWithoutPrefix": "priority-list",
23985
- "tagName": "zn-priority-list",
24417
+ "summary": "Short summary of the component's intended use.",
24418
+ "tagNameWithoutPrefix": "popup",
24419
+ "tagName": "zn-popup",
23986
24420
  "customElement": true,
23987
- "jsDoc": "/**\n * @summary A reorderable list where each item receives a numerical priority based on its position. Supports drag-and-drop\n * and keyboard reordering. Priority values are submitted as form data via hidden inputs.\n *\n * @documentation https://zinc.style/components/priority-list\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-icon\n *\n * @slot - The default slot where list items are placed. Each slotted element must have a `value` attribute that\n * uniquely identifies the item. The component automatically assigns slot names to project each item into the\n * correct position. The item's position in the list determines its priority (top = `priority-start`, incrementing).\n * @slot label - The component's label. Required for proper accessibility. Alternatively, use the `label` attribute.\n * @slot label-tooltip - Used to add text displayed in a tooltip next to the label.\n * @slot help-text - Text that describes how to use the component. Alternatively, use the `help-text` attribute.\n *\n * @event zn-change - Emitted when the order of items changes.\n * @event zn-reorder - Emitted when items are reordered. Call `getPriorityMap()` on the component to get\n * the updated `{ key: string, priority: number }[]` array.\n *\n * @csspart form-control - The form control wrapper.\n * @csspart form-control-label - The label wrapper.\n * @csspart form-control-input - The input area wrapper.\n * @csspart form-control-help-text - The help text wrapper.\n * @csspart list - The list container.\n * @csspart item - An individual list item row.\n * @csspart drag-handle - The drag handle icon.\n * @csspart priority - The priority number badge.\n * @csspart content - The content area of an item.\n *\n * @cssproperty --zn-priority-list-item-gap - The gap between list items. Defaults to `var(--zn-spacing-2x-small)`.\n * @cssproperty --zn-priority-list-item-padding - The padding inside each item. Defaults to `var(--zn-spacing-small) var(--zn-spacing-medium)`.\n * @cssproperty --zn-priority-list-handle-color - The color of the drag handle. Defaults to `var(--zn-color-neutral-500)`.\n * @cssproperty --zn-priority-list-priority-color - The color of the priority number. Defaults to `var(--zn-color-neutral-600)`.\n */",
23988
- "documentation": "https://zinc.style/components/priority-list",
24421
+ "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/popup\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
24422
+ "documentation": "https://zinc.style/components/popup",
23989
24423
  "status": "experimental",
23990
24424
  "since": "1.0",
23991
24425
  "dependencies": [
23992
- "zn-icon"
24426
+ "zn-example"
23993
24427
  ]
23994
24428
  }
23995
24429
  ],
@@ -23998,542 +24432,647 @@
23998
24432
  "kind": "js",
23999
24433
  "name": "default",
24000
24434
  "declaration": {
24001
- "name": "ZnPriorityList",
24002
- "module": "components/priority-list/priority-list.js"
24435
+ "name": "ZnPopup",
24436
+ "module": "components/popup/popup.js"
24003
24437
  }
24004
24438
  }
24005
24439
  ]
24006
24440
  },
24007
24441
  {
24008
24442
  "kind": "javascript-module",
24009
- "path": "components/popup/popup.js",
24443
+ "path": "components/priority-list/priority-list.js",
24010
24444
  "declarations": [
24011
24445
  {
24012
24446
  "kind": "class",
24013
24447
  "description": "",
24014
- "name": "ZnPopup",
24448
+ "name": "ZnPriorityList",
24015
24449
  "cssProperties": [
24016
24450
  {
24017
- "description": "An example CSS custom property.",
24018
- "name": "--example"
24451
+ "description": "The gap between list items. Defaults to `var(--zn-spacing-2x-small)`.",
24452
+ "name": "--zn-priority-list-item-gap"
24453
+ },
24454
+ {
24455
+ "description": "The padding inside each item. Defaults to `var(--zn-spacing-small) var(--zn-spacing-medium)`.",
24456
+ "name": "--zn-priority-list-item-padding"
24457
+ },
24458
+ {
24459
+ "description": "The color of the drag handle. Defaults to `var(--zn-color-neutral-500)`.",
24460
+ "name": "--zn-priority-list-handle-color"
24461
+ },
24462
+ {
24463
+ "description": "The color of the priority number. Defaults to `var(--zn-color-neutral-600)`.",
24464
+ "name": "--zn-priority-list-priority-color"
24019
24465
  }
24020
24466
  ],
24021
24467
  "cssParts": [
24022
24468
  {
24023
- "description": "The component's base wrapper.",
24024
- "name": "base"
24025
- }
24026
- ],
24027
- "slots": [
24469
+ "description": "The form control wrapper.",
24470
+ "name": "form-control"
24471
+ },
24028
24472
  {
24029
- "description": "The default slot.",
24030
- "name": ""
24473
+ "description": "The label wrapper.",
24474
+ "name": "form-control-label"
24031
24475
  },
24032
24476
  {
24033
- "description": "An example slot.",
24034
- "name": "example"
24477
+ "description": "The input area wrapper.",
24478
+ "name": "form-control-input"
24479
+ },
24480
+ {
24481
+ "description": "The help text wrapper.",
24482
+ "name": "form-control-help-text"
24483
+ },
24484
+ {
24485
+ "description": "The list container.",
24486
+ "name": "list"
24487
+ },
24488
+ {
24489
+ "description": "An individual list item row.",
24490
+ "name": "item"
24491
+ },
24492
+ {
24493
+ "description": "The drag handle icon.",
24494
+ "name": "drag-handle"
24495
+ },
24496
+ {
24497
+ "description": "The priority number badge.",
24498
+ "name": "priority"
24499
+ },
24500
+ {
24501
+ "description": "The content area of an item.",
24502
+ "name": "content"
24035
24503
  }
24036
24504
  ],
24037
- "members": [
24505
+ "slots": [
24038
24506
  {
24039
- "kind": "field",
24040
- "name": "anchorEl",
24041
- "type": {
24042
- "text": "Element | VirtualElement | null"
24043
- },
24044
- "privacy": "private"
24507
+ "description": "The default slot where list items are placed. Each slotted element must have a `value` attribute that uniquely identifies the item. The component automatically assigns slot names to project each item into the correct position. The item's position in the list determines its priority (top = `priority-start`, incrementing).",
24508
+ "name": ""
24045
24509
  },
24046
24510
  {
24047
- "kind": "field",
24048
- "name": "cleanup",
24049
- "type": {
24050
- "text": "ReturnType<typeof autoUpdate> | undefined"
24051
- },
24052
- "privacy": "private"
24511
+ "description": "The component's label. Required for proper accessibility. Alternatively, use the `label` attribute.",
24512
+ "name": "label"
24053
24513
  },
24054
24514
  {
24055
- "kind": "field",
24056
- "name": "popup",
24057
- "type": {
24058
- "text": "HTMLElement"
24059
- },
24060
- "description": "A reference to the internal popup container. Useful for animating and styling the popup with JavaScript."
24515
+ "description": "Used to add text displayed in a tooltip next to the label.",
24516
+ "name": "label-tooltip"
24061
24517
  },
24518
+ {
24519
+ "description": "Text that describes how to use the component. Alternatively, use the `help-text` attribute.",
24520
+ "name": "help-text"
24521
+ }
24522
+ ],
24523
+ "members": [
24062
24524
  {
24063
24525
  "kind": "field",
24064
- "name": "arrowEl",
24526
+ "name": "dependencies",
24065
24527
  "type": {
24066
- "text": "HTMLElement"
24528
+ "text": "object"
24067
24529
  },
24068
- "privacy": "private"
24530
+ "static": true,
24531
+ "default": "{ 'zn-icon': ZnIcon, }"
24069
24532
  },
24070
24533
  {
24071
24534
  "kind": "field",
24072
- "name": "anchor",
24073
- "type": {
24074
- "text": "Element | string | VirtualElement"
24075
- },
24076
- "description": "The element the popup will be anchored to. If the anchor lives outside of the popup, you can provide the anchor\nelement `id`, a DOM element reference, or a `VirtualElement`. If the anchor lives inside the popup, use the\n`anchor` slot instead.",
24077
- "attribute": "anchor"
24535
+ "name": "formControlController",
24536
+ "privacy": "protected",
24537
+ "readonly": true,
24538
+ "default": "new FormControlController(this, { value: (control: ZnPriorityList) => { return JSON.stringify(control.getPriorityMap()); }, defaultValue: (control: ZnPriorityList) => control.defaultValue, setValue: (control: ZnPriorityList, value: string) => { if (value) { try { const parsed: unknown = JSON.parse(value); if (Array.isArray(parsed) && parsed.every((item: unknown): item is string => typeof item === 'string')) { control.value = parsed as string[]; } } catch { // ignore parse errors } } }, })"
24078
24539
  },
24079
24540
  {
24080
24541
  "kind": "field",
24081
- "name": "active",
24082
- "type": {
24083
- "text": "boolean"
24084
- },
24085
- "default": "false",
24086
- "description": "Activates the positioning logic and shows the popup. When this attribute is removed, the positioning logic is torn\ndown and the popup will be hidden.",
24087
- "attribute": "active",
24088
- "reflects": true
24542
+ "name": "hasSlotController",
24543
+ "privacy": "private",
24544
+ "readonly": true,
24545
+ "default": "new HasSlotController(this, 'help-text', 'label')"
24089
24546
  },
24090
24547
  {
24091
24548
  "kind": "field",
24092
- "name": "placement",
24549
+ "name": "hiddenInputsContainer",
24093
24550
  "type": {
24094
- "text": "| 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end'"
24095
- },
24096
- "default": "'top'",
24097
- "description": "The preferred placement of the popup. Note that the actual placement will vary as configured to keep the\npanel inside of the viewport.",
24098
- "attribute": "placement",
24099
- "reflects": true
24551
+ "text": "HTMLDivElement"
24552
+ }
24100
24553
  },
24101
24554
  {
24102
24555
  "kind": "field",
24103
- "name": "strategy",
24556
+ "name": "name",
24104
24557
  "type": {
24105
- "text": "'absolute' | 'fixed'"
24558
+ "text": "string"
24106
24559
  },
24107
- "default": "'fixed'",
24108
- "description": "Determines how the popup is positioned. The `absolute` strategy works well in most cases, but if overflow is\nclipped, using a `fixed` position strategy can often workaround it.",
24109
- "attribute": "strategy",
24110
- "reflects": true
24560
+ "default": "''",
24561
+ "description": "The name prefix for form submission. Each item generates a hidden input named `{name}[{itemValue}]`\nwith the priority number as its value.",
24562
+ "attribute": "name"
24111
24563
  },
24112
24564
  {
24113
24565
  "kind": "field",
24114
- "name": "distance",
24566
+ "name": "value",
24115
24567
  "type": {
24116
- "text": "number"
24568
+ "text": "string[]"
24117
24569
  },
24118
- "default": "0",
24119
- "description": "The distance in pixels from which to offset the panel away from its anchor.",
24120
- "attribute": "distance"
24570
+ "description": "The current ordered list of item keys, reflecting the visual order. This is the source of truth for ordering.\nEach entry should match a `value` attribute on a slotted child element.",
24571
+ "attribute": "value"
24121
24572
  },
24122
24573
  {
24123
24574
  "kind": "field",
24124
- "name": "skidding",
24575
+ "name": "_value",
24125
24576
  "type": {
24126
- "text": "number"
24577
+ "text": "string[]"
24127
24578
  },
24128
- "default": "0",
24129
- "description": "The distance in pixels from which to offset the panel along its anchor.",
24130
- "attribute": "skidding"
24579
+ "privacy": "private",
24580
+ "default": "[]"
24131
24581
  },
24132
24582
  {
24133
24583
  "kind": "field",
24134
- "name": "arrow",
24584
+ "name": "defaultValue",
24135
24585
  "type": {
24136
- "text": "boolean"
24586
+ "text": "string[]"
24137
24587
  },
24138
- "default": "false",
24139
- "description": "Attaches an arrow to the popup. The arrow's size and color can be customized using the `--arrow-size` and\n`--arrow-color` custom properties. For additional customizations, you can also target the arrow using\n`::part(arrow)` in your stylesheet.",
24140
- "attribute": "arrow"
24588
+ "default": "[]"
24141
24589
  },
24142
24590
  {
24143
24591
  "kind": "field",
24144
- "name": "arrowPlacement",
24592
+ "name": "label",
24145
24593
  "type": {
24146
- "text": "'start' | 'end' | 'center' | 'anchor'"
24594
+ "text": "string"
24147
24595
  },
24148
- "default": "'anchor'",
24149
- "description": "The placement of the arrow. The default is `anchor`, which will align the arrow as close to the center of the\nanchor as possible, considering available space and `arrow-padding`. A value of `start`, `end`, or `center` will\nalign the arrow to the start, end, or center of the popover instead.",
24150
- "attribute": "arrow-placement"
24596
+ "default": "''",
24597
+ "description": "The component's label. Required for proper accessibility.",
24598
+ "attribute": "label"
24151
24599
  },
24152
24600
  {
24153
24601
  "kind": "field",
24154
- "name": "arrowPadding",
24602
+ "name": "labelTooltip",
24155
24603
  "type": {
24156
- "text": "number"
24604
+ "text": "string"
24157
24605
  },
24158
- "default": "10",
24159
- "description": "The amount of padding between the arrow and the edges of the popup. If the popup has a border-radius, for example,\nthis will prevent it from overflowing the corners.",
24160
- "attribute": "arrow-padding"
24606
+ "default": "''",
24607
+ "description": "Text that appears in a tooltip next to the label.",
24608
+ "attribute": "label-tooltip"
24161
24609
  },
24162
24610
  {
24163
24611
  "kind": "field",
24164
- "name": "flip",
24612
+ "name": "helpText",
24165
24613
  "type": {
24166
- "text": "boolean"
24614
+ "text": "string"
24167
24615
  },
24168
- "default": "false",
24169
- "description": "When set, placement of the popup will flip to the opposite site to keep it in view. You can use\n`flipFallbackPlacements` to further configure how the fallback placement is determined.",
24170
- "attribute": "flip"
24616
+ "default": "''",
24617
+ "description": "Help text that describes how to use the component.",
24618
+ "attribute": "help-text"
24171
24619
  },
24172
24620
  {
24173
24621
  "kind": "field",
24174
- "name": "flipFallbackPlacements",
24622
+ "name": "form",
24175
24623
  "type": {
24176
24624
  "text": "string"
24177
24625
  },
24178
24626
  "default": "''",
24179
- "description": "If the preferred placement doesn't fit, popup will be tested in these fallback placements until one fits. Must be a\nstring of any number of placements separated by a space, e.g. \"top bottom left\". If no placement fits, the flip\nfallback strategy will be used instead.",
24180
- "attribute": "flip-fallback-placements"
24627
+ "description": "Associates the control with a form by id. The form must be in the same document or shadow root.",
24628
+ "attribute": "form",
24629
+ "reflects": true
24181
24630
  },
24182
24631
  {
24183
24632
  "kind": "field",
24184
- "name": "flipFallbackStrategy",
24633
+ "name": "size",
24185
24634
  "type": {
24186
- "text": "'best-fit' | 'initial'"
24635
+ "text": "'small' | 'medium' | 'large'"
24187
24636
  },
24188
- "default": "'best-fit'",
24189
- "description": "When neither the preferred placement nor the fallback placements fit, this value will be used to determine whether\nthe popup should be positioned using the best available fit based on available space or as it was initially\npreferred.",
24190
- "attribute": "flip-fallback-strategy"
24637
+ "default": "'medium'",
24638
+ "description": "The size of the list items.",
24639
+ "attribute": "size",
24640
+ "reflects": true
24191
24641
  },
24192
24642
  {
24193
24643
  "kind": "field",
24194
- "name": "flipBoundary",
24644
+ "name": "disabled",
24195
24645
  "type": {
24196
- "text": "Element | Element[]"
24646
+ "text": "boolean"
24197
24647
  },
24198
- "description": "The flip boundary describes clipping element(s) that overflow will be checked relative to when flipping. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
24199
- "attribute": "flipBoundary"
24648
+ "default": "false",
24649
+ "description": "Whether the priority list is disabled.",
24650
+ "attribute": "disabled",
24651
+ "reflects": true
24200
24652
  },
24201
24653
  {
24202
24654
  "kind": "field",
24203
- "name": "flipPadding",
24655
+ "name": "required",
24204
24656
  "type": {
24205
- "text": "number"
24657
+ "text": "boolean"
24206
24658
  },
24207
- "default": "0",
24208
- "description": "The amount of padding, in pixels, to exceed before the flip behavior will occur.",
24209
- "attribute": "flip-padding"
24659
+ "default": "false",
24660
+ "description": "Ensures the form control has a value before allowing submission.",
24661
+ "attribute": "required",
24662
+ "reflects": true
24210
24663
  },
24211
24664
  {
24212
24665
  "kind": "field",
24213
- "name": "shift",
24666
+ "name": "priorityStart",
24214
24667
  "type": {
24215
- "text": "boolean"
24668
+ "text": "number"
24216
24669
  },
24217
- "default": "false",
24218
- "description": "Moves the popup along the axis to keep it in view when clipped.",
24219
- "attribute": "shift"
24670
+ "default": "1",
24671
+ "description": "The starting priority number. Defaults to 1.",
24672
+ "attribute": "priority-start"
24220
24673
  },
24221
24674
  {
24222
24675
  "kind": "field",
24223
- "name": "shiftBoundary",
24676
+ "name": "formAction",
24224
24677
  "type": {
24225
- "text": "Element | Element[]"
24678
+ "text": "string"
24226
24679
  },
24227
- "description": "The shift boundary describes clipping element(s) that overflow will be checked relative to when shifting. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
24228
- "attribute": "shiftBoundary"
24680
+ "description": "When set, the associated form will be submitted with the given action URL whenever items are reordered.\nIf set to an empty string, the form will be submitted using its existing action.",
24681
+ "attribute": "formaction"
24229
24682
  },
24230
24683
  {
24231
24684
  "kind": "field",
24232
- "name": "shiftPadding",
24685
+ "name": "order",
24233
24686
  "type": {
24234
- "text": "number"
24687
+ "text": "string"
24235
24688
  },
24236
- "default": "0",
24237
- "description": "The amount of padding, in pixels, to exceed before the shift behavior will occur.",
24238
- "attribute": "shift-padding"
24689
+ "default": "''",
24690
+ "description": "A comma-separated list of item keys defining the initial display order.\nKeys must match the `value` attributes on slotted children.\nAny slotted items not listed are appended at the end in DOM order.",
24691
+ "attribute": "order"
24239
24692
  },
24240
24693
  {
24241
24694
  "kind": "field",
24242
- "name": "autoSize",
24695
+ "name": "draggedKey",
24243
24696
  "type": {
24244
- "text": "'horizontal' | 'vertical' | 'both'"
24697
+ "text": "string | null"
24245
24698
  },
24246
- "description": "When set, this will cause the popup to automatically resize itself to prevent it from overflowing.",
24247
- "attribute": "auto-size"
24699
+ "privacy": "private",
24700
+ "default": "null"
24248
24701
  },
24249
24702
  {
24250
24703
  "kind": "field",
24251
- "name": "sync",
24704
+ "name": "isDragging",
24252
24705
  "type": {
24253
- "text": "'width' | 'height' | 'both'"
24706
+ "text": "boolean"
24254
24707
  },
24255
- "description": "Syncs the popup's width or height to that of the anchor element.",
24256
- "attribute": "sync"
24708
+ "privacy": "private",
24709
+ "default": "false"
24257
24710
  },
24258
24711
  {
24259
24712
  "kind": "field",
24260
- "name": "autoSizeBoundary",
24713
+ "name": "dragOverKey",
24261
24714
  "type": {
24262
- "text": "Element | Element[]"
24715
+ "text": "string | null"
24263
24716
  },
24264
- "description": "The auto-size boundary describes clipping element(s) that overflow will be checked relative to when resizing. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
24265
- "attribute": "autoSizeBoundary"
24717
+ "privacy": "private",
24718
+ "default": "null"
24266
24719
  },
24267
24720
  {
24268
24721
  "kind": "field",
24269
- "name": "autoSizePadding",
24722
+ "name": "validity",
24270
24723
  "type": {
24271
- "text": "number"
24724
+ "text": "ValidityState"
24272
24725
  },
24273
- "default": "0",
24274
- "description": "The amount of padding, in pixels, to exceed before the auto-size behavior will occur.",
24275
- "attribute": "auto-size-padding"
24726
+ "description": "Gets the validity state object.",
24727
+ "readonly": true
24276
24728
  },
24277
24729
  {
24278
24730
  "kind": "field",
24279
- "name": "hoverBridge",
24731
+ "name": "validationMessage",
24280
24732
  "type": {
24281
- "text": "boolean"
24733
+ "text": "string"
24282
24734
  },
24283
- "default": "false",
24284
- "description": "When a gap exists between the anchor and the popup element, this option will add a \"hover bridge\" that fills the\ngap using an invisible element. This makes listening for events such as `mouseenter` and `mouseleave` more sane\nbecause the pointer never technically leaves the element. The hover bridge will only be drawn when the popover is\nactive.",
24285
- "attribute": "hover-bridge"
24735
+ "description": "Gets the validation message.",
24736
+ "readonly": true
24286
24737
  },
24287
24738
  {
24288
24739
  "kind": "method",
24289
- "name": "handleAnchorChange",
24290
- "privacy": "private"
24740
+ "name": "_initializeOrderFromSlot",
24741
+ "privacy": "private",
24742
+ "description": "Initialize item order from slotted children if no explicit value was provided.\nIf an `order` attribute is set, use it to define the initial order,\nappending any slotted items not listed in the order at the end."
24291
24743
  },
24292
24744
  {
24293
- "kind": "field",
24294
- "name": "handleAnchorHover",
24295
- "privacy": "public"
24745
+ "kind": "method",
24746
+ "name": "_getSlottedItems",
24747
+ "privacy": "private",
24748
+ "return": {
24749
+ "type": {
24750
+ "text": "HTMLElement[]"
24751
+ }
24752
+ },
24753
+ "description": "Gets all direct children with a `value` attribute (excluding those in reserved slots)."
24296
24754
  },
24297
24755
  {
24298
24756
  "kind": "method",
24299
- "name": "start",
24300
- "privacy": "private"
24757
+ "name": "_assignSlotNames",
24758
+ "privacy": "private",
24759
+ "description": "Assigns `slot` attributes to light DOM children based on their `value` attribute,\nso they project into the correct named slot in the shadow DOM."
24301
24760
  },
24302
24761
  {
24303
24762
  "kind": "method",
24304
- "name": "stop",
24305
- "privacy": "private",
24763
+ "name": "getPriorityMap",
24306
24764
  "return": {
24307
24765
  "type": {
24308
- "text": "Promise<void>"
24766
+ "text": "PriorityItem[]"
24309
24767
  }
24310
- }
24768
+ },
24769
+ "description": "Returns the priority map: an array of { key, priority } objects."
24311
24770
  },
24312
24771
  {
24313
24772
  "kind": "method",
24314
- "name": "reposition",
24315
- "description": "Forces the popup to recalculate and reposition itself."
24773
+ "name": "_syncHiddenInputs",
24774
+ "privacy": "private",
24775
+ "description": "Syncs hidden inputs so form data includes priority values."
24316
24776
  },
24317
24777
  {
24318
- "kind": "field",
24319
- "name": "updateHoverBridge",
24320
- "privacy": "private"
24321
- }
24322
- ],
24323
- "events": [
24778
+ "kind": "method",
24779
+ "name": "_moveItem",
24780
+ "privacy": "private",
24781
+ "parameters": [
24782
+ {
24783
+ "name": "fromIndex",
24784
+ "type": {
24785
+ "text": "number"
24786
+ }
24787
+ },
24788
+ {
24789
+ "name": "toIndex",
24790
+ "type": {
24791
+ "text": "number"
24792
+ }
24793
+ }
24794
+ ],
24795
+ "description": "Moves an item from one index to another."
24796
+ },
24324
24797
  {
24325
- "description": "Emitted as an example.",
24326
- "name": "zn-event-name"
24327
- }
24328
- ],
24329
- "attributes": [
24798
+ "kind": "method",
24799
+ "name": "_submitForm",
24800
+ "privacy": "private",
24801
+ "description": "Submits the associated form if a `formaction` attribute is set."
24802
+ },
24330
24803
  {
24331
- "name": "anchor",
24332
- "type": {
24333
- "text": "Element | string | VirtualElement"
24334
- },
24335
- "description": "The element the popup will be anchored to. If the anchor lives outside of the popup, you can provide the anchor\nelement `id`, a DOM element reference, or a `VirtualElement`. If the anchor lives inside the popup, use the\n`anchor` slot instead.",
24336
- "fieldName": "anchor"
24804
+ "kind": "method",
24805
+ "name": "_handleDragStart",
24806
+ "privacy": "private",
24807
+ "parameters": [
24808
+ {
24809
+ "name": "event",
24810
+ "type": {
24811
+ "text": "DragEvent"
24812
+ }
24813
+ },
24814
+ {
24815
+ "name": "key",
24816
+ "type": {
24817
+ "text": "string"
24818
+ }
24819
+ }
24820
+ ]
24337
24821
  },
24338
24822
  {
24339
- "name": "active",
24340
- "type": {
24341
- "text": "boolean"
24342
- },
24343
- "default": "false",
24344
- "description": "Activates the positioning logic and shows the popup. When this attribute is removed, the positioning logic is torn\ndown and the popup will be hidden.",
24345
- "fieldName": "active"
24823
+ "kind": "method",
24824
+ "name": "_handleDragEnd",
24825
+ "privacy": "private"
24346
24826
  },
24347
24827
  {
24348
- "name": "placement",
24349
- "type": {
24350
- "text": "| 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end'"
24351
- },
24352
- "default": "'top'",
24353
- "description": "The preferred placement of the popup. Note that the actual placement will vary as configured to keep the\npanel inside of the viewport.",
24354
- "fieldName": "placement"
24828
+ "kind": "method",
24829
+ "name": "_handleDragOver",
24830
+ "privacy": "private",
24831
+ "parameters": [
24832
+ {
24833
+ "name": "event",
24834
+ "type": {
24835
+ "text": "DragEvent"
24836
+ }
24837
+ },
24838
+ {
24839
+ "name": "key",
24840
+ "type": {
24841
+ "text": "string"
24842
+ }
24843
+ }
24844
+ ]
24355
24845
  },
24356
24846
  {
24357
- "name": "strategy",
24358
- "type": {
24359
- "text": "'absolute' | 'fixed'"
24360
- },
24361
- "default": "'fixed'",
24362
- "description": "Determines how the popup is positioned. The `absolute` strategy works well in most cases, but if overflow is\nclipped, using a `fixed` position strategy can often workaround it.",
24363
- "fieldName": "strategy"
24847
+ "kind": "method",
24848
+ "name": "_handleDragLeave",
24849
+ "privacy": "private",
24850
+ "parameters": [
24851
+ {
24852
+ "name": "event",
24853
+ "type": {
24854
+ "text": "DragEvent"
24855
+ }
24856
+ },
24857
+ {
24858
+ "name": "key",
24859
+ "type": {
24860
+ "text": "string"
24861
+ }
24862
+ }
24863
+ ]
24364
24864
  },
24365
24865
  {
24366
- "name": "distance",
24367
- "type": {
24368
- "text": "number"
24369
- },
24370
- "default": "0",
24371
- "description": "The distance in pixels from which to offset the panel away from its anchor.",
24372
- "fieldName": "distance"
24866
+ "kind": "method",
24867
+ "name": "_handleDrop",
24868
+ "privacy": "private",
24869
+ "parameters": [
24870
+ {
24871
+ "name": "event",
24872
+ "type": {
24873
+ "text": "DragEvent"
24874
+ }
24875
+ }
24876
+ ]
24373
24877
  },
24374
24878
  {
24375
- "name": "skidding",
24376
- "type": {
24377
- "text": "number"
24378
- },
24379
- "default": "0",
24380
- "description": "The distance in pixels from which to offset the panel along its anchor.",
24381
- "fieldName": "skidding"
24879
+ "kind": "method",
24880
+ "name": "_handleKeyDown",
24881
+ "privacy": "private",
24882
+ "parameters": [
24883
+ {
24884
+ "name": "event",
24885
+ "type": {
24886
+ "text": "KeyboardEvent"
24887
+ }
24888
+ },
24889
+ {
24890
+ "name": "key",
24891
+ "type": {
24892
+ "text": "string"
24893
+ }
24894
+ }
24895
+ ]
24382
24896
  },
24383
24897
  {
24384
- "name": "arrow",
24385
- "type": {
24386
- "text": "boolean"
24387
- },
24388
- "default": "false",
24389
- "description": "Attaches an arrow to the popup. The arrow's size and color can be customized using the `--arrow-size` and\n`--arrow-color` custom properties. For additional customizations, you can also target the arrow using\n`::part(arrow)` in your stylesheet.",
24390
- "fieldName": "arrow"
24898
+ "kind": "method",
24899
+ "name": "_handleSlotChange",
24900
+ "privacy": "private"
24391
24901
  },
24392
24902
  {
24393
- "name": "arrow-placement",
24394
- "type": {
24395
- "text": "'start' | 'end' | 'center' | 'anchor'"
24903
+ "kind": "method",
24904
+ "name": "checkValidity",
24905
+ "return": {
24906
+ "type": {
24907
+ "text": "boolean"
24908
+ }
24396
24909
  },
24397
- "default": "'anchor'",
24398
- "description": "The placement of the arrow. The default is `anchor`, which will align the arrow as close to the center of the\nanchor as possible, considering available space and `arrow-padding`. A value of `start`, `end`, or `center` will\nalign the arrow to the start, end, or center of the popover instead.",
24399
- "fieldName": "arrowPlacement"
24910
+ "description": "Checks for validity but does not show a validation message."
24400
24911
  },
24401
24912
  {
24402
- "name": "arrow-padding",
24403
- "type": {
24404
- "text": "number"
24913
+ "kind": "method",
24914
+ "name": "getForm",
24915
+ "return": {
24916
+ "type": {
24917
+ "text": "HTMLFormElement | null"
24918
+ }
24405
24919
  },
24406
- "default": "10",
24407
- "description": "The amount of padding between the arrow and the edges of the popup. If the popup has a border-radius, for example,\nthis will prevent it from overflowing the corners.",
24408
- "fieldName": "arrowPadding"
24920
+ "description": "Gets the associated form, if one exists."
24409
24921
  },
24410
24922
  {
24411
- "name": "flip",
24412
- "type": {
24413
- "text": "boolean"
24923
+ "kind": "method",
24924
+ "name": "reportValidity",
24925
+ "return": {
24926
+ "type": {
24927
+ "text": "boolean"
24928
+ }
24414
24929
  },
24415
- "default": "false",
24416
- "description": "When set, placement of the popup will flip to the opposite site to keep it in view. You can use\n`flipFallbackPlacements` to further configure how the fallback placement is determined.",
24417
- "fieldName": "flip"
24930
+ "description": "Checks for validity and shows the browser's validation message if the control is invalid."
24418
24931
  },
24419
24932
  {
24420
- "name": "flip-fallback-placements",
24933
+ "kind": "method",
24934
+ "name": "setCustomValidity",
24935
+ "parameters": [
24936
+ {
24937
+ "name": "_message",
24938
+ "default": "''"
24939
+ }
24940
+ ],
24941
+ "description": "Sets a custom validation message. Pass an empty string to restore validity."
24942
+ }
24943
+ ],
24944
+ "events": [
24945
+ {
24946
+ "description": "Emitted when the order of items changes.",
24947
+ "name": "zn-change"
24948
+ },
24949
+ {
24950
+ "description": "Emitted when items are reordered. Call `getPriorityMap()` on the component to get the updated `{ key: string, priority: number }[]` array.",
24951
+ "name": "zn-reorder"
24952
+ }
24953
+ ],
24954
+ "attributes": [
24955
+ {
24956
+ "name": "name",
24421
24957
  "type": {
24422
24958
  "text": "string"
24423
24959
  },
24424
24960
  "default": "''",
24425
- "description": "If the preferred placement doesn't fit, popup will be tested in these fallback placements until one fits. Must be a\nstring of any number of placements separated by a space, e.g. \"top bottom left\". If no placement fits, the flip\nfallback strategy will be used instead.",
24426
- "fieldName": "flipFallbackPlacements"
24961
+ "description": "The name prefix for form submission. Each item generates a hidden input named `{name}[{itemValue}]`\nwith the priority number as its value.",
24962
+ "fieldName": "name"
24427
24963
  },
24428
24964
  {
24429
- "name": "flip-fallback-strategy",
24965
+ "name": "value",
24430
24966
  "type": {
24431
- "text": "'best-fit' | 'initial'"
24967
+ "text": "string[]"
24432
24968
  },
24433
- "default": "'best-fit'",
24434
- "description": "When neither the preferred placement nor the fallback placements fit, this value will be used to determine whether\nthe popup should be positioned using the best available fit based on available space or as it was initially\npreferred.",
24435
- "fieldName": "flipFallbackStrategy"
24969
+ "description": "The current ordered list of item keys, reflecting the visual order. This is the source of truth for ordering.\nEach entry should match a `value` attribute on a slotted child element.",
24970
+ "fieldName": "value"
24436
24971
  },
24437
24972
  {
24438
- "name": "flipBoundary",
24973
+ "name": "label",
24439
24974
  "type": {
24440
- "text": "Element | Element[]"
24975
+ "text": "string"
24441
24976
  },
24442
- "description": "The flip boundary describes clipping element(s) that overflow will be checked relative to when flipping. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
24443
- "fieldName": "flipBoundary"
24977
+ "default": "''",
24978
+ "description": "The component's label. Required for proper accessibility.",
24979
+ "fieldName": "label"
24444
24980
  },
24445
24981
  {
24446
- "name": "flip-padding",
24982
+ "name": "label-tooltip",
24447
24983
  "type": {
24448
- "text": "number"
24984
+ "text": "string"
24449
24985
  },
24450
- "default": "0",
24451
- "description": "The amount of padding, in pixels, to exceed before the flip behavior will occur.",
24452
- "fieldName": "flipPadding"
24986
+ "default": "''",
24987
+ "description": "Text that appears in a tooltip next to the label.",
24988
+ "fieldName": "labelTooltip"
24453
24989
  },
24454
24990
  {
24455
- "name": "shift",
24991
+ "name": "help-text",
24456
24992
  "type": {
24457
- "text": "boolean"
24993
+ "text": "string"
24458
24994
  },
24459
- "default": "false",
24460
- "description": "Moves the popup along the axis to keep it in view when clipped.",
24461
- "fieldName": "shift"
24995
+ "default": "''",
24996
+ "description": "Help text that describes how to use the component.",
24997
+ "fieldName": "helpText"
24462
24998
  },
24463
24999
  {
24464
- "name": "shiftBoundary",
25000
+ "name": "form",
24465
25001
  "type": {
24466
- "text": "Element | Element[]"
25002
+ "text": "string"
24467
25003
  },
24468
- "description": "The shift boundary describes clipping element(s) that overflow will be checked relative to when shifting. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
24469
- "fieldName": "shiftBoundary"
25004
+ "default": "''",
25005
+ "description": "Associates the control with a form by id. The form must be in the same document or shadow root.",
25006
+ "fieldName": "form"
24470
25007
  },
24471
25008
  {
24472
- "name": "shift-padding",
25009
+ "name": "size",
24473
25010
  "type": {
24474
- "text": "number"
25011
+ "text": "'small' | 'medium' | 'large'"
24475
25012
  },
24476
- "default": "0",
24477
- "description": "The amount of padding, in pixels, to exceed before the shift behavior will occur.",
24478
- "fieldName": "shiftPadding"
25013
+ "default": "'medium'",
25014
+ "description": "The size of the list items.",
25015
+ "fieldName": "size"
24479
25016
  },
24480
25017
  {
24481
- "name": "auto-size",
25018
+ "name": "disabled",
24482
25019
  "type": {
24483
- "text": "'horizontal' | 'vertical' | 'both'"
25020
+ "text": "boolean"
24484
25021
  },
24485
- "description": "When set, this will cause the popup to automatically resize itself to prevent it from overflowing.",
24486
- "fieldName": "autoSize"
25022
+ "default": "false",
25023
+ "description": "Whether the priority list is disabled.",
25024
+ "fieldName": "disabled"
24487
25025
  },
24488
25026
  {
24489
- "name": "sync",
25027
+ "name": "required",
24490
25028
  "type": {
24491
- "text": "'width' | 'height' | 'both'"
25029
+ "text": "boolean"
24492
25030
  },
24493
- "description": "Syncs the popup's width or height to that of the anchor element.",
24494
- "fieldName": "sync"
25031
+ "default": "false",
25032
+ "description": "Ensures the form control has a value before allowing submission.",
25033
+ "fieldName": "required"
24495
25034
  },
24496
25035
  {
24497
- "name": "autoSizeBoundary",
25036
+ "name": "priority-start",
24498
25037
  "type": {
24499
- "text": "Element | Element[]"
25038
+ "text": "number"
24500
25039
  },
24501
- "description": "The auto-size boundary describes clipping element(s) that overflow will be checked relative to when resizing. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
24502
- "fieldName": "autoSizeBoundary"
25040
+ "default": "1",
25041
+ "description": "The starting priority number. Defaults to 1.",
25042
+ "fieldName": "priorityStart"
24503
25043
  },
24504
25044
  {
24505
- "name": "auto-size-padding",
25045
+ "name": "formaction",
24506
25046
  "type": {
24507
- "text": "number"
25047
+ "text": "string"
24508
25048
  },
24509
- "default": "0",
24510
- "description": "The amount of padding, in pixels, to exceed before the auto-size behavior will occur.",
24511
- "fieldName": "autoSizePadding"
25049
+ "description": "When set, the associated form will be submitted with the given action URL whenever items are reordered.\nIf set to an empty string, the form will be submitted using its existing action.",
25050
+ "fieldName": "formAction"
24512
25051
  },
24513
25052
  {
24514
- "name": "hover-bridge",
25053
+ "name": "order",
24515
25054
  "type": {
24516
- "text": "boolean"
25055
+ "text": "string"
24517
25056
  },
24518
- "default": "false",
24519
- "description": "When a gap exists between the anchor and the popup element, this option will add a \"hover bridge\" that fills the\ngap using an invisible element. This makes listening for events such as `mouseenter` and `mouseleave` more sane\nbecause the pointer never technically leaves the element. The hover bridge will only be drawn when the popover is\nactive.",
24520
- "fieldName": "hoverBridge"
25057
+ "default": "''",
25058
+ "description": "A comma-separated list of item keys defining the initial display order.\nKeys must match the `value` attributes on slotted children.\nAny slotted items not listed are appended at the end in DOM order.",
25059
+ "fieldName": "order"
24521
25060
  }
24522
25061
  ],
24523
25062
  "superclass": {
24524
25063
  "name": "ZincElement",
24525
25064
  "module": "/src/internal/zinc-element"
24526
25065
  },
24527
- "summary": "Short summary of the component's intended use.",
24528
- "tagNameWithoutPrefix": "popup",
24529
- "tagName": "zn-popup",
25066
+ "summary": "A reorderable list where each item receives a numerical priority based on its position. Supports drag-and-drop\nand keyboard reordering. Priority values are submitted as form data via hidden inputs.",
25067
+ "tagNameWithoutPrefix": "priority-list",
25068
+ "tagName": "zn-priority-list",
24530
25069
  "customElement": true,
24531
- "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/popup\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
24532
- "documentation": "https://zinc.style/components/popup",
25070
+ "jsDoc": "/**\n * @summary A reorderable list where each item receives a numerical priority based on its position. Supports drag-and-drop\n * and keyboard reordering. Priority values are submitted as form data via hidden inputs.\n *\n * @documentation https://zinc.style/components/priority-list\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-icon\n *\n * @slot - The default slot where list items are placed. Each slotted element must have a `value` attribute that\n * uniquely identifies the item. The component automatically assigns slot names to project each item into the\n * correct position. The item's position in the list determines its priority (top = `priority-start`, incrementing).\n * @slot label - The component's label. Required for proper accessibility. Alternatively, use the `label` attribute.\n * @slot label-tooltip - Used to add text displayed in a tooltip next to the label.\n * @slot help-text - Text that describes how to use the component. Alternatively, use the `help-text` attribute.\n *\n * @event zn-change - Emitted when the order of items changes.\n * @event zn-reorder - Emitted when items are reordered. Call `getPriorityMap()` on the component to get\n * the updated `{ key: string, priority: number }[]` array.\n *\n * @csspart form-control - The form control wrapper.\n * @csspart form-control-label - The label wrapper.\n * @csspart form-control-input - The input area wrapper.\n * @csspart form-control-help-text - The help text wrapper.\n * @csspart list - The list container.\n * @csspart item - An individual list item row.\n * @csspart drag-handle - The drag handle icon.\n * @csspart priority - The priority number badge.\n * @csspart content - The content area of an item.\n *\n * @cssproperty --zn-priority-list-item-gap - The gap between list items. Defaults to `var(--zn-spacing-2x-small)`.\n * @cssproperty --zn-priority-list-item-padding - The padding inside each item. Defaults to `var(--zn-spacing-small) var(--zn-spacing-medium)`.\n * @cssproperty --zn-priority-list-handle-color - The color of the drag handle. Defaults to `var(--zn-color-neutral-500)`.\n * @cssproperty --zn-priority-list-priority-color - The color of the priority number. Defaults to `var(--zn-color-neutral-600)`.\n */",
25071
+ "documentation": "https://zinc.style/components/priority-list",
24533
25072
  "status": "experimental",
24534
25073
  "since": "1.0",
24535
25074
  "dependencies": [
24536
- "zn-example"
25075
+ "zn-icon"
24537
25076
  ]
24538
25077
  }
24539
25078
  ],
@@ -24542,8 +25081,8 @@
24542
25081
  "kind": "js",
24543
25082
  "name": "default",
24544
25083
  "declaration": {
24545
- "name": "ZnPopup",
24546
- "module": "components/popup/popup.js"
25084
+ "name": "ZnPriorityList",
25085
+ "module": "components/priority-list/priority-list.js"
24547
25086
  }
24548
25087
  }
24549
25088
  ]
@@ -36368,7 +36907,7 @@
36368
36907
  "package": {
36369
36908
  "name": "@kubex/zinc",
36370
36909
  "description": "A collection of web components for building web applications based off of @shoelace-style/Shoelace",
36371
- "version": "1.1.12",
36910
+ "version": "1.1.13",
36372
36911
  "author": "",
36373
36912
  "license": "MIT"
36374
36913
  }