@mhmo91/schmancy 0.9.15 → 0.9.16

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 (61) hide show
  1. package/custom-elements.json +57 -30
  2. package/dist/agent/schmancy.agent.js +178 -25
  3. package/dist/agent/schmancy.agent.js.map +1 -1
  4. package/dist/agent/schmancy.manifest.json +208 -12
  5. package/dist/autocomplete-CgWUCUU-.js.map +1 -1
  6. package/dist/autocomplete-EM0jE7X2.cjs.map +1 -1
  7. package/dist/button.cjs.map +1 -1
  8. package/dist/button.js.map +1 -1
  9. package/dist/checkbox-Br84TiCs.js.map +1 -1
  10. package/dist/checkbox-DtcFMgZL.cjs.map +1 -1
  11. package/dist/chips-BNYOweGm.js.map +1 -1
  12. package/dist/chips-DoCu5YQb.cjs.map +1 -1
  13. package/dist/extra-BUgyMgjl.cjs.map +1 -1
  14. package/dist/extra-HwbaUnCD.js.map +1 -1
  15. package/dist/form-rCZqoAoK.js.map +1 -1
  16. package/dist/form-wI58M85H.cjs.map +1 -1
  17. package/dist/handover/agent-runtime-followups.md +1 -1
  18. package/dist/handover/agent-runtime-v1.md +3 -3
  19. package/dist/input-BGNZlfL8.cjs.map +1 -1
  20. package/dist/input-Bc3bVISm.js.map +1 -1
  21. package/dist/input-chip-CiG61y-N.js.map +1 -1
  22. package/dist/input-chip-p24lkYtY.cjs.map +1 -1
  23. package/dist/radio-group-B72sYGnS.js.map +1 -1
  24. package/dist/radio-group-B7DuNxUq.cjs.map +1 -1
  25. package/dist/select-DFxoBgEf.cjs.map +1 -1
  26. package/dist/select-wFDKDLQI.js.map +1 -1
  27. package/dist/switch.cjs.map +1 -1
  28. package/dist/switch.js.map +1 -1
  29. package/dist/textarea-B2544vx9.cjs.map +1 -1
  30. package/dist/textarea-CS-KdSLz.js.map +1 -1
  31. package/package.json +1 -1
  32. package/src/autocomplete/autocomplete.ts +12 -1
  33. package/src/button/button.ts +6 -1
  34. package/src/button/icon-button.ts +7 -1
  35. package/src/checkbox/checkbox.ts +7 -1
  36. package/src/chips/chips.ts +14 -0
  37. package/src/chips/input-chip.ts +6 -6
  38. package/src/extra/countries/countries.ts +10 -0
  39. package/src/extra/timezone/timezone.ts +8 -1
  40. package/src/form/form.ts +9 -2
  41. package/src/input/input.ts +11 -4
  42. package/src/radio-group/radio-button.ts +10 -1
  43. package/src/radio-group/radio-group.ts +18 -0
  44. package/src/select/select.ts +12 -1
  45. package/src/switch/switch.ts +7 -4
  46. package/src/textarea/textarea.ts +9 -1
  47. package/types/src/autocomplete/autocomplete.d.ts +12 -1
  48. package/types/src/button/button.d.ts +6 -1
  49. package/types/src/button/icon-button.d.ts +7 -1
  50. package/types/src/checkbox/checkbox.d.ts +7 -1
  51. package/types/src/chips/chips.d.ts +14 -0
  52. package/types/src/chips/input-chip.d.ts +6 -6
  53. package/types/src/extra/countries/countries.d.ts +10 -0
  54. package/types/src/extra/timezone/timezone.d.ts +8 -1
  55. package/types/src/form/form.d.ts +9 -2
  56. package/types/src/input/input.d.ts +11 -4
  57. package/types/src/radio-group/radio-button.d.ts +10 -1
  58. package/types/src/radio-group/radio-group.d.ts +18 -0
  59. package/types/src/select/select.d.ts +12 -1
  60. package/types/src/switch/switch.d.ts +7 -4
  61. package/types/src/textarea/textarea.d.ts +9 -1
@@ -126,7 +126,7 @@
126
126
  {
127
127
  "name": "schmancy-autocomplete",
128
128
  "path": "./src/autocomplete/autocomplete.ts",
129
- "description": "Autocomplete input component with filtering and multi-select support.",
129
+ "description": "Combobox with type-ahead filtering over a list of `<schmancy-option>` children. Single or multi-select. Form-associated.",
130
130
  "attributes": [
131
131
  {
132
132
  "name": "maxHeight",
@@ -321,7 +321,8 @@
321
321
  ],
322
322
  "events": [
323
323
  {
324
- "name": "change"
324
+ "name": "change",
325
+ "description": "`SchmancyAutocompleteChangeEvent` with `{ value }` (single) or `{ value, values }` (multi)."
325
326
  }
326
327
  ]
327
328
  },
@@ -873,7 +874,7 @@
873
874
  {
874
875
  "name": "schmancy-button",
875
876
  "path": "./src/button/button.ts",
876
- "description": "A button component.",
877
+ "description": "Material Design button — primary interactive surface for triggering actions or navigation.",
877
878
  "attributes": [
878
879
  {
879
880
  "name": "variant",
@@ -1015,7 +1016,7 @@
1015
1016
  {
1016
1017
  "name": "schmancy-icon-button",
1017
1018
  "path": "./src/button/icon-button.ts",
1018
- "description": "An icon button component.",
1019
+ "description": "Icon-only button for toolbar actions, close affordances, or overflow menus.",
1019
1020
  "attributes": [
1020
1021
  {
1021
1022
  "name": "size",
@@ -1625,6 +1626,7 @@
1625
1626
  {
1626
1627
  "name": "schmancy-checkbox",
1627
1628
  "path": "./src/checkbox/checkbox.ts",
1629
+ "description": "Binary checkbox for multi-select or boolean form fields. Wraps Material Web's `<md-checkbox>`; form-associated.",
1628
1630
  "attributes": [
1629
1631
  {
1630
1632
  "name": "value",
@@ -1729,7 +1731,7 @@
1729
1731
  "events": [
1730
1732
  {
1731
1733
  "name": "valueChange",
1732
- "description": "Event fired when the checkbox value changes."
1734
+ "description": "`CustomEvent<{ value: boolean }>` when the checkbox is toggled."
1733
1735
  },
1734
1736
  {
1735
1737
  "name": "change"
@@ -1840,6 +1842,7 @@
1840
1842
  {
1841
1843
  "name": "schmancy-chips",
1842
1844
  "path": "./src/chips/chips.ts",
1845
+ "description": "Filter-chip group — container for selectable `<schmancy-chip>` children. Single or multi-select.",
1843
1846
  "attributes": [
1844
1847
  {
1845
1848
  "name": "multi",
@@ -1912,7 +1915,8 @@
1912
1915
  ],
1913
1916
  "events": [
1914
1917
  {
1915
- "name": "change"
1918
+ "name": "change",
1919
+ "description": "`CustomEvent<{ value: string }>` (single) or `{ values: string[] }` (multi)."
1916
1920
  }
1917
1921
  ]
1918
1922
  },
@@ -2104,7 +2108,7 @@
2104
2108
  {
2105
2109
  "name": "schmancy-input-chip",
2106
2110
  "path": "./src/chips/input-chip.ts",
2107
- "description": "Input chip component - represents user-provided information that can be removed.\n\nIMPORTANT: Per Material Design 3 specification, input chips do NOT have selected state.\nThey represent discrete pieces of user input (like entered tags, selections from lists, etc.)\nthat can only be removed, not toggled on/off.\n\nUse cases:\n- Displaying selected recipients in an email\n- Showing applied filters that can be removed\n- Tags or keywords entered by the user\n- Selected items from a multi-select dropdown",
2111
+ "description": "Input chip displays user-provided information (tags, recipients, filters) that can be removed but not toggled.\n\nIMPORTANT: Per Material Design 3 specification, input chips do NOT have selected state.\nThey represent discrete pieces of user input (like entered tags, selections from lists, etc.)\nthat can only be removed, not toggled on/off.\n\nUse cases:\n- Displaying selected recipients in an email\n- Showing applied filters that can be removed\n- Tags or keywords entered by the user\n- Selected items from a multi-select dropdown",
2108
2112
  "attributes": [
2109
2113
  {
2110
2114
  "name": "value",
@@ -3725,6 +3729,7 @@
3725
3729
  {
3726
3730
  "name": "schmancy-select-countries",
3727
3731
  "path": "./src/extra/countries/countries.ts",
3732
+ "description": "Country picker — type-ahead autocomplete over the ISO 3166-1 country list. Form-associated.",
3728
3733
  "attributes": [
3729
3734
  {
3730
3735
  "name": "value",
@@ -3809,14 +3814,15 @@
3809
3814
  ],
3810
3815
  "events": [
3811
3816
  {
3812
- "name": "change"
3817
+ "name": "change",
3818
+ "description": "`SchmancyAutocompleteChangeEvent` with `{ value: string }` (the ISO code)."
3813
3819
  }
3814
3820
  ]
3815
3821
  },
3816
3822
  {
3817
3823
  "name": "schmancy-select-timezones",
3818
3824
  "path": "./src/extra/timezone/timezone.ts",
3819
- "description": "Timezone selector component with autocomplete filtering.",
3825
+ "description": "Timezone picker type-ahead autocomplete over the IANA tz database. Form-associated.",
3820
3826
  "attributes": [
3821
3827
  {
3822
3828
  "name": "hint",
@@ -3909,7 +3915,8 @@
3909
3915
  ],
3910
3916
  "events": [
3911
3917
  {
3912
- "name": "change"
3918
+ "name": "change",
3919
+ "description": "`SchmancyAutocompleteChangeEvent` with `{ value: string }` (the IANA tz name)."
3913
3920
  }
3914
3921
  ]
3915
3922
  },
@@ -4061,7 +4068,7 @@
4061
4068
  {
4062
4069
  "name": "schmancy-form",
4063
4070
  "path": "./src/form/form.ts",
4064
- "description": "A thin ergonomic wrapper around a native `<form>` element. Its children are\nreparented into a `<form>` element in light DOM on connection, so:\n\n- Form-associated custom elements (FACE) resolve their `internals.form`\n correctly via native DOM ancestry.\n- `new FormData(form)` collects values from every FACE + native control\n without any manual walking.\n- `form.reset()` triggers `formResetCallback()` on every FACE.\n- `form.reportValidity()` runs native validation UI.\n- `<button type=\"submit\">` and `<schmancy-button type=\"submit\">` both\n submit the form via the native submitter pipeline.\n\nThis component exists only to translate the native `submit` / `reset`\nevents into the Schmancy event shape (`detail: FormData`). All heavy\nlifting is the platform's.",
4071
+ "description": "Ergonomic wrapper around a native `<form>`. Children are reparented into a light-DOM `<form>` on connection so form-associated custom elements resolve `internals.form` via native DOM ancestry.\n\n- Form-associated custom elements (FACE) resolve their `internals.form`\n correctly via native DOM ancestry.\n- `new FormData(form)` collects values from every FACE + native control\n without any manual walking.\n- `form.reset()` triggers `formResetCallback()` on every FACE.\n- `form.reportValidity()` runs native validation UI.\n- `<button type=\"submit\">` and `<schmancy-button type=\"submit\">` both\n submit the form via the native submitter pipeline.\n\nThis component exists only to translate the native `submit` / `reset`\nevents into the Schmancy event shape (`detail: FormData`). All heavy\nlifting is the platform's.",
4065
4072
  "properties": [
4066
4073
  {
4067
4074
  "name": "tagName",
@@ -4291,7 +4298,7 @@
4291
4298
  {
4292
4299
  "name": "schmancy-input",
4293
4300
  "path": "./src/input/input.ts",
4294
- "description": "Enhanced version of the SchmancyInput component with improved form integration\nand compatibility with legacy API.\n\nThis component uses the native form association API and maintains parity with\nnative input behaviors while providing a stylish, accessible interface.",
4301
+ "description": "Single-line text input the primary form-text primitive. Form-associated via ElementInternals, so it participates in native `<form>` submission, validation, and reset without additional wiring.",
4295
4302
  "attributes": [
4296
4303
  {
4297
4304
  "name": "value",
@@ -4574,10 +4581,19 @@
4574
4581
  ],
4575
4582
  "events": [
4576
4583
  {
4577
- "name": "reset"
4584
+ "name": "input",
4585
+ "description": "`CustomEvent<{value: string}>` on every keystroke."
4578
4586
  },
4579
4587
  {
4580
- "name": "input"
4588
+ "name": "change",
4589
+ "description": "`CustomEvent<{value: string}>` on blur/change."
4590
+ },
4591
+ {
4592
+ "name": "enter",
4593
+ "description": "`CustomEvent<{value: string}>` when user presses Enter."
4594
+ },
4595
+ {
4596
+ "name": "reset"
4581
4597
  },
4582
4598
  {
4583
4599
  "name": "focus"
@@ -4588,9 +4604,6 @@
4588
4604
  {
4589
4605
  "name": "autofill"
4590
4606
  },
4591
- {
4592
- "name": "enter"
4593
- },
4594
4607
  {
4595
4608
  "name": "click"
4596
4609
  }
@@ -4599,7 +4612,7 @@
4599
4612
  {
4600
4613
  "name": "sch-input",
4601
4614
  "path": "./src/input/input.ts",
4602
- "description": "Enhanced version of the SchmancyInput component with improved form integration\nand compatibility with legacy API.\n\nThis component uses the native form association API and maintains parity with\nnative input behaviors while providing a stylish, accessible interface.",
4615
+ "description": "Single-line text input the primary form-text primitive. Form-associated via ElementInternals, so it participates in native `<form>` submission, validation, and reset without additional wiring.",
4603
4616
  "attributes": [
4604
4617
  {
4605
4618
  "name": "value",
@@ -4882,10 +4895,19 @@
4882
4895
  ],
4883
4896
  "events": [
4884
4897
  {
4885
- "name": "reset"
4898
+ "name": "input",
4899
+ "description": "`CustomEvent<{value: string}>` on every keystroke."
4886
4900
  },
4887
4901
  {
4888
- "name": "input"
4902
+ "name": "change",
4903
+ "description": "`CustomEvent<{value: string}>` on blur/change."
4904
+ },
4905
+ {
4906
+ "name": "enter",
4907
+ "description": "`CustomEvent<{value: string}>` when user presses Enter."
4908
+ },
4909
+ {
4910
+ "name": "reset"
4889
4911
  },
4890
4912
  {
4891
4913
  "name": "focus"
@@ -4896,9 +4918,6 @@
4896
4918
  {
4897
4919
  "name": "autofill"
4898
4920
  },
4899
- {
4900
- "name": "enter"
4901
- },
4902
4921
  {
4903
4922
  "name": "click"
4904
4923
  }
@@ -8578,7 +8597,7 @@
8578
8597
  {
8579
8598
  "name": "schmancy-radio-button",
8580
8599
  "path": "./src/radio-group/radio-button.ts",
8581
- "description": "Radio button component for use within radio groups.",
8600
+ "description": "Single radio button always rendered as a child of `<schmancy-radio-group>`, never standalone.",
8582
8601
  "attributes": [
8583
8602
  {
8584
8603
  "name": "checked",
@@ -8736,6 +8755,7 @@
8736
8755
  {
8737
8756
  "name": "schmancy-radio-group",
8738
8757
  "path": "./src/radio-group/radio-group.ts",
8758
+ "description": "Radio-button group — single-select from a static list of mutually-exclusive options. Form-associated.",
8739
8759
  "attributes": [
8740
8760
  {
8741
8761
  "name": "options",
@@ -8875,7 +8895,8 @@
8875
8895
  ],
8876
8896
  "events": [
8877
8897
  {
8878
- "name": "change"
8898
+ "name": "change",
8899
+ "description": "`SchmancyRadioGroupChangeEvent` with the selected `value`."
8879
8900
  }
8880
8901
  ]
8881
8902
  },
@@ -8960,7 +8981,7 @@
8960
8981
  {
8961
8982
  "name": "schmancy-select",
8962
8983
  "path": "./src/select/select.ts",
8963
- "description": "Select dropdown component with single and multi-select support.",
8984
+ "description": "Dropdown selector single or multi-select from a list of `<schmancy-option>` children. Form-associated.",
8964
8985
  "attributes": [
8965
8986
  {
8966
8987
  "name": "disabled",
@@ -9116,7 +9137,8 @@
9116
9137
  ],
9117
9138
  "events": [
9118
9139
  {
9119
- "name": "change"
9140
+ "name": "change",
9141
+ "description": "`SchmancySelectChangeEvent` with `{ value }` (single) or `{ value: string[] }` (multi)."
9120
9142
  }
9121
9143
  ]
9122
9144
  },
@@ -9598,7 +9620,7 @@
9598
9620
  {
9599
9621
  "name": "schmancy-switch",
9600
9622
  "path": "./src/switch/switch.ts",
9601
- "description": "Binary on/off control. Form-associated, keyboard-accessible, semantically a\nswitch (ARIA role=\"switch\"). Distinct from `schmancy-checkbox`: a switch\nrepresents an immediate state change, a checkbox represents a selection in\na form to be submitted.",
9623
+ "description": "Binary on/off control with immediate effect. Form-associated, keyboard-accessible, semantically a switch (ARIA role=\"switch\"). Distinct from `schmancy-checkbox`: a switch represents an immediate state change, a checkbox represents a selection in a form to be submitted.",
9602
9624
  "attributes": [
9603
9625
  {
9604
9626
  "name": "value",
@@ -10003,7 +10025,7 @@
10003
10025
  {
10004
10026
  "name": "schmancy-textarea",
10005
10027
  "path": "./src/textarea/textarea.ts",
10006
- "description": "Textarea component with auto-resize and form integration.",
10028
+ "description": "Multi-line text input with auto-resize and form integration. Form-associated.",
10007
10029
  "attributes": [
10008
10030
  {
10009
10031
  "name": "label",
@@ -10315,7 +10337,12 @@
10315
10337
  ],
10316
10338
  "events": [
10317
10339
  {
10318
- "name": "change"
10340
+ "name": "input",
10341
+ "description": "On every keystroke."
10342
+ },
10343
+ {
10344
+ "name": "change",
10345
+ "description": "On blur."
10319
10346
  },
10320
10347
  {
10321
10348
  "name": "enter"