@santi020k/lumen-core 3.0.0 → 3.0.1

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.
package/README.md CHANGED
@@ -55,6 +55,7 @@ aligned.
55
55
  ```ts
56
56
  import {
57
57
  createLumenLineGeometry,
58
+ getLumenChartAxisPadding,
58
59
  type LumenChartSeries
59
60
  } from '@santi020k/lumen-core/charts'
60
61
 
@@ -64,9 +65,23 @@ const series: LumenChartSeries = {
64
65
  data: [{ x: 'Mon', y: 42 }, { x: 'Tue', y: 68 }]
65
66
  }
66
67
 
67
- createLumenLineGeometry(series.data)
68
+ const valueLabels = ['$0', '$68,000']
69
+ const paddingLeft = getLumenChartAxisPadding(valueLabels)
70
+
71
+ createLumenLineGeometry(series.data, {
72
+ paddingBottom: 24,
73
+ paddingLeft,
74
+ paddingRight: 16,
75
+ paddingTop: 16
76
+ })
68
77
  ```
69
78
 
79
+ Use `getLumenChartAxisPadding` when formatted value-axis labels need more than the default inset.
80
+ It estimates proportional and wide Unicode glyphs during server rendering, honors an optional
81
+ minimum, and caps the result at 240 so labels cannot consume the complete plot. The line geometry
82
+ helper accepts `paddingTop`, `paddingRight`, `paddingBottom`, and `paddingLeft` to reserve each edge
83
+ independently; unspecified edges fall back to `padding`.
84
+
70
85
  ## Phone Helpers
71
86
 
72
87
  `@santi020k/lumen-core/phone` provides localized country metadata, supplementary flag labels,
