@aparte/core 0.6.0 → 0.7.0

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 (46) hide show
  1. package/README.md +18 -7
  2. package/dist/components/bubble/aparte-chat-bubble.d.ts +18 -0
  3. package/dist/components/bubble/aparte-chat-bubble.d.ts.map +1 -1
  4. package/dist/components/chat/aparte-chat.d.ts +17 -0
  5. package/dist/components/chat/aparte-chat.d.ts.map +1 -1
  6. package/dist/components/composer/aparte-composer-add-attachment.d.ts +11 -0
  7. package/dist/components/composer/aparte-composer-add-attachment.d.ts.map +1 -1
  8. package/dist/components/composer/aparte-composer-attachments.d.ts +14 -0
  9. package/dist/components/composer/aparte-composer-attachments.d.ts.map +1 -1
  10. package/dist/components/composer/aparte-composer-cancel.d.ts +11 -0
  11. package/dist/components/composer/aparte-composer-cancel.d.ts.map +1 -1
  12. package/dist/components/composer/aparte-composer-input.d.ts +10 -0
  13. package/dist/components/composer/aparte-composer-input.d.ts.map +1 -1
  14. package/dist/components/composer/aparte-composer-send.d.ts +10 -0
  15. package/dist/components/composer/aparte-composer-send.d.ts.map +1 -1
  16. package/dist/components/composer/aparte-composer-toolbar.d.ts +53 -0
  17. package/dist/components/composer/aparte-composer-toolbar.d.ts.map +1 -0
  18. package/dist/components/composer/aparte-composer.d.ts +13 -0
  19. package/dist/components/composer/aparte-composer.d.ts.map +1 -1
  20. package/dist/components/composer/index.d.ts +1 -0
  21. package/dist/components/composer/index.d.ts.map +1 -1
  22. package/dist/components/conversation-list/aparte-conversation-list.d.ts +22 -1
  23. package/dist/components/conversation-list/aparte-conversation-list.d.ts.map +1 -1
  24. package/dist/components/elicitation/aparte-elicitation.d.ts +15 -0
  25. package/dist/components/elicitation/aparte-elicitation.d.ts.map +1 -1
  26. package/dist/components/index.d.ts +1 -1
  27. package/dist/components/index.d.ts.map +1 -1
  28. package/dist/components/status/aparte-chat-status.d.ts +6 -0
  29. package/dist/components/status/aparte-chat-status.d.ts.map +1 -1
  30. package/dist/components/viewport/aparte-chat-viewport.d.ts +16 -0
  31. package/dist/components/viewport/aparte-chat-viewport.d.ts.map +1 -1
  32. package/dist/custom-elements.json +3769 -3552
  33. package/dist/index.css +11 -1
  34. package/dist/index.d.ts +1 -1
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +121 -2
  37. package/dist/index.js.map +1 -1
  38. package/dist/primitives/progress-spinner/aparte-progress-spinner.d.ts +5 -0
  39. package/dist/primitives/progress-spinner/aparte-progress-spinner.d.ts.map +1 -1
  40. package/dist/primitives/select/aparte-optgroup.d.ts +11 -0
  41. package/dist/primitives/select/aparte-optgroup.d.ts.map +1 -1
  42. package/dist/primitives/select/aparte-option.d.ts +6 -0
  43. package/dist/primitives/select/aparte-option.d.ts.map +1 -1
  44. package/dist/primitives/select/aparte-select.d.ts +23 -0
  45. package/dist/primitives/select/aparte-select.d.ts.map +1 -1
  46. package/package.json +1 -1
@@ -12,6 +12,11 @@
12
12
  * @cssvar --aparte-spinner-stroke Stroke width in SVG units. Default: 2.5
13
13
  * @cssvar --aparte-spinner-color Fill arc stroke color. Default: currentColor
14
14
  * @cssvar --aparte-spinner-track Track arc stroke color. Default: 15% currentColor
