@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
@@ -31228,7 +31228,13 @@ var qp = {
31228
31228
  kind: "class",
31229
31229
  name: "SchmancyAutocomplete",
31230
31230
  tagName: "schmancy-autocomplete",
31231
- description: "Autocomplete input component with filtering and multi-select support.",
31231
+ description: "Combobox with type-ahead filtering over a list of `<schmancy-option>` children. Single or multi-select. Form-associated.",
31232
+ summary: "Use when users need to pick from a known list of options but the list is too long for a plain select dropdown. Prefer schmancy-select for short static lists.",
31233
+ platformPrimitive: {
31234
+ tag: "combobox",
31235
+ mode: "change",
31236
+ note: "Composed of a schmancy-input + a floating listbox populated from `<schmancy-option>` children. Multi-select renders selections as schmancy-input-chip chips. Degrades to a datalist-backed native input if the tag never registers."
31237
+ },
31232
31238
  attributes: [
31233
31239
  {
31234
31240
  name: "required",
@@ -31302,7 +31308,12 @@ var qp = {
31302
31308
  type: { text: "string" },
31303
31309
  default: "''"
31304
31310
  }
31305
- ]
31311
+ ],
31312
+ events: [{
31313
+ name: "change",
31314
+ description: "`SchmancyAutocompleteChangeEvent` with `{ value }` (single) or `{ value, values }` (multi)."
31315
+ }],
31316
+ examples: ["<schmancy-autocomplete name=\"country\" label=\"Country\" placeholder=\"Start typing…\">\n <schmancy-option value=\"US\">United States</schmancy-option>\n <schmancy-option value=\"CA\">Canada</schmancy-option>\n <schmancy-option value=\"GB\">United Kingdom</schmancy-option>\n</schmancy-autocomplete>"]
31306
31317
  }]
31307
31318
  },
