@santi020k/lumen-core 1.0.0 → 1.2.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.
package/README.md CHANGED
@@ -7,6 +7,11 @@ Most consumers should install a framework package such as `@santi020k/lumen-astr
7
7
  The package exports `lumenColors` and `lumenGlass` for consumers that need to mirror Lumen theme
8
8
  tokens outside the shared stylesheet.
9
9
 
10
+ Cross-platform foundations originate in `tokens/lumen.tokens.json` and are published as
11
+ `@santi020k/lumen-tokens`. Core also exports generated hexadecimal light/dark palettes and native
12
+ numeric spacing, radius, typography, duration, easing, and elevation values. The legacy
13
+ `lumenColors` export retains CSS-ready HSL values.
14
+
10
15
  ## Chart Helpers
11
16
 
12
17
  `@santi020k/lumen-core/charts` exports the shared `LumenChartSeries` contract plus deterministic
@@ -1,7 +1,8 @@
1
- export declare const lumenComponentNames: readonly ["Accordion", "Alert", "AlertDialog", "Agenda", "AspectRatio", "Attachment", "Autocomplete", "Avatar", "BackToTop", "Badge", "BarChart", "Breadcrumb", "Bubble", "Button", "ButtonGroup", "Calendar", "Callout", "Card", "CardContent", "CardDescription", "CardFooter", "CardHeader", "CardTitle", "Carousel", "Chart", "Checkbox", "CheckboxGroup", "Collapsible", "Code", "CodeTabs", "Combobox", "Container", "CopyButton", "Command", "ContextMenu", "ColorPicker", "DataTable", "DatePicker", "DateRangePicker", "Dialog", "Direction", "Drawer", "DropdownMenu", "Empty", "ErrorSummary", "Eyebrow", "Field", "FieldError", "FloatingBadge", "Form", "FormattedDate", "HoverCard", "Icon", "Image", "Input", "InputGroup", "InputOTP", "Item", "Kbd", "Label", "Link", "LineChart", "ListBox", "Marker", "Menubar", "Message", "MessageScroller", "NativeSelect", "NavigationMenu", "NumberField", "Pagination", "PasswordField", "PhoneInput", "PieChart", "Pill", "Popover", "Progress", "Prose", "RadioGroup", "Resizable", "RichTextEditor", "ScrollArea", "ScrollProgress", "Schedule", "SearchField", "Select", "Separator", "Sheet", "Sidebar", "Skeleton", "SkipLink", "Slider", "Sonner", "Sparkline", "Spinner", "Switch", "Table", "Tabs", "TagGroup", "Textarea", "ThemeBuilder", "ThemeToggle", "TimeField", "Toast", "Toggle", "ToggleGroup", "Tooltip", "Tree", "TreeGrid", "Typography", "VirtualList", "LanguageToggle", "Particles", "AnimatedNumber", "RevealGroup", "ScrollReveal", "Stat", "StatDescription", "StatIcon", "StatLabel", "StatTrend", "StatValue", "Stack", "Meter", "Note", "Rating", "Timeline", "AnimatedLogo", "AnimatedPortrait", "ButtonLink", "CoverImage", "GradientDivider", "Stepper", "FileUpload", "Tour", "Anchor", "Segmented", "Toolbar", "Descriptions", "Popconfirm", "Transfer", "Cascader", "TreeSelect", "Mentions", "QRCode", "Watermark", "Affix", "SpeedDial", "Grid", "VisuallyHidden"];
1
+ export declare const lumenComponentNames: readonly ["Accordion", "Alert", "AlertDialog", "Agenda", "AspectRatio", "Attachment", "Autocomplete", "Avatar", "BackToTop", "Badge", "BarChart", "Breadcrumb", "Bubble", "Button", "ButtonGroup", "Calendar", "Callout", "Card", "CardContent", "CardDescription", "CardFooter", "CardHeader", "CardTitle", "Carousel", "Chart", "Checkbox", "CheckboxGroup", "Collapsible", "Code", "CodeTabs", "Combobox", "Container", "CopyButton", "Command", "ContextNavigation", "ContextMenu", "ColorPicker", "DataTable", "DatePicker", "DateRangePicker", "Dialog", "Direction", "Drawer", "DropdownMenu", "Empty", "ErrorSummary", "Eyebrow", "Field", "FieldError", "FloatingBadge", "Form", "FormattedDate", "HoverCard", "Icon", "Image", "Input", "InputGroup", "InputOTP", "Item", "KanbanBoard", "KanbanColumn", "Kbd", "Label", "Link", "LineChart", "ListBox", "Marker", "Menubar", "Message", "MessageScroller", "NativeSelect", "NavigationMenu", "NumberField", "Pagination", "PasswordField", "PhoneInput", "PieChart", "Pill", "Popover", "Progress", "Prose", "RadioGroup", "Resizable", "RichTextEditor", "ScrollArea", "ScrollProgress", "Schedule", "SearchField", "Select", "Separator", "Sheet", "Sidebar", "Skeleton", "SkipLink", "Slider", "Sonner", "Sparkline", "Spinner", "Switch", "Table", "Tabs", "TagGroup", "Textarea", "ThemeBuilder", "ThemeToggle", "TimeField", "Toast", "Toggle", "ToggleGroup", "Tooltip", "Tree", "TreeGrid", "Typography", "VirtualList", "LanguageToggle", "Particles", "AnimatedNumber", "RevealGroup", "ScrollReveal", "Stat", "StatDescription", "StatIcon", "StatLabel", "StatTrend", "StatValue", "Stack", "Meter", "Note", "Rating", "Timeline", "AnimatedLogo", "AnimatedPortrait", "ButtonLink", "CoverImage", "GradientDivider", "Stepper", "FileUpload", "Tour", "Anchor", "Segmented", "Toolbar", "Descriptions", "Popconfirm", "Transfer", "Cascader", "TreeSelect", "Mentions", "QRCode", "Watermark", "Affix", "SpeedDial", "Grid", "VisuallyHidden"];
2
2
  export type LumenComponentName = typeof lumenComponentNames[number];
3
3
  export interface LumenComponentBehavior {
4
4
  astro: 'none' | 'ui-primitives';
5
+ astroRuntimeBypass?: string;
5
6
  elements: 'none' | 'registered-element';
6
7
  react: 'component' | 'hook' | 'none';
7
8
  }
@@ -216,6 +217,11 @@ export declare const lumenComponentBehavior: {
216
217
  readonly elements: "registered-element";
217
218
  readonly react: "component";
218
219
  };
220
+ readonly ContextNavigation: {
221
+ readonly astro: "none";
222
+ readonly elements: "registered-element";
223
+ readonly react: "component";
224
+ };
219
225
  readonly ContextMenu: {
220
226
  readonly astro: "ui-primitives";
221
227
  readonly elements: "registered-element";
@@ -356,6 +362,16 @@ export declare const lumenComponentBehavior: {
356
362
  readonly elements: "registered-element";
357
363
  readonly react: "component";
358
364
  };
365
+ readonly KanbanBoard: {
366
+ readonly astro: "ui-primitives";
367
+ readonly elements: "registered-element";
368
+ readonly react: "hook";
369
+ };
370
+ readonly KanbanColumn: {
371
+ readonly astro: "none";
372
+ readonly elements: "registered-element";
373
+ readonly react: "component";
374
+ };
359
375
  readonly Kbd: {
360
376
  readonly astro: "none";
361
377
  readonly elements: "registered-element";
@@ -693,6 +709,7 @@ export declare const lumenComponentBehavior: {
693
709
  };
694
710
  readonly Toggle: {
695
711
  readonly astro: "ui-primitives";
712
+ readonly astroRuntimeBypass: "controlled";
696
713
  readonly elements: "registered-element";
697
714
  readonly react: "component";
698
715
  };
@@ -817,6 +834,12 @@ export declare const lumenStylingContracts: {
817
834
  readonly rootSlot: "code-tabs";
818
835
  readonly stability: "stable";
819
836
  };
837
+ readonly ContextNavigation: {
838
+ readonly customProperties: readonly ["--ui-context-navigation-gap", "--ui-context-navigation-min-height", "--ui-context-navigation-padding"];
839
+ readonly parts: readonly ["context-navigation-context"];
840
+ readonly rootSlot: "context-navigation";
841
+ readonly stability: "stable";
842
+ };
820
843
  readonly Link: {
821
844
  readonly customProperties: readonly ["--ui-link-font-weight", "--ui-link-underline-offset"];
822
845
  readonly parts: readonly [];
@@ -857,7 +880,7 @@ export declare const lumenStylingContracts: {
857
880
  export interface LumenPackageTarget {
858
881
  name: string;
859
882
  packageName: string;
860
- runtime: 'astro' | 'core' | 'elements' | 'icons' | 'react' | 'umbrella';
883
+ runtime: 'astro' | 'compose' | 'core' | 'elements' | 'icons' | 'react' | 'react-native' | 'swift' | 'tokens' | 'umbrella';
861
884
  }
862
885
  export declare const lumenPackages: readonly [{
863
886
  readonly name: "Lumen";
@@ -883,6 +906,22 @@ export declare const lumenPackages: readonly [{
883
906
  readonly name: "Lumen Elements";
884
907
  readonly packageName: "@santi020k/lumen-elements";
885
908
  readonly runtime: "elements";
909
+ }, {
910
+ readonly name: "Lumen React Native";
911
+ readonly packageName: "@santi020k/lumen-react-native";
912
+ readonly runtime: "react-native";
913
+ }, {
914
+ readonly name: "Lumen Tokens";
915
+ readonly packageName: "@santi020k/lumen-tokens";
916
+ readonly runtime: "tokens";
917
+ }, {
918
+ readonly name: "Lumen SwiftUI";
919
+ readonly packageName: "LumenUI";
920
+ readonly runtime: "swift";
921
+ }, {
922
+ readonly name: "Lumen Compose";
923
+ readonly packageName: "com.santi020k:lumen-compose";
924
+ readonly runtime: "compose";
886
925
  }, {
887
926
  readonly name: "Lumen Brand Icons";
888
927
  readonly packageName: "@santi020k/lumen-icons-brand";
@@ -1 +1 @@
1
- {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,o2DAuJtB,CAAA;AAEV,MAAM,MAAM,kBAAkB,GAAG,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAA;AAEnE,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,GAAG,eAAe,CAAA;IAC/B,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CAAA;IACvC,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CAAA;CACrC;AAED,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuJ8C,CAAA;AAEjF,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,GAAG,eAAe,CAAA;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CAAA;IACvC,IAAI,EAAE,iBAAiB,GAAG,cAAc,CAAA;IACxC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CACvB;AAED,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;EAiBkB,CAAA;AAEnD,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,SAAS,QAAQ,MAAM,EAAE,EAAE,CAAA;IAC7C,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,QAAQ,CAAA;CACpB;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2E4C,CAAA;AAE9E,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAA;CACxE;AAED,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBwB,CAAA"}
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,w5DA0JtB,CAAA;AAEV,MAAM,MAAM,kBAAkB,GAAG,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAA;AAEnE,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,GAAG,eAAe,CAAA;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CAAA;IACvC,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CAAA;CACrC;AAED,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+J8C,CAAA;AAEjF,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,GAAG,eAAe,CAAA;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CAAA;IACvC,IAAI,EAAE,iBAAiB,GAAG,cAAc,CAAA;IACxC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CACvB;AAED,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;EAiBkB,CAAA;AAEnD,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,SAAS,QAAQ,MAAM,EAAE,EAAE,CAAA;IAC7C,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,QAAQ,CAAA;CACpB;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqF4C,CAAA;AAE9E,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,GACd,SAAS,GACT,MAAM,GACN,UAAU,GACV,OAAO,GACP,OAAO,GACP,cAAc,GACd,OAAO,GACP,QAAQ,GACR,UAAU,CAAA;CACb;AAED,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BwB,CAAA"}
@@ -33,6 +33,7 @@ export const lumenComponentNames = [
33
33
  'Container',
34
34
  'CopyButton',
35
35
  'Command',
36
+ 'ContextNavigation',
36
37
  'ContextMenu',
37
38
  'ColorPicker',
38
39
  'DataTable',
@@ -57,6 +58,8 @@ export const lumenComponentNames = [
57
58
  'InputGroup',
58
59
  'InputOTP',
59
60
  'Item',
61
+ 'KanbanBoard',
62
+ 'KanbanColumn',
60
63
  'Kbd',
61
64
  'Label',
62
65
  'Link',
@@ -193,6 +196,7 @@ export const lumenComponentBehavior = {
193
196
  Command: { astro: 'ui-primitives', elements: 'registered-element', react: 'hook' },
194
197
  Container: { astro: 'none', elements: 'registered-element', react: 'component' },
195
198
  CopyButton: { astro: 'ui-primitives', elements: 'registered-element', react: 'component' },
199
+ ContextNavigation: { astro: 'none', elements: 'registered-element', react: 'component' },
196
200
  ContextMenu: { astro: 'ui-primitives', elements: 'registered-element', react: 'hook' },
197
201
  CoverImage: { astro: 'none', elements: 'registered-element', react: 'component' },
198
202
  DataTable: { astro: 'ui-primitives', elements: 'registered-element', react: 'hook' },
@@ -221,6 +225,8 @@ export const lumenComponentBehavior = {
221
225
  InputGroup: { astro: 'none', elements: 'registered-element', react: 'component' },
222
226
  InputOTP: { astro: 'ui-primitives', elements: 'registered-element', react: 'hook' },
223
227
  Item: { astro: 'none', elements: 'registered-element', react: 'component' },
228
+ KanbanBoard: { astro: 'ui-primitives', elements: 'registered-element', react: 'hook' },
229
+ KanbanColumn: { astro: 'none', elements: 'registered-element', react: 'component' },
224
230
  Kbd: { astro: 'none', elements: 'registered-element', react: 'component' },
225
231
  Label: { astro: 'none', elements: 'registered-element', react: 'component' },
226
232
  LanguageToggle: { astro: 'none', elements: 'registered-element', react: 'component' },
@@ -288,7 +294,12 @@ export const lumenComponentBehavior = {
288
294
  TimeField: { astro: 'none', elements: 'registered-element', react: 'component' },
289
295
  Timeline: { astro: 'none', elements: 'registered-element', react: 'component' },
290
296
  Toast: { astro: 'ui-primitives', elements: 'registered-element', react: 'hook' },
291
- Toggle: { astro: 'ui-primitives', elements: 'registered-element', react: 'component' },
297
+ Toggle: {
298
+ astro: 'ui-primitives',
299
+ astroRuntimeBypass: 'controlled',
300
+ elements: 'registered-element',
301
+ react: 'component'
302
+ },
292
303
  ToggleGroup: { astro: 'ui-primitives', elements: 'registered-element', react: 'component' },
293
304
  Toolbar: { astro: 'none', elements: 'registered-element', react: 'component' },
294
305
  Tooltip: { astro: 'none', elements: 'registered-element', react: 'hook' },
@@ -359,6 +370,16 @@ export const lumenStylingContracts = {
359
370
  rootSlot: 'code-tabs',
360
371
  stability: 'stable'
361
372
  },
373
+ ContextNavigation: {
374
+ customProperties: [
375
+ '--ui-context-navigation-gap',
376
+ '--ui-context-navigation-min-height',
377
+ '--ui-context-navigation-padding'
378
+ ],
379
+ parts: ['context-navigation-context'],
380
+ rootSlot: 'context-navigation',
381
+ stability: 'stable'
382
+ },
362
383
  Link: {
363
384
  customProperties: ['--ui-link-font-weight', '--ui-link-underline-offset'],
364
385
  parts: [],
@@ -407,6 +428,18 @@ export const lumenPackages = [
407
428
  runtime: 'react'
408
429
  },
409
430
  { name: 'Lumen Elements', packageName: '@santi020k/lumen-elements', runtime: 'elements' },
431
+ {
432
+ name: 'Lumen React Native',
433
+ packageName: '@santi020k/lumen-react-native',
434
+ runtime: 'react-native'
435
+ },
436
+ { name: 'Lumen Tokens', packageName: '@santi020k/lumen-tokens', runtime: 'tokens' },
437
+ { name: 'Lumen SwiftUI', packageName: 'LumenUI', runtime: 'swift' },
438
+ {
439
+ name: 'Lumen Compose',
440
+ packageName: 'com.santi020k:lumen-compose',
441
+ runtime: 'compose'
442
+ },
410
443
  {
411
444
  name: 'Lumen Brand Icons',
412
445
  packageName: '@santi020k/lumen-icons-brand',
@@ -1 +1 @@
1
- {"version":3,"file":"figma.d.ts","sourceRoot":"","sources":["../src/figma.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EAEvB,gBAAgB,EACjB,MAAM,YAAY,CAAA;AAOnB,MAAM,WAAW,oBAAoB;IACnC,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,oBAAoB,CAAA;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,kBAAkB,EAAE,CAAA;CAChC;AAED,MAAM,WAAW,4BAA4B;IAC3C,cAAc,EAAE,MAAM,CAAA;IACtB,KAAK,EAAE,sBAAsB,EAAE,CAAA;CAChC;AAED,MAAM,WAAW,+BAA+B;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,MAAM,oBAAoB,GAC5B,OAAO,GACT,aAAa,GACb,WAAW,GACX,UAAU,GACV,YAAY,GACZ,QAAQ,GACR,QAAQ,CAAA;AAEV,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAA;IAC7C,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,yBAAyB;IACxC,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAA;IAC7C,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC,CAAA;IAC7D,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,yBAAyB,EAAE,sBAAsB,CAAC,CAAC,CAAA;IAC3E,SAAS,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,uBAAuB,EAAE,yBAAyB,CAAC,CAAC,CAAA;CAChF;AAuGD,eAAO,MAAM,oBAAoB,GAAI,OAAO,MAAM,KAAG,oBAUpD,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,KAAG,MAMlD,CAAA;AAED,eAAO,MAAM,uBAAuB,GAClC,OAAO,mBAAmB,EAC1B,eAAgB,KACf,MAAmD,CAAA;AAEtD,eAAO,MAAM,yBAAyB,GACpC,QAAQ,gBAAgB,EACxB,UAAS,+BAAoC,KAC5C,4BAwBF,CAAA;AAuCD,eAAO,MAAM,uBAAuB,GAClC,QAAQ,gBAAgB,KACvB,sBAyCD,CAAA"}
1
+ {"version":3,"file":"figma.d.ts","sourceRoot":"","sources":["../src/figma.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EAEvB,gBAAgB,EACjB,MAAM,YAAY,CAAA;AAOnB,MAAM,WAAW,oBAAoB;IACnC,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,oBAAoB,CAAA;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,kBAAkB,EAAE,CAAA;CAChC;AAED,MAAM,WAAW,4BAA4B;IAC3C,cAAc,EAAE,MAAM,CAAA;IACtB,KAAK,EAAE,sBAAsB,EAAE,CAAA;CAChC;AAED,MAAM,WAAW,+BAA+B;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,MAAM,oBAAoB,GAC5B,OAAO,GACT,aAAa,GACb,WAAW,GACX,UAAU,GACV,YAAY,GACZ,QAAQ,GACR,QAAQ,CAAA;AAEV,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAA;IAC7C,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,yBAAyB;IACxC,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAA;IAC7C,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC,CAAA;IAC7D,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,yBAAyB,EAAE,sBAAsB,CAAC,CAAC,CAAA;IAC3E,SAAS,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,uBAAuB,EAAE,yBAAyB,CAAC,CAAC,CAAA;CAChF;AAyGD,eAAO,MAAM,oBAAoB,GAAI,OAAO,MAAM,KAAG,oBAUpD,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,KAAG,MAMlD,CAAA;AAED,eAAO,MAAM,uBAAuB,GAClC,OAAO,mBAAmB,EAC1B,eAAgB,KACf,MAAmD,CAAA;AAEtD,eAAO,MAAM,yBAAyB,GACpC,QAAQ,gBAAgB,EACxB,UAAS,+BAAoC,KAC5C,4BAwBF,CAAA;AAuCD,eAAO,MAAM,uBAAuB,GAClC,QAAQ,gBAAgB,KACvB,sBAyCD,CAAA"}
package/dist/figma.js CHANGED
@@ -23,6 +23,8 @@ const lumenTokenDescriptions = {
23
23
  'ink-muted': 'Muted foreground color for secondary content.',
24
24
  'ink-soft': 'Soft foreground color for tertiary content.',
25
25
  line: 'Borders, dividers, and structural lines.',
26
+ 'on-brand': 'Readable foreground placed on a solid brand fill.',
27
+ 'on-danger': 'Readable foreground placed on a solid danger fill.',
26
28
  success: 'Positive or complete status color.',
27
29
  surface: 'Default component surface.',
28
30
  'surface-muted': 'Subtle component surface.',
@@ -0,0 +1,130 @@
1
+ export declare const lumenColorTokens: {
2
+ readonly light: {
3
+ readonly canvas: "#FFFFFF";
4
+ readonly surface: "#FFFFFF";
5
+ readonly surfaceMuted: "#F3F4F6";
6
+ readonly surfaceStrong: "#E5E7EB";
7
+ readonly line: "#D7DAE0";
8
+ readonly ink: "#0F1729";
9
+ readonly inkSoft: "#454F5F";
10
+ readonly inkMuted: "#6C7889";
11
+ readonly brand: "#2463EB";
12
+ readonly brandSolid: "#1452D7";
13
+ readonly brandSoft: "#F0F5FF";
14
+ readonly onBrand: "#FFFFFF";
15
+ readonly accent: "#16A286";
16
+ readonly success: "#1B9D4A";
17
+ readonly warning: "#F59F0A";
18
+ readonly danger: "#EF4343";
19
+ readonly onDanger: "#000000";
20
+ };
21
+ readonly dark: {
22
+ readonly canvas: "#101219";
23
+ readonly surface: "#171A21";
24
+ readonly surfaceMuted: "#20242C";
25
+ readonly surfaceStrong: "#303540";
26
+ readonly line: "#393F4C";
27
+ readonly ink: "#F3F5F7";
28
+ readonly inkSoft: "#BCC3CD";
29
+ readonly inkMuted: "#949CA8";
30
+ readonly brand: "#29B4F5";
31
+ readonly brandSolid: "#087AAF";
32
+ readonly brandSoft: "#07354B";
33
+ readonly onBrand: "#FFFFFF";
34
+ readonly accent: "#1AC19A";
35
+ readonly success: "#24C25E";
36
+ readonly warning: "#F6A823";
37
+ readonly danger: "#F15B5B";
38
+ readonly onDanger: "#101219";
39
+ };
40
+ };
41
+ export declare const lumenCssColorTokens: {
42
+ readonly light: {
43
+ readonly canvas: "0 0% 100%";
44
+ readonly surface: "0 0% 100%";
45
+ readonly surfaceMuted: "220 14% 96%";
46
+ readonly surfaceStrong: "220 13% 91%";
47
+ readonly line: "220 13% 86%";
48
+ readonly ink: "222 47% 11%";
49
+ readonly inkSoft: "215 16% 32%";
50
+ readonly inkMuted: "215 12% 48%";
51
+ readonly brand: "221 83% 53%";
52
+ readonly brandSolid: "221 83% 46%";
53
+ readonly brandSoft: "218 100% 97%";
54
+ readonly onBrand: "0 0% 100%";
55
+ readonly accent: "168 76% 36%";
56
+ readonly success: "142 71% 36%";
57
+ readonly warning: "38 92% 50%";
58
+ readonly danger: "0 84% 60%";
59
+ readonly onDanger: "0 0% 0%";
60
+ };
61
+ readonly dark: {
62
+ readonly canvas: "224 24% 8%";
63
+ readonly surface: "224 18% 11%";
64
+ readonly surfaceMuted: "223 16% 15%";
65
+ readonly surfaceStrong: "222 14% 22%";
66
+ readonly line: "222 14% 26%";
67
+ readonly ink: "210 20% 96%";
68
+ readonly inkSoft: "214 14% 77%";
69
+ readonly inkMuted: "216 10% 62%";
70
+ readonly brand: "199 91% 56%";
71
+ readonly brandSolid: "199 91% 36%";
72
+ readonly brandSoft: "199 84% 16%";
73
+ readonly onBrand: "0 0% 100%";
74
+ readonly accent: "166 76% 43%";
75
+ readonly success: "142 69% 45%";
76
+ readonly warning: "38 92% 55%";
77
+ readonly danger: "0 84% 65%";
78
+ readonly onDanger: "224 24% 8%";
79
+ };
80
+ };
81
+ export declare const lumenSpacing: {
82
+ readonly zero: 0;
83
+ readonly xs: 4;
84
+ readonly sm: 8;
85
+ readonly md: 12;
86
+ readonly lg: 16;
87
+ readonly xl: 24;
88
+ readonly "2xl": 32;
89
+ readonly "3xl": 48;
90
+ };
91
+ export declare const lumenRadii: {
92
+ readonly sm: 6;
93
+ readonly md: 10;
94
+ readonly lg: 12;
95
+ readonly full: 9999;
96
+ };
97
+ export declare const lumenFontFamilies: {
98
+ readonly sans: readonly ["Montserrat", "Avenir Next", "Segoe UI", "sans-serif"];
99
+ };
100
+ export declare const lumenFontSizes: {
101
+ readonly xs: 12;
102
+ readonly sm: 14;
103
+ readonly md: 16;
104
+ readonly lg: 18;
105
+ readonly xl: 20;
106
+ readonly "2xl": 24;
107
+ };
108
+ export declare const lumenFontWeights: {
109
+ readonly regular: 400;
110
+ readonly medium: 500;
111
+ readonly semibold: 600;
112
+ readonly bold: 700;
113
+ };
114
+ export declare const lumenDurations: {
115
+ readonly fast: 120;
116
+ readonly standard: 160;
117
+ readonly slow: 300;
118
+ };
119
+ export declare const lumenEasings: {
120
+ readonly standard: readonly [0.32, 0.72, 0, 1];
121
+ readonly emphasized: readonly [0.22, 1, 0.36, 1];
122
+ };
123
+ export declare const lumenElevation: {
124
+ readonly resting: 1;
125
+ readonly raised: 3;
126
+ readonly overlay: 6;
127
+ };
128
+ export type LumenColorScheme = keyof typeof lumenColorTokens;
129
+ export type LumenSemanticColor = keyof typeof lumenColorTokens.light;
130
+ //# sourceMappingURL=foundations.generated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"foundations.generated.d.ts","sourceRoot":"","sources":["../src/foundations.generated.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCnB,CAAA;AAEV,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCtB,CAAA;AAEV,eAAO,MAAM,YAAY;;;;;;;;;CASf,CAAA;AAEV,eAAO,MAAM,UAAU;;;;;CAKb,CAAA;AAEV,eAAO,MAAM,iBAAiB;;CAEpB,CAAA;AAEV,eAAO,MAAM,cAAc;;;;;;;CAOjB,CAAA;AAEV,eAAO,MAAM,gBAAgB;;;;;CAKnB,CAAA;AAEV,eAAO,MAAM,cAAc;;;;CAIjB,CAAA;AAEV,eAAO,MAAM,YAAY;;;CAGf,CAAA;AAEV,eAAO,MAAM,cAAc;;;;CAIjB,CAAA;AAEV,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,gBAAgB,CAAA;AAC5D,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,gBAAgB,CAAC,KAAK,CAAA"}
@@ -0,0 +1,128 @@
1
+ /* This file is generated by scripts/generate-platform-tokens.mjs. */
2
+ export const lumenColorTokens = {
3
+ light: {
4
+ canvas: "#FFFFFF",
5
+ surface: "#FFFFFF",
6
+ surfaceMuted: "#F3F4F6",
7
+ surfaceStrong: "#E5E7EB",
8
+ line: "#D7DAE0",
9
+ ink: "#0F1729",
10
+ inkSoft: "#454F5F",
11
+ inkMuted: "#6C7889",
12
+ brand: "#2463EB",
13
+ brandSolid: "#1452D7",
14
+ brandSoft: "#F0F5FF",
15
+ onBrand: "#FFFFFF",
16
+ accent: "#16A286",
17
+ success: "#1B9D4A",
18
+ warning: "#F59F0A",
19
+ danger: "#EF4343",
20
+ onDanger: "#000000"
21
+ },
22
+ dark: {
23
+ canvas: "#101219",
24
+ surface: "#171A21",
25
+ surfaceMuted: "#20242C",
26
+ surfaceStrong: "#303540",
27
+ line: "#393F4C",
28
+ ink: "#F3F5F7",
29
+ inkSoft: "#BCC3CD",
30
+ inkMuted: "#949CA8",
31
+ brand: "#29B4F5",
32
+ brandSolid: "#087AAF",
33
+ brandSoft: "#07354B",
34
+ onBrand: "#FFFFFF",
35
+ accent: "#1AC19A",
36
+ success: "#24C25E",
37
+ warning: "#F6A823",
38
+ danger: "#F15B5B",
39
+ onDanger: "#101219"
40
+ }
41
+ };
42
+ export const lumenCssColorTokens = {
43
+ light: {
44
+ canvas: "0 0% 100%",
45
+ surface: "0 0% 100%",
46
+ surfaceMuted: "220 14% 96%",
47
+ surfaceStrong: "220 13% 91%",
48
+ line: "220 13% 86%",
49
+ ink: "222 47% 11%",
50
+ inkSoft: "215 16% 32%",
51
+ inkMuted: "215 12% 48%",
52
+ brand: "221 83% 53%",
53
+ brandSolid: "221 83% 46%",
54
+ brandSoft: "218 100% 97%",
55
+ onBrand: "0 0% 100%",
56
+ accent: "168 76% 36%",
57
+ success: "142 71% 36%",
58
+ warning: "38 92% 50%",
59
+ danger: "0 84% 60%",
60
+ onDanger: "0 0% 0%"
61
+ },
62
+ dark: {
63
+ canvas: "224 24% 8%",
64
+ surface: "224 18% 11%",
65
+ surfaceMuted: "223 16% 15%",
66
+ surfaceStrong: "222 14% 22%",
67
+ line: "222 14% 26%",
68
+ ink: "210 20% 96%",
69
+ inkSoft: "214 14% 77%",
70
+ inkMuted: "216 10% 62%",
71
+ brand: "199 91% 56%",
72
+ brandSolid: "199 91% 36%",
73
+ brandSoft: "199 84% 16%",
74
+ onBrand: "0 0% 100%",
75
+ accent: "166 76% 43%",
76
+ success: "142 69% 45%",
77
+ warning: "38 92% 55%",
78
+ danger: "0 84% 65%",
79
+ onDanger: "224 24% 8%"
80
+ }
81
+ };
82
+ export const lumenSpacing = {
83
+ zero: 0,
84
+ xs: 4,
85
+ sm: 8,
86
+ md: 12,
87
+ lg: 16,
88
+ xl: 24,
89
+ "2xl": 32,
90
+ "3xl": 48
91
+ };
92
+ export const lumenRadii = {
93
+ sm: 6,
94
+ md: 10,
95
+ lg: 12,
96
+ full: 9999
97
+ };
98
+ export const lumenFontFamilies = {
99
+ sans: ["Montserrat", "Avenir Next", "Segoe UI", "sans-serif"]
100
+ };
101
+ export const lumenFontSizes = {
102
+ xs: 12,
103
+ sm: 14,
104
+ md: 16,
105
+ lg: 18,
106
+ xl: 20,
107
+ "2xl": 24
108
+ };
109
+ export const lumenFontWeights = {
110
+ regular: 400,
111
+ medium: 500,
112
+ semibold: 600,
113
+ bold: 700
114
+ };
115
+ export const lumenDurations = {
116
+ fast: 120,
117
+ standard: 160,
118
+ slow: 300
119
+ };
120
+ export const lumenEasings = {
121
+ standard: [0.32, 0.72, 0, 1],
122
+ emphasized: [0.22, 1, 0.36, 1]
123
+ };
124
+ export const lumenElevation = {
125
+ resting: 1,
126
+ raised: 3,
127
+ overlay: 6
128
+ };
package/dist/index.d.ts CHANGED
@@ -5,10 +5,11 @@ export { applyDataViewState, createDataViewRequestUrl, createDataViewSearchParam
5
5
  export { createFigmaVariableName, exportThemeDesignTokens, exportThemeFigmaVariables, hslTokenToFigmaColor, hslTokenToHexColor, type LumenDesignToken, type LumenDesignTokenExport, type LumenDesignTokenType, type LumenEffectDesignToken, type LumenFigmaColorValue, type LumenFigmaVariable, type LumenFigmaVariableCollection, type LumenFigmaVariableExportOptions, type LumenFigmaVariableMode, type LumenStructureDesignToken } from './figma.js';
6
6
  export { createLumenFormFailure, createLumenFormSuccess, getLumenFieldErrors, type LumenFieldError, type LumenFormErrorInput, type LumenFormErrors, type LumenFormFailure, type LumenFormResult, type LumenFormStatus, lumenFormStatuses, type LumenFormSuccess, normalizeLumenFormErrors } from './forms.js';
7
7
  export { getLumenIcon, getLumenIconPack, getRegisteredLumenIconNames, type LumenIconData, type LumenIconName, lumenIconNames, type LumenIconNode, type LumenIconPack, lumenIcons, type LumenIconStyle, registerLumenIconPack, renderLumenIconSvg, resolveLumenIconName } from './icons.js';
8
+ export { createLumenKanbanMoveDetail, getAdjacentKanbanColumn, type LumenKanbanMoveDetail, type LumenKanbanMoveInput } from './kanban.js';
8
9
  export { type LumenAstroPropsResult, type LumenClassValue, type LumenGlass, resolveLumenAstroProps, resolveLumenGlass } from './props.js';
9
10
  export { getLumenRichTextShortcut, isLumenRichTextToggleCommand, type LumenRichTextChangeDetail, type LumenRichTextCommandDetail, type LumenRichTextShortcutEvent, type LumenRichTextToggleCommand, lumenRichTextToggleCommands } from './rich-text.js';
10
11
  export { canPlaceScheduleEvent, createScheduleSlots, createScheduleStorageKey, expandRecurringScheduleEvent, getScheduleConflicts, loadScheduleEvents, type LumenScheduleConflict, type LumenScheduleEvent, type LumenScheduleKeyValueReader, type LumenScheduleKeyValueStorage, type LumenScheduleKeyValueWriter, type LumenScheduleResizeEdge, type LumenScheduleResizeOptions, type LumenScheduleResource, type LumenScheduleSlot, moveScheduleEvent, parseScheduleEvents, resizeScheduleEvent, resizeScheduleEvents, saveScheduleEvents, scheduleEventsOverlap, serializeScheduleEvents } from './schedule.js';
11
12
  export { createThemeFromHue, createThemePalette, exportThemeCss, getContrastRatio, type LumenColorTokenName, lumenColorTokenNames, type LumenContrastScore, type LumenGlassColorTokenName, lumenGlassColorTokenNames, type LumenGlassEffectTokenName, lumenGlassEffectTokenNames, type LumenGlassTokenName, lumenGlassTokenNames, type LumenMotionTokenName, lumenMotionTokenNames, type LumenRadiusTokenName, lumenRadiusTokenNames, type LumenSemanticColorTokenName, lumenSemanticColorTokenNames, type LumenShadowTokenName, lumenShadowTokenNames, type LumenStructureTokenName, lumenStructureTokenNames, type LumenThemeContrastSuggestion, type LumenThemeFromHueOptions, type LumenThemeTokenName, type LumenThemeTokens, lumenTokenNames, type LumenTypographyTokenName, lumenTypographyTokenNames, mergeThemeTokens, parseThemeCss, scoreThemeContrast, suggestReadableInk, tuneThemeContrast } from './theme.js';
12
13
  export { coerceThemeBuilderExportFormat, coerceThemeBuilderMode, coerceThemeBuilderScheme, createThemeBuilderTokens, exportThemeBuilderCss, exportThemeBuilderValue, type LumenThemeBuilderExportFormat, type LumenThemeBuilderMode, type LumenThemeBuilderOptions, type LumenThemeBuilderResult, type LumenThemeBuilderScheme, normalizeThemeBuilderHex, normalizeThemeBuilderHue, themeBuilderHexToHsl } from './theme-builder.js';
13
- export { composeClassName, lumenChart, lumenColors, lumenDarkTheme, lumenFont, lumenGlass, lumenLightTheme, lumenMotion, lumenRadius, lumenShadow, lumenThemeAttribute } from './tokens.js';
14
+ export { composeClassName, lumenChart, lumenColors, type LumenColorScheme, lumenColorTokens, lumenCssColorTokens, lumenDarkColors, lumenDarkTheme, lumenDurations, lumenEasings, lumenElevation, lumenFont, lumenFontFamilies, lumenFontSizes, lumenFontWeights, lumenGlass, lumenLightTheme, lumenMotion, lumenRadii, lumenRadius, type LumenSemanticColor, lumenShadow, lumenSpacing, lumenThemeAttribute } from './tokens.js';
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -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
@@ -5,9 +5,10 @@ export { applyDataViewState, createDataViewRequestUrl, createDataViewSearchParam
5
5
  export { createFigmaVariableName, exportThemeDesignTokens, exportThemeFigmaVariables, hslTokenToFigmaColor, hslTokenToHexColor } from './figma.js';
6
6
  export { createLumenFormFailure, createLumenFormSuccess, getLumenFieldErrors, lumenFormStatuses, normalizeLumenFormErrors } from './forms.js';
7
7
  export { getLumenIcon, getLumenIconPack, getRegisteredLumenIconNames, lumenIconNames, lumenIcons, registerLumenIconPack, renderLumenIconSvg, resolveLumenIconName } from './icons.js';
8
+ export { createLumenKanbanMoveDetail, getAdjacentKanbanColumn } from './kanban.js';
8
9
  export { resolveLumenAstroProps, resolveLumenGlass } from './props.js';
9
10
  export { getLumenRichTextShortcut, isLumenRichTextToggleCommand, lumenRichTextToggleCommands } from './rich-text.js';
10
11
  export { canPlaceScheduleEvent, createScheduleSlots, createScheduleStorageKey, expandRecurringScheduleEvent, getScheduleConflicts, loadScheduleEvents, moveScheduleEvent, parseScheduleEvents, resizeScheduleEvent, resizeScheduleEvents, saveScheduleEvents, scheduleEventsOverlap, serializeScheduleEvents } from './schedule.js';
11
12
  export { createThemeFromHue, createThemePalette, exportThemeCss, getContrastRatio, lumenColorTokenNames, lumenGlassColorTokenNames, lumenGlassEffectTokenNames, lumenGlassTokenNames, lumenMotionTokenNames, lumenRadiusTokenNames, lumenSemanticColorTokenNames, lumenShadowTokenNames, lumenStructureTokenNames, lumenTokenNames, lumenTypographyTokenNames, mergeThemeTokens, parseThemeCss, scoreThemeContrast, suggestReadableInk, tuneThemeContrast } from './theme.js';
12
13
  export { coerceThemeBuilderExportFormat, coerceThemeBuilderMode, coerceThemeBuilderScheme, createThemeBuilderTokens, exportThemeBuilderCss, exportThemeBuilderValue, normalizeThemeBuilderHex, normalizeThemeBuilderHue, themeBuilderHexToHsl } from './theme-builder.js';
13
- export { composeClassName, lumenChart, lumenColors, lumenDarkTheme, lumenFont, lumenGlass, lumenLightTheme, lumenMotion, lumenRadius, lumenShadow, lumenThemeAttribute } from './tokens.js';
14
+ export { composeClassName, lumenChart, lumenColors, lumenColorTokens, lumenCssColorTokens, lumenDarkColors, lumenDarkTheme, lumenDurations, lumenEasings, lumenElevation, lumenFont, lumenFontFamilies, lumenFontSizes, lumenFontWeights, lumenGlass, lumenLightTheme, lumenMotion, lumenRadii, lumenRadius, lumenShadow, lumenSpacing, lumenThemeAttribute } from './tokens.js';
@@ -0,0 +1,11 @@
1
+ export type LumenKanbanMoveInput = 'keyboard' | 'pointer';
2
+ export interface LumenKanbanMoveDetail {
3
+ beforeId?: string;
4
+ fromColumn: string;
5
+ input: LumenKanbanMoveInput;
6
+ itemId: string;
7
+ toColumn: string;
8
+ }
9
+ export declare const createLumenKanbanMoveDetail: ({ beforeId, fromColumn, input, itemId, toColumn }: LumenKanbanMoveDetail) => LumenKanbanMoveDetail | null;
10
+ export declare const getAdjacentKanbanColumn: (columns: readonly string[], currentColumn: string, direction: -1 | 1, rightToLeft?: boolean) => string | undefined;
11
+ //# sourceMappingURL=kanban.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kanban.d.ts","sourceRoot":"","sources":["../src/kanban.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,SAAS,CAAA;AAEzD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,oBAAoB,CAAA;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,eAAO,MAAM,2BAA2B,GAAI,mDAMzC,qBAAqB,KAAG,qBAAqB,GAAG,IAgBlD,CAAA;AAED,eAAO,MAAM,uBAAuB,GAClC,SAAS,SAAS,MAAM,EAAE,EAC1B,eAAe,MAAM,EACrB,WAAW,CAAC,CAAC,GAAG,CAAC,EACjB,qBAAmB,KAClB,MAAM,GAAG,SASX,CAAA"}
package/dist/kanban.js ADDED
@@ -0,0 +1,23 @@
1
+ export const createLumenKanbanMoveDetail = ({ beforeId, fromColumn, input, itemId, toColumn }) => {
2
+ const normalizedItemId = itemId.trim();
3
+ const normalizedFromColumn = fromColumn.trim();
4
+ const normalizedToColumn = toColumn.trim();
5
+ const normalizedBeforeId = beforeId?.trim();
6
+ if (!normalizedItemId || !normalizedFromColumn || !normalizedToColumn)
7
+ return null;
8
+ return {
9
+ ...(normalizedBeforeId ? { beforeId: normalizedBeforeId } : {}),
10
+ fromColumn: normalizedFromColumn,
11
+ input,
12
+ itemId: normalizedItemId,
13
+ toColumn: normalizedToColumn
14
+ };
15
+ };
16
+ export const getAdjacentKanbanColumn = (columns, currentColumn, direction, rightToLeft = false) => {
17
+ const currentIndex = columns.indexOf(currentColumn);
18
+ if (currentIndex < 0)
19
+ return undefined;
20
+ const effectiveDirection = rightToLeft ? -direction : direction;
21
+ const nextIndex = currentIndex + effectiveDirection;
22
+ return columns[nextIndex];
23
+ };
package/dist/theme.d.ts CHANGED
@@ -9,7 +9,7 @@ export interface LumenThemeContrastSuggestion {
9
9
  foreground: string;
10
10
  ratio: number;
11
11
  }
12
- export declare const lumenSemanticColorTokenNames: readonly ["canvas", "surface", "surface-muted", "surface-strong", "line", "ink", "ink-soft", "ink-muted", "brand", "brand-solid", "brand-soft", "accent", "success", "warning", "danger"];
12
+ export declare const lumenSemanticColorTokenNames: readonly ["canvas", "surface", "surface-muted", "surface-strong", "line", "ink", "ink-soft", "ink-muted", "brand", "brand-solid", "brand-soft", "on-brand", "accent", "success", "warning", "danger", "on-danger"];
13
13
  export declare const lumenGlassColorTokenNames: readonly ["glass-bg", "glass-bg-subtle", "glass-bg-strong", "glass-border", "glass-highlight", "glass-edge", "glass-edge-soft", "glass-shade", "glass-refraction"];
14
14
  export declare const lumenGlassEffectTokenNames: readonly ["glass-blur", "glass-saturate", "glass-brightness", "glass-shadow"];
15
15
  export declare const lumenGlassTokenNames: readonly ["glass-bg", "glass-bg-subtle", "glass-bg-strong", "glass-border", "glass-highlight", "glass-blur", "glass-saturate", "glass-brightness", "glass-edge", "glass-edge-soft", "glass-shade", "glass-refraction", "glass-shadow"];
@@ -18,8 +18,8 @@ export declare const lumenShadowTokenNames: readonly ["ui-shadow-sm", "ui-shadow
18
18
  export declare const lumenTypographyTokenNames: readonly ["ui-font"];
19
19
  export declare const lumenMotionTokenNames: readonly ["ui-duration-fast", "ui-duration", "ui-duration-slow", "ui-ease", "ui-ease-emphasized"];
20
20
  export declare const lumenStructureTokenNames: readonly ["ui-radius-sm", "ui-radius", "ui-radius-lg", "ui-shadow-sm", "ui-shadow-md", "ui-shadow-lg", "ui-font", "ui-duration-fast", "ui-duration", "ui-duration-slow", "ui-ease", "ui-ease-emphasized"];
21
- export declare const lumenColorTokenNames: readonly ["canvas", "surface", "surface-muted", "surface-strong", "line", "ink", "ink-soft", "ink-muted", "brand", "brand-solid", "brand-soft", "accent", "success", "warning", "danger", "glass-bg", "glass-bg-subtle", "glass-bg-strong", "glass-border", "glass-highlight", "glass-edge", "glass-edge-soft", "glass-shade", "glass-refraction"];
22
- export declare const lumenTokenNames: readonly ["canvas", "surface", "surface-muted", "surface-strong", "line", "ink", "ink-soft", "ink-muted", "brand", "brand-solid", "brand-soft", "accent", "success", "warning", "danger", "glass-bg", "glass-bg-subtle", "glass-bg-strong", "glass-border", "glass-highlight", "glass-blur", "glass-saturate", "glass-brightness", "glass-edge", "glass-edge-soft", "glass-shade", "glass-refraction", "glass-shadow", "ui-radius-sm", "ui-radius", "ui-radius-lg", "ui-shadow-sm", "ui-shadow-md", "ui-shadow-lg", "ui-font", "ui-duration-fast", "ui-duration", "ui-duration-slow", "ui-ease", "ui-ease-emphasized"];
21
+ export declare const lumenColorTokenNames: readonly ["canvas", "surface", "surface-muted", "surface-strong", "line", "ink", "ink-soft", "ink-muted", "brand", "brand-solid", "brand-soft", "on-brand", "accent", "success", "warning", "danger", "on-danger", "glass-bg", "glass-bg-subtle", "glass-bg-strong", "glass-border", "glass-highlight", "glass-edge", "glass-edge-soft", "glass-shade", "glass-refraction"];
22
+ export declare const lumenTokenNames: readonly ["canvas", "surface", "surface-muted", "surface-strong", "line", "ink", "ink-soft", "ink-muted", "brand", "brand-solid", "brand-soft", "on-brand", "accent", "success", "warning", "danger", "on-danger", "glass-bg", "glass-bg-subtle", "glass-bg-strong", "glass-border", "glass-highlight", "glass-blur", "glass-saturate", "glass-brightness", "glass-edge", "glass-edge-soft", "glass-shade", "glass-refraction", "glass-shadow", "ui-radius-sm", "ui-radius", "ui-radius-lg", "ui-shadow-sm", "ui-shadow-md", "ui-shadow-lg", "ui-font", "ui-duration-fast", "ui-duration", "ui-duration-slow", "ui-ease", "ui-ease-emphasized"];
23
23
  export type LumenSemanticColorTokenName = typeof lumenSemanticColorTokenNames[number];
24
24
  export type LumenGlassColorTokenName = typeof lumenGlassColorTokenNames[number];
25
25
  export type LumenGlassEffectTokenName = typeof lumenGlassEffectTokenNames[number];
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"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"}
package/dist/theme.js CHANGED
@@ -10,10 +10,12 @@ export const lumenSemanticColorTokenNames = [
10
10
  'brand',
11
11
  'brand-solid',
12
12
  'brand-soft',
13
+ 'on-brand',
13
14
  'accent',
14
15
  'success',
15
16
  'warning',
16
- 'danger'
17
+ 'danger',
18
+ 'on-danger'
17
19
  ];
18
20
  export const lumenGlassColorTokenNames = [
19
21
  'glass-bg',
@@ -197,12 +199,14 @@ export const createThemePalette = (brand, accent = brand) => ({
197
199
  brand,
198
200
  'brand-soft': replaceTrailingIntegerPercentage(brand, 96),
199
201
  'brand-solid': brand,
202
+ 'on-brand': '0 0% 100%',
200
203
  canvas: '0 0% 100%',
201
204
  danger: '0 84% 60%',
202
205
  ink: '222 47% 11%',
203
206
  'ink-muted': '215 12% 48%',
204
207
  'ink-soft': '215 16% 32%',
205
208
  line: '220 13% 86%',
209
+ 'on-danger': '0 0% 0%',
206
210
  success: '142 71% 36%',
207
211
  surface: '0 0% 100%',
208
212
  'surface-muted': '220 14% 96%',
@@ -226,12 +230,14 @@ export const createThemeFromHue = (hue, options = {}) => {
226
230
  brand: `${h} 88% 60%`,
227
231
  'brand-soft': `${h} 80% 16%`,
228
232
  'brand-solid': `${h} 88% 46%`,
233
+ 'on-brand': '0 0% 100%',
229
234
  canvas: `${h} 24% 8%`,
230
235
  danger: '0 84% 65%',
231
236
  ink: `${h} 20% 96%`,
232
237
  'ink-muted': `${h} 10% 62%`,
233
238
  'ink-soft': `${h} 14% 77%`,
234
239
  line: `${h} 14% 26%`,
240
+ 'on-danger': `${h} 24% 8%`,
235
241
  success: '142 69% 45%',
236
242
  surface: `${h} 18% 11%`,
237
243
  'surface-muted': `${h} 16% 15%`,
@@ -246,12 +252,14 @@ export const createThemeFromHue = (hue, options = {}) => {
246
252
  brand: `${h} 85% 53%`,
247
253
  'brand-soft': `${h} 90% 96%`,
248
254
  'brand-solid': `${h} 85% 45%`,
255
+ 'on-brand': '0 0% 100%',
249
256
  canvas: `${h} 20% 99%`,
250
257
  danger: '0 84% 60%',
251
258
  ink: `${h} 40% 11%`,
252
259
  'ink-muted': `${h} 10% 48%`,
253
260
  'ink-soft': `${h} 14% 32%`,
254
261
  line: `${h} 14% 86%`,
262
+ 'on-danger': '0 0% 0%',
255
263
  success: '142 71% 36%',
256
264
  surface: `${h} 20% 100%`,
257
265
  'surface-muted': `${h} 16% 96%`,
package/dist/tokens.d.ts CHANGED
@@ -1,22 +1,44 @@
1
+ export { type LumenColorScheme, lumenColorTokens, lumenCssColorTokens, lumenDurations, lumenEasings, lumenElevation, lumenFontFamilies, lumenFontSizes, lumenFontWeights, lumenRadii, type LumenSemanticColor, lumenSpacing } from './foundations.generated.js';
1
2
  export declare const lumenThemeAttribute = "data-theme";
2
3
  export declare const lumenDarkTheme = "dark";
3
4
  export declare const lumenLightTheme = "light";
4
5
  export declare const lumenColors: {
5
- readonly accent: "264 95% 57%";
6
- readonly brand: "264 92% 47%";
7
- readonly brandSoft: "264 60% 94%";
8
- readonly brandSolid: "264 92% 42%";
9
- readonly canvas: "268 20% 98%";
10
- readonly danger: "0 84% 60%";
11
- readonly ink: "268 10% 20%";
12
- readonly inkMuted: "268 6% 28%";
13
- readonly inkSoft: "268 8% 36%";
14
- readonly line: "268 15% 84%";
15
- readonly success: "142 76% 36%";
16
- readonly surface: "268 20% 100%";
17
- readonly surfaceMuted: "268 20% 96%";
18
- readonly surfaceStrong: "268 15% 90%";
6
+ readonly canvas: "0 0% 100%";
7
+ readonly surface: "0 0% 100%";
8
+ readonly surfaceMuted: "220 14% 96%";
9
+ readonly surfaceStrong: "220 13% 91%";
10
+ readonly line: "220 13% 86%";
11
+ readonly ink: "222 47% 11%";
12
+ readonly inkSoft: "215 16% 32%";
13
+ readonly inkMuted: "215 12% 48%";
14
+ readonly brand: "221 83% 53%";
15
+ readonly brandSolid: "221 83% 46%";
16
+ readonly brandSoft: "218 100% 97%";
17
+ readonly onBrand: "0 0% 100%";
18
+ readonly accent: "168 76% 36%";
19
+ readonly success: "142 71% 36%";
19
20
  readonly warning: "38 92% 50%";
21
+ readonly danger: "0 84% 60%";
22
+ readonly onDanger: "0 0% 0%";
23
+ };
24
+ export declare const lumenDarkColors: {
25
+ readonly canvas: "224 24% 8%";
26
+ readonly surface: "224 18% 11%";
27
+ readonly surfaceMuted: "223 16% 15%";
28
+ readonly surfaceStrong: "222 14% 22%";
29
+ readonly line: "222 14% 26%";
30
+ readonly ink: "210 20% 96%";
31
+ readonly inkSoft: "214 14% 77%";
32
+ readonly inkMuted: "216 10% 62%";
33
+ readonly brand: "199 91% 56%";
34
+ readonly brandSolid: "199 91% 36%";
35
+ readonly brandSoft: "199 84% 16%";
36
+ readonly onBrand: "0 0% 100%";
37
+ readonly accent: "166 76% 43%";
38
+ readonly success: "142 69% 45%";
39
+ readonly warning: "38 92% 55%";
40
+ readonly danger: "0 84% 65%";
41
+ readonly onDanger: "224 24% 8%";
20
42
  };
21
43
  export declare const lumenChart: {
22
44
  readonly axis: "var(--ink-muted)";
@@ -52,22 +74,22 @@ export declare const lumenGlass: {
52
74
  readonly shadow: "0 1px 2px hsl(222 47% 11% / 0.08), 0 12px 32px hsl(222 47% 11% / 0.12), 0 32px 80px hsl(222 47% 11% / 0.14)";
53
75
  };
54
76
  export declare const lumenRadius: {
55
- readonly base: "0.625rem";
56
- readonly lg: "0.75rem";
57
- readonly sm: "0.375rem";
77
+ readonly base: `${number}rem`;
78
+ readonly lg: `${number}rem`;
79
+ readonly sm: `${number}rem`;
58
80
  };
59
81
  export declare const lumenShadow: {
60
82
  readonly lg: "0 24px 64px hsl(222 47% 11% / 0.14)";
61
83
  readonly md: "0 8px 24px hsl(222 47% 11% / 0.08)";
62
84
  readonly sm: "0 1px 2px hsl(222 47% 11% / 0.06)";
63
85
  };
64
- export declare const lumenFont: "\"Montserrat\", \"Avenir Next\", \"Segoe UI\", sans-serif";
86
+ export declare const lumenFont: string;
65
87
  export declare const lumenMotion: {
66
88
  readonly duration: "160ms";
67
89
  readonly durationFast: "120ms";
68
90
  readonly durationSlow: "300ms";
69
- readonly ease: "cubic-bezier(0.32, 0.72, 0, 1)";
70
- readonly easeEmphasized: "cubic-bezier(0.22, 1, 0.36, 1)";
91
+ readonly ease: `cubic-bezier(${string})`;
92
+ readonly easeEmphasized: `cubic-bezier(${string})`;
71
93
  };
72
94
  export declare const composeClassName: (...classes: (boolean | null | string | undefined)[]) => string;
73
95
  //# sourceMappingURL=tokens.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,eAAe,CAAA;AAC/C,eAAO,MAAM,cAAc,SAAS,CAAA;AACpC,eAAO,MAAM,eAAe,UAAU,CAAA;AAEtC,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;CAgBd,CAAA;AAEV,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;CAiBb,CAAA;AAEV,eAAO,MAAM,UAAU;;;;;;;;;;;;;;CAcb,CAAA;AAEV,eAAO,MAAM,WAAW;;;;CAId,CAAA;AAEV,eAAO,MAAM,WAAW;;;;CAId,CAAA;AAEV,eAAO,MAAM,SAAS,EACpB,2DAA8D,CAAA;AAEhE,eAAO,MAAM,WAAW;;;;;;CAMd,CAAA;AAEV,eAAO,MAAM,gBAAgB,GAAI,GAAG,SAAS,CAAC,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,WAAsC,CAAA"}
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,KAAK,gBAAgB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,KAAK,kBAAkB,EACvB,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAElD,eAAO,MAAM,mBAAmB,eAAe,CAAA;AAC/C,eAAO,MAAM,cAAc,SAAS,CAAA;AACpC,eAAO,MAAM,eAAe,UAAU,CAAA;AAEtC,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;CAA4B,CAAA;AACpD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;CAA2B,CAAA;AAEvD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;CAiBb,CAAA;AAEV,eAAO,MAAM,UAAU;;;;;;;;;;;;;;CAcb,CAAA;AAEV,eAAO,MAAM,WAAW;;;;CAId,CAAA;AAEV,eAAO,MAAM,WAAW;;;;CAId,CAAA;AAEV,eAAO,MAAM,SAAS,QAET,CAAA;AAEb,eAAO,MAAM,WAAW;;;;;;CAMd,CAAA;AAEV,eAAO,MAAM,gBAAgB,GAAI,GAAG,SAAS,CAAC,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,WAAsC,CAAA"}
package/dist/tokens.js CHANGED
@@ -1,23 +1,10 @@
1
+ import { lumenCssColorTokens, lumenDurations, lumenEasings, lumenFontFamilies, lumenRadii } from './foundations.generated.js';
2
+ export { lumenColorTokens, lumenCssColorTokens, lumenDurations, lumenEasings, lumenElevation, lumenFontFamilies, lumenFontSizes, lumenFontWeights, lumenRadii, lumenSpacing } from './foundations.generated.js';
1
3
  export const lumenThemeAttribute = 'data-theme';
2
4
  export const lumenDarkTheme = 'dark';
3
5
  export const lumenLightTheme = 'light';
4
- export const lumenColors = {
5
- accent: '264 95% 57%',
6
- brand: '264 92% 47%',
7
- brandSoft: '264 60% 94%',
8
- brandSolid: '264 92% 42%',
9
- canvas: '268 20% 98%',
10
- danger: '0 84% 60%',
11
- ink: '268 10% 20%',
12
- inkMuted: '268 6% 28%',
13
- inkSoft: '268 8% 36%',
14
- line: '268 15% 84%',
15
- success: '142 76% 36%',
16
- surface: '268 20% 100%',
17
- surfaceMuted: '268 20% 96%',
18
- surfaceStrong: '268 15% 90%',
19
- warning: '38 92% 50%'
20
- };
6
+ export const lumenColors = lumenCssColorTokens.light;
7
+ export const lumenDarkColors = lumenCssColorTokens.dark;
21
8
  export const lumenChart = {
22
9
  axis: 'var(--ink-muted)',
23
10
  divergingMid: '220 13% 91%',
@@ -52,21 +39,23 @@ export const lumenGlass = {
52
39
  shadow: '0 1px 2px hsl(222 47% 11% / 0.08), 0 12px 32px hsl(222 47% 11% / 0.12), 0 32px 80px hsl(222 47% 11% / 0.14)'
53
40
  };
54
41
  export const lumenRadius = {
55
- base: '0.625rem',
56
- lg: '0.75rem',
57
- sm: '0.375rem'
42
+ base: `${lumenRadii.md / 16}rem`,
43
+ lg: `${lumenRadii.lg / 16}rem`,
44
+ sm: `${lumenRadii.sm / 16}rem`
58
45
  };
59
46
  export const lumenShadow = {
60
47
  lg: '0 24px 64px hsl(222 47% 11% / 0.14)',
61
48
  md: '0 8px 24px hsl(222 47% 11% / 0.08)',
62
49
  sm: '0 1px 2px hsl(222 47% 11% / 0.06)'
63
50
  };
64
- export const lumenFont = '"Montserrat", "Avenir Next", "Segoe UI", sans-serif';
51
+ export const lumenFont = lumenFontFamilies.sans
52
+ .map(family => family === 'sans-serif' ? family : `"${family}"`)
53
+ .join(', ');
65
54
  export const lumenMotion = {
66
- duration: '160ms',
67
- durationFast: '120ms',
68
- durationSlow: '300ms',
69
- ease: 'cubic-bezier(0.32, 0.72, 0, 1)',
70
- easeEmphasized: 'cubic-bezier(0.22, 1, 0.36, 1)'
55
+ duration: `${lumenDurations.standard}ms`,
56
+ durationFast: `${lumenDurations.fast}ms`,
57
+ durationSlow: `${lumenDurations.slow}ms`,
58
+ ease: `cubic-bezier(${lumenEasings.standard.join(', ')})`,
59
+ easeEmphasized: `cubic-bezier(${lumenEasings.emphasized.join(', ')})`
71
60
  };
72
61
  export const composeClassName = (...classes) => classes.filter(Boolean).join(' ');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@santi020k/lumen-core",
3
- "version": "1.0.0",
3
+ "version": "1.2.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -79,10 +79,18 @@
79
79
  "url": "https://github.com/santi020k/lumen.git",
80
80
  "directory": "packages/core"
81
81
  },
82
- "homepage": "https://lumen.santi020k.com",
82
+ "homepage": "https://lumen.santi020k.com/docs/foundations",
83
83
  "bugs": {
84
84
  "url": "https://github.com/santi020k/lumen/issues"
85
85
  },
86
+ "keywords": [
87
+ "accessible-ui",
88
+ "component-metadata",
89
+ "design-system",
90
+ "design-tokens",
91
+ "lumen",
92
+ "ui"
93
+ ],
86
94
  "author": {
87
95
  "name": "Santiago Molina",
88
96
  "url": "https://santi020k.com"