@tradecanvas/chart 1.29.0 → 1.31.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 (80) hide show
  1. package/README.md +2 -0
  2. package/dist/Chart.d.ts.map +1 -1
  3. package/dist/LayoutSession-BnLe0VnO.cjs +2 -0
  4. package/dist/LayoutSession-BnLe0VnO.cjs.map +1 -0
  5. package/dist/{LayoutSession-goRU8aOv.js → LayoutSession-DjqwQhHO.js} +6 -4
  6. package/dist/LayoutSession-DjqwQhHO.js.map +1 -0
  7. package/dist/{i18n-FG3D2x5m.js → i18n-BPt_Qbx8.js} +13 -1
  8. package/dist/i18n-BPt_Qbx8.js.map +1 -0
  9. package/dist/i18n-DWtAiG7D.cjs +2 -0
  10. package/dist/i18n-DWtAiG7D.cjs.map +1 -0
  11. package/dist/index.cjs +1 -1
  12. package/dist/index.js +1 -1
  13. package/dist/widget/ChartWidget.d.ts +4 -0
  14. package/dist/widget/ChartWidget.d.ts.map +1 -1
  15. package/dist/widget/ChartWidgetGrid.d.ts +5 -0
  16. package/dist/widget/ChartWidgetGrid.d.ts.map +1 -1
  17. package/dist/widget/WidgetContextMenu.d.ts.map +1 -1
  18. package/dist/widget/WidgetDrawingSidebar.d.ts +16 -0
  19. package/dist/widget/WidgetDrawingSidebar.d.ts.map +1 -1
  20. package/dist/widget/WidgetDropdown.d.ts +13 -0
  21. package/dist/widget/WidgetDropdown.d.ts.map +1 -1
  22. package/dist/widget/WidgetStyles.d.ts.map +1 -1
  23. package/dist/widget/WidgetToolbar.d.ts +32 -1
  24. package/dist/widget/WidgetToolbar.d.ts.map +1 -1
  25. package/dist/widget/calendarPopup.d.ts +58 -0
  26. package/dist/widget/calendarPopup.d.ts.map +1 -0
  27. package/dist/widget/formControls.d.ts +27 -0
  28. package/dist/widget/formControls.d.ts.map +1 -0
  29. package/dist/widget/index.cjs +746 -45
  30. package/dist/widget/index.cjs.map +1 -1
  31. package/dist/widget/index.js +1630 -1013
  32. package/dist/widget/index.js.map +1 -1
  33. package/dist/widget/locales/ar.d.ts.map +1 -1
  34. package/dist/widget/locales/cs.d.ts.map +1 -1
  35. package/dist/widget/locales/da.d.ts.map +1 -1
  36. package/dist/widget/locales/de.d.ts.map +1 -1
  37. package/dist/widget/locales/el.d.ts.map +1 -1
  38. package/dist/widget/locales/en.d.ts +6 -0
  39. package/dist/widget/locales/en.d.ts.map +1 -1
  40. package/dist/widget/locales/es.d.ts.map +1 -1
  41. package/dist/widget/locales/et.d.ts.map +1 -1
  42. package/dist/widget/locales/fa.d.ts.map +1 -1
  43. package/dist/widget/locales/fr.d.ts.map +1 -1
  44. package/dist/widget/locales/he.d.ts.map +1 -1
  45. package/dist/widget/locales/hu.d.ts.map +1 -1
  46. package/dist/widget/locales/id.d.ts.map +1 -1
  47. package/dist/widget/locales/index.cjs +1 -1
  48. package/dist/widget/locales/index.cjs.map +1 -1
  49. package/dist/widget/locales/index.js +169 -1
  50. package/dist/widget/locales/index.js.map +1 -1
  51. package/dist/widget/locales/it.d.ts.map +1 -1
  52. package/dist/widget/locales/ja.d.ts.map +1 -1
  53. package/dist/widget/locales/ko.d.ts.map +1 -1
  54. package/dist/widget/locales/ms.d.ts.map +1 -1
  55. package/dist/widget/locales/nb.d.ts.map +1 -1
  56. package/dist/widget/locales/nl.d.ts.map +1 -1
  57. package/dist/widget/locales/pl.d.ts.map +1 -1
  58. package/dist/widget/locales/pt.d.ts.map +1 -1
  59. package/dist/widget/locales/ro.d.ts.map +1 -1
  60. package/dist/widget/locales/ru.d.ts.map +1 -1
  61. package/dist/widget/locales/sk.d.ts.map +1 -1
  62. package/dist/widget/locales/sv.d.ts.map +1 -1
  63. package/dist/widget/locales/th.d.ts.map +1 -1
  64. package/dist/widget/locales/tr.d.ts.map +1 -1
  65. package/dist/widget/locales/vi.d.ts.map +1 -1
  66. package/dist/widget/locales/zh.d.ts.map +1 -1
  67. package/dist/widget/locales/zhHant.d.ts.map +1 -1
  68. package/dist/widget/narrowMode.d.ts +10 -0
  69. package/dist/widget/narrowMode.d.ts.map +1 -0
  70. package/dist/widget/placeMenu.d.ts +7 -0
  71. package/dist/widget/placeMenu.d.ts.map +1 -0
  72. package/dist/widget/selectMenu.d.ts +38 -0
  73. package/dist/widget/selectMenu.d.ts.map +1 -0
  74. package/package.json +3 -3
  75. package/dist/LayoutSession-DhB5RGm1.cjs +0 -2
  76. package/dist/LayoutSession-DhB5RGm1.cjs.map +0 -1
  77. package/dist/LayoutSession-goRU8aOv.js.map +0 -1
  78. package/dist/i18n-C040vB8g.cjs +0 -2
  79. package/dist/i18n-C040vB8g.cjs.map +0 -1
  80. package/dist/i18n-FG3D2x5m.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetContextMenu.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetContextMenu.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB;AAC1B,oDAAoD;AAClD;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GACjF,WAAW,CAAC;AAWhB;;;;GAIG;AACH,qBAAa,iBAAiB;IAchB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAbjC,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,WAAW,CAA4B;IAC/C,wFAAwF;IACxF,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAI3B;IACF,qFAAqF;IACrF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;gBAEhB,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM;IAU7D;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI;IAmB1H,KAAK,IAAI,IAAI;IAcb,MAAM,IAAI,OAAO;IAIjB,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,KAAK;IAwBb,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,SAAS;CAiBlB"}
1
+ {"version":3,"file":"WidgetContextMenu.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetContextMenu.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB;AAC1B,oDAAoD;AAClD;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GACjF,WAAW,CAAC;AAWhB;;;;GAIG;AACH,qBAAa,iBAAiB;IAchB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAbjC,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,WAAW,CAA4B;IAC/C,wFAAwF;IACxF,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAI3B;IACF,qFAAqF;IACrF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;gBAEhB,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM;IAU7D;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI;IAqB1H,KAAK,IAAI,IAAI;IAcb,MAAM,IAAI,OAAO;IAIjB,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,KAAK;IAwBb,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,SAAS;CAiBlB"}
@@ -24,7 +24,23 @@ export declare class WidgetDrawingSidebar {
24
24
  private favoritesEl;
25
25
  private favoritesDivider;
26
26
  private favorites;
27
+ /** Narrow (a phone): the button over the chart that opens the sidebar, which then lies over the chart. */
28
+ private fab;
29
+ /** The tool the drawing button shows ('' for the pen). */
30
+ private fabShows;
31
+ private readonly onPressAway;
32
+ private readonly onEscape;
27
33
  constructor(host: HTMLElement, config: SidebarConfig, callbacks: SidebarCallbacks, t?: Translator);
34
+ /** Laid out as on a phone: the sidebar hides behind the drawing button. */
35
+ private isNarrow;
36
+ private isOpen;
37
+ /** Narrow: show or hide the sidebar over the chart. */
38
+ private setOpen;
39
+ /** Close the sidebar laid over the chart (the widget grew out of narrow). */
40
+ closeOverlay(): void;
41
+ /** Narrow, a tool picked (or a mode for the chart) closes the sidebar: the chart is where it is used. */
42
+ private closeForChart;
43
+ private pick;
28
44
  private build;
29
45
  /** Update the pinned-tools strip. */
30
46
  setFavorites(favorites: string[]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetDrawingSidebar.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetDrawingSidebar.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAElG,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AA0BjE,qBAAa,oBAAoB;IAwB7B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAGrB,OAAO,CAAC,QAAQ,CAAC,CAAC;IA1BpB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,YAAY,CAA2B;IAC/C,+FAA+F;IAC/F,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,eAAe,CAA8C;IACrE,sEAAsE;IACtE,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,gBAAgB,CAA+B;IACvD,OAAO,CAAC,SAAS,CAAgB;gBAGd,IAAI,EAAE,WAAW,EAClC,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,gBAAgB,EACV,CAAC,GAAE,UAA0B;IAahD,OAAO,CAAC,KAAK;IAgLb,qCAAqC;IACrC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAKvC,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,UAAU;IA0ElB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,eAAe;IAMvB,uGAAuG;IACvG,OAAO,CAAC,WAAW;IAwBnB,mFAAmF;IACnF,OAAO,CAAC,WAAW;IAiBnB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,UAAU;IAUlB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAiDhC,8DAA8D;IAC9D,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,iBAAiB;IAgBzD,oEAAoE;IACpE,QAAQ,IAAI,cAAc,GAAG,IAAI;IAIjC,kFAAkF;IAClF,IAAI,IAAI,IAAI;IAIZ,yDAAyD;IACzD,OAAO,CAAC,YAAY;IAWpB,6EAA6E;IAC7E,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,OAAO;IAMf,OAAO,IAAI,IAAI;CAIhB"}
1
+ {"version":3,"file":"WidgetDrawingSidebar.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetDrawingSidebar.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAElG,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AA0BjE,qBAAa,oBAAoB;IAoC7B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAGrB,OAAO,CAAC,QAAQ,CAAC,CAAC;IAtCpB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,YAAY,CAA2B;IAC/C,+FAA+F;IAC/F,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,eAAe,CAA8C;IACrE,sEAAsE;IACtE,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,gBAAgB,CAA+B;IACvD,OAAO,CAAC,SAAS,CAAgB;IACjC,0GAA0G;IAC1G,OAAO,CAAC,GAAG,CAAoB;IAC/B,0DAA0D;IAC1D,OAAO,CAAC,QAAQ,CAAM;IACtB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAI1B;IACF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAEvB;gBAGiB,IAAI,EAAE,WAAW,EAClC,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,gBAAgB,EACV,CAAC,GAAE,UAA0B;IAuBhD,2EAA2E;IAC3E,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,MAAM;IAId,uDAAuD;IACvD,OAAO,CAAC,OAAO;IAiBf,6EAA6E;IAC7E,YAAY,IAAI,IAAI;IAIpB,yGAAyG;IACzG,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,IAAI;IAKZ,OAAO,CAAC,KAAK;IAuMb,qCAAqC;IACrC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAKvC,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,UAAU;IA0ElB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,eAAe;IAMvB,uGAAuG;IACvG,OAAO,CAAC,WAAW;IAwBnB,mFAAmF;IACnF,OAAO,CAAC,WAAW;IAiBnB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,UAAU;IAUlB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAyDhC,8DAA8D;IAC9D,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,iBAAiB;IAgBzD,oEAAoE;IACpE,QAAQ,IAAI,cAAc,GAAG,IAAI;IAIjC,kFAAkF;IAClF,IAAI,IAAI,IAAI;IAIZ,yDAAyD;IACzD,OAAO,CAAC,YAAY;IAWpB,6EAA6E;IAC7E,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,OAAO;IAMf,OAAO,IAAI,IAAI;CAMhB"}
@@ -5,14 +5,27 @@ export declare class WidgetDropdown {
5
5
  private onOutsideClick;
6
6
  private onEscapeKey;
7
7
  private onTriggerClick;
8
+ /** Where the menu opens, over the page: the widget's overlay layer. Without one it opens inside its button. */
9
+ private readonly layer;
10
+ private readonly align;
11
+ private readonly onAway;
12
+ private readonly onScroll;
13
+ /**
14
+ * `layer`: the menu opens there, fixed beside its button (below, or above
15
+ * when there is more room), so no box around the widget clips it and no
16
+ * panel of the widget covers it.
17
+ */
8
18
  constructor(trigger: HTMLElement, config?: {
9
19
  width?: string;
10
20
  align?: 'left' | 'right';
21
+ layer?: () => HTMLElement;
11
22
  });
12
23
  setContent(html: string): void;
13
24
  open(): void;
14
25
  close(): void;
15
26
  isOpen(): boolean;
16
27
  destroy(): void;
28
+ /** Fixed beside the button: below it, or above when there is more room; inside the window. */
29
+ private place;
17
30
  }
18
31
  //# sourceMappingURL=WidgetDropdown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetDropdown.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetDropdown.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,cAAc,CAAa;gBAEvB,OAAO,EAAE,WAAW,EAAE,MAAM,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAO;IA0C3F,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI9B,IAAI,IAAI,IAAI;IAQZ,KAAK,IAAI,IAAI;IAQb,MAAM,IAAI,OAAO;IAIjB,OAAO,IAAI,IAAI;CAMhB"}
1
+ {"version":3,"file":"WidgetDropdown.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetDropdown.ts"],"names":[],"mappings":"AAEA,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,cAAc,CAAa;IACnC,+GAA+G;IAC/G,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IACnD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAIvB;IAEF;;;;OAIG;gBACS,OAAO,EAAE,WAAW,EAAE,MAAM,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,WAAW,CAAA;KAAO;IAuDtH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI9B,IAAI,IAAI,IAAI;IAiBZ,KAAK,IAAI,IAAI;IAUb,MAAM,IAAI,OAAO;IAIjB,OAAO,IAAI,IAAI;IAMf,8FAA8F;IAC9F,OAAO,CAAC,KAAK;CAGd"}
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetStyles.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetStyles.ts"],"names":[],"mappings":"AAMA;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAWzC;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAQzC"}
1
+ {"version":3,"file":"WidgetStyles.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetStyles.ts"],"names":[],"mappings":"AAOA;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAYzC;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAQzC"}
@@ -4,6 +4,8 @@ import { Translator } from './i18n.js';
4
4
  /** A host button's name: its label, with the text it shows when that says more ("News: 3"). */
5
5
  export declare function setHostButtonName(btn: HTMLButtonElement, label: string): void;
6
6
  export declare class WidgetToolbar {
7
+ private readonly host;
8
+ private readonly layer?;
7
9
  private config;
8
10
  private callbacks;
9
11
  private t;
@@ -23,8 +25,36 @@ export declare class WidgetToolbar {
23
25
  /** Where hosts' own buttons go: after the chart controls, and before the panel buttons. */
24
26
  private hostLeft;
25
27
  private hostRight;
26
- constructor(host: HTMLElement, config: ToolbarConfig, callbacks: ToolbarCallbacks, t: Translator);
28
+ /** The "more" menu of a narrow toolbar: the buttons it hides. */
29
+ private moreMenu;
30
+ private tfCurrent;
31
+ private resizeObserver;
32
+ private moreBtn;
33
+ private fitFrame;
34
+ /**
35
+ * `layer`: where the toolbar's menus open, over the page (the widget's
36
+ * overlay layer), so no box around the widget clips them. Without one they
37
+ * open inside their buttons.
38
+ */
39
+ constructor(host: HTMLElement, config: ToolbarConfig, callbacks: ToolbarCallbacks, t: Translator, layer?: (() => HTMLElement) | undefined);
40
+ /** Fit once before the next frame, however many changes came first. */
41
+ private scheduleFit;
42
+ /**
43
+ * What a menu opened from `btn` hangs from: the button, or "more" while the
44
+ * button is folded under it.
45
+ */
46
+ private anchorOf;
47
+ /**
48
+ * Fit the toolbar to its width. When everything doesn't fit, the buttons
49
+ * on the right fold under "more" one at a time, from the right, until the
50
+ * rest does; when even that isn't enough, the menus show their icons only
51
+ * and the interval buttons give way to the interval menu, and as many
52
+ * buttons as then fit come back.
53
+ */
54
+ fit(): void;
27
55
  private build;
56
+ /** The buttons a narrow toolbar hides, as a menu under `anchor`: those switched off left out. */
57
+ private toggleMore;
28
58
  /** A host's own button, on the left or the right of the toolbar. */
29
59
  addHostButton(spec: ToolbarButtonSpec): HTMLButtonElement;
30
60
  /** The holder of hosts' own buttons (and anything else of theirs) on one side. */
@@ -63,6 +93,7 @@ export declare class WidgetToolbar {
63
93
  update(state: WidgetState): void;
64
94
  private sep;
65
95
  private spacer;
96
+ /** A button on the right: a narrow toolbar shows it in the "more" menu instead. */
66
97
  private iconBtn;
67
98
  destroy(): void;
68
99
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetToolbar.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetToolbar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAIlG,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAMlD,+FAA+F;AAC/F,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAI7E;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,CAAC,CAAa;IACtB,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,WAAW,CAAmB;IACtC,gFAAgF;IAChF,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAiC;IACrD,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,QAAQ,CAAkC;IAClD,mEAAmE;IACnE,OAAO,CAAC,kBAAkB,CAAgB;IAC1C,OAAO,CAAC,aAAa,CAAkC;IACvD,2FAA2F;IAC3F,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,SAAS,CAA+B;gBAEpC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,EAAE,UAAU;IAWhG,OAAO,CAAC,KAAK;IA0Kb,oEAAoE;IACpE,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,iBAAiB;IAsBzD,kFAAkF;IAClF,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,cAAc,GAAG,IAAI;IAIvD,OAAO,CAAC,SAAS;IAMjB,2GAA2G;IAC3G,eAAe,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI;IAOlC,qFAAqF;IACrF,IAAI,IAAI,IAAI;IAIZ,6EAA6E;IAC7E,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,GAAG,IAAI;IAO1C,2GAA2G;IAC3G,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAYpD,yDAAyD;IACzD,aAAa,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI;IAQhC,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,kBAAkB;IAkB1B,6EAA6E;IAC7E,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAO/C,+EAA+E;IAC/E,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI;IAKpF,8DAA8D;IAC9D,qBAAqB,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI;IAMnD,OAAO,CAAC,kBAAkB;IAiD1B,qGAAqG;IACrG,OAAO,CAAC,mBAAmB;IAyB3B,OAAO,CAAC,gBAAgB;IAsBxB;;;OAGG;IACH,qBAAqB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,SAAS,UAAQ,GAAG,IAAI;IAMxE,mFAAmF;IACnF,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,kBAAkB;IA6C1B,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAiChC,OAAO,CAAC,GAAG;IAMX,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,OAAO;IASf,OAAO,IAAI,IAAI;CAKhB"}
1
+ {"version":3,"file":"WidgetToolbar.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetToolbar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ export interface CalendarLabels {
2
+ prevMonth: string;
3
+ nextMonth: string;
4
+ today: string;
5
+ }
6
+ export interface CalendarDay {
7
+ year: number;
8
+ /** 0–11. */
9
+ month: number;
10
+ day: number;
11
+ }
12
+ /** The first day of the week where `locale` is spoken: 0 Sunday, 1 Monday. */
13
+ export declare function weekStart(locale: string): 0 | 1;
14
+ /** Six whole weeks around month `month` of `year`, from `firstDay` (0 Sunday, 1 Monday). */
15
+ export declare function monthGrid(year: number, month: number, firstDay: 0 | 1): CalendarDay[];
16
+ /**
17
+ * The calendar a date field opens, drawn by the widget: a month of days with
18
+ * arrows to turn it, today marked and a button to go there. The field stays
19
+ * the `<input type="date">` it was; a pick sets its value (YYYY-MM-DD) and
20
+ * fires `input` and `change`.
21
+ */
22
+ export declare class CalendarPopup {
23
+ private readonly layer;
24
+ private readonly labels;
25
+ private readonly locale;
26
+ private input;
27
+ private panel;
28
+ private grid;
29
+ private titleEl;
30
+ /** The month shown and the day the keys are on. */
31
+ private view;
32
+ private focusDay;
33
+ private readonly onOutside;
34
+ private readonly onAway;
35
+ private readonly onScroll;
36
+ /** Closes the calendar when its field leaves the page (its dialog closed). */
37
+ private readonly watch;
38
+ constructor(layer: () => HTMLElement, labels: () => CalendarLabels, locale: () => string);
39
+ isOpenFor(input: HTMLInputElement): boolean;
40
+ /** Whether `node` is the open calendar's field or inside the calendar. */
41
+ owns(node: Node | null): boolean;
42
+ open(input: HTMLInputElement): void;
43
+ /** Closes the calendar; `refocus` puts focus back on the field. */
44
+ close(refocus: boolean): void;
45
+ /** Moves keyboard focus into the days (from the field: ArrowDown). */
46
+ focusGrid(): void;
47
+ destroy(): void;
48
+ private navButton;
49
+ private turn;
50
+ /** `day` moved inside the field's min and max, so the keys never rest on a greyed day. */
51
+ private clamp;
52
+ private allowed;
53
+ private render;
54
+ private onKey;
55
+ private moveFocus;
56
+ private pick;
57
+ }
58
+ //# sourceMappingURL=calendarPopup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendarPopup.d.ts","sourceRoot":"","sources":["../../src/widget/calendarPopup.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAQD,8EAA8E;AAC9E,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,CAY/C;AAED,4FAA4F;AAC5F,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,WAAW,EAAE,CASrF;AAsBD;;;;;GAKG;AACH,qBAAa,aAAa;IAwBtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAzBzB,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,IAAI,CAA4B;IACxC,OAAO,CAAC,OAAO,CAA4B;IAC3C,mDAAmD;IACnD,OAAO,CAAC,IAAI,CAAyB;IACrC,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAIxB;IACF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAClD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAGvB;IACF,8EAA8E;IAC9E,OAAO,CAAC,QAAQ,CAAC,KAAK,CAEnB;gBAGgB,KAAK,EAAE,MAAM,WAAW,EACxB,MAAM,EAAE,MAAM,cAAc,EAC5B,MAAM,EAAE,MAAM,MAAM;IAGvC,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO;IAI3C,0EAA0E;IAC1E,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,OAAO;IAIhC,IAAI,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAiFnC,mEAAmE;IACnE,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAa7B,sEAAsE;IACtE,SAAS,IAAI,IAAI;IAIjB,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,IAAI;IAUZ,0FAA0F;IAC1F,OAAO,CAAC,KAAK;IASb,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,MAAM;IAqCd,OAAO,CAAC,KAAK;IAqBb,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,IAAI;CAUb"}
@@ -0,0 +1,27 @@
1
+ import { CalendarLabels } from './calendarPopup.js';
2
+ export interface FormControlOptions {
3
+ /** Where the lists and calendars open, over the page (the widget's overlay layer). */
4
+ layer: () => HTMLElement;
5
+ labels: () => CalendarLabels;
6
+ /** The language for month and day names. */
7
+ locale: () => string;
8
+ /**
9
+ * Whether to leave fields to the platform's own pickers. Default: on a
10
+ * touch screen, where the phone's wheel and calendar are the better ones.
11
+ */
12
+ native?: () => boolean;
13
+ /**
14
+ * Whether date fields open the widget's calendar. Default: where the
15
+ * browser's own calendar can be kept shut (Chromium, Safari); Firefox
16
+ * keeps its own.
17
+ */
18
+ calendar?: () => boolean;
19
+ }
20
+ /**
21
+ * Selects and date fields inside `roots` open the widget's own list and
22
+ * calendar instead of the browser's: one look in every theme and every
23
+ * browser. The fields themselves are untouched, so their values and events
24
+ * stay as they were. Returns the uninstall.
25
+ */
26
+ export declare function installFormControls(roots: readonly HTMLElement[], options: FormControlOptions): () => void;
27
+ //# sourceMappingURL=formControls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formControls.d.ts","sourceRoot":"","sources":["../../src/widget/formControls.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAExE,MAAM,WAAW,kBAAkB;IACjC,sFAAsF;IACtF,KAAK,EAAE,MAAM,WAAW,CAAC;IACzB,MAAM,EAAE,MAAM,cAAc,CAAC;IAC7B,4CAA4C;IAC5C,MAAM,EAAE,MAAM,MAAM,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC;CAC1B;AAmBD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,EAAE,OAAO,EAAE,kBAAkB,GAAG,MAAM,IAAI,CAgG1G"}