@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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
3
3
  "name": "@kubex/zinc",
4
- "version": "1.1.12",
4
+ "version": "1.1.13",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
@@ -15,6 +15,28 @@
15
15
  "events": [],
16
16
  "js": { "properties": [], "events": [] }
17
17
  },
18
+ {
19
+ "name": "zn-action-bar",
20
+ "description": "Short summary of the component's intended use.\n---\n\n\n### **Events:**\n - **zn-event-name** - Emitted as an example.\n\n### **Slots:**\n - _default_ - The default slot.\n- **example** - An example slot.\n\n### **CSS Properties:**\n - **--example** - An example CSS custom property. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.",
21
+ "doc-url": "",
22
+ "attributes": [],
23
+ "slots": [
24
+ { "name": "", "description": "The default slot." },
25
+ { "name": "example", "description": "An example slot." }
26
+ ],
27
+ "events": [
28
+ { "name": "zn-event-name", "description": "Emitted as an example." }
29
+ ],
30
+ "js": {
31
+ "properties": [],
32
+ "events": [
33
+ {
34
+ "name": "zn-event-name",
35
+ "description": "Emitted as an example."
36
+ }
37
+ ]
38
+ }
39
+ },
18
40
  {
19
41
  "name": "zn-alert",
20
42
  "description": "Short summary of the component's intended use.\n---\n\n\n### **Events:**\n - **zn-event-name** - Emitted as an example.\n\n### **Slots:**\n - _default_ - The default slot.\n- **example** - An example slot.\n\n### **CSS Properties:**\n - **--example** - An example CSS custom property. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.",
@@ -78,28 +100,6 @@
78
100
  ]
79
101
  }
80
102
  },
81
- {
82
- "name": "zn-action-bar",
83
- "description": "Short summary of the component's intended use.\n---\n\n\n### **Events:**\n - **zn-event-name** - Emitted as an example.\n\n### **Slots:**\n - _default_ - The default slot.\n- **example** - An example slot.\n\n### **CSS Properties:**\n - **--example** - An example CSS custom property. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.",
84
- "doc-url": "",
85
- "attributes": [],
86
- "slots": [
87
- { "name": "", "description": "The default slot." },
88
- { "name": "example", "description": "An example slot." }
89
- ],
90
- "events": [
91
- { "name": "zn-event-name", "description": "Emitted as an example." }
92
- ],
93
- "js": {
94
- "properties": [],
95
- "events": [
96
- {
97
- "name": "zn-event-name",
98
- "description": "Emitted as an example."
99
- }
100
- ]
101
- }
102
- },
103
103
  {
104
104
  "name": "zn-animated-button",
105
105
  "description": "\n---\n\n\n### **Methods:**\n - **purchase(): _void_** - Programmatically trigger the purchase flow\n- **setSuccess(): _void_** - Set the button to success state manually\n- **setFailure(message): _void_** - Set the button to failure state manually with optional error message\n- **reset(): _void_** - Reset the button to idle state",
@@ -633,6 +633,241 @@
633
633
  "events": []
634
634
  }
635
635
  },
636
+ {
637
+ "name": "zn-channel-tile",
638
+ "description": "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.\n---\n\n\n### **Events:**\n - **zn-accept** - Emitted when an available tile is accepted (click or auto-accept). Cancelable — call `preventDefault()` to suppress the built-in `accept-uri` fetch.\n- **zn-reject** - Emitted when the reject control is pressed.\n\n### **Slots:**\n - **leading** - Replaces the leading icon in the active state.\n- **action** - Action content for the available state (e.g. a form). Falls back to a default accept button.\n- **footer** - Trailing content (e.g. status badges) in the active state.\n\n### **CSS Properties:**\n - **--channel-tile-color** - Resolved accent color (set from the `color` property). _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **progress** - The progress indicator (incoming countdown overlay or active progress bar).",
639
+ "doc-url": "",
640
+ "attributes": [
641
+ {
642
+ "name": "available",
643
+ "description": "Renders the empty/available face instead of the active face.",
644
+ "value": { "type": "boolean", "default": "false" }
645
+ },
646
+ {
647
+ "name": "incoming",
648
+ "description": "(Available only) the tile is reserving an incoming item awaiting acceptance.",
649
+ "value": { "type": "boolean", "default": "false" }
650
+ },
651
+ {
652
+ "name": "variant",
653
+ "description": "Free-form grouping/theming key (reflected so consumers can query/style by it).",
654
+ "value": { "type": "string", "default": "''" }
655
+ },
656
+ {
657
+ "name": "header",
658
+ "description": "Top-bar text (e.g. brand).",
659
+ "value": { "type": "string", "default": "''" }
660
+ },
661
+ {
662
+ "name": "icon",
663
+ "description": "Leading icon (active state).",
664
+ "value": { "type": "string", "default": "''" }
665
+ },
666
+ {
667
+ "name": "color",
668
+ "description": "Accent color driving the leading icon and `--channel-tile-color`.",
669
+ "value": { "type": "ChannelTileColor", "default": "'default'" }
670
+ },
671
+ {
672
+ "name": "title",
673
+ "description": "Primary line. Defaults to \"Available\" in the available state when unset.",
674
+ "value": { "type": "string", "default": "''" }
675
+ },
676
+ {
677
+ "name": "subtitle",
678
+ "description": "Secondary line.",
679
+ "value": { "type": "string", "default": "''" }
680
+ },
681
+ {
682
+ "name": "progress",
683
+ "description": "(Active only) progress bar fill, 0–100.",
684
+ "value": { "type": "number", "default": "0" }
685
+ },
686
+ {
687
+ "name": "progress-color",
688
+ "description": "(Active only) CSS color for the progress bar fill.",
689
+ "value": { "type": "string", "default": "''" }
690
+ },
691
+ {
692
+ "name": "fid",
693
+ "description": "Identifier carried in `zn-accept` / `zn-reject` event details.",
694
+ "value": { "type": "string", "default": "''" }
695
+ },
696
+ {
697
+ "name": "accept-uri",
698
+ "description": "(Available only) when set, accepting fetches this URI unless `zn-accept` is canceled.",
699
+ "value": { "type": "string", "default": "''" }
700
+ },
701
+ {
702
+ "name": "reserved-until",
703
+ "description": "(Available/incoming) epoch (seconds or millis) at which the reservation window ends.",
704
+ "value": { "type": "number", "default": "0" }
705
+ },
706
+ {
707
+ "name": "auto-accept-delay",
708
+ "description": "(Available/incoming) auto-accept window length in milliseconds.",
709
+ "value": { "type": "number", "default": "0" }
710
+ },
711
+ {
712
+ "name": "rejectable",
713
+ "description": "(Available/incoming) whether a reject control is offered.",
714
+ "value": { "type": "boolean", "default": "false" }
715
+ },
716
+ {
717
+ "name": "accept-icon",
718
+ "description": "Icon for the built-in accept button.",
719
+ "value": { "type": "string", "default": "'plus@lu'" }
720
+ },
721
+ {
722
+ "name": "accept-gaid",
723
+ "description": "Optional analytics id forwarded to the built-in accept button.",
724
+ "value": { "type": "string", "default": "''" }
725
+ },
726
+ {
727
+ "name": "reject-icon",
728
+ "description": "Icon for the reject control.",
729
+ "value": { "type": "string", "default": "'call_end'" }
730
+ },
731
+ {
732
+ "name": "reject-label",
733
+ "description": "Accessible label for the reject control.",
734
+ "value": { "type": "string", "default": "'Reject'" }
735
+ }
736
+ ],
737
+ "slots": [
738
+ {
739
+ "name": "leading",
740
+ "description": "Replaces the leading icon in the active state."
741
+ },
742
+ {
743
+ "name": "action",
744
+ "description": "Action content for the available state (e.g. a form). Falls back to a default accept button."
745
+ },
746
+ {
747
+ "name": "footer",
748
+ "description": "Trailing content (e.g. status badges) in the active state."
749
+ }
750
+ ],
751
+ "events": [
752
+ {
753
+ "name": "zn-accept",
754
+ "description": "Emitted when an available tile is accepted (click or auto-accept). Cancelable — call `preventDefault()` to suppress the built-in `accept-uri` fetch."
755
+ },
756
+ {
757
+ "name": "zn-reject",
758
+ "description": "Emitted when the reject control is pressed."
759
+ }
760
+ ],
761
+ "js": {
762
+ "properties": [
763
+ {
764
+ "name": "available",
765
+ "description": "Renders the empty/available face instead of the active face.",
766
+ "type": "boolean"
767
+ },
768
+ {
769
+ "name": "incoming",
770
+ "description": "(Available only) the tile is reserving an incoming item awaiting acceptance.",
771
+ "type": "boolean"
772
+ },
773
+ {
774
+ "name": "variant",
775
+ "description": "Free-form grouping/theming key (reflected so consumers can query/style by it).",
776
+ "type": "string"
777
+ },
778
+ {
779
+ "name": "header",
780
+ "description": "Top-bar text (e.g. brand).",
781
+ "type": "string"
782
+ },
783
+ {
784
+ "name": "icon",
785
+ "description": "Leading icon (active state).",
786
+ "type": "string"
787
+ },
788
+ {
789
+ "name": "color",
790
+ "description": "Accent color driving the leading icon and `--channel-tile-color`.",
791
+ "type": "ChannelTileColor"
792
+ },
793
+ {
794
+ "name": "title",
795
+ "description": "Primary line. Defaults to \"Available\" in the available state when unset.",
796
+ "type": "string"
797
+ },
798
+ {
799
+ "name": "subtitle",
800
+ "description": "Secondary line.",
801
+ "type": "string"
802
+ },
803
+ {
804
+ "name": "progress",
805
+ "description": "(Active only) progress bar fill, 0–100.",
806
+ "type": "number"
807
+ },
808
+ {
809
+ "name": "progressColor",
810
+ "description": "(Active only) CSS color for the progress bar fill.",
811
+ "type": "string"
812
+ },
813
+ {
814
+ "name": "fid",
815
+ "description": "Identifier carried in `zn-accept` / `zn-reject` event details.",
816
+ "type": "string"
817
+ },
818
+ {
819
+ "name": "acceptUri",
820
+ "description": "(Available only) when set, accepting fetches this URI unless `zn-accept` is canceled.",
821
+ "type": "string"
822
+ },
823
+ {
824
+ "name": "reservedUntil",
825
+ "description": "(Available/incoming) epoch (seconds or millis) at which the reservation window ends.",
826
+ "type": "number"
827
+ },
828
+ {
829
+ "name": "autoAcceptDelay",
830
+ "description": "(Available/incoming) auto-accept window length in milliseconds.",
831
+ "type": "number"
832
+ },
833
+ {
834
+ "name": "rejectable",
835
+ "description": "(Available/incoming) whether a reject control is offered.",
836
+ "type": "boolean"
837
+ },
838
+ {
839
+ "name": "acceptIcon",
840
+ "description": "Icon for the built-in accept button.",
841
+ "type": "string"
842
+ },
843
+ {
844
+ "name": "acceptGaid",
845
+ "description": "Optional analytics id forwarded to the built-in accept button.",
846
+ "type": "string"
847
+ },
848
+ {
849
+ "name": "rejectIcon",
850
+ "description": "Icon for the reject control.",
851
+ "type": "string"
852
+ },
853
+ {
854
+ "name": "rejectLabel",
855
+ "description": "Accessible label for the reject control.",
856
+ "type": "string"
857
+ }
858
+ ],
859
+ "events": [
860
+ {
861
+ "name": "zn-accept",
862
+ "description": "Emitted when an available tile is accepted (click or auto-accept). Cancelable — call `preventDefault()` to suppress the built-in `accept-uri` fetch."
863
+ },
864
+ {
865
+ "name": "zn-reject",
866
+ "description": "Emitted when the reject control is pressed."
867
+ }
868
+ ]
869
+ }
870
+ },
636
871
  {
637
872
  "name": "zn-chart",
638
873
  "description": "Chart component powered by Apache ECharts.\n---\n\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.",
@@ -5721,248 +5956,64 @@
5721
5956
  }
5722
5957
  },
5723
5958
  {
5724
- "name": "zn-priority-list",
5725
- "description": "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.\n---\n\n\n### **Events:**\n - **zn-change** - Emitted when the order of items changes.\n- **zn-reorder** - Emitted when items are reordered. Call `getPriorityMap()` on the component to get the updated `{ key: string, priority: number }[]` array.\n\n### **Methods:**\n - **getPriorityMap(): _PriorityItem[]_** - Returns the priority map: an array of { key, priority } objects.\n- **checkValidity(): _boolean_** - Checks for validity but does not show a validation message.\n- **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **reportValidity(): _boolean_** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(_message)** - Sets a custom validation message. Pass an empty string to restore validity.\n\n### **Slots:**\n - _default_ - 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).\n- **label** - The component's label. Required for proper accessibility. Alternatively, use the `label` attribute.\n- **label-tooltip** - Used to add text displayed in a tooltip next to the label.\n- **help-text** - Text that describes how to use the component. Alternatively, use the `help-text` attribute.\n\n### **CSS Properties:**\n - **--zn-priority-list-item-gap** - The gap between list items. Defaults to `var(--zn-spacing-2x-small)`. _(default: undefined)_\n- **--zn-priority-list-item-padding** - The padding inside each item. Defaults to `var(--zn-spacing-small) var(--zn-spacing-medium)`. _(default: undefined)_\n- **--zn-priority-list-handle-color** - The color of the drag handle. Defaults to `var(--zn-color-neutral-500)`. _(default: undefined)_\n- **--zn-priority-list-priority-color** - The color of the priority number. Defaults to `var(--zn-color-neutral-600)`. _(default: undefined)_\n\n### **CSS Parts:**\n - **form-control** - The form control wrapper.\n- **form-control-label** - The label wrapper.\n- **form-control-input** - The input area wrapper.\n- **form-control-help-text** - The help text wrapper.\n- **list** - The list container.\n- **item** - An individual list item row.\n- **drag-handle** - The drag handle icon.\n- **priority** - The priority number badge.\n- **content** - The content area of an item.",
5959
+ "name": "zn-popup",
5960
+ "description": "Short summary of the component's intended use.\n---\n\n\n### **Events:**\n - **zn-event-name** - Emitted as an example.\n\n### **Methods:**\n - **reposition()** - Forces the popup to recalculate and reposition itself.\n\n### **Slots:**\n - _default_ - The default slot.\n- **example** - An example slot.\n\n### **CSS Properties:**\n - **--example** - An example CSS custom property. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.",
5726
5961
  "doc-url": "",
5727
5962
  "attributes": [
5728
5963
  {
5729
- "name": "name",
5730
- "description": "The name prefix for form submission. Each item generates a hidden input named `{name}[{itemValue}]`\nwith the priority number as its value.",
5731
- "value": { "type": "string", "default": "''" }
5964
+ "name": "anchor",
5965
+ "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.",
5966
+ "value": { "type": "Element | string | VirtualElement" }
5732
5967
  },
5733
5968
  {
5734
- "name": "value",
5735
- "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.",
5736
- "value": { "type": "string[]" }
5969
+ "name": "active",
5970
+ "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.",
5971
+ "value": { "type": "boolean", "default": "false" }
5737
5972
  },
5738
5973
  {
5739
- "name": "label",
5740
- "description": "The component's label. Required for proper accessibility.",
5741
- "value": { "type": "string", "default": "''" }
5974
+ "name": "placement",
5975
+ "description": "The preferred placement of the popup. Note that the actual placement will vary as configured to keep the\npanel inside of the viewport.",
5976
+ "value": {
5977
+ "type": "| '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'",
5978
+ "default": "'top'"
5979
+ }
5742
5980
  },
5743
5981
  {
5744
- "name": "label-tooltip",
5745
- "description": "Text that appears in a tooltip next to the label.",
5746
- "value": { "type": "string", "default": "''" }
5982
+ "name": "strategy",
5983
+ "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.",
5984
+ "value": { "type": "'absolute' | 'fixed'", "default": "'fixed'" }
5747
5985
  },
5748
5986
  {
5749
- "name": "help-text",
5750
- "description": "Help text that describes how to use the component.",
5751
- "value": { "type": "string", "default": "''" }
5987
+ "name": "distance",
5988
+ "description": "The distance in pixels from which to offset the panel away from its anchor.",
5989
+ "value": { "type": "number", "default": "0" }
5752
5990
  },
5753
5991
  {
5754
- "name": "form",
5755
- "description": "Associates the control with a form by id. The form must be in the same document or shadow root.",
5756
- "value": { "type": "string", "default": "''" }
5992
+ "name": "skidding",
5993
+ "description": "The distance in pixels from which to offset the panel along its anchor.",
5994
+ "value": { "type": "number", "default": "0" }
5757
5995
  },
5758
5996
  {
5759
- "name": "size",
5760
- "description": "The size of the list items.",
5997
+ "name": "arrow",
5998
+ "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.",
5999
+ "value": { "type": "boolean", "default": "false" }
6000
+ },
6001
+ {
6002
+ "name": "arrow-placement",
6003
+ "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.",
5761
6004
  "value": {
5762
- "type": "'small' | 'medium' | 'large'",
5763
- "default": "'medium'"
6005
+ "type": "'start' | 'end' | 'center' | 'anchor'",
6006
+ "default": "'anchor'"
5764
6007
  }
5765
6008
  },
5766
6009
  {
5767
- "name": "disabled",
5768
- "description": "Whether the priority list is disabled.",
5769
- "value": { "type": "boolean", "default": "false" }
5770
- },
5771
- {
5772
- "name": "required",
5773
- "description": "Ensures the form control has a value before allowing submission.",
5774
- "value": { "type": "boolean", "default": "false" }
5775
- },
5776
- {
5777
- "name": "priority-start",
5778
- "description": "The starting priority number. Defaults to 1.",
5779
- "value": { "type": "number", "default": "1" }
5780
- },
5781
- {
5782
- "name": "formaction",
5783
- "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.",
5784
- "value": { "type": "string" }
5785
- },
5786
- {
5787
- "name": "order",
5788
- "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.",
5789
- "value": { "type": "string", "default": "''" }
5790
- }
5791
- ],
5792
- "slots": [
5793
- {
5794
- "name": "",
5795
- "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)."
5796
- },
5797
- {
5798
- "name": "label",
5799
- "description": "The component's label. Required for proper accessibility. Alternatively, use the `label` attribute."
5800
- },
5801
- {
5802
- "name": "label-tooltip",
5803
- "description": "Used to add text displayed in a tooltip next to the label."
5804
- },
5805
- {
5806
- "name": "help-text",
5807
- "description": "Text that describes how to use the component. Alternatively, use the `help-text` attribute."
5808
- }
5809
- ],
5810
- "events": [
5811
- {
5812
- "name": "zn-change",
5813
- "description": "Emitted when the order of items changes."
5814
- },
5815
- {
5816
- "name": "zn-reorder",
5817
- "description": "Emitted when items are reordered. Call `getPriorityMap()` on the component to get the updated `{ key: string, priority: number }[]` array."
5818
- }
5819
- ],
5820
- "js": {
5821
- "properties": [
5822
- { "name": "hiddenInputsContainer", "type": "HTMLDivElement" },
5823
- {
5824
- "name": "name",
5825
- "description": "The name prefix for form submission. Each item generates a hidden input named `{name}[{itemValue}]`\nwith the priority number as its value.",
5826
- "type": "string"
5827
- },
5828
- {
5829
- "name": "value",
5830
- "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.",
5831
- "type": "string[]"
5832
- },
5833
- { "name": "defaultValue", "type": "string[]" },
5834
- {
5835
- "name": "label",
5836
- "description": "The component's label. Required for proper accessibility.",
5837
- "type": "string"
5838
- },
5839
- {
5840
- "name": "labelTooltip",
5841
- "description": "Text that appears in a tooltip next to the label.",
5842
- "type": "string"
5843
- },
5844
- {
5845
- "name": "helpText",
5846
- "description": "Help text that describes how to use the component.",
5847
- "type": "string"
5848
- },
5849
- {
5850
- "name": "form",
5851
- "description": "Associates the control with a form by id. The form must be in the same document or shadow root.",
5852
- "type": "string"
5853
- },
5854
- {
5855
- "name": "size",
5856
- "description": "The size of the list items.",
5857
- "type": "'small' | 'medium' | 'large'"
5858
- },
5859
- {
5860
- "name": "disabled",
5861
- "description": "Whether the priority list is disabled.",
5862
- "type": "boolean"
5863
- },
5864
- {
5865
- "name": "required",
5866
- "description": "Ensures the form control has a value before allowing submission.",
5867
- "type": "boolean"
5868
- },
5869
- {
5870
- "name": "priorityStart",
5871
- "description": "The starting priority number. Defaults to 1.",
5872
- "type": "number"
5873
- },
5874
- {
5875
- "name": "formAction",
5876
- "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.",
5877
- "type": "string"
5878
- },
5879
- {
5880
- "name": "order",
5881
- "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.",
5882
- "type": "string"
5883
- },
5884
- {
5885
- "name": "validity",
5886
- "description": "Gets the validity state object.",
5887
- "type": "ValidityState"
5888
- },
5889
- {
5890
- "name": "validationMessage",
5891
- "description": "Gets the validation message.",
5892
- "type": "string"
5893
- }
5894
- ],
5895
- "events": [
5896
- {
5897
- "name": "zn-change",
5898
- "description": "Emitted when the order of items changes."
5899
- },
5900
- {
5901
- "name": "zn-reorder",
5902
- "description": "Emitted when items are reordered. Call `getPriorityMap()` on the component to get the updated `{ key: string, priority: number }[]` array."
5903
- }
5904
- ]
5905
- }
5906
- },
5907
- {
5908
- "name": "zn-popup",
5909
- "description": "Short summary of the component's intended use.\n---\n\n\n### **Events:**\n - **zn-event-name** - Emitted as an example.\n\n### **Methods:**\n - **reposition()** - Forces the popup to recalculate and reposition itself.\n\n### **Slots:**\n - _default_ - The default slot.\n- **example** - An example slot.\n\n### **CSS Properties:**\n - **--example** - An example CSS custom property. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.",
5910
- "doc-url": "",
5911
- "attributes": [
5912
- {
5913
- "name": "anchor",
5914
- "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.",
5915
- "value": { "type": "Element | string | VirtualElement" }
5916
- },
5917
- {
5918
- "name": "active",
5919
- "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.",
5920
- "value": { "type": "boolean", "default": "false" }
5921
- },
5922
- {
5923
- "name": "placement",
5924
- "description": "The preferred placement of the popup. Note that the actual placement will vary as configured to keep the\npanel inside of the viewport.",
5925
- "value": {
5926
- "type": "| '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'",
5927
- "default": "'top'"
5928
- }
5929
- },
5930
- {
5931
- "name": "strategy",
5932
- "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.",
5933
- "value": { "type": "'absolute' | 'fixed'", "default": "'fixed'" }
5934
- },
5935
- {
5936
- "name": "distance",
5937
- "description": "The distance in pixels from which to offset the panel away from its anchor.",
5938
- "value": { "type": "number", "default": "0" }
5939
- },
5940
- {
5941
- "name": "skidding",
5942
- "description": "The distance in pixels from which to offset the panel along its anchor.",
5943
- "value": { "type": "number", "default": "0" }
5944
- },
5945
- {
5946
- "name": "arrow",
5947
- "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.",
5948
- "value": { "type": "boolean", "default": "false" }
5949
- },
5950
- {
5951
- "name": "arrow-placement",
5952
- "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.",
5953
- "value": {
5954
- "type": "'start' | 'end' | 'center' | 'anchor'",
5955
- "default": "'anchor'"
5956
- }
5957
- },
5958
- {
5959
- "name": "arrow-padding",
5960
- "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.",
5961
- "value": { "type": "number", "default": "10" }
5962
- },
5963
- {
5964
- "name": "flip",
5965
- "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.",
6010
+ "name": "arrow-padding",
6011
+ "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.",
6012
+ "value": { "type": "number", "default": "10" }
6013
+ },
6014
+ {
6015
+ "name": "flip",
6016
+ "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.",
5966
6017
  "value": { "type": "boolean", "default": "false" }
5967
6018
  },
5968
6019
  {
@@ -6163,6 +6214,190 @@
6163
6214
  ]
6164
6215
  }
6165
6216
  },