31308
31319
  {
@@ -31550,7 +31561,13 @@ var qp = {
31550
31561
  kind: "class",
31551
31562
  name: "SchmancyButton",
31552
31563
  tagName: "schmancy-button",
31553
- description: "A button component.",
31564
+ description: "Material Design button — primary interactive surface for triggering actions or navigation.",
31565
+ summary: "Trigger actions or navigate. Form-associated; participates in native form submission.",
31566
+ platformPrimitive: {
31567
+ tag: "button",
31568
+ mode: "click",
31569
+ note: "Schmancy-skinned native `<button type=\"submit\">`. When `href` is set, degrades to `<a href=\"…\">`. Falls back to plain `<button>` styled with Tailwind if the tag never registers."
31570
+ },
31554
31571
  attributes: [
31555
31572
  {
31556
31573
  name: "variant",
@@ -31641,6 +31658,7 @@ var qp = {
31641
31658
  name: "base",
31642
31659
  description: "The underlying native `<button>` (or `<a>` when `href` is set)."
31643
31660
  }],
31661
+ examples: ["<schmancy-button variant=\"filled\" @click=${() => save()}>Save</schmancy-button>\n<schmancy-button variant=\"outlined\" href=\"/next\">Continue</schmancy-button>"],
31644
31662
  contexts: [{
31645
31663
  name: "SchmancyButtonSizeContext",
31646
31664
  kind: "provide"
@@ -31654,7 +31672,13 @@ var qp = {
31654
31672
  kind: "class",
31655
31673
  name: "SchmnacyIconButton",
31656
31674
  tagName: "schmancy-icon-button",
31657
- description: "An icon button component.",
31675
+ description: "Icon-only button for toolbar actions, close affordances, or overflow menus.",
31676
+ summary: "Compact round/square button wrapping a single icon glyph. Form-associated like schmancy-button.",
31677
+ platformPrimitive: {
31678
+ tag: "button",
31679
+ mode: "click",
31680
+ note: "Schmancy-skinned native `<button>` (or `<a>` when `href` is set). aria-label is required for a11y because there's no text content."
31681
+ },
31658
31682
  attributes: [
31659
31683
  {
31660
31684
  name: "size",
@@ -31732,7 +31756,8 @@ var qp = {
31732
31756
  cssParts: [{
31733
31757
  name: "base",
31734
31758
  description: "The underlying native `<button>` (or `<a>` when `href` is set)."
31735
- }]
31759
+ }],
31760
+ examples: ["<schmancy-icon-button aria-label=\"Close\" @click=${() => close()}>\n <schmancy-icon>close</schmancy-icon>\n</schmancy-icon-button>"]
31736
31761
  }]
31737
31762
  },
31738
31763
  {
@@ -32013,6 +32038,13 @@ var qp = {
32013
32038
  kind: "class",
32014
32039
  name: "SchmancyCheckboxElement",
32015
32040
  tagName: "schmancy-checkbox",
32041
+ description: "Binary checkbox for multi-select or boolean form fields. Wraps Material Web's `<md-checkbox>`; form-associated.",
32042
+ summary: "Use for \"select many from a list\" or any boolean that's part of a form submission. Prefer schmancy-switch for immediate-effect toggles.",
32043
+ platformPrimitive: {
32044
+ tag: "checkbox",
32045
+ mode: "change",
32046
+ note: "Wraps `<md-checkbox>` from `@material/web`. Degrades to styled native `<input type=\"checkbox\">` if the tag never registers."
32047
+ },
32016
32048
  attributes: [
32017
32049
  {
32018
32050
  name: "value",
@@ -32058,12 +32090,13 @@ var qp = {
32058
32090
  ],
32059
32091
  events: [{
32060
32092
  name: "valueChange",
32061
- description: "Event fired when the checkbox value changes."
32093
+ description: "`CustomEvent<{ value: boolean }>` when the checkbox is toggled."
32062
32094
  }],
32063
32095
  slots: [{
32064
32096
  name: "",
32065
32097
  description: "The label for the checkbox."
32066
- }]
32098
+ }],
32099
+ examples: ["<schmancy-checkbox name=\"tos\" required>I accept the terms</schmancy-checkbox>"]
32067
32100
  }]
32068
32101
  },
32069
32102
  {
@@ -32121,6 +32154,13 @@ var qp = {
32121
32154
  kind: "class",
32122
32155
  name: "SchmancyChips",
32123
32156
  tagName: "schmancy-chips",
32157
+ description: "Filter-chip group — container for selectable `<schmancy-chip>` children. Single or multi-select.",
32158
+ summary: "Use for filtering or choosing from 2–8 mutually-visible options (\"Status: active / paused / archived\"). Prefer schmancy-select when the list gets long or vertical.",
32159
+ platformPrimitive: {
32160
+ tag: "chip-group",
32161
+ mode: "change",
32162
+ note: "No direct native equivalent. Degrades to a styled schmancy-select with similar semantics if the tag never registers."
32163
+ },
32124
32164
  attributes: [
32125
32165
  {
32126
32166
  name: "wrap",
@@ -32142,7 +32182,12 @@ var qp = {
32142
32182
  ],
32143
32183
  default: "'start'"
32144
32184
  }
32145
- ]
32185
+ ],
32186
+ events: [{
32187
+ name: "change",
32188
+ description: "`CustomEvent<{ value: string }>` (single) or `{ values: string[] }` (multi)."
32189
+ }],
32190
+ examples: ["<schmancy-chips multi @change=${(e) => this.filters = e.detail.values}>\n <schmancy-chip value=\"active\">Active</schmancy-chip>\n <schmancy-chip value=\"paused\">Paused</schmancy-chip>\n <schmancy-chip value=\"archived\">Archived</schmancy-chip>\n</schmancy-chips>"]
32146
32191
  }]
32147
32192
  },
32148
32193
  {
@@ -32152,7 +32197,13 @@ var qp = {
32152
32197
  kind: "class",
32153
32198
  name: "SchmancyInputChip",
32154
32199
  tagName: "schmancy-input-chip",
32155
- description: "Input chip component - represents user-provided information that can be removed. IMPORTANT: Per Material Design 3 specification, input chips do NOT have selected state. They represent discrete pieces of user input (like entered tags, selections from lists, etc.) that can only be removed, not toggled on/off. Use cases: - Displaying selected recipients in an email - Showing applied filters that can be removed - Tags or keywords entered by the user - Selected items from a multi-select dropdown",
32200
+ description: "Input chip displays user-provided information (tags, recipients, filters) that can be removed but not toggled. IMPORTANT: Per Material Design 3 specification, input chips do NOT have selected state. They represent discrete pieces of user input (like entered tags, selections from lists, etc.) that can only be removed, not toggled on/off. Use cases: - Displaying selected recipients in an email - Showing applied filters that can be removed - Tags or keywords entered by the user - Selected items from a multi-select dropdown",
32201
+ summary: "Removable pill that represents a single user input value. No selected state — use schmancy-chip (filter chip) for toggleable options.",
32202
+ platformPrimitive: {
32203
+ tag: "chip",
32204
+ mode: "remove",
32205
+ note: "No native equivalent. Composed of a labeled pill + close button. Degrades to a styled `<span>` with a trailing close `<button>` if the tag never registers."
32206
+ },
32156
32207
  attributes: [
32157
32208
  {
32158
32209
  name: "value",
@@ -33089,14 +33140,21 @@ var qp = {
33089
33140
  kind: "class",
33090
33141
  name: "SchmancyForm",
33091
33142
  tagName: "schmancy-form",
33092
- description: "A thin ergonomic wrapper around a native `<form>` element. Its children are reparented into a `<form>` element in light DOM on connection, so: - Form-associated custom elements (FACE) resolve their `internals.form` correctly via native DOM ancestry. - `new FormData(form)` collects values from every FACE + native control without any manual walking. - `form.reset()` triggers `formResetCallback()` on every FACE. - `form.reportValidity()` runs native validation UI. - `<button type=\"submit\">` and `<schmancy-button type=\"submit\">` both submit the form via the native submitter pipeline. This component exists only to translate the native `submit` / `reset` events into the Schmancy event shape (`detail: FormData`). All heavy lifting is the platform's.",
33143
+ 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. - Form-associated custom elements (FACE) resolve their `internals.form` correctly via native DOM ancestry. - `new FormData(form)` collects values from every FACE + native control without any manual walking. - `form.reset()` triggers `formResetCallback()` on every FACE. - `form.reportValidity()` runs native validation UI. - `<button type=\"submit\">` and `<schmancy-button type=\"submit\">` both submit the form via the native submitter pipeline. This component exists only to translate the native `submit` / `reset` events into the Schmancy event shape (`detail: FormData`). All heavy lifting is the platform's.",
33144
+ summary: "Always wrap form-associated schmancy components in schmancy-form (or a native `<form>`) so `new FormData(form)` just works.",
33145
+ platformPrimitive: {
33146
+ tag: "form",
33147
+ mode: "submit",
33148
+ note: "Light-DOM native `<form>` element. Degrades to a `<form>` if the tag never registers — same semantics, just no CustomEvent translation."
33149
+ },
33093
33150
  events: [{
33094
33151
  name: "submit",
33095
33152
  description: "`CustomEvent<FormData>` emitted when the form is submitted."
33096
33153
  }, {
33097
33154
  name: "reset",
33098
33155
  description: "Emitted after the underlying form resets."
33099
- }]
33156
+ }],
33157
+ examples: ["<schmancy-form @submit=${(e) => console.log(Object.fromEntries(e.detail))}>\n <schmancy-input name=\"email\" type=\"email\" required></schmancy-input>\n <schmancy-input name=\"password\" type=\"password\" required></schmancy-input>\n <schmancy-button type=\"submit\" variant=\"filled\">Sign in</schmancy-button>\n</schmancy-form>"]
33100
33158
  }]
33101
33159
  },
33102
33160
  {
@@ -33238,7 +33296,13 @@ var qp = {
33238
33296
  kind: "class",
33239
33297
  name: "SchmancyInput",
33240
33298
  tagName: "schmancy-input",
33241
- description: "Enhanced version of the SchmancyInput component with improved form integration and compatibility with legacy API. This component uses the native form association API and maintains parity with native input behaviors while providing a stylish, accessible interface.",
33299
+ 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.",
33300
+ summary: "Text input with Material Design styling, native form integration, and RxJS-debounced input/change/enter events.",
33301
+ platformPrimitive: {
33302
+ tag: "input",
33303
+ mode: "change",
33304
+ note: "Schmancy-skinned native `<input>`. Degrades to `<input class=\"…\">` styled via Tailwind if the tag never registers."
33305
+ },
33242
33306
  attributes: [
33243
33307
  {
33244
33308
  name: "value",
@@ -33369,7 +33433,22 @@ var qp = {
33369
33433
  type: { text: "string" },
33370
33434
  description: "For datalist support"
33371
33435
  }
33372
- ]
33436
+ ],
33437
+ events: [
33438
+ {
33439
+ name: "input",
33440
+ description: "`CustomEvent<{value: string}>` on every keystroke."
33441
+ },
33442
+ {
33443
+ name: "change",
33444
+ description: "`CustomEvent<{value: string}>` on blur/change."
33445
+ },
33446
+ {
33447
+ name: "enter",
33448
+ description: "`CustomEvent<{value: string}>` when user presses Enter."
33449
+ }
33450
+ ],
33451
+ examples: ["<schmancy-form @submit=${onSubmit}>\n <schmancy-input name=\"email\" type=\"email\" label=\"Email\" required></schmancy-input>\n</schmancy-form>"]
33373
33452
  }, {
33374
33453
  kind: "class",
33375
33454
  name: "SchmancyInputCompat",
@@ -34700,7 +34779,13 @@ var qp = {
34700
34779
  kind: "class",
34701
34780
  name: "RadioButton",
34702
34781
  tagName: "schmancy-radio-button",
34703
- description: "Radio button component for use within radio groups.",
34782
+ description: "Single radio button always rendered as a child of `<schmancy-radio-group>`, never standalone.",
34783
+ summary: "Low-level primitive. Use schmancy-radio-group and pass `.options` for the common path; only instantiate schmancy-radio-button directly when you need per-button custom rendering.",
34784
+ platformPrimitive: {
34785
+ tag: "radio",
34786
+ mode: "change",
34787
+ note: "Schmancy-skinned `<input type=\"radio\">` semantics. Degrades to native radio if the tag never registers."
34788
+ },
34704
34789
  attributes: [
34705
34790
  {
34706
34791
  name: "value",
@@ -34722,7 +34807,8 @@ var qp = {
34722
34807
  type: { text: "string" },
34723
34808
  default: "''"
34724
34809
  }
34725
- ]
34810
+ ],
34811
+ examples: ["<schmancy-radio-group name=\"plan\">\n <schmancy-radio-button value=\"free\">Free</schmancy-radio-button>\n <schmancy-radio-button value=\"pro\" checked>Pro</schmancy-radio-button>\n</schmancy-radio-group>"]
34726
34812
  }]
34727
34813
  },
34728
34814
  {
@@ -34732,6 +34818,13 @@ var qp = {
34732
34818
  kind: "class",
34733
34819
  name: "RadioGroup",
34734
34820
  tagName: "schmancy-radio-group",
34821
+ description: "Radio-button group — single-select from a static list of mutually-exclusive options. Form-associated.",
34822
+ summary: "Use for 2–5 mutually-exclusive options where all should stay visible (\"Shipping: standard / express / overnight\"). Prefer schmancy-select when the list grows.",
34823
+ platformPrimitive: {
34824
+ tag: "radiogroup",
34825
+ mode: "change",
34826
+ note: "Renders schmancy-radio-button children. Degrades to a fieldset with native `<input type=\"radio\" name=\"…\">` siblings if the tag never registers."
34827
+ },
34735
34828
  attributes: [
34736
34829
  {
34737
34830
  name: "label",
@@ -34758,7 +34851,12 @@ var qp = {
34758
34851
  type: { text: "boolean" },
34759
34852
  default: "false"
34760
34853
  }
34761
- ]
34854
+ ],
34855
+ events: [{
34856
+ name: "change",
34857
+ description: "`SchmancyRadioGroupChangeEvent` with the selected `value`."
34858
+ }],
34859
+ examples: ["<schmancy-radio-group\n name=\"shipping\"\n label=\"Shipping\"\n .options=${[\n { label: 'Standard (5 days)', value: 'standard' },\n { label: 'Express (2 days)', value: 'express' },\n { label: 'Overnight', value: 'overnight' },\n ]}\n></schmancy-radio-group>"]
34762
34860
  }]
34763
34861
  },
34764
34862
  {
@@ -34812,7 +34910,13 @@ var qp = {
34812
34910
  kind: "class",
34813
34911
  name: "SchmancySelect",
34814
34912
  tagName: "schmancy-select",
34815
- description: "Select dropdown component with single and multi-select support.",
34913
+ description: "Dropdown selector single or multi-select from a list of `<schmancy-option>` children. Form-associated.",
34914
+ summary: "Material Design dropdown with type-to-filter, keyboard nav, single or multi-select. Options are declared as `<schmancy-option>` children; value / values props sync with selection.",
34915
+ platformPrimitive: {
34916
+ tag: "select",
34917
+ mode: "change",
34918
+ note: "Floating-UI-positioned listbox. Degrades to native `<select>` styled via Tailwind if the tag never registers, though multi-select UX is lost."
34919
+ },
34816
34920
  attributes: [
34817
34921
  {
34818
34922
  name: "name",
@@ -34876,7 +34980,12 @@ var qp = {
34876
34980
  type: { text: "string" },
34877
34981
  default: "''"
34878
34982
  }
34879
- ]
34983
+ ],
34984
+ events: [{
34985
+ name: "change",
34986
+ description: "`SchmancySelectChangeEvent` with `{ value }` (single) or `{ value: string[] }` (multi)."
34987
+ }],
34988
+ examples: ["<schmancy-select name=\"priority\" label=\"Priority\" value=\"medium\">\n <schmancy-option value=\"low\">Low</schmancy-option>\n <schmancy-option value=\"medium\">Medium</schmancy-option>\n <schmancy-option value=\"high\">High</schmancy-option>\n</schmancy-select>"]
34880
34989
  }]
34881
34990
  },
34882
34991
  {
@@ -35220,7 +35329,13 @@ var qp = {
35220
35329
  kind: "class",
35221
35330
  name: "SchmancySwitch",
35222
35331
  tagName: "schmancy-switch",
35223
- description: "Binary on/off control. 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.",
35332
+ 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.",
35333
+ summary: "Use when flipping the control takes effect right away (e.g. \"Dark mode\", \"Enable notifications\"). Prefer schmancy-checkbox for form submissions.",
35334
+ platformPrimitive: {
35335
+ tag: "switch",
35336
+ mode: "change",
35337
+ note: "Accessible native `<button role=\"switch\" aria-checked>` under the hood. No native HTML element exists; falls back to a styled checkbox if the tag never registers."
35338
+ },
35224
35339
  attributes: [
35225
35340
  {
35226
35341
  name: "checked",
@@ -35263,7 +35378,8 @@ var qp = {
35263
35378
  }, {
35264
35379
  name: "thumb",
35265
35380
  description: "The moving thumb."
35266
- }]
35381
+ }],
35382
+ examples: ["<schmancy-switch ?checked=${this.darkMode} @change=${(e) => this.darkMode = e.detail.value}>\n Dark mode\n</schmancy-switch>"]
35267
35383
  }]
35268
35384
  },
35269
35385
  {
@@ -35404,7 +35520,13 @@ var qp = {
35404
35520
  kind: "class",
35405
35521
  name: "SchmancyTextarea",
35406
35522
  tagName: "schmancy-textarea",
35407
- description: "Textarea component with auto-resize and form integration.",
35523
+ description: "Multi-line text input with auto-resize and form integration. Form-associated.",
35524
+ summary: "Textarea for freeform text — notes, descriptions, messages. Auto-grows with content up to a maxlength.",
35525
+ platformPrimitive: {
35526
+ tag: "textarea",
35527
+ mode: "change",
35528
+ note: "Schmancy-skinned native `<textarea>`. Degrades to styled native `<textarea>` if the tag never registers."
35529
+ },
35408
35530
  attributes: [
35409
35531
  {
35410
35532
  name: "label",
@@ -35536,7 +35658,15 @@ var qp = {
35536
35658
  type: { text: "boolean" },
35537
35659
  default: "false"
35538
35660
  }
35539
- ]
35661
+ ],
35662
+ events: [{
35663
+ name: "input",
35664
+ description: "On every keystroke."
35665
+ }, {
35666
+ name: "change",
35667
+ description: "On blur."
35668
+ }],
35669
+ examples: ["<schmancy-textarea name=\"description\" label=\"Description\" rows=\"4\" maxlength=\"500\"></schmancy-textarea>"]
35540
35670
  }]
35541
35671
  },
35542
35672
  {
@@ -35968,6 +36098,13 @@ var qp = {
35968
36098
  kind: "class",
35969
36099
  name: "SchmancyCountriesSelect",
35970
36100
  tagName: "schmancy-select-countries",
36101
+ description: "Country picker — type-ahead autocomplete over the ISO 3166-1 country list. Form-associated.",
36102
+ summary: "Drop-in replacement for schmancy-autocomplete when the options are specifically \"every country\". Pre-seeds the list from countries.data.",
36103
+ platformPrimitive: {
36104
+ tag: "combobox",
36105
+ mode: "change",
36106
+ note: "Composes schmancy-autocomplete with a static options list. Value is the 2-letter ISO code."
36107
+ },
35971
36108
  attributes: [
35972
36109
  {
35973
36110
  name: "value",
@@ -35998,7 +36135,12 @@ var qp = {
35998
36135
  type: { text: "string" },
35999
36136
  default: "''"
36000
36137
  }
36001
- ]
36138
+ ],
36139
+ events: [{
36140
+ name: "change",
36141
+ description: "`SchmancyAutocompleteChangeEvent` with `{ value: string }` (the ISO code)."
36142
+ }],
36143
+ examples: ["<schmancy-select-countries name=\"country\" label=\"Shipping country\" required></schmancy-select-countries>"]
36002
36144
  }]
36003
36145
  },
36004
36146
  {
@@ -36008,7 +36150,13 @@ var qp = {
36008
36150
  kind: "class",
36009
36151
  name: "SchmancyTimezonesSelect",
36010
36152
  tagName: "schmancy-select-timezones",
36011
- description: "Timezone selector component with autocomplete filtering.",
36153
+ description: "Timezone picker type-ahead autocomplete over the IANA tz database. Form-associated.",
36154
+ summary: "Drop-in replacement for schmancy-autocomplete when the options are IANA timezone names. Value is the IANA identifier (\"America/Los_Angeles\").",
36155
+ platformPrimitive: {
36156
+ tag: "combobox",
36157
+ mode: "change",
36158
+ note: "Composes schmancy-autocomplete with a static IANA timezones list."
36159
+ },
36012
36160
  attributes: [
36013
36161
  {
36014
36162
  name: "value",
@@ -36039,7 +36187,12 @@ var qp = {
36039
36187
  type: { text: "string" },
36040
36188
  default: "''"
36041
36189
  }
36042
- ]
36190
+ ],
36191
+ events: [{
36192
+ name: "change",
36193
+ description: "`SchmancyAutocompleteChangeEvent` with `{ value: string }` (the IANA tz name)."
36194
+ }],
36195
+ examples: ["<schmancy-select-timezones name=\"tz\" label=\"Timezone\" value=\"America/New_York\"></schmancy-select-timezones>"]
36043
36196
  }]
36044
36197
  },
36045
36198
  {