15
+ *
16
+ * @example
17
+ * <!-- Omit `value` for the indeterminate spin; set it to show real progress. -->
18
+ * <aparte-progress-spinner></aparte-progress-spinner>
19
+ * <aparte-progress-spinner value="62"></aparte-progress-spinner>
15
20
  */
16
21
  export declare class AparteProgressSpinner extends HTMLElement {
17
22
  static get observedAttributes(): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"aparte-progress-spinner.d.ts","sourceRoot":"","sources":["../../../src/primitives/progress-spinner/aparte-progress-spinner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,qBAAa,qBAAsB,SAAQ,WAAW;IAClD,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAAsB;IAE/D,uEAAuE;IACvE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAK;IACxB,OAAO,KAAK,KAAK,GAA4C;IAE7D,iBAAiB,IAAI,IAAI;IACzB,wBAAwB,IAAI,IAAI;IAEhC,OAAO,CAAC,OAAO;CAwBlB"}
1
+ {"version":3,"file":"aparte-progress-spinner.d.ts","sourceRoot":"","sources":["../../../src/primitives/progress-spinner/aparte-progress-spinner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,qBAAsB,SAAQ,WAAW;IAClD,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAAsB;IAE/D,uEAAuE;IACvE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAK;IACxB,OAAO,KAAK,KAAK,GAA4C;IAE7D,iBAAiB,IAAI,IAAI;IACzB,wBAAwB,IAAI,IAAI;IAEhC,OAAO,CAAC,OAAO;CAwBlB"}
@@ -7,6 +7,17 @@
7
7
  * @attr {string} label - Group label
8
8
  * @attr {boolean} collapsible - Allow collapse/expand
9
9
  * @attr {boolean} collapsed - Collapsed state
10
+ *
11
+ * @example
12
+ * <!-- Collapsed groups keep a long list readable; the label is the group's header. -->
13
+ * <aparte-select grouped placeholder="Pick a model">
14
+ * <aparte-optgroup label="Ollama" collapsible collapsed>
15
+ * <aparte-option value="ollama::llama3">Llama 3</aparte-option>
16
+ * </aparte-optgroup>
17
+ * <aparte-optgroup label="OpenRouter" collapsible>
18
+ * <aparte-option value="openrouter::gpt-4o-mini">GPT-4o mini</aparte-option>
19
+ * </aparte-optgroup>
20
+ * </aparte-select>
10
21
  */
11
22
  export declare class AparteOptgroup extends HTMLElement {
12
23
  /** Ids for the label span the group points `aria-labelledby` at. */
@@ -1 +1 @@
1
- {"version":3,"file":"aparte-optgroup.d.ts","sourceRoot":"","sources":["../../../src/primitives/select/aparte-optgroup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,qBAAa,cAAe,SAAQ,WAAW;IAC3C,oEAAoE;IACpE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAK;IAE/B,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED,iBAAiB,IAAI,IAAI;IAKzB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAY9F,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,KAAK,CAAC,GAAG,EAAE,MAAM,EAEpB;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,SAAS,CAAC,GAAG,EAAE,OAAO,EAMzB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,OAAO,EAGvB;IAED,OAAO,CAAC,OAAO;IA4Cf,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,qBAAqB;CAMhC;AAOD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,iBAAiB,EAAE,cAAc,CAAC;KACrC;CACJ"}
1
+ {"version":3,"file":"aparte-optgroup.d.ts","sourceRoot":"","sources":["../../../src/primitives/select/aparte-optgroup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,qBAAa,cAAe,SAAQ,WAAW;IAC3C,oEAAoE;IACpE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAK;IAE/B,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED,iBAAiB,IAAI,IAAI;IAKzB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAY9F,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,KAAK,CAAC,GAAG,EAAE,MAAM,EAEpB;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,SAAS,CAAC,GAAG,EAAE,OAAO,EAMzB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,OAAO,EAGvB;IAED,OAAO,CAAC,OAAO;IA4Cf,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,qBAAqB;CAMhC;AAOD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,iBAAiB,EAAE,cAAc,CAAC;KACrC;CACJ"}
@@ -7,6 +7,12 @@
7
7
  * @attr {string} value - Option value
8
8
  * @attr {boolean} disabled - Disabled state
9
9
  * @attr {boolean} selected - Selected state
10
+ *
11
+ * @example
12
+ * <aparte-select placeholder="Pick a model">
13
+ * <aparte-option value="gpt-4o-mini" selected>GPT-4o mini</aparte-option>
14
+ * <aparte-option value="o3" disabled>o3 (no access)</aparte-option>
15
+ * </aparte-select>
10
16
  */
11
17
  export declare class AparteOption extends HTMLElement {
12
18
  static get observedAttributes(): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"aparte-option.d.ts","sourceRoot":"","sources":["../../../src/primitives/select/aparte-option.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,qBAAa,YAAa,SAAQ,WAAW;IACzC,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED,iBAAiB,IAAI,IAAI;IAMzB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAY5C,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,KAAK,CAAC,GAAG,EAAE,MAAM,EAEpB;IAED,IAAI,KAAK,IAAI,MAAM,CAIlB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,EAMxB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,EAMxB;IAED,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,gBAAgB;CAkB3B;AAOD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,eAAe,EAAE,YAAY,CAAC;KACjC;CACJ"}
1
+ {"version":3,"file":"aparte-option.d.ts","sourceRoot":"","sources":["../../../src/primitives/select/aparte-option.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,qBAAa,YAAa,SAAQ,WAAW;IACzC,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED,iBAAiB,IAAI,IAAI;IAMzB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAY5C,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,KAAK,CAAC,GAAG,EAAE,MAAM,EAEpB;IAED,IAAI,KAAK,IAAI,MAAM,CAIlB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,EAMxB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,EAMxB;IAED,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,gBAAgB;CAkB3B;AAOD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,eAAe,EAAE,YAAY,CAAC;KACjC;CACJ"}
@@ -23,6 +23,19 @@ export interface AparteSelectChangeDetail {
23
23
  label: string;
24
24
  previousValue: string;
25
25
  }
26
+ /**
27
+ * @example
28
+ * <aparte-select placeholder="Pick a model" searchable value="gpt-4o-mini">
29
+ * <aparte-option value="gpt-4o-mini">GPT-4o mini</aparte-option>
30
+ * <aparte-option value="llama-3.1-8b">Llama 3.1 8B</aparte-option>
31
+ * </aparte-select>
32
+ *
33
+ * <script>
34
+ * document.querySelector('aparte-select').addEventListener('aparte-select-change', (e) => {
35
+ * console.log(e.detail.value, e.detail.label, e.detail.previousValue);
36
+ * });
37
+ * </script>
38
+ */
26
39
  export declare class AparteSelect extends HTMLElement {
27
40
  private static _optIdSeq;
28
41
  /** Fallback ids for the listbox `aria-controls` target when the host has no id. */
@@ -46,6 +59,16 @@ export declare class AparteSelect extends HTMLElement {
46
59
  set open(val: boolean);
47
60
  private _render;
48
61
  private _setupMutationObserver;
62
+ /**
63
+ * Put the roving highlight back after the options changed underneath it.
64
+ *
65
+ * `data-active` lives on an option ELEMENT, so replacing the list throws it
66
+ * away while `_activeIndex` still claims a position: the highlight disappeared,
67
+ * `aria-activedescendant` kept pointing at an id no longer in the document, and
68
+ * the next ArrowDown moved from the stale index — skipping an option. Only when
69
+ * open and only when a position was held, so a refresh never invents one.
70
+ */
71
+ private _restoreActive;
49
72
  private _updateDropdownContent;
50
73
  private _setupEventListeners;
51
74
  private _handleDocumentClick;
@@ -1 +1 @@
1
- {"version":3,"file":"aparte-select.d.ts","sourceRoot":"","sources":["../../../src/primitives/select/aparte-select.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,oBAAoB,CAAC;AAC5B,OAAO,sBAAsB,CAAC;AAE9B,MAAM,WAAW,wBAAwB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,YAAa,SAAQ,WAAW;IACzC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAK;IAC7B,mFAAmF;IACnF,OAAO,CAAC,MAAM,CAAC,WAAW,CAAK;IAE/B,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,SAAS,CAAiC;IAGlD,OAAO,CAAC,yBAAyB,CAAwC;IACzE,OAAO,CAAC,mBAAmB,CAAkC;IAE7D,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED,iBAAiB,IAAI,IAAI;IAQzB,oBAAoB,IAAI,IAAI;IAM5B,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAsBhF,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,KAAK,CAAC,GAAG,EAAE,MAAM,EAOpB;IAED,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,IAAI,IAAI,CAAC,GAAG,EAAE,OAAO,EAMpB;IAMD,OAAO,CAAC,OAAO;IAwFf,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,sBAAsB;IA0C9B,OAAO,CAAC,oBAAoB;IAyC5B,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,cAAc;IA0CtB,uDAAuD;IACvD,OAAO,CAAC,eAAe;IAMvB,yEAAyE;IACzE,OAAO,CAAC,WAAW;IAOnB,uFAAuF;IACvF,OAAO,CAAC,UAAU;IAoBlB,+CAA+C;IAC/C,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,WAAW;CAatB;AAOD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,eAAe,EAAE,YAAY,CAAC;KACjC;CACJ"}
1
+ {"version":3,"file":"aparte-select.d.ts","sourceRoot":"","sources":["../../../src/primitives/select/aparte-select.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,oBAAoB,CAAC;AAC5B,OAAO,sBAAsB,CAAC;AAE9B,MAAM,WAAW,wBAAwB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,YAAa,SAAQ,WAAW;IACzC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAK;IAC7B,mFAAmF;IACnF,OAAO,CAAC,MAAM,CAAC,WAAW,CAAK;IAE/B,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,SAAS,CAAiC;IAGlD,OAAO,CAAC,yBAAyB,CAAwC;IACzE,OAAO,CAAC,mBAAmB,CAAkC;IAE7D,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED,iBAAiB,IAAI,IAAI;IAQzB,oBAAoB,IAAI,IAAI;IAM5B,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAsBhF,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,KAAK,CAAC,GAAG,EAAE,MAAM,EAOpB;IAED,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,IAAI,IAAI,CAAC,GAAG,EAAE,OAAO,EAMpB;IAMD,OAAO,CAAC,OAAO;IAwFf,OAAO,CAAC,sBAAsB;IAkB9B;;;;;;;;OAQG;IACH,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,sBAAsB;IA2C9B,OAAO,CAAC,oBAAoB;IAyC5B,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,cAAc;IA0CtB,uDAAuD;IACvD,OAAO,CAAC,eAAe;IAMvB,yEAAyE;IACzE,OAAO,CAAC,WAAW;IAOnB,uFAAuF;IACvF,OAAO,CAAC,UAAU;IAoBlB,+CAA+C;IAC/C,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,WAAW;CAatB;AAOD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,eAAe,EAAE,YAAY,CAAC;KACjC;CACJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aparte/core",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "High-performance AI conversation engine - Zero-dependency Web Components",
5
5
  "type": "module",
6
6
  "//sideEffects": "The BROWSER entry defines the custom elements and imports CSS at module scope, so it must never be tree-shaken; the Node entry (`index.node`) and every other module are pure. Listing them explicitly is what lets a bundler drop the rest — the whole package was implicitly side-effectful before, the only one of the 14 without this field.",