6217
+ {
6218
+ "name": "zn-priority-list",
6219
+ "description": "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.\n---\n\n\n### **Events:**\n - **zn-change** - Emitted when the order of items changes.\n- **zn-reorder** - Emitted when items are reordered. Call `getPriorityMap()` on the component to get the updated `{ key: string, priority: number }[]` array.\n\n### **Methods:**\n - **getPriorityMap(): _PriorityItem[]_** - Returns the priority map: an array of { key, priority } objects.\n- **checkValidity(): _boolean_** - Checks for validity but does not show a validation message.\n- **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **reportValidity(): _boolean_** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(_message)** - Sets a custom validation message. Pass an empty string to restore validity.\n\n### **Slots:**\n - _default_ - 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).\n- **label** - The component's label. Required for proper accessibility. Alternatively, use the `label` attribute.\n- **label-tooltip** - Used to add text displayed in a tooltip next to the label.\n- **help-text** - Text that describes how to use the component. Alternatively, use the `help-text` attribute.\n\n### **CSS Properties:**\n - **--zn-priority-list-item-gap** - The gap between list items. Defaults to `var(--zn-spacing-2x-small)`. _(default: undefined)_\n- **--zn-priority-list-item-padding** - The padding inside each item. Defaults to `var(--zn-spacing-small) var(--zn-spacing-medium)`. _(default: undefined)_\n- **--zn-priority-list-handle-color** - The color of the drag handle. Defaults to `var(--zn-color-neutral-500)`. _(default: undefined)_\n- **--zn-priority-list-priority-color** - The color of the priority number. Defaults to `var(--zn-color-neutral-600)`. _(default: undefined)_\n\n### **CSS Parts:**\n - **form-control** - The form control wrapper.\n- **form-control-label** - The label wrapper.\n- **form-control-input** - The input area wrapper.\n- **form-control-help-text** - The help text wrapper.\n- **list** - The list container.\n- **item** - An individual list item row.\n- **drag-handle** - The drag handle icon.\n- **priority** - The priority number badge.\n- **content** - The content area of an item.",
6220
+ "doc-url": "",
6221
+ "attributes": [
6222
+ {
6223
+ "name": "name",
6224
+ "description": "The name prefix for form submission. Each item generates a hidden input named `{name}[{itemValue}]`\nwith the priority number as its value.",
6225
+ "value": { "type": "string", "default": "''" }
6226
+ },
6227
+ {
6228
+ "name": "value",
6229
+ "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.",
6230
+ "value": { "type": "string[]" }
6231
+ },
6232
+ {
6233
+ "name": "label",
6234
+ "description": "The component's label. Required for proper accessibility.",
6235
+ "value": { "type": "string", "default": "''" }
6236
+ },
6237
+ {
6238
+ "name": "label-tooltip",
6239
+ "description": "Text that appears in a tooltip next to the label.",
6240
+ "value": { "type": "string", "default": "''" }
6241
+ },
6242
+ {
6243
+ "name": "help-text",
6244
+ "description": "Help text that describes how to use the component.",
6245
+ "value": { "type": "string", "default": "''" }
6246
+ },
6247
+ {
6248
+ "name": "form",
6249
+ "description": "Associates the control with a form by id. The form must be in the same document or shadow root.",
6250
+ "value": { "type": "string", "default": "''" }
6251
+ },
6252
+ {
6253
+ "name": "size",
6254
+ "description": "The size of the list items.",
6255
+ "value": {
6256
+ "type": "'small' | 'medium' | 'large'",
6257
+ "default": "'medium'"
6258
+ }
6259
+ },
6260
+ {
6261
+ "name": "disabled",
6262
+ "description": "Whether the priority list is disabled.",
6263
+ "value": { "type": "boolean", "default": "false" }
6264
+ },
6265
+ {
6266
+ "name": "required",
6267
+ "description": "Ensures the form control has a value before allowing submission.",
6268
+ "value": { "type": "boolean", "default": "false" }
6269
+ },
6270
+ {
6271
+ "name": "priority-start",
6272
+ "description": "The starting priority number. Defaults to 1.",
6273
+ "value": { "type": "number", "default": "1" }
6274
+ },
6275
+ {
6276
+ "name": "formaction",
6277
+ "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.",
6278
+ "value": { "type": "string" }
6279
+ },
6280
+ {
6281
+ "name": "order",
6282
+ "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.",
6283
+ "value": { "type": "string", "default": "''" }
6284
+ }
6285
+ ],
6286
+ "slots": [
6287
+ {
6288
+ "name": "",
6289
+ "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)."
6290
+ },
6291
+ {
6292
+ "name": "label",
6293
+ "description": "The component's label. Required for proper accessibility. Alternatively, use the `label` attribute."
6294
+ },
6295
+ {
6296
+ "name": "label-tooltip",
6297
+ "description": "Used to add text displayed in a tooltip next to the label."
6298
+ },
6299
+ {
6300
+ "name": "help-text",
6301
+ "description": "Text that describes how to use the component. Alternatively, use the `help-text` attribute."
6302
+ }
6303
+ ],
6304
+ "events": [
6305
+ {
6306
+ "name": "zn-change",
6307
+ "description": "Emitted when the order of items changes."
6308
+ },
6309
+ {
6310
+ "name": "zn-reorder",
6311
+ "description": "Emitted when items are reordered. Call `getPriorityMap()` on the component to get the updated `{ key: string, priority: number }[]` array."
6312
+ }
6313
+ ],
6314
+ "js": {
6315
+ "properties": [
6316
+ { "name": "hiddenInputsContainer", "type": "HTMLDivElement" },
6317
+ {
6318
+ "name": "name",
6319
+ "description": "The name prefix for form submission. Each item generates a hidden input named `{name}[{itemValue}]`\nwith the priority number as its value.",
6320
+ "type": "string"
6321
+ },
6322
+ {
6323
+ "name": "value",
6324
+ "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.",
6325
+ "type": "string[]"
6326
+ },
6327
+ { "name": "defaultValue", "type": "string[]" },
6328
+ {
6329
+ "name": "label",
6330
+ "description": "The component's label. Required for proper accessibility.",
6331
+ "type": "string"
6332
+ },
6333
+ {
6334
+ "name": "labelTooltip",
6335
+ "description": "Text that appears in a tooltip next to the label.",
6336
+ "type": "string"
6337
+ },
6338
+ {
6339
+ "name": "helpText",
6340
+ "description": "Help text that describes how to use the component.",
6341
+ "type": "string"
6342
+ },
6343
+ {
6344
+ "name": "form",
6345
+ "description": "Associates the control with a form by id. The form must be in the same document or shadow root.",
6346
+ "type": "string"
6347
+ },
6348
+ {
6349
+ "name": "size",
6350
+ "description": "The size of the list items.",
6351
+ "type": "'small' | 'medium' | 'large'"
6352
+ },
6353
+ {
6354
+ "name": "disabled",
6355
+ "description": "Whether the priority list is disabled.",
6356
+ "type": "boolean"
6357
+ },
6358
+ {
6359
+ "name": "required",
6360
+ "description": "Ensures the form control has a value before allowing submission.",
6361
+ "type": "boolean"
6362
+ },
6363
+ {
6364
+ "name": "priorityStart",
6365
+ "description": "The starting priority number. Defaults to 1.",
6366
+ "type": "number"
6367
+ },
6368
+ {
6369
+ "name": "formAction",
6370
+ "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.",
6371
+ "type": "string"
6372
+ },
6373
+ {
6374
+ "name": "order",
6375
+ "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.",
6376
+ "type": "string"
6377
+ },
6378
+ {
6379
+ "name": "validity",
6380
+ "description": "Gets the validity state object.",
6381
+ "type": "ValidityState"
6382
+ },
6383
+ {
6384
+ "name": "validationMessage",
6385
+ "description": "Gets the validation message.",
6386
+ "type": "string"
6387
+ }
6388
+ ],
6389
+ "events": [
6390
+ {
6391
+ "name": "zn-change",
6392
+ "description": "Emitted when the order of items changes."
6393
+ },
6394
+ {
6395
+ "name": "zn-reorder",
6396
+ "description": "Emitted when items are reordered. Call `getPriorityMap()` on the component to get the updated `{ key: string, priority: number }[]` array."
6397
+ }
6398
+ ]
6399
+ }
6400
+ },
6166
6401
  {
6167
6402
  "name": "zn-progress-bar",
6168
6403
  "description": "Progress bars provide visual feedback about the completion status of a task or process.\n---\n\n\n### **CSS Properties:**\n - **--zn-border-color** - The color of the progress bar background track. _(default: undefined)_\n- **--zn-progress-bar-color** - The color of the progress bar fill. _(default: undefined)_\n- **--zn-text-heading** - The color of the caption text. _(default: undefined)_\n- **--zn-text** - The color of the progress percentage and description text. _(default: undefined)_\n- **--zn-spacing-x-small** - The spacing between header/footer and the progress bar. _(default: undefined)_\n\n### **CSS Parts:**\n - **header** - The header container that contains the caption and progress text.\n- **caption** - The caption text element.\n- **progress** - The progress percentage text element.\n- **bar** - The SVG element containing the progress bar.\n- **track** - The background track of the progress bar.\n- **fill** - The filled portion of the progress bar indicating progress.\n- **footer** - The footer container that contains the description.\n- **info** - The description text element.",