package/dist/charts.d.ts CHANGED
@@ -96,6 +96,10 @@ export interface LumenLineGeometryOptions {
96
96
  height?: number;
97
97
  includeZero?: boolean;
98
98
  padding?: number;
99
+ paddingBottom?: number;
100
+ paddingLeft?: number;
101
+ paddingRight?: number;
102
+ paddingTop?: number;
99
103
  width?: number;
100
104
  xDomain?: Partial<LumenChartDomain>;
101
105
  xScale?: LumenChartScaleType;
@@ -231,6 +235,12 @@ export declare const hasLumenPieData: (data: readonly LumenChartDatum[]) => bool
231
235
  export declare const getLumenChartDomain: (values: readonly (number | null)[], includeZero?: boolean) => LumenChartDomain;
232
236
  export declare const scaleLumenChartValue: (value: number, domain: LumenChartDomain, rangeStart: number, rangeEnd: number) => number;
233
237
  export declare const getLumenChartTicks: (domain: LumenChartDomain, count?: number) => number[];
238
+ /**
239
+ * Reserves enough SVG space for formatted value-axis labels when text measurement is unavailable
240
+ * during server rendering. The estimate targets Lumen's 0.6875rem chart label style and stays
241
+ * bounded so unusually verbose formatters cannot consume the complete plot.
242
+ */
243
+ export declare const getLumenChartAxisPadding: (labels: readonly string[], minimum?: number) => number;
234
244
  export declare const resolveLumenChartTone: (tone: LumenChartTone | undefined, index?: number) => LumenChartTone;
235
245
  export declare const getLumenChartToneClassName: (tone: LumenChartTone | undefined, index?: number) => string;
236
246
  export declare const getLumenPieChartVariantClassName: (variant: LumenPieChartVariant) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"charts.d.ts","sourceRoot":"","sources":["../src/charts.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,yKAelB,CAAA;AAEV,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAE7D,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAA;AACnE,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAA;AAExE,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAClC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,sBAAsB,CAAA;IACjC,KAAK,CAAC,EAAE,mBAAmB,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,IAAI,CAAC,EAAE,cAAc,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,cAAc,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,SAAS,eAAe,EAAE,CAAA;IAChC,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;IACpC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,cAAc,CAAA;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAA;IAChB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,cAAc,CAAA;IACrB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EACA,oBAAoB,GACtB,qBAAqB,GACrB,cAAc,GACd,WAAW,GACX,WAAW,GACX,YAAY,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,iBAAiB;IAChC,mBAAmB,EAAE,MAAM,CAAA;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,iBAAiB,EAAE,MAAM,CAAA;IACzB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,MAAM,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,CAAC,EAAE,MAAM,CAAA;IACT,oBAAoB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IAC/C,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IAC7C,aAAa,EAAE,CACb,OAAO,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EACpC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,KACnC,MAAM,CAAA;CACZ;AAeD,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,CAsBtD,CAAA;AAEF,eAAO,MAAM,uBAAuB,GAClC,QAAQ,OAAO,CAAC,gBAAgB,CAAC,GAAG,SAAS,KAC5C,QAAQ,CAAC,gBAAgB,CAAyC,CAAA;AAErE,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;IAC5B,MAAM,EAAE,gBAAgB,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,SAAS,uBAAuB,EAAE,CAAA;IAC1C,OAAO,CAAC,EAAE,gBAAgB,CAAA;CAC3B;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IACnC,MAAM,CAAC,EAAE,mBAAmB,CAAA;CAC7B;AAED,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,SAAS,CAAA;AACvD,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAAG,UAAU,CAAA;AAE7D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,cAAc,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,SAAS,wBAAwB,EAAE,CAAA;IAC/C,MAAM,EAAE,gBAAgB,CAAA;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,SAAS,oBAAoB,EAAE,CAAA;IACtC,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,uBAAuB;IACtC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,mBAAmB,CAAA;IAC5B,WAAW,CAAC,EAAE,qBAAqB,CAAA;IACnC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,KAAK,CAAA;AAwBlD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,cAAc,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,SAAS,qBAAqB,EAAE,CAAA;IACxC,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,oBAAoB,CAAA;CAC/B;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAA;AAEpD,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,IAAI,EAAE,cAAc,CAAA;CACrB;AAED,MAAM,WAAW,yBAA0B,SAAQ,uBAAuB;IACxE,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,cAAc,CAAA;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,gBAAgB,CAAA;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,SAAS,yBAAyB,EAAE,CAAA;IAC5C,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,gBAAgB,CAAA;CAC1B;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IACnC,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAA;CACrD;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,cAAc,CAAA;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IACjE,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,SAAS,wBAAwB,EAAE,CAAA;IAC1C,MAAM,EAAE,gBAAgB,CAAA;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACzC,WAAW,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;CAC1C;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,gBAAgB,CAAA;IACxB,MAAM,EAAE,SAAS,uBAAuB,EAAE,CAAA;CAC3C;AAKD,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,SAAS,gBAAgB,EAAE,KAClC,OAAqG,CAAA;AAExG,eAAO,MAAM,eAAe,GAAI,MAAM,SAAS,eAAe,EAAE,KAAG,OAElE,CAAA;AAED,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,EAClC,qBAAkB,KACjB,gBA6BF,CAAA;AAeD,eAAO,MAAM,oBAAoB,GAC/B,OAAO,MAAM,EACb,QAAQ,gBAAgB,EACxB,YAAY,MAAM,EAClB,UAAU,MAAM,KACf,MAQF,CAAA;AAED,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,gBAAgB,EACxB,cAAS,KACR,MAAM,EA2BR,CAAA;AAED,eAAO,MAAM,qBAAqB,GAChC,MAAM,cAAc,GAAG,SAAS,EAChC,cAAS,KACR,cAAkE,CAAA;AAErE,eAAO,MAAM,0BAA0B,GACrC,MAAM,cAAc,GAAG,SAAS,EAChC,cAAS,KACR,MAAsE,CAAA;AAEzE,eAAO,MAAM,gCAAgC,GAC3C,SAAS,oBAAoB,KAC5B,MAAiD,CAAA;AAuGpD,eAAO,MAAM,sBAAsB,GACjC,MAAM,SAAS,eAAe,EAAE,EAChC,UAAS,uBAA4B,KACpC,gBA2CF,CAAA;AAED,eAAO,MAAM,qBAAqB,GAChC,OAAO,MAAM,GAAG,MAAM,EACtB,OAAO,OAAO,CAAC,mBAAmB,EAAE,aAAa,CAAC,KACjD,MAAM,GAAG,IAYX,CAAA;AA8GD,eAAO,MAAM,uBAAuB,GAClC,MAAM,SAAS,eAAe,EAAE,EAChC,UAAS,wBAA6B,KACrC,iBAuCF,CAAA;AAED,eAAO,MAAM,uBAAuB,GAClC,OAAO,MAAM,EACb,QAAQ,gBAAgB,KACvB,MAIF,CAAA;AAED,eAAO,MAAM,uBAAuB,GAClC,QAAQ,SAAS,gBAAgB,EAAE,KAClC,CAAC,MAAM,GAAG,MAAM,CAAC,EAYnB,CAAA;AAUD,eAAO,MAAM,qBAAqB,GAChC,QAAQ,gBAAgB,EACxB,YAAY,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KACvC,gBAYF,CAAA;AA8CD,eAAO,MAAM,sBAAsB,GACjC,QAAQ,SAAS,gBAAgB,EAAE,EACnC,UAAS,uBAA4B,KACpC,gBA4JF,CAAA;AAGD,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,SAAS,gBAAgB,EAAE,KAClC,iBA6BF,CAAA;AAED,eAAO,MAAM,uBAAuB,GAClC,QAAQ,SAAS,gBAAgB,EAAE,EACnC,cAAa,CAAC,KAAK,EAAE,MAAM,KAAK,MAAe,EAC/C,SAAS,OAAO,CAAC,gBAAgB,CAAC,KACjC,MAKF,CAAA;AA0FD,eAAO,MAAM,wBAAwB,GACnC,QAAQ,SAAS,gBAAgB,EAAE,EACnC,SAAQ,mBAAmC,KAC1C,yBAAyB,EAgC3B,CAAA;AAiCD,eAAO,MAAM,wBAAwB,GACnC,MAAM,SAAS,eAAe,EAAE,EAChC,WAAW,MAAM,KAChB,eAAe,EA4BjB,CAAA;AAED,eAAO,MAAM,qBAAqB,GAChC,QAAQ,gBAAgB,EACxB,OAAO,eAAe,EACtB,sBAAmB,KAClB,gBAQF,CAAA;AAsED,eAAO,MAAM,0BAA0B,GACrC,QAAQ,SAAS,gBAAgB,EAAE,EACnC,UAAS,2BAAgC,KACxC,oBAsDF,CAAA;AA0CD,eAAO,MAAM,0BAA0B,GACrC,MAAM,SAAS,iBAAiB,EAAE,EAClC,cAAW,EACX,eAAY,KACX,oBA4BF,CAAA;AA+BD,eAAO,MAAM,wBAAwB,GACnC,MAAM,SAAS,eAAe,EAAE,EAChC,UAAS,wBAA6B,KACrC,kBAyDF,CAAA"}
1
+ {"version":3,"file":"charts.d.ts","sourceRoot":"","sources":["../src/charts.ts"],"names":[],"mappings":"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"}
package/dist/charts.js CHANGED
@@ -134,6 +134,71 @@ export const getLumenChartTicks = (domain, count = 5) => {
134
134
  return ticks;
135
135
  return [domain.min, domain.max];
136
136
  };
137
+ const chartAxisLabelCharacterWidth = 7;
138
+ const chartAxisLabelNarrowCharacterWidth = 4;
139
+ const chartAxisLabelWideCharacterWidth = 11;
140
+ const chartAxisLabelGap = 16;
141
+ const maximumChartAxisPadding = 240;
142
+ const chartAxisLabelNarrowCharacters = new Set([
143
+ ' ', '.', ',', ':', ';', '!', '|', '\'', 'i', 'j', 'l', 'I'
144
+ ]);
145
+ const chartAxisLabelWideCharacters = new Set(['M', 'W', '@', '%', '&', '#']);
146
+ const chartAxisCombiningCodePointRanges = [
147
+ [0x0300, 0x036F],
148
+ [0x1AB0, 0x1AFF],
149
+ [0x1DC0, 0x1DFF],
150
+ [0x20D0, 0x20FF],
151
+ [0xFE00, 0xFE0F],
152
+ [0xFE20, 0xFE2F],
153
+ [0x1F3FB, 0x1F3FF]
154
+ ];
155
+ const chartAxisWideCodePointRanges = [
156
+ [0x1100, 0x115F],
157
+ [0x2329, 0x232A],
158
+ [0x2E80, 0xA4CF],
159
+ [0xAC00, 0xD7A3],
160
+ [0xF900, 0xFAFF],
161
+ [0xFE10, 0xFE19],
162
+ [0xFE30, 0xFE6F],
163
+ [0xFF00, 0xFF60],
164
+ [0xFFE0, 0xFFE6],
165
+ [0x1F300, 0x1FAFF],
166
+ [0x20000, 0x3FFFD]
167
+ ];
168
+ const isLumenChartCodePointInRanges = (codePoint, ranges) => ranges.some(([start, end]) => codePoint >= start && codePoint <= end);
169
+ const isLumenChartCombiningCodePoint = (codePoint) => (codePoint === 0x200D ||
170
+ isLumenChartCodePointInRanges(codePoint, chartAxisCombiningCodePointRanges));
171
+ const isLumenChartWideCodePoint = (codePoint) => (isLumenChartCodePointInRanges(codePoint, chartAxisWideCodePointRanges));
172
+ const getLumenChartAxisCharacterWidth = (character) => {
173
+ const codePoint = character.codePointAt(0) ?? 0;
174
+ if (isLumenChartCombiningCodePoint(codePoint))
175
+ return 0;
176
+ if (isLumenChartWideCodePoint(codePoint))
177
+ return chartAxisLabelWideCharacterWidth;
178
+ if (chartAxisLabelWideCharacters.has(character))
179
+ return 10;
180
+ if (chartAxisLabelNarrowCharacters.has(character))
181
+ return chartAxisLabelNarrowCharacterWidth;
182
+ return chartAxisLabelCharacterWidth;
183
+ };
184
+ const estimateLumenChartAxisLabelWidth = (label) => {
185
+ let width = 0;
186
+ for (const character of label) {
187
+ width += getLumenChartAxisCharacterWidth(character);
188
+ }
189
+ return Math.max(label.length * chartAxisLabelCharacterWidth, width);
190
+ };
191
+ /**
192
+ * Reserves enough SVG space for formatted value-axis labels when text measurement is unavailable
193
+ * during server rendering. The estimate targets Lumen's 0.6875rem chart label style and stays
194
+ * bounded so unusually verbose formatters cannot consume the complete plot.
195
+ */
196
+ export const getLumenChartAxisPadding = (labels, minimum = 44) => {
197
+ const safeMinimum = Math.max(0, minimum);
198
+ const widestLabelWidth = labels.reduce((widest, label) => Math.max(widest, estimateLumenChartAxisLabelWidth(label)), 0);
199
+ const estimated = widestLabelWidth + chartAxisLabelGap;
200
+ return Math.min(maximumChartAxisPadding, Math.max(safeMinimum, estimated));
201
+ };
137
202
  export const resolveLumenChartTone = (tone, index = 0) => tone ?? lumenChartTones[index % 8] ?? 'series-1';
138
203
  export const getLumenChartToneClassName = (tone, index = 0) => lumenChartToneClassNames[resolveLumenChartTone(tone, index)];
139
204
  export const getLumenPieChartVariantClassName = (variant) => lumenPieChartVariantClassNames[variant];
@@ -250,24 +315,24 @@ const getLumenChartXDomain = (data, scale, requested) => {
250
315
  min: requested?.min ?? calculated.min
251
316
  };
252
317
  };
253
- const getLumenLineXCoordinate = (datum, index, dataLength, padding, drawableWidth, xScale, xDomain) => {
318
+ const getLumenLineXCoordinate = (datum, index, dataLength, paddingLeft, drawableWidth, xScale, xDomain) => {
254
319
  if (xScale === 'categorical') {
255
320
  const denominator = Math.max(1, dataLength - 1);
256
- return padding + (dataLength === 1 ? 0.5 : index / denominator) * drawableWidth;
321
+ return paddingLeft + (dataLength === 1 ? 0.5 : index / denominator) * drawableWidth;
257
322
  }
258
323
  const numericX = getLumenChartNumericX(datum.x, xScale);
259
324
  if (numericX === null || xDomain === undefined)
260
325
  return null;
261
- return scaleLumenChartValue(numericX, xDomain, padding, padding + drawableWidth);
326
+ return scaleLumenChartValue(numericX, xDomain, paddingLeft, paddingLeft + drawableWidth);
262
327
  };
263
328
  const isAvailableLumenChartY = (value) => value !== null && Number.isFinite(value);
264
- const splitGeometrySegments = (data, domain, width, height, padding, xScale, xDomain) => {
265
- const drawableWidth = Math.max(0, width - padding * 2);
266
- const drawableHeight = Math.max(0, height - padding * 2);
329
+ const splitGeometrySegments = (data, domain, width, height, paddingBottom, paddingLeft, paddingRight, paddingTop, xScale, xDomain) => {
330
+ const drawableWidth = Math.max(0, width - paddingLeft - paddingRight);
331
+ const drawableHeight = Math.max(0, height - paddingTop - paddingBottom);
267
332
  const segments = [];
268
333
  let current = [];
269
334
  for (const [index, datum] of data.entries()) {
270
- const xCoordinate = getLumenLineXCoordinate(datum, index, data.length, padding, drawableWidth, xScale, xDomain);
335
+ const xCoordinate = getLumenLineXCoordinate(datum, index, data.length, paddingLeft, drawableWidth, xScale, xDomain);
271
336
  if (!isAvailableLumenChartY(datum.y) || xCoordinate === null) {
272
337
  if (current.length > 0)
273
338
  segments.push(current);
@@ -277,7 +342,7 @@ const splitGeometrySegments = (data, domain, width, height, padding, xScale, xDo
277
342
  current.push({
278
343
  ...datum,
279
344
  xCoordinate,
280
- yCoordinate: scaleLumenChartValue(datum.y, domain, padding + drawableHeight, padding)
345
+ yCoordinate: scaleLumenChartValue(datum.y, domain, paddingTop + drawableHeight, paddingTop)
281
346
  });
282
347
  }
283
348
  if (current.length > 0)
@@ -303,8 +368,13 @@ const lumenLineAreaPath = (points, baseline) => {
303
368
  'Z'
304
369
  ].join(' ');
305
370
  };
371
+ const resolveLumenLinePadding = (value, fallback) => value ?? fallback;
306
372
  export const createLumenLineGeometry = (data, options = {}) => {
307
- const { domain: requestedDomain, height = defaultChartSize, includeZero = false, padding = defaultChartPadding, width = defaultChartSize, xDomain: requestedXDomain, xScale = 'categorical' } = options;
373
+ const { domain: requestedDomain, height = defaultChartSize, includeZero = false, padding = defaultChartPadding, paddingBottom: requestedPaddingBottom, paddingLeft: requestedPaddingLeft, paddingRight: requestedPaddingRight, paddingTop: requestedPaddingTop, width = defaultChartSize, xDomain: requestedXDomain, xScale = 'categorical' } = options;
374
+ const paddingBottom = resolveLumenLinePadding(requestedPaddingBottom, padding);
375
+ const paddingLeft = resolveLumenLinePadding(requestedPaddingLeft, padding);
376
+ const paddingRight = resolveLumenLinePadding(requestedPaddingRight, padding);
377
+ const paddingTop = resolveLumenLinePadding(requestedPaddingTop, padding);
308
378
  const domainValues = xScale === 'categorical' ?
309
379
  data.map(datum => datum.y) :
310
380
  data
@@ -312,8 +382,8 @@ export const createLumenLineGeometry = (data, options = {}) => {
312
382
  .map(datum => datum.y);
313
383
  const domain = resolveLumenChartDomain(domainValues, requestedDomain, includeZero);
314
384
  const xDomain = xScale === 'categorical' ? undefined : getLumenChartXDomain(data, xScale, requestedXDomain);
315
- const segments = splitGeometrySegments(data, domain, width, height, padding, xScale, xDomain);
316
- const baseline = scaleLumenChartValue(Math.max(domain.min, Math.min(domain.max, 0)), domain, height - padding, padding);
385
+ const segments = splitGeometrySegments(data, domain, width, height, paddingBottom, paddingLeft, paddingRight, paddingTop, xScale, xDomain);
386
+ const baseline = scaleLumenChartValue(Math.max(domain.min, Math.min(domain.max, 0)), domain, height - paddingBottom, paddingTop);
317
387
  return {
318
388
  areaPaths: segments
319
389
  .map(points => lumenLineAreaPath(points, baseline))
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { alignLumenChartSeries, appendLumenChartDatum, createLumenBarGeometry, createLumenHeatmapGeometry, createLumenLineGeometry, createLumenPieGeometry, createLumenRangeGeometry, createLumenScatterGeometry, downsampleLumenChartData, formatLumenChartSummary, getLumenChartCategories, getLumenChartDomain, getLumenChartNumericX, getLumenChartTicks, getLumenChartToneClassName, getLumenChartValueRatio, getLumenPieChartVariantClassName, hasLumenChartData, hasLumenPieData, type LumenBarChartLayout, type LumenBarGeometry, type LumenBarGeometryCategory, type LumenBarGeometryMark, type LumenBarGeometryOptions, type LumenChartAnnotation, type LumenChartAxis, type LumenChartAxisPosition, type LumenChartDatum, type LumenChartDomain, type LumenChartGeometryPoint, type LumenChartLabels, lumenChartLabels, type LumenChartOrientation, type LumenChartReference, type LumenChartScaleType, type LumenChartSelection, type LumenChartSeries, type LumenChartSummary, type LumenChartTone, lumenChartTones, type LumenChartValidationIssue, type LumenComboMark, type LumenComboSeries, type LumenHeatmapDatum, type LumenHeatmapGeometry, type LumenHeatmapGeometryCell, type LumenLineGeometry, type LumenLineGeometryOptions, type LumenPieChartVariant, type LumenPieGeometry, type LumenPieGeometryOptions, type LumenPieGeometrySlice, type LumenRangeDatum, type LumenRangeGeometry, type LumenRangeGeometryPoint, type LumenScatterGeometry, type LumenScatterGeometryOptions, type LumenScatterGeometryPoint, resolveLumenChartLabels, resolveLumenChartTone, scaleLumenChartValue, summarizeLumenChart, validateLumenChartSeries } from './charts.js';
1
+ export { alignLumenChartSeries, appendLumenChartDatum, createLumenBarGeometry, createLumenHeatmapGeometry, createLumenLineGeometry, createLumenPieGeometry, createLumenRangeGeometry, createLumenScatterGeometry, downsampleLumenChartData, formatLumenChartSummary, getLumenChartAxisPadding, getLumenChartCategories, getLumenChartDomain, getLumenChartNumericX, getLumenChartTicks, getLumenChartToneClassName, getLumenChartValueRatio, getLumenPieChartVariantClassName, hasLumenChartData, hasLumenPieData, type LumenBarChartLayout, type LumenBarGeometry, type LumenBarGeometryCategory, type LumenBarGeometryMark, type LumenBarGeometryOptions, type LumenChartAnnotation, type LumenChartAxis, type LumenChartAxisPosition, type LumenChartDatum, type LumenChartDomain, type LumenChartGeometryPoint, type LumenChartLabels, lumenChartLabels, type LumenChartOrientation, type LumenChartReference, type LumenChartScaleType, type LumenChartSelection, type LumenChartSeries, type LumenChartSummary, type LumenChartTone, lumenChartTones, type LumenChartValidationIssue, type LumenComboMark, type LumenComboSeries, type LumenHeatmapDatum, type LumenHeatmapGeometry, type LumenHeatmapGeometryCell, type LumenLineGeometry, type LumenLineGeometryOptions, type LumenPieChartVariant, type LumenPieGeometry, type LumenPieGeometryOptions, type LumenPieGeometrySlice, type LumenRangeDatum, type LumenRangeGeometry, type LumenRangeGeometryPoint, type LumenScatterGeometry, type LumenScatterGeometryOptions, type LumenScatterGeometryPoint, resolveLumenChartLabels, resolveLumenChartTone, scaleLumenChartValue, summarizeLumenChart, validateLumenChartSeries } from './charts.js';
2
2
  export { type LumenCodeToken, lumenCodeTokenClassNames, type LumenCodeTokenKind, normalizeLumenCode, renderLumenCodeHtml, tokenizeLumenCode } from './code.js';
3
3
  export { type LumenComponentBehavior, lumenComponentBehavior, type LumenComponentName, lumenComponentNames, type LumenGlobalBehavior, lumenGlobalBehaviors, lumenPackages, type LumenPackageTarget, type LumenStylingContract, lumenStylingContracts } from './components.js';
4
4
  export { applyDataViewState, createDataViewRequestUrl, createDataViewSearchParams, createDataViewServerRequest, createDataViewState, createDataViewStorageKey, filterDataRecords, getVirtualRange, loadDataViewState, type LumenDataRecord, type LumenDataViewServerRequest, type LumenDataViewState, type LumenKeyValueReader, type LumenKeyValueStorage, type LumenKeyValueWriter, type LumenSortDirection, paginateDataRecords, parseDataViewState, pinDataViewColumn, saveDataViewState, serializeDataViewState, sortDataRecords, toggleDataViewSelection, unpinDataViewColumn } from './data.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { alignLumenChartSeries, appendLumenChartDatum, createLumenBarGeometry, createLumenHeatmapGeometry, createLumenLineGeometry, createLumenPieGeometry, createLumenRangeGeometry, createLumenScatterGeometry, downsampleLumenChartData, formatLumenChartSummary, getLumenChartCategories, getLumenChartDomain, getLumenChartNumericX, getLumenChartTicks, getLumenChartToneClassName, getLumenChartValueRatio, getLumenPieChartVariantClassName, hasLumenChartData, hasLumenPieData, lumenChartLabels, lumenChartTones, resolveLumenChartLabels, resolveLumenChartTone, scaleLumenChartValue, summarizeLumenChart, validateLumenChartSeries } from './charts.js';
1
+ export { alignLumenChartSeries, appendLumenChartDatum, createLumenBarGeometry, createLumenHeatmapGeometry, createLumenLineGeometry, createLumenPieGeometry, createLumenRangeGeometry, createLumenScatterGeometry, downsampleLumenChartData, formatLumenChartSummary, getLumenChartAxisPadding, getLumenChartCategories, getLumenChartDomain, getLumenChartNumericX, getLumenChartTicks, getLumenChartToneClassName, getLumenChartValueRatio, getLumenPieChartVariantClassName, hasLumenChartData, hasLumenPieData, lumenChartLabels, lumenChartTones, resolveLumenChartLabels, resolveLumenChartTone, scaleLumenChartValue, summarizeLumenChart, validateLumenChartSeries } from './charts.js';
2
2
  export { lumenCodeTokenClassNames, normalizeLumenCode, renderLumenCodeHtml, tokenizeLumenCode } from './code.js';
3
3
  export { lumenComponentBehavior, lumenComponentNames, lumenGlobalBehaviors, lumenPackages, lumenStylingContracts } from './components.js';
4
4
  export { applyDataViewState, createDataViewRequestUrl, createDataViewSearchParams, createDataViewServerRequest, createDataViewState, createDataViewStorageKey, filterDataRecords, getVirtualRange, loadDataViewState, paginateDataRecords, parseDataViewState, pinDataViewColumn, saveDataViewState, serializeDataViewState, sortDataRecords, toggleDataViewSelection, unpinDataViewColumn } from './data.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@santi020k/lumen-core",
3
- "version": "3.0.0",
3
+ "version": "3.0.1",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },