@warp-ds/elements 2.10.0-next.2 → 2.10.0-next.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/custom-elements.json +140 -69
  2. package/dist/docs/combobox/accessibility.md +71 -0
  3. package/dist/docs/combobox/api.md +60 -30
  4. package/dist/docs/combobox/combobox.md +203 -30
  5. package/dist/docs/combobox/examples.md +44 -0
  6. package/dist/docs/combobox/usage.md +28 -0
  7. package/dist/docs/icon/accessibility.md +5 -0
  8. package/dist/docs/icon/api.md +37 -0
  9. package/dist/docs/icon/examples.md +45 -0
  10. package/dist/docs/icon/icon.md +107 -0
  11. package/dist/docs/icon/usage.md +11 -0
  12. package/dist/docs/link/api.md +18 -22
  13. package/dist/docs/link/examples.md +75 -0
  14. package/dist/docs/link/link.md +111 -22
  15. package/dist/docs/link/usage.md +18 -0
  16. package/dist/index.d.ts +443 -171
  17. package/dist/packages/affix/affix.js +3 -3
  18. package/dist/packages/affix/affix.js.map +3 -3
  19. package/dist/packages/alert/alert.js +1 -1
  20. package/dist/packages/alert/alert.js.map +3 -3
  21. package/dist/packages/attention/attention.js.map +3 -3
  22. package/dist/packages/button/button.js.map +2 -2
  23. package/dist/packages/checkbox/checkbox.d.ts +40 -11
  24. package/dist/packages/checkbox/checkbox.js.map +2 -2
  25. package/dist/packages/checkbox-group/checkbox-group.d.ts +30 -5
  26. package/dist/packages/checkbox-group/checkbox-group.js.map +2 -2
  27. package/dist/packages/combobox/combobox.a11y.test.js +24 -0
  28. package/dist/packages/combobox/combobox.d.ts +65 -45
  29. package/dist/packages/combobox/combobox.hydration.test.js +39 -1
  30. package/dist/packages/combobox/combobox.js +13 -13
  31. package/dist/packages/combobox/combobox.js.map +3 -3
  32. package/dist/packages/combobox/combobox.stories.js +28 -15
  33. package/dist/packages/combobox/combobox.test.js +110 -0
  34. package/dist/packages/datepicker/datepicker.js.map +3 -3
  35. package/dist/packages/expandable/expandable.js +2 -2
  36. package/dist/packages/expandable/expandable.js.map +3 -3
  37. package/dist/packages/icon/icon.d.ts +13 -3
  38. package/dist/packages/icon/icon.js +2 -2
  39. package/dist/packages/icon/icon.js.map +3 -3
  40. package/dist/packages/icon/icon.react.stories.d.ts +1 -1
  41. package/dist/packages/icon/react.d.ts +2 -2
  42. package/dist/packages/link/link.d.ts +15 -16
  43. package/dist/packages/link/link.js.map +2 -2
  44. package/dist/packages/modal-header/modal-header.js +1 -1
  45. package/dist/packages/modal-header/modal-header.js.map +3 -3
  46. package/dist/packages/pagination/pagination.js.map +3 -3
  47. package/dist/packages/pill/pill.js.map +3 -3
  48. package/dist/packages/select/select.js.map +3 -3
  49. package/dist/packages/step/step.js +1 -1
  50. package/dist/packages/step/step.js.map +3 -3
  51. package/dist/packages/toast/toast.js +3 -3
  52. package/dist/packages/toast/toast.js.map +3 -3
  53. package/dist/packages/toast/toast.stories.d.ts +1 -5
  54. package/dist/packages/toast/toast.stories.js +0 -17
  55. package/dist/web-types.json +129 -72
  56. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { WIcon } from "./packages/icon/icon.ts";
1
+ import type { WarpIcon, WIcon } from "./packages/icon/icon.ts";
2
2
  import type { WarpTextField } from "./packages/textfield/textfield.ts";
3
3
  import type { WarpAffix } from "./packages/affix/affix.ts";
4
4
  import type { WarpAlert } from "./packages/alert/alert.ts";
@@ -114,22 +114,26 @@ type BaseProps<T extends HTMLElement> = {
114
114
 
115
115
  type BaseEvents = {};
116
116
 
117
- export type WIconProps = {
117
+ export type WarpIconProps = {
118
118
  /** Icon filename (without .svg) */
119
- name?: WIcon["name"];
120
- /** Size: small, medium, large or pixel value (e.g. "32px") */
121
- size?: WIcon["size"];
122
- /** Locale used in CDN URL */
123
- locale?: WIcon["locale"];
119
+ name?: WarpIcon["name"];
120
+ /** Size: small, medium, large or pixel value (e.g. "32px"). */
121
+ size?: WarpIcon["size"];
122
+ /** Locale used for `<title>` text.
123
+
124
+ Reads the `lang` attribute from `<html>`, falls back to 'en'. */
125
+ locale?: WarpIcon["locale"];
124
126
  };
125
127
 
126
- export type WIconSolidJsProps = {
128
+ export type WarpIconSolidJsProps = {
127
129
  /** Icon filename (without .svg) */
128
- "prop:name"?: WIcon["name"];
129
- /** Size: small, medium, large or pixel value (e.g. "32px") */
130
- "prop:size"?: WIcon["size"];
131
- /** Locale used in CDN URL */
132
- "prop:locale"?: WIcon["locale"];
130
+ "prop:name"?: WarpIcon["name"];
131
+ /** Size: small, medium, large or pixel value (e.g. "32px"). */
132
+ "prop:size"?: WarpIcon["size"];
133
+ /** Locale used for `<title>` text.
134
+
135
+ Reads the `lang` attribute from `<html>`, falls back to 'en'. */
136
+ "prop:locale"?: WarpIcon["locale"];
133
137
 
134
138
  /** Set the innerHTML of the element */
135
139
  innerHTML?: string;
@@ -343,44 +347,52 @@ export type WarpAlertSolidJsProps = {
343
347
  };
344
348
 
345
349
  export type WarpLinkProps = {
346
- /** */
350
+ /** Focus the link after it is rendered */
347
351
  autofocus?: WarpLink["autofocus"];
348
- /** */
352
+ /** Visual style for the link/button. */
349
353
  variant?: WarpLink["variant"];
350
- /** */
354
+ /** Render a smaller version */
351
355
  small?: WarpLink["small"];
352
- /** */
356
+ /** The URL the link points to */
353
357
  href?: WarpLink["href"];
354
- /** */
358
+ /** Applies disabled styling, but you need to disable clicks on your own.
359
+
360
+ The component renders an `<a>` element; `disabled` affects styling, but does not inherently prevent navigation. If you need to fully disable interaction, omit `href` and/or prevent default click behavior. */
355
361
  disabled?: WarpLink["disabled"];
356
- /** */
362
+ /** Where to display the linked URL (e.g. `_blank`) */
357
363
  target?: WarpLink["target"];
358
- /** */
364
+ /** Relationship of the linked URL.
365
+
366
+ If `target="_blank"` and `rel` is not provided, the component uses `noopener`. */
359
367
  rel?: WarpLink["rel"];
360
- /** */
368
+ /** Makes the link take up the full width of its parent */
361
369
  "full-width"?: WarpLink["fullWidth"];
362
- /** */
370
+ /** Makes the link take up the full width of its parent */
363
371
  fullWidth?: WarpLink["fullWidth"];
364
372
  };
365
373
 
366
374
  export type WarpLinkSolidJsProps = {
367
- /** */
375
+ /** Focus the link after it is rendered */
368
376
  "prop:autofocus"?: WarpLink["autofocus"];
369
- /** */
377
+ /** Visual style for the link/button. */
370
378
  "prop:variant"?: WarpLink["variant"];
371
- /** */
379
+ /** Render a smaller version */
372
380
  "prop:small"?: WarpLink["small"];
373
- /** */
381
+ /** The URL the link points to */
374
382
  "prop:href"?: WarpLink["href"];
375
- /** */
383
+ /** Applies disabled styling, but you need to disable clicks on your own.
384
+
385
+ The component renders an `<a>` element; `disabled` affects styling, but does not inherently prevent navigation. If you need to fully disable interaction, omit `href` and/or prevent default click behavior. */
376
386
  "prop:disabled"?: WarpLink["disabled"];
377
- /** */
387
+ /** Where to display the linked URL (e.g. `_blank`) */
378
388
  "prop:target"?: WarpLink["target"];
379
- /** */
389
+ /** Relationship of the linked URL.
390
+
391
+ If `target="_blank"` and `rel` is not provided, the component uses `noopener`. */
380
392
  "prop:rel"?: WarpLink["rel"];
381
- /** */
393
+ /** Makes the link take up the full width of its parent */
382
394
  "bool:full-width"?: WarpLink["fullWidth"];
383
- /** */
395
+ /** Makes the link take up the full width of its parent */
384
396
  "prop:fullWidth"?: WarpLink["fullWidth"];
385
397
 
386
398
  /** Set the innerHTML of the element */
@@ -762,19 +774,33 @@ When set, the card becomes keyboard focusable and Enter or Space triggers a clic
762
774
  };
763
775
 
764
776
  export type WCheckboxProps = {
765
- /** The name of the checkbox, submitted as a name/value pair with form data. */
777
+ /** The name of the checkbox.
778
+
779
+ When the checkbox is checked and belongs to a form, this name is submitted with the checkbox value. If the checkbox is inside a `w-checkbox-group` with a name, the group name is used when the checkbox does not have its own name. */
766
780
  name?: WCheckbox["name"];
767
- /** The value of the checkbox, submitted as a name/value pair with form data. */
781
+ /** The value submitted when the checkbox is checked.
782
+
783
+ If no value attribute is set, the checkbox defaults to `on`. Unchecked and disabled checkboxes do not submit a value. */
768
784
  value?: WCheckbox["value"];
769
- /** Draws the checkbox in an indeterminate state. */
785
+ /** Whether the checkbox is visually indeterminate.
786
+
787
+ Use this for parent options that represent a mixed set of child selections. Clicking the checkbox clears the indeterminate state and sets the checkbox to checked. */
770
788
  indeterminate?: WCheckbox["indeterminate"];
771
- /** Draws the checkbox in a checked state (reflected to attribute). */
789
+ /** Whether the checkbox is checked.
790
+
791
+ Checked checkboxes submit their value with form data. The property is reflected to the `checked` attribute. */
772
792
  checked?: WCheckbox["checked"];
773
- /** Disables the checkbox. */
793
+ /** Whether the checkbox is disabled.
794
+
795
+ Disabled checkboxes cannot be focused, changed, or submitted with form data. */
774
796
  disabled?: WCheckbox["disabled"];
775
- /** Makes the checkbox a required field. */
797
+ /** Whether the checkbox must be checked before form submission.
798
+
799
+ A required checkbox is invalid until it is checked. For requiring at least one option in a set, use `required` on `w-checkbox-group`. */
776
800
  required?: WCheckbox["required"];
777
- /** Draws the checkbox in an invalid state. */
801
+ /** Whether the checkbox is visually invalid.
802
+
803
+ Use this to show an externally managed validation error. Required validation also sets the invalid state after the user interacts with the checkbox or tries to submit the form. */
778
804
  invalid?: WCheckbox["invalid"];
779
805
  /** */
780
806
  input?: WCheckbox["input"];
@@ -784,19 +810,33 @@ export type WCheckboxProps = {
784
810
  };
785
811
 
786
812
  export type WCheckboxSolidJsProps = {
787
- /** The name of the checkbox, submitted as a name/value pair with form data. */
813
+ /** The name of the checkbox.
814
+
815
+ When the checkbox is checked and belongs to a form, this name is submitted with the checkbox value. If the checkbox is inside a `w-checkbox-group` with a name, the group name is used when the checkbox does not have its own name. */
788
816
  "prop:name"?: WCheckbox["name"];
789
- /** The value of the checkbox, submitted as a name/value pair with form data. */
817
+ /** The value submitted when the checkbox is checked.
818
+
819
+ If no value attribute is set, the checkbox defaults to `on`. Unchecked and disabled checkboxes do not submit a value. */
790
820
  "prop:value"?: WCheckbox["value"];
791
- /** Draws the checkbox in an indeterminate state. */
821
+ /** Whether the checkbox is visually indeterminate.
822
+
823
+ Use this for parent options that represent a mixed set of child selections. Clicking the checkbox clears the indeterminate state and sets the checkbox to checked. */
792
824
  "prop:indeterminate"?: WCheckbox["indeterminate"];
793
- /** Draws the checkbox in a checked state (reflected to attribute). */
825
+ /** Whether the checkbox is checked.
826
+
827
+ Checked checkboxes submit their value with form data. The property is reflected to the `checked` attribute. */
794
828
  "prop:checked"?: WCheckbox["checked"];
795
- /** Disables the checkbox. */
829
+ /** Whether the checkbox is disabled.
830
+
831
+ Disabled checkboxes cannot be focused, changed, or submitted with form data. */
796
832
  "prop:disabled"?: WCheckbox["disabled"];
797
- /** Makes the checkbox a required field. */
833
+ /** Whether the checkbox must be checked before form submission.
834
+
835
+ A required checkbox is invalid until it is checked. For requiring at least one option in a set, use `required` on `w-checkbox-group`. */
798
836
  "prop:required"?: WCheckbox["required"];
799
- /** Draws the checkbox in an invalid state. */
837
+ /** Whether the checkbox is visually invalid.
838
+
839
+ Use this to show an externally managed validation error. Required validation also sets the invalid state after the user interacts with the checkbox or tries to submit the form. */
800
840
  "prop:invalid"?: WCheckbox["invalid"];
801
841
  /** */
802
842
  "prop:input"?: WCheckbox["input"];
@@ -810,36 +850,64 @@ export type WCheckboxSolidJsProps = {
810
850
  };
811
851
 
812
852
  export type WCheckboxGroupProps = {
813
- /** The group label displayed above the checkboxes. */
853
+ /** The group label displayed above the checkboxes.
854
+
855
+ Use this to describe the shared question or topic for the checkbox options. The label is connected to the internal group for assistive technologies. */
814
856
  label?: WCheckboxGroup["label"];
815
- /** The name applied to child checkboxes when they do not provide one. */
857
+ /** The name applied to child checkboxes when they do not provide one.
858
+
859
+ Use this when the grouped checkboxes should submit values under the same form field name. Individual checkboxes can still override the group name with their own `name`. */
816
860
  name?: WCheckboxGroup["name"];
817
- /** Whether to show optional text next to the label. */
861
+ /** Whether to show optional text next to the label.
862
+
863
+ Use this to indicate that selecting an option from the group is not required. */
818
864
  optional?: WCheckboxGroup["optional"];
819
- /** */
865
+ /** Help text displayed below the checkbox group.
866
+
867
+ Use this for supporting guidance or validation feedback. When required validation fails, the group replaces this text with the localized required message. */
820
868
  "help-text"?: WCheckboxGroup["helpText"];
821
- /** */
869
+ /** Help text displayed below the checkbox group.
870
+
871
+ Use this for supporting guidance or validation feedback. When required validation fails, the group replaces this text with the localized required message. */
822
872
  helpText?: WCheckboxGroup["helpText"];
823
- /** Makes the checkbox group required. */
873
+ /** Whether at least one checkbox in the group must be selected.
874
+
875
+ Required validation is managed by the group. The individual checkboxes provide the submitted form values. */
824
876
  required?: WCheckboxGroup["required"];
825
- /** Marks the checkbox group as invalid. */
877
+ /** Whether the checkbox group is visually invalid.
878
+
879
+ Use this to show an externally managed validation error for the group. The invalid state is also shared with child checkboxes for consistent styling and accessibility state. */
826
880
  invalid?: WCheckboxGroup["invalid"];
827
881
  };
828
882
 
829
883
  export type WCheckboxGroupSolidJsProps = {
830
- /** The group label displayed above the checkboxes. */
884
+ /** The group label displayed above the checkboxes.
885
+
886
+ Use this to describe the shared question or topic for the checkbox options. The label is connected to the internal group for assistive technologies. */
831
887
  "prop:label"?: WCheckboxGroup["label"];
832
- /** The name applied to child checkboxes when they do not provide one. */
888
+ /** The name applied to child checkboxes when they do not provide one.
889
+
890
+ Use this when the grouped checkboxes should submit values under the same form field name. Individual checkboxes can still override the group name with their own `name`. */
833
891
  "prop:name"?: WCheckboxGroup["name"];
834
- /** Whether to show optional text next to the label. */
892
+ /** Whether to show optional text next to the label.
893
+
894
+ Use this to indicate that selecting an option from the group is not required. */
835
895
  "prop:optional"?: WCheckboxGroup["optional"];
836
- /** */
896
+ /** Help text displayed below the checkbox group.
897
+
898
+ Use this for supporting guidance or validation feedback. When required validation fails, the group replaces this text with the localized required message. */
837
899
  "attr:help-text"?: WCheckboxGroup["helpText"];
838
- /** */
900
+ /** Help text displayed below the checkbox group.
901
+
902
+ Use this for supporting guidance or validation feedback. When required validation fails, the group replaces this text with the localized required message. */
839
903
  "prop:helpText"?: WCheckboxGroup["helpText"];
840
- /** Makes the checkbox group required. */
904
+ /** Whether at least one checkbox in the group must be selected.
905
+
906
+ Required validation is managed by the group. The individual checkboxes provide the submitted form values. */
841
907
  "prop:required"?: WCheckboxGroup["required"];
842
- /** Marks the checkbox group as invalid. */
908
+ /** Whether the checkbox group is visually invalid.
909
+
910
+ Use this to show an externally managed validation error for the group. The invalid state is also shared with child checkboxes for consistent styling and accessibility state. */
843
911
  "prop:invalid"?: WCheckboxGroup["invalid"];
844
912
 
845
913
  /** Set the innerHTML of the element */
@@ -849,88 +917,168 @@ export type WCheckboxGroupSolidJsProps = {
849
917
  };
850
918
 
851
919
  export type WarpComboboxProps = {
852
- /** The available options to select from */
920
+ /** The available options to select from.
921
+
922
+ Use this for framework usage, application state, or remote search results. When `options` contains entries, it is used instead of child `<option>` elements. */
853
923
  options?: WarpCombobox["options"];
854
- /** Label above input */
924
+ /** The label displayed above the input.
925
+
926
+ Use this to give the combobox a visible and accessible name. */
855
927
  label?: WarpCombobox["label"];
856
- /** Input placeholder */
928
+ /** Placeholder text displayed when the input is empty.
929
+
930
+ Use this as a short hint for the expected input. Do not use placeholder text as a replacement for a label. */
857
931
  placeholder?: WarpCombobox["placeholder"];
858
- /** The input value */
932
+ /** The selected or typed value.
933
+
934
+ When an option is selected, this is set to the option value. The displayed text may differ when the option has a separate label. */
859
935
  value?: WarpCombobox["value"];
860
- /** Whether the popover opens when focus is on the text field */
936
+ /** Whether the option list opens when the input receives focus.
937
+
938
+ Use this when users should see available options before they start typing. */
861
939
  "open-on-focus"?: WarpCombobox["openOnFocus"];
862
- /** Whether the popover opens when focus is on the text field */
940
+ /** Whether the option list opens when the input receives focus.
941
+
942
+ Use this when users should see available options before they start typing. */
863
943
  openOnFocus?: WarpCombobox["openOnFocus"];
864
- /** Select active option on blur */
944
+ /** Whether the active option is selected when the input loses focus.
945
+
946
+ When enabled, the combobox selects the keyboard-highlighted option, or an option whose value exactly matches the current input value, on blur. */
865
947
  "select-on-blur"?: WarpCombobox["selectOnBlur"];
866
- /** Select active option on blur */
948
+ /** Whether the active option is selected when the input loses focus.
949
+
950
+ When enabled, the combobox selects the keyboard-highlighted option, or an option whose value exactly matches the current input value, on blur. */
867
951
  selectOnBlur?: WarpCombobox["selectOnBlur"];
868
- /** Whether the matching text segments in the options should be highlighted */
952
+ /** Whether matching text segments in options are highlighted.
953
+
954
+ Use this to visually emphasize the part of each option that matches the current input value. */
869
955
  "match-text-segments"?: WarpCombobox["matchTextSegments"];
870
- /** Whether the matching text segments in the options should be highlighted */
956
+ /** Whether matching text segments in options are highlighted.
957
+
958
+ Use this to visually emphasize the part of each option that matches the current input value. */
871
959
  matchTextSegments?: WarpCombobox["matchTextSegments"];
872
- /** Disable client-side static filtering */
960
+ /** Whether built-in client-side filtering is disabled.
961
+
962
+ Use this for remote search or externally filtered results. When disabled, all entries in `options` are rendered as provided. */
873
963
  "disable-static-filtering"?: WarpCombobox["disableStaticFiltering"];
874
- /** Disable client-side static filtering */
964
+ /** Whether built-in client-side filtering is disabled.
965
+
966
+ Use this for remote search or externally filtered results. When disabled, all entries in `options` are rendered as provided. */
875
967
  disableStaticFiltering?: WarpCombobox["disableStaticFiltering"];
876
- /** Renders the input field in an invalid state */
968
+ /** Whether the combobox is visually invalid.
969
+
970
+ Use this to show an externally managed validation error. Pair it with `help-text` to explain how to fix the error. */
877
971
  invalid?: WarpCombobox["invalid"];
878
- /** The content to display as the help text */
972
+ /** Help text displayed below the input.
973
+
974
+ Use this for supporting guidance or validation feedback. */
879
975
  "help-text"?: WarpCombobox["helpText"];
880
- /** The content to display as the help text */
976
+ /** Help text displayed below the input.
977
+
978
+ Use this for supporting guidance or validation feedback. */
881
979
  helpText?: WarpCombobox["helpText"];
882
- /** Whether the element is disabled */
980
+ /** Whether the combobox is disabled.
981
+
982
+ Disabled comboboxes cannot be focused, changed, or submitted with form data. */
883
983
  disabled?: WarpCombobox["disabled"];
884
- /** Whether the element is required */
984
+ /** Whether the combobox is required before form submission.
985
+
986
+ Use this when the user must provide a value before submitting the form. */
885
987
  required?: WarpCombobox["required"];
886
- /** Whether to show optional text */
988
+ /** Whether to show optional text next to the label.
989
+
990
+ Use this to indicate that the combobox is not required. */
887
991
  optional?: WarpCombobox["optional"];
888
- /** Name attribute for form submission */
992
+ /** The name submitted with the combobox value.
993
+
994
+ Use this when the combobox belongs to a form and its value should be included in form data. */
889
995
  name?: WarpCombobox["name"];
890
- /** Autocomplete attribute for the input field */
996
+ /** The autocomplete attribute passed to the internal input.
997
+
998
+ Defaults to `off`. Set this when browser autocomplete should be enabled or scoped to a specific autocomplete token. */
891
999
  autocomplete?: WarpCombobox["autocomplete"];
892
1000
  };
893
1001
 
894
1002
  export type WarpComboboxSolidJsProps = {
895
- /** The available options to select from */
1003
+ /** The available options to select from.
1004
+
1005
+ Use this for framework usage, application state, or remote search results. When `options` contains entries, it is used instead of child `<option>` elements. */
896
1006
  "prop:options"?: WarpCombobox["options"];
897
- /** Label above input */
1007
+ /** The label displayed above the input.
1008
+
1009
+ Use this to give the combobox a visible and accessible name. */
898
1010
  "prop:label"?: WarpCombobox["label"];
899
- /** Input placeholder */
1011
+ /** Placeholder text displayed when the input is empty.
1012
+
1013
+ Use this as a short hint for the expected input. Do not use placeholder text as a replacement for a label. */
900
1014
  "prop:placeholder"?: WarpCombobox["placeholder"];
901
- /** The input value */
1015
+ /** The selected or typed value.
1016
+
1017
+ When an option is selected, this is set to the option value. The displayed text may differ when the option has a separate label. */
902
1018
  "prop:value"?: WarpCombobox["value"];
903
- /** Whether the popover opens when focus is on the text field */
1019
+ /** Whether the option list opens when the input receives focus.
1020
+
1021
+ Use this when users should see available options before they start typing. */
904
1022
  "bool:open-on-focus"?: WarpCombobox["openOnFocus"];
905
- /** Whether the popover opens when focus is on the text field */
1023
+ /** Whether the option list opens when the input receives focus.
1024
+
1025
+ Use this when users should see available options before they start typing. */
906
1026
  "prop:openOnFocus"?: WarpCombobox["openOnFocus"];
907
- /** Select active option on blur */
1027
+ /** Whether the active option is selected when the input loses focus.
1028
+
1029
+ When enabled, the combobox selects the keyboard-highlighted option, or an option whose value exactly matches the current input value, on blur. */
908
1030
  "bool:select-on-blur"?: WarpCombobox["selectOnBlur"];
909
- /** Select active option on blur */
1031
+ /** Whether the active option is selected when the input loses focus.
1032
+
1033
+ When enabled, the combobox selects the keyboard-highlighted option, or an option whose value exactly matches the current input value, on blur. */
910
1034
  "prop:selectOnBlur"?: WarpCombobox["selectOnBlur"];
911
- /** Whether the matching text segments in the options should be highlighted */
1035
+ /** Whether matching text segments in options are highlighted.
1036
+
1037
+ Use this to visually emphasize the part of each option that matches the current input value. */
912
1038
  "bool:match-text-segments"?: WarpCombobox["matchTextSegments"];
913
- /** Whether the matching text segments in the options should be highlighted */
1039
+ /** Whether matching text segments in options are highlighted.
1040
+
1041
+ Use this to visually emphasize the part of each option that matches the current input value. */
914
1042
  "prop:matchTextSegments"?: WarpCombobox["matchTextSegments"];
915
- /** Disable client-side static filtering */
1043
+ /** Whether built-in client-side filtering is disabled.
1044
+
1045
+ Use this for remote search or externally filtered results. When disabled, all entries in `options` are rendered as provided. */
916
1046
  "bool:disable-static-filtering"?: WarpCombobox["disableStaticFiltering"];
917
- /** Disable client-side static filtering */
1047
+ /** Whether built-in client-side filtering is disabled.
1048
+
1049
+ Use this for remote search or externally filtered results. When disabled, all entries in `options` are rendered as provided. */
918
1050
  "prop:disableStaticFiltering"?: WarpCombobox["disableStaticFiltering"];
919
- /** Renders the input field in an invalid state */
1051
+ /** Whether the combobox is visually invalid.
1052
+
1053
+ Use this to show an externally managed validation error. Pair it with `help-text` to explain how to fix the error. */
920
1054
  "prop:invalid"?: WarpCombobox["invalid"];
921
- /** The content to display as the help text */
1055
+ /** Help text displayed below the input.
1056
+
1057
+ Use this for supporting guidance or validation feedback. */
922
1058
  "attr:help-text"?: WarpCombobox["helpText"];
923
- /** The content to display as the help text */
1059
+ /** Help text displayed below the input.
1060
+
1061
+ Use this for supporting guidance or validation feedback. */
924
1062
  "prop:helpText"?: WarpCombobox["helpText"];
925
- /** Whether the element is disabled */
1063
+ /** Whether the combobox is disabled.
1064
+
1065
+ Disabled comboboxes cannot be focused, changed, or submitted with form data. */
926
1066
  "prop:disabled"?: WarpCombobox["disabled"];
927
- /** Whether the element is required */
1067
+ /** Whether the combobox is required before form submission.
1068
+
1069
+ Use this when the user must provide a value before submitting the form. */
928
1070
  "prop:required"?: WarpCombobox["required"];
929
- /** Whether to show optional text */
1071
+ /** Whether to show optional text next to the label.
1072
+
1073
+ Use this to indicate that the combobox is not required. */
930
1074
  "prop:optional"?: WarpCombobox["optional"];
931
- /** Name attribute for form submission */
1075
+ /** The name submitted with the combobox value.
1076
+
1077
+ Use this when the combobox belongs to a form and its value should be included in form data. */
932
1078
  "prop:name"?: WarpCombobox["name"];
933
- /** Autocomplete attribute for the input field */
1079
+ /** The autocomplete attribute passed to the internal input.
1080
+
1081
+ Defaults to `off`. Set this when browser autocomplete should be enabled or scoped to a specific autocomplete token. */
934
1082
  "prop:autocomplete"?: WarpCombobox["autocomplete"];
935
1083
 
936
1084
  /** Set the innerHTML of the element */
@@ -1930,10 +2078,12 @@ export type CustomElements = {
1930
2078
  * Component attributes and properties that can be applied to the element or by using JavaScript.
1931
2079
  *
1932
2080
  * - `name`: Icon filename (without .svg)
1933
- * - `size`: Size: small, medium, large or pixel value (e.g. "32px")
1934
- * - `locale`: Locale used in CDN URL
2081
+ * - `size`: Size: small, medium, large or pixel value (e.g. "32px").
2082
+ * - `locale`: Locale used for `<title>` text.
2083
+ *
2084
+ * Reads the `lang` attribute from `<html>`, falls back to 'en'.
1935
2085
  */
1936
- "w-icon": Partial<WIconProps & BaseProps<WIcon> & BaseEvents>;
2086
+ "w-icon": Partial<WarpIconProps & BaseProps<WarpIcon> & BaseEvents>;
1937
2087
 
1938
2088
  /**
1939
2089
  * A single-line input component used for entering and editing textual or numeric data.
@@ -2044,14 +2194,18 @@ export type CustomElements = {
2044
2194
  *
2045
2195
  * Component attributes and properties that can be applied to the element or by using JavaScript.
2046
2196
  *
2047
- * - `autofocus`: undefined
2048
- * - `variant`: undefined
2049
- * - `small`: undefined
2050
- * - `href`: undefined
2051
- * - `disabled`: undefined
2052
- * - `target`: undefined
2053
- * - `rel`: undefined
2054
- * - `full-width`/`fullWidth`: undefined
2197
+ * - `autofocus`: Focus the link after it is rendered
2198
+ * - `variant`: Visual style for the link/button.
2199
+ * - `small`: Render a smaller version
2200
+ * - `href`: The URL the link points to
2201
+ * - `disabled`: Applies disabled styling, but you need to disable clicks on your own.
2202
+ *
2203
+ * The component renders an `<a>` element; `disabled` affects styling, but does not inherently prevent navigation. If you need to fully disable interaction, omit `href` and/or prevent default click behavior.
2204
+ * - `target`: Where to display the linked URL (e.g. `_blank`)
2205
+ * - `rel`: Relationship of the linked URL.
2206
+ *
2207
+ * If `target="_blank"` and `rel` is not provided, the component uses `noopener`.
2208
+ * - `full-width`/`fullWidth`: Makes the link take up the full width of its parent
2055
2209
  */
2056
2210
  "w-link": Partial<WarpLinkProps & BaseProps<WarpLink> & BaseEvents>;
2057
2211
 
@@ -2257,13 +2411,27 @@ export type CustomElements = {
2257
2411
  *
2258
2412
  * Component attributes and properties that can be applied to the element or by using JavaScript.
2259
2413
  *
2260
- * - `name`: The name of the checkbox, submitted as a name/value pair with form data.
2261
- * - `value`: The value of the checkbox, submitted as a name/value pair with form data.
2262
- * - `indeterminate`: Draws the checkbox in an indeterminate state.
2263
- * - `checked`: Draws the checkbox in a checked state (reflected to attribute).
2264
- * - `disabled`: Disables the checkbox.
2265
- * - `required`: Makes the checkbox a required field.
2266
- * - `invalid`: Draws the checkbox in an invalid state.
2414
+ * - `name`: The name of the checkbox.
2415
+ *
2416
+ * When the checkbox is checked and belongs to a form, this name is submitted with the checkbox value. If the checkbox is inside a `w-checkbox-group` with a name, the group name is used when the checkbox does not have its own name.
2417
+ * - `value`: The value submitted when the checkbox is checked.
2418
+ *
2419
+ * If no value attribute is set, the checkbox defaults to `on`. Unchecked and disabled checkboxes do not submit a value.
2420
+ * - `indeterminate`: Whether the checkbox is visually indeterminate.
2421
+ *
2422
+ * Use this for parent options that represent a mixed set of child selections. Clicking the checkbox clears the indeterminate state and sets the checkbox to checked.
2423
+ * - `checked`: Whether the checkbox is checked.
2424
+ *
2425
+ * Checked checkboxes submit their value with form data. The property is reflected to the `checked` attribute.
2426
+ * - `disabled`: Whether the checkbox is disabled.
2427
+ *
2428
+ * Disabled checkboxes cannot be focused, changed, or submitted with form data.
2429
+ * - `required`: Whether the checkbox must be checked before form submission.
2430
+ *
2431
+ * A required checkbox is invalid until it is checked. For requiring at least one option in a set, use `required` on `w-checkbox-group`.
2432
+ * - `invalid`: Whether the checkbox is visually invalid.
2433
+ *
2434
+ * Use this to show an externally managed validation error. Required validation also sets the invalid state after the user interacts with the checkbox or tries to submit the form.
2267
2435
  * - `input`: undefined (property only)
2268
2436
  * - `_computedInvalid`: Computed invalid state: combines own invalid with group invalid (property only) (readonly)
2269
2437
  * - `validationMessage`: Returns the validation message if the checkbox is invalid, otherwise an empty string (property only) (readonly)
@@ -2296,11 +2464,23 @@ export type CustomElements = {
2296
2464
  * Component attributes and properties that can be applied to the element or by using JavaScript.
2297
2465
  *
2298
2466
  * - `label`: The group label displayed above the checkboxes.
2467
+ *
2468
+ * Use this to describe the shared question or topic for the checkbox options. The label is connected to the internal group for assistive technologies.
2299
2469
  * - `name`: The name applied to child checkboxes when they do not provide one.
2470
+ *
2471
+ * Use this when the grouped checkboxes should submit values under the same form field name. Individual checkboxes can still override the group name with their own `name`.
2300
2472
  * - `optional`: Whether to show optional text next to the label.
2301
- * - `help-text`/`helpText`: undefined
2302
- * - `required`: Makes the checkbox group required.
2303
- * - `invalid`: Marks the checkbox group as invalid.
2473
+ *
2474
+ * Use this to indicate that selecting an option from the group is not required.
2475
+ * - `help-text`/`helpText`: Help text displayed below the checkbox group.
2476
+ *
2477
+ * Use this for supporting guidance or validation feedback. When required validation fails, the group replaces this text with the localized required message.
2478
+ * - `required`: Whether at least one checkbox in the group must be selected.
2479
+ *
2480
+ * Required validation is managed by the group. The individual checkboxes provide the submitted form values.
2481
+ * - `invalid`: Whether the checkbox group is visually invalid.
2482
+ *
2483
+ * Use this to show an externally managed validation error for the group. The invalid state is also shared with child checkboxes for consistent styling and accessibility state.
2304
2484
  *
2305
2485
  * ## Methods
2306
2486
  *
@@ -2323,21 +2503,51 @@ export type CustomElements = {
2323
2503
  *
2324
2504
  * Component attributes and properties that can be applied to the element or by using JavaScript.
2325
2505
  *
2326
- * - `options`: The available options to select from
2327
- * - `label`: Label above input
2328
- * - `placeholder`: Input placeholder
2329
- * - `value`: The input value
2330
- * - `open-on-focus`/`openOnFocus`: Whether the popover opens when focus is on the text field
2331
- * - `select-on-blur`/`selectOnBlur`: Select active option on blur
2332
- * - `match-text-segments`/`matchTextSegments`: Whether the matching text segments in the options should be highlighted
2333
- * - `disable-static-filtering`/`disableStaticFiltering`: Disable client-side static filtering
2334
- * - `invalid`: Renders the input field in an invalid state
2335
- * - `help-text`/`helpText`: The content to display as the help text
2336
- * - `disabled`: Whether the element is disabled
2337
- * - `required`: Whether the element is required
2338
- * - `optional`: Whether to show optional text
2339
- * - `name`: Name attribute for form submission
2340
- * - `autocomplete`: Autocomplete attribute for the input field
2506
+ * - `options`: The available options to select from.
2507
+ *
2508
+ * Use this for framework usage, application state, or remote search results. When `options` contains entries, it is used instead of child `<option>` elements.
2509
+ * - `label`: The label displayed above the input.
2510
+ *
2511
+ * Use this to give the combobox a visible and accessible name.
2512
+ * - `placeholder`: Placeholder text displayed when the input is empty.
2513
+ *
2514
+ * Use this as a short hint for the expected input. Do not use placeholder text as a replacement for a label.
2515
+ * - `value`: The selected or typed value.
2516
+ *
2517
+ * When an option is selected, this is set to the option value. The displayed text may differ when the option has a separate label.
2518
+ * - `open-on-focus`/`openOnFocus`: Whether the option list opens when the input receives focus.
2519
+ *
2520
+ * Use this when users should see available options before they start typing.
2521
+ * - `select-on-blur`/`selectOnBlur`: Whether the active option is selected when the input loses focus.
2522
+ *
2523
+ * When enabled, the combobox selects the keyboard-highlighted option, or an option whose value exactly matches the current input value, on blur.
2524
+ * - `match-text-segments`/`matchTextSegments`: Whether matching text segments in options are highlighted.
2525
+ *
2526
+ * Use this to visually emphasize the part of each option that matches the current input value.
2527
+ * - `disable-static-filtering`/`disableStaticFiltering`: Whether built-in client-side filtering is disabled.
2528
+ *
2529
+ * Use this for remote search or externally filtered results. When disabled, all entries in `options` are rendered as provided.
2530
+ * - `invalid`: Whether the combobox is visually invalid.
2531
+ *
2532
+ * Use this to show an externally managed validation error. Pair it with `help-text` to explain how to fix the error.
2533
+ * - `help-text`/`helpText`: Help text displayed below the input.
2534
+ *
2535
+ * Use this for supporting guidance or validation feedback.
2536
+ * - `disabled`: Whether the combobox is disabled.
2537
+ *
2538
+ * Disabled comboboxes cannot be focused, changed, or submitted with form data.
2539
+ * - `required`: Whether the combobox is required before form submission.
2540
+ *
2541
+ * Use this when the user must provide a value before submitting the form.
2542
+ * - `optional`: Whether to show optional text next to the label.
2543
+ *
2544
+ * Use this to indicate that the combobox is not required.
2545
+ * - `name`: The name submitted with the combobox value.
2546
+ *
2547
+ * Use this when the combobox belongs to a form and its value should be included in form data.
2548
+ * - `autocomplete`: The autocomplete attribute passed to the internal input.
2549
+ *
2550
+ * Defaults to `off`. Set this when browser autocomplete should be enabled or scoped to a specific autocomplete token.
2341
2551
  *
2342
2552
  * ## Methods
2343
2553
  *
@@ -2888,11 +3098,13 @@ export type CustomElementsSolidJs = {
2888
3098
  * Component attributes and properties that can be applied to the element or by using JavaScript.
2889
3099
  *
2890
3100
  * - `name`: Icon filename (without .svg)
2891
- * - `size`: Size: small, medium, large or pixel value (e.g. "32px")
2892
- * - `locale`: Locale used in CDN URL
3101
+ * - `size`: Size: small, medium, large or pixel value (e.g. "32px").
3102
+ * - `locale`: Locale used for `<title>` text.
3103
+ *
3104
+ * Reads the `lang` attribute from `<html>`, falls back to 'en'.
2893
3105
  */
2894
3106
  "w-icon": Partial<
2895
- WIconProps & WIconSolidJsProps & BaseProps<WIcon> & BaseEvents
3107
+ WarpIconProps & WarpIconSolidJsProps & BaseProps<WarpIcon> & BaseEvents
2896
3108
  >;
2897
3109
 
2898
3110
  /**
@@ -3011,14 +3223,18 @@ export type CustomElementsSolidJs = {
3011
3223
  *
3012
3224
  * Component attributes and properties that can be applied to the element or by using JavaScript.
3013
3225
  *
3014
- * - `autofocus`: undefined
3015
- * - `variant`: undefined
3016
- * - `small`: undefined
3017
- * - `href`: undefined
3018
- * - `disabled`: undefined
3019
- * - `target`: undefined
3020
- * - `rel`: undefined
3021
- * - `full-width`/`fullWidth`: undefined
3226
+ * - `autofocus`: Focus the link after it is rendered
3227
+ * - `variant`: Visual style for the link/button.
3228
+ * - `small`: Render a smaller version
3229
+ * - `href`: The URL the link points to
3230
+ * - `disabled`: Applies disabled styling, but you need to disable clicks on your own.
3231
+ *
3232
+ * The component renders an `<a>` element; `disabled` affects styling, but does not inherently prevent navigation. If you need to fully disable interaction, omit `href` and/or prevent default click behavior.
3233
+ * - `target`: Where to display the linked URL (e.g. `_blank`)
3234
+ * - `rel`: Relationship of the linked URL.
3235
+ *
3236
+ * If `target="_blank"` and `rel` is not provided, the component uses `noopener`.
3237
+ * - `full-width`/`fullWidth`: Makes the link take up the full width of its parent
3022
3238
  */
3023
3239
  "w-link": Partial<
3024
3240
  WarpLinkProps & WarpLinkSolidJsProps & BaseProps<WarpLink> & BaseEvents
@@ -3243,13 +3459,27 @@ export type CustomElementsSolidJs = {
3243
3459
  *
3244
3460
  * Component attributes and properties that can be applied to the element or by using JavaScript.
3245
3461
  *
3246
- * - `name`: The name of the checkbox, submitted as a name/value pair with form data.
3247
- * - `value`: The value of the checkbox, submitted as a name/value pair with form data.
3248
- * - `indeterminate`: Draws the checkbox in an indeterminate state.
3249
- * - `checked`: Draws the checkbox in a checked state (reflected to attribute).
3250
- * - `disabled`: Disables the checkbox.
3251
- * - `required`: Makes the checkbox a required field.
3252
- * - `invalid`: Draws the checkbox in an invalid state.
3462
+ * - `name`: The name of the checkbox.
3463
+ *
3464
+ * When the checkbox is checked and belongs to a form, this name is submitted with the checkbox value. If the checkbox is inside a `w-checkbox-group` with a name, the group name is used when the checkbox does not have its own name.
3465
+ * - `value`: The value submitted when the checkbox is checked.
3466
+ *
3467
+ * If no value attribute is set, the checkbox defaults to `on`. Unchecked and disabled checkboxes do not submit a value.
3468
+ * - `indeterminate`: Whether the checkbox is visually indeterminate.
3469
+ *
3470
+ * Use this for parent options that represent a mixed set of child selections. Clicking the checkbox clears the indeterminate state and sets the checkbox to checked.
3471
+ * - `checked`: Whether the checkbox is checked.
3472
+ *
3473
+ * Checked checkboxes submit their value with form data. The property is reflected to the `checked` attribute.
3474
+ * - `disabled`: Whether the checkbox is disabled.
3475
+ *
3476
+ * Disabled checkboxes cannot be focused, changed, or submitted with form data.
3477
+ * - `required`: Whether the checkbox must be checked before form submission.
3478
+ *
3479
+ * A required checkbox is invalid until it is checked. For requiring at least one option in a set, use `required` on `w-checkbox-group`.
3480
+ * - `invalid`: Whether the checkbox is visually invalid.
3481
+ *
3482
+ * Use this to show an externally managed validation error. Required validation also sets the invalid state after the user interacts with the checkbox or tries to submit the form.
3253
3483
  * - `input`: undefined (property only)
3254
3484
  * - `_computedInvalid`: Computed invalid state: combines own invalid with group invalid (property only) (readonly)
3255
3485
  * - `validationMessage`: Returns the validation message if the checkbox is invalid, otherwise an empty string (property only) (readonly)
@@ -3284,11 +3514,23 @@ export type CustomElementsSolidJs = {
3284
3514
  * Component attributes and properties that can be applied to the element or by using JavaScript.
3285
3515
  *
3286
3516
  * - `label`: The group label displayed above the checkboxes.
3517
+ *
3518
+ * Use this to describe the shared question or topic for the checkbox options. The label is connected to the internal group for assistive technologies.
3287
3519
  * - `name`: The name applied to child checkboxes when they do not provide one.
3520
+ *
3521
+ * Use this when the grouped checkboxes should submit values under the same form field name. Individual checkboxes can still override the group name with their own `name`.
3288
3522
  * - `optional`: Whether to show optional text next to the label.
3289
- * - `help-text`/`helpText`: undefined
3290
- * - `required`: Makes the checkbox group required.
3291
- * - `invalid`: Marks the checkbox group as invalid.
3523
+ *
3524
+ * Use this to indicate that selecting an option from the group is not required.
3525
+ * - `help-text`/`helpText`: Help text displayed below the checkbox group.
3526
+ *
3527
+ * Use this for supporting guidance or validation feedback. When required validation fails, the group replaces this text with the localized required message.
3528
+ * - `required`: Whether at least one checkbox in the group must be selected.
3529
+ *
3530
+ * Required validation is managed by the group. The individual checkboxes provide the submitted form values.
3531
+ * - `invalid`: Whether the checkbox group is visually invalid.
3532
+ *
3533
+ * Use this to show an externally managed validation error for the group. The invalid state is also shared with child checkboxes for consistent styling and accessibility state.
3292
3534
  *
3293
3535
  * ## Methods
3294
3536
  *
@@ -3314,21 +3556,51 @@ export type CustomElementsSolidJs = {
3314
3556
  *
3315
3557
  * Component attributes and properties that can be applied to the element or by using JavaScript.
3316
3558
  *
3317
- * - `options`: The available options to select from
3318
- * - `label`: Label above input
3319
- * - `placeholder`: Input placeholder
3320
- * - `value`: The input value
3321
- * - `open-on-focus`/`openOnFocus`: Whether the popover opens when focus is on the text field
3322
- * - `select-on-blur`/`selectOnBlur`: Select active option on blur
3323
- * - `match-text-segments`/`matchTextSegments`: Whether the matching text segments in the options should be highlighted
3324
- * - `disable-static-filtering`/`disableStaticFiltering`: Disable client-side static filtering
3325
- * - `invalid`: Renders the input field in an invalid state
3326
- * - `help-text`/`helpText`: The content to display as the help text
3327
- * - `disabled`: Whether the element is disabled
3328
- * - `required`: Whether the element is required
3329
- * - `optional`: Whether to show optional text
3330
- * - `name`: Name attribute for form submission
3331
- * - `autocomplete`: Autocomplete attribute for the input field
3559
+ * - `options`: The available options to select from.
3560
+ *
3561
+ * Use this for framework usage, application state, or remote search results. When `options` contains entries, it is used instead of child `<option>` elements.
3562
+ * - `label`: The label displayed above the input.
3563
+ *
3564
+ * Use this to give the combobox a visible and accessible name.
3565
+ * - `placeholder`: Placeholder text displayed when the input is empty.
3566
+ *
3567
+ * Use this as a short hint for the expected input. Do not use placeholder text as a replacement for a label.
3568
+ * - `value`: The selected or typed value.
3569
+ *
3570
+ * When an option is selected, this is set to the option value. The displayed text may differ when the option has a separate label.
3571
+ * - `open-on-focus`/`openOnFocus`: Whether the option list opens when the input receives focus.
3572
+ *
3573
+ * Use this when users should see available options before they start typing.
3574
+ * - `select-on-blur`/`selectOnBlur`: Whether the active option is selected when the input loses focus.
3575
+ *
3576
+ * When enabled, the combobox selects the keyboard-highlighted option, or an option whose value exactly matches the current input value, on blur.
3577
+ * - `match-text-segments`/`matchTextSegments`: Whether matching text segments in options are highlighted.
3578
+ *
3579
+ * Use this to visually emphasize the part of each option that matches the current input value.
3580
+ * - `disable-static-filtering`/`disableStaticFiltering`: Whether built-in client-side filtering is disabled.
3581
+ *
3582
+ * Use this for remote search or externally filtered results. When disabled, all entries in `options` are rendered as provided.
3583
+ * - `invalid`: Whether the combobox is visually invalid.
3584
+ *
3585
+ * Use this to show an externally managed validation error. Pair it with `help-text` to explain how to fix the error.
3586
+ * - `help-text`/`helpText`: Help text displayed below the input.
3587
+ *
3588
+ * Use this for supporting guidance or validation feedback.
3589
+ * - `disabled`: Whether the combobox is disabled.
3590
+ *
3591
+ * Disabled comboboxes cannot be focused, changed, or submitted with form data.
3592
+ * - `required`: Whether the combobox is required before form submission.
3593
+ *
3594
+ * Use this when the user must provide a value before submitting the form.
3595
+ * - `optional`: Whether to show optional text next to the label.
3596
+ *
3597
+ * Use this to indicate that the combobox is not required.
3598
+ * - `name`: The name submitted with the combobox value.
3599
+ *
3600
+ * Use this when the combobox belongs to a form and its value should be included in form data.
3601
+ * - `autocomplete`: The autocomplete attribute passed to the internal input.
3602
+ *
3603
+ * Defaults to `off`. Set this when browser autocomplete should be enabled or scoped to a specific autocomplete token.
3332
3604
  *
3333
3605
  * ## Methods
3334
3606
  *