pi-kiosk-shared 2.2.36 → 2.2.37

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 (127) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +1 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/permissions/permissionLabels.d.ts +7 -0
  6. package/dist/permissions/permissionLabels.d.ts.map +1 -1
  7. package/dist/permissions/permissionLabels.js +132 -1
  8. package/dist/permissions/permissionLabels.js.map +1 -1
  9. package/dist/ui/Avatar/Avatar.d.ts +15 -0
  10. package/dist/ui/Avatar/Avatar.d.ts.map +1 -0
  11. package/dist/ui/Avatar/Avatar.js +37 -0
  12. package/dist/ui/Avatar/Avatar.js.map +1 -0
  13. package/dist/ui/Badge/Badge.d.ts +60 -0
  14. package/dist/ui/Badge/Badge.d.ts.map +1 -0
  15. package/dist/ui/Badge/Badge.js +91 -0
  16. package/dist/ui/Badge/Badge.js.map +1 -0
  17. package/dist/ui/BottomSheet/BottomSheet.d.ts +18 -0
  18. package/dist/ui/BottomSheet/BottomSheet.d.ts.map +1 -0
  19. package/dist/ui/BottomSheet/BottomSheet.js +29 -0
  20. package/dist/ui/BottomSheet/BottomSheet.js.map +1 -0
  21. package/dist/ui/Breadcrumbs/Breadcrumbs.d.ts +19 -0
  22. package/dist/ui/Breadcrumbs/Breadcrumbs.d.ts.map +1 -0
  23. package/dist/ui/Breadcrumbs/Breadcrumbs.js +13 -0
  24. package/dist/ui/Breadcrumbs/Breadcrumbs.js.map +1 -0
  25. package/dist/ui/Checkbox/Checkbox.d.ts +9 -0
  26. package/dist/ui/Checkbox/Checkbox.d.ts.map +1 -0
  27. package/dist/ui/Checkbox/Checkbox.js +18 -0
  28. package/dist/ui/Checkbox/Checkbox.js.map +1 -0
  29. package/dist/ui/Dialog/Dialog.d.ts +16 -0
  30. package/dist/ui/Dialog/Dialog.d.ts.map +1 -0
  31. package/dist/ui/Dialog/Dialog.js +31 -0
  32. package/dist/ui/Dialog/Dialog.js.map +1 -0
  33. package/dist/ui/FAB/FAB.d.ts +15 -0
  34. package/dist/ui/FAB/FAB.d.ts.map +1 -0
  35. package/dist/ui/FAB/FAB.js +18 -0
  36. package/dist/ui/FAB/FAB.js.map +1 -0
  37. package/dist/ui/FilterChip/FilterChip.d.ts +16 -0
  38. package/dist/ui/FilterChip/FilterChip.d.ts.map +1 -0
  39. package/dist/ui/FilterChip/FilterChip.js +26 -0
  40. package/dist/ui/FilterChip/FilterChip.js.map +1 -0
  41. package/dist/ui/Icon/Icon.d.ts +18 -0
  42. package/dist/ui/Icon/Icon.d.ts.map +1 -0
  43. package/dist/ui/Icon/Icon.js +17 -0
  44. package/dist/ui/Icon/Icon.js.map +1 -0
  45. package/dist/ui/Icon/index.d.ts +4 -0
  46. package/dist/ui/Icon/index.d.ts.map +1 -0
  47. package/dist/ui/Icon/index.js +3 -0
  48. package/dist/ui/Icon/index.js.map +1 -0
  49. package/dist/ui/Icon/lucide.d.ts +7 -0
  50. package/dist/ui/Icon/lucide.d.ts.map +1 -0
  51. package/dist/ui/Icon/lucide.js +2 -0
  52. package/dist/ui/Icon/lucide.js.map +1 -0
  53. package/dist/ui/IconButton/IconButton.d.ts +51 -0
  54. package/dist/ui/IconButton/IconButton.d.ts.map +1 -0
  55. package/dist/ui/IconButton/IconButton.js +37 -0
  56. package/dist/ui/IconButton/IconButton.js.map +1 -0
  57. package/dist/ui/IconButton/index.d.ts +2 -0
  58. package/dist/ui/IconButton/index.d.ts.map +1 -0
  59. package/dist/ui/IconButton/index.js +2 -0
  60. package/dist/ui/IconButton/index.js.map +1 -0
  61. package/dist/ui/Input/Input.d.ts +24 -0
  62. package/dist/ui/Input/Input.d.ts.map +1 -0
  63. package/dist/ui/Input/Input.js +25 -0
  64. package/dist/ui/Input/Input.js.map +1 -0
  65. package/dist/ui/Loader/Loader.d.ts +13 -0
  66. package/dist/ui/Loader/Loader.d.ts.map +1 -0
  67. package/dist/ui/Loader/Loader.js +17 -0
  68. package/dist/ui/Loader/Loader.js.map +1 -0
  69. package/dist/ui/NavStepper/NavStepper.d.ts +16 -0
  70. package/dist/ui/NavStepper/NavStepper.d.ts.map +1 -0
  71. package/dist/ui/NavStepper/NavStepper.js +31 -0
  72. package/dist/ui/NavStepper/NavStepper.js.map +1 -0
  73. package/dist/ui/QuantityStepper/QuantityStepper.d.ts +19 -0
  74. package/dist/ui/QuantityStepper/QuantityStepper.d.ts.map +1 -0
  75. package/dist/ui/QuantityStepper/QuantityStepper.js +13 -0
  76. package/dist/ui/QuantityStepper/QuantityStepper.js.map +1 -0
  77. package/dist/ui/QuantityStepper/index.d.ts +2 -0
  78. package/dist/ui/QuantityStepper/index.d.ts.map +1 -0
  79. package/dist/ui/QuantityStepper/index.js +2 -0
  80. package/dist/ui/QuantityStepper/index.js.map +1 -0
  81. package/dist/ui/Radio/Radio.d.ts +9 -0
  82. package/dist/ui/Radio/Radio.d.ts.map +1 -0
  83. package/dist/ui/Radio/Radio.js +18 -0
  84. package/dist/ui/Radio/Radio.js.map +1 -0
  85. package/dist/ui/ScreenState/ScreenState.d.ts +27 -0
  86. package/dist/ui/ScreenState/ScreenState.d.ts.map +1 -0
  87. package/dist/ui/ScreenState/ScreenState.js +29 -0
  88. package/dist/ui/ScreenState/ScreenState.js.map +1 -0
  89. package/dist/ui/SegmentTabs/SegmentTabs.d.ts +21 -0
  90. package/dist/ui/SegmentTabs/SegmentTabs.d.ts.map +1 -0
  91. package/dist/ui/SegmentTabs/SegmentTabs.js +49 -0
  92. package/dist/ui/SegmentTabs/SegmentTabs.js.map +1 -0
  93. package/dist/ui/SegmentTabs/SegmentTabsOverflow.d.ts +17 -0
  94. package/dist/ui/SegmentTabs/SegmentTabsOverflow.d.ts.map +1 -0
  95. package/dist/ui/SegmentTabs/SegmentTabsOverflow.js +24 -0
  96. package/dist/ui/SegmentTabs/SegmentTabsOverflow.js.map +1 -0
  97. package/dist/ui/Select/Select.d.ts +30 -0
  98. package/dist/ui/Select/Select.d.ts.map +1 -0
  99. package/dist/ui/Select/Select.js +101 -0
  100. package/dist/ui/Select/Select.js.map +1 -0
  101. package/dist/ui/Select/index.d.ts +2 -0
  102. package/dist/ui/Select/index.d.ts.map +1 -0
  103. package/dist/ui/Select/index.js +2 -0
  104. package/dist/ui/Select/index.js.map +1 -0
  105. package/dist/ui/Skeleton/Skeleton.d.ts +15 -0
  106. package/dist/ui/Skeleton/Skeleton.d.ts.map +1 -0
  107. package/dist/ui/Skeleton/Skeleton.js +16 -0
  108. package/dist/ui/Skeleton/Skeleton.js.map +1 -0
  109. package/dist/ui/Switch/Switch.d.ts +11 -0
  110. package/dist/ui/Switch/Switch.d.ts.map +1 -0
  111. package/dist/ui/Switch/Switch.js +36 -0
  112. package/dist/ui/Switch/Switch.js.map +1 -0
  113. package/dist/ui/Textarea/Textarea.d.ts +24 -0
  114. package/dist/ui/Textarea/Textarea.d.ts.map +1 -0
  115. package/dist/ui/Textarea/Textarea.js +25 -0
  116. package/dist/ui/Textarea/Textarea.js.map +1 -0
  117. package/dist/ui/Toast/Toast.d.ts +14 -0
  118. package/dist/ui/Toast/Toast.d.ts.map +1 -0
  119. package/dist/ui/Toast/Toast.js +21 -0
  120. package/dist/ui/Toast/Toast.js.map +1 -0
  121. package/dist/ui/Typography/Typography.d.ts +70 -0
  122. package/dist/ui/Typography/Typography.d.ts.map +1 -0
  123. package/dist/ui/Typography/Typography.js +58 -0
  124. package/dist/ui/Typography/Typography.js.map +1 -0
  125. package/package.json +1 -1
  126. package/src/tokens/brand-bridge.css +6 -0
  127. package/src/tokens/tokens.sync.json +989 -0
package/dist/index.d.ts CHANGED
@@ -64,7 +64,7 @@ export * from './catalogImagePresentation.js';
64
64
  export * from './CatalogImagePlaceholder.js';
65
65
  export * from './tenant/tenantPathResolution.js';
66
66
  export * from './tenant/tenantLifecycle.js';
67
- export { PERMISSION_DOMAIN_LABELS, PERMISSION_LEVEL_LABELS, getPermissionDomainLabel, getPermissionLevelLabel, } from './permissions/permissionLabels.js';
67
+ export { PERMISSION_DOMAIN_LABELS, PERMISSION_LEVEL_LABELS, PERMISSION_RESOURCE_LABELS, getPermissionDomainLabel, getPermissionLevelLabel, getPermissionResourceTitle, } from './permissions/permissionLabels.js';
68
68
  export { expandCapabilitiesForClientCheck, grantImpliesTarget, hasEffectiveCapability, hasAnyEffectiveCapability, ADMIN_USERS_MANAGE_BRIDGE_SOURCES, ADMIN_USERS_MANAGE_BRIDGE_TARGETS, BRIDGE_PARITY_FIXTURE_GRANTS, BRIDGE_PARITY_FIXTURE_EXPECTED_TARGETS, } from './permissions/effectiveCapabilities.js';
69
69
  export { TENANT_ADMIN_EVENTS_SUBSCRIBE, TENANT_ADMIN_USERS_VIEW, TENANT_ADMIN_USERS_MANAGE, TENANT_RECONCILIATION_READ, TENANT_BANK_INBOX_MANAGE, TENANT_PAYMENT_CLAIMS_APPROVE, } from './permissions/canonicalCapabilityIds.js';
70
70
  export type { PermissionLevel } from './permissions/permissionLabels.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yCAAyC,CAAC;AACxD,OAAO,EACL,wCAAwC,EACxC,yCAAyC,GAC1C,MAAM,yCAAyC,CAAC;AACjD,cAAc,oBAAoB,CAAC;AACnC,cAAc,oCAAoC,CAAC;AACnD,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,qCAAqC,CAAC;AACpD,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,KAAK,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC/F,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,oCAAoC,CAAC;AACnD,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,OAAO,EACL,0BAA0B,EAC1B,KAAK,sBAAsB,GAC5B,MAAM,wBAAwB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uCAAuC,CAAC;AACtD,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAE5C,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,gCAAgC,EAChC,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,iCAAiC,EACjC,iCAAiC,EACjC,4BAA4B,EAC5B,sCAAsC,GACvC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,yCAAyC,CAAC;AACjD,YAAY,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,mBAAmB,EACnB,uBAAuB,EACvB,iBAAiB,EACjB,sCAAsC,EACtC,+BAA+B,EAC/B,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,KAAK,uBAAuB,GAC7B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EACL,+BAA+B,EAC/B,KAAK,yBAAyB,GAC/B,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,mCAAmC,EAAE,MAAM,mDAAmD,CAAC;AACxG,cAAc,oBAAoB,CAAC;AACnC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,0BAA0B,EAC1B,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,GACtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,KAAK,2BAA2B,GACjC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,4BAA4B,EAC5B,mCAAmC,EACnC,gCAAgC,EAChC,kCAAkC,EAClC,2BAA2B,EAC3B,uBAAuB,EACvB,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,GACpC,MAAM,sCAAsC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -64,7 +64,7 @@ export * from './catalogImagePresentation.js';
64
64
  export * from './CatalogImagePlaceholder.js';
65
65
  export * from './tenant/tenantPathResolution.js';
66
66
  export * from './tenant/tenantLifecycle.js';
67
- export { PERMISSION_DOMAIN_LABELS, PERMISSION_LEVEL_LABELS, getPermissionDomainLabel, getPermissionLevelLabel, } from './permissions/permissionLabels.js';
67
+ export { PERMISSION_DOMAIN_LABELS, PERMISSION_LEVEL_LABELS, PERMISSION_RESOURCE_LABELS, getPermissionDomainLabel, getPermissionLevelLabel, getPermissionResourceTitle, } from './permissions/permissionLabels.js';
68
68
  export { expandCapabilitiesForClientCheck, grantImpliesTarget, hasEffectiveCapability, hasAnyEffectiveCapability, ADMIN_USERS_MANAGE_BRIDGE_SOURCES, ADMIN_USERS_MANAGE_BRIDGE_TARGETS, BRIDGE_PARITY_FIXTURE_GRANTS, BRIDGE_PARITY_FIXTURE_EXPECTED_TARGETS, } from './permissions/effectiveCapabilities.js';
69
69
  export { TENANT_ADMIN_EVENTS_SUBSCRIBE, TENANT_ADMIN_USERS_VIEW, TENANT_ADMIN_USERS_MANAGE, TENANT_RECONCILIATION_READ, TENANT_BANK_INBOX_MANAGE, TENANT_PAYMENT_CLAIMS_APPROVE, } from './permissions/canonicalCapabilityIds.js';
70
70
  export { TURNSTILE_PUBLIC_CONFIG_PATH, fetchTurnstileConfig, appendTurnstileToken, TurnstileConfigFetchError, } from './auth/turnstileTypes.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,13 @@ import type { LabelLocale, LocalizedLabel } from '../labels/localizedLabel.js';
2
2
  export type PermissionLevel = 'view' | 'manage';
3
3
  export declare const PERMISSION_LEVEL_LABELS: Record<PermissionLevel, LocalizedLabel>;
4
4
  export declare const PERMISSION_DOMAIN_LABELS: Record<string, LocalizedLabel>;
5
+ /**
6
+ * Short resource titles keyed by displayKey path after domain + view/manage strip.
7
+ * Example: tenant.products.view → products; tenant.adminEvents.subscribe → adminEvents.subscribe
8
+ */
9
+ export declare const PERMISSION_RESOURCE_LABELS: Record<string, LocalizedLabel>;
5
10
  export declare function getPermissionLevelLabel(level: PermissionLevel, locale: LabelLocale): string;
6
11
  export declare function getPermissionDomainLabel(domain: string, locale: LabelLocale): string;
12
+ /** Resolve a localized short title for a resource key (after domain/level strip). */
13
+ export declare function getPermissionResourceTitle(resourceKey: string, locale: LabelLocale): string | null;
7
14
  //# sourceMappingURL=permissionLabels.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"permissionLabels.d.ts","sourceRoot":"","sources":["../../src/permissions/permissionLabels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE/E,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEhD,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,eAAe,EAAE,cAAc,CAG3E,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAQnE,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM,CAE3F;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM,CAWpF"}
1
+ {"version":3,"file":"permissionLabels.d.ts","sourceRoot":"","sources":["../../src/permissions/permissionLabels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE/E,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEhD,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,eAAe,EAAE,cAAc,CAG3E,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAQnE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CA6HrE,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM,CAE3F;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM,CAWpF;AAED,qFAAqF;AACrF,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,WAAW,GAClB,MAAM,GAAG,IAAI,CAMf"}
@@ -8,9 +8,132 @@ export const PERMISSION_DOMAIN_LABELS = {
8
8
  permissions: { en: 'Permissions catalog', cs: 'Katalog oprávnění' },
9
9
  tenant: { en: 'Tenant operations', cs: 'Provoz tenantu' },
10
10
  platform: { en: 'Platform administration', cs: 'Správa platformy' },
11
- exceptions: { en: 'High-risk exceptions', cs: 'Vysoce rizikové výjimky' },
11
+ exceptions: { en: 'Exceptions', cs: 'Výjimky' },
12
12
  compliance: { en: 'Compliance', cs: 'Compliance' },
13
13
  };
14
+ /**
15
+ * Short resource titles keyed by displayKey path after domain + view/manage strip.
16
+ * Example: tenant.products.view → products; tenant.adminEvents.subscribe → adminEvents.subscribe
17
+ */
18
+ export const PERMISSION_RESOURCE_LABELS = {
19
+ // Principal / account / catalog
20
+ principal: { en: 'Account access', cs: 'Přístup k účtu' },
21
+ 'self': { en: 'Own account', cs: 'Vlastní účet' },
22
+ permissionsCatalog: { en: 'Permissions catalog', cs: 'Katalog oprávnění' },
23
+ // Tenant — payments & bank
24
+ paymentCredentials: { en: 'Payment credentials', cs: 'Platební údaje' },
25
+ paymentPreferences: { en: 'Payment preferences', cs: 'Platební preference' },
26
+ paymentsIntegration: { en: 'Payments integration', cs: 'Platební integrace' },
27
+ bankAccounts: { en: 'Bank accounts', cs: 'Bankovní účty' },
28
+ 'bankAccounts.read': { en: 'Bank accounts — read', cs: 'Bankovní účty — čtení' },
29
+ bankInbox: { en: 'Bank inbox', cs: 'Bankovní schránka' },
30
+ 'bankInbox.read': { en: 'Bank inbox — read', cs: 'Bankovní schránka — čtení' },
31
+ 'paymentClaims.approve': { en: 'Payment claims — approve', cs: 'Platební nároky — schválení' },
32
+ 'reconciliation.read': { en: 'Reconciliation — read', cs: 'Párování plateb — čtení' },
33
+ 'comms.credentials.read': { en: 'Comms credentials — read', cs: 'Komunikační údaje — čtení' },
34
+ 'comms.credentials.write': { en: 'Comms credentials — write', cs: 'Komunikační údaje — zápis' },
35
+ // Tenant — users & ops
36
+ adminUsers: { en: 'Admin users', cs: 'Administrátoři' },
37
+ adminUserCapabilities: { en: 'Admin user capabilities', cs: 'Oprávnění administrátorů' },
38
+ products: { en: 'Products', cs: 'Produkty' },
39
+ kiosks: { en: 'Kiosks', cs: 'Kiosky' },
40
+ inventory: { en: 'Inventory', cs: 'Sklad' },
41
+ transactions: { en: 'Transactions', cs: 'Transakce' },
42
+ donationProjects: { en: 'Donation projects', cs: 'Dárkové projekty' },
43
+ donationTemplates: { en: 'Donation templates', cs: 'Šablony darů' },
44
+ kioskDonationAssign: { en: 'Kiosk donation assign', cs: 'Přiřazení darů na kiosk' },
45
+ kioskDonationAmounts: { en: 'Kiosk donation amounts', cs: 'Částky darů na kiosku' },
46
+ 'orders.complete': { en: 'Orders — complete', cs: 'Objednávky — dokončení' },
47
+ 'orders.fulfill.read': { en: 'Orders — fulfill — read', cs: 'Objednávky — výdej — čtení' },
48
+ 'orders.fulfill.update': { en: 'Orders — fulfill — update', cs: 'Objednávky — výdej — úprava' },
49
+ 'orders.pickup.scan': { en: 'Orders — pickup — scan', cs: 'Objednávky — výdej — sken' },
50
+ 'orders.pickup.refuse': { en: 'Orders — pickup — refuse', cs: 'Objednávky — výdej — odmítnutí' },
51
+ 'orders.pickup.hold': { en: 'Orders — pickup — hold', cs: 'Objednávky — výdej — pozastavení' },
52
+ 'orders.pickup.reprint': { en: 'Orders — pickup — reprint', cs: 'Objednávky — výdej — tisk' },
53
+ pickupPoints: { en: 'Pickup points', cs: 'Výdejní místa' },
54
+ 'pickupPoints.read': { en: 'Pickup points — read', cs: 'Výdejní místa — čtení' },
55
+ pickupDevices: { en: 'Pickup devices', cs: 'Výdejní zařízení' },
56
+ 'pickupDevices.read': { en: 'Pickup devices — read', cs: 'Výdejní zařízení — čtení' },
57
+ outbox: { en: 'Outbox', cs: 'Outbox' },
58
+ 'adminEvents.subscribe': { en: 'Admin events — subscribe', cs: 'Admin události — odběr' },
59
+ policyApproval: { en: 'Policy approval', cs: 'Schválení politiky' },
60
+ // Tenant — analytics
61
+ analyticsSummary: { en: 'Analytics summary', cs: 'Souhrnná analytika' },
62
+ analyticsDetailed: { en: 'Analytics detailed', cs: 'Detailní analytika' },
63
+ analyticsPii: { en: 'Analytics PII', cs: 'Analytika — osobní údaje' },
64
+ analyticsBenchmark: { en: 'Analytics benchmark', cs: 'Analytický benchmark' },
65
+ // Tenant — finance
66
+ financeView: { en: 'Finance view', cs: 'Finance — přehled' },
67
+ financeDetailed: { en: 'Finance detailed', cs: 'Finance — detail' },
68
+ financePii: { en: 'Finance PII', cs: 'Finance — osobní údaje' },
69
+ financeExport: { en: 'Finance export', cs: 'Finance — export' },
70
+ financeSettlements: { en: 'Finance settlements', cs: 'Finance — vyúčtování' },
71
+ financeRefunds: { en: 'Finance refunds', cs: 'Finance — refundace' },
72
+ financeApproveSettlement: { en: 'Finance approve settlement', cs: 'Finance — schválení vyúčtování' },
73
+ // Tenant — system & config
74
+ systemHealth: { en: 'System health', cs: 'Stav systému' },
75
+ systemLogs: { en: 'System logs', cs: 'Systémové záznamy' },
76
+ systemPii: { en: 'System PII', cs: 'Systém — osobní údaje' },
77
+ systemFeatureFlags: { en: 'System feature flags', cs: 'Přepínače funkcí' },
78
+ systemSecrets: { en: 'System secrets', cs: 'Systémová tajemství' },
79
+ configPricing: { en: 'Config pricing', cs: 'Cenotvorba' },
80
+ pricingKioskOverride: { en: 'Pricing kiosk override', cs: 'Přepsání DPH u kiosku' },
81
+ configTenant: { en: 'Config tenant', cs: 'Nastavení tenanta' },
82
+ // Exceptions
83
+ crossTenantReplayExecute: {
84
+ en: 'Cross-tenant replay execute',
85
+ cs: 'Spuštění přehrání napříč tenanty',
86
+ },
87
+ tenantPermanentDelete: { en: 'Tenant permanent delete', cs: 'Trvalé smazání tenanta' },
88
+ refundResolve: { en: 'Refund resolve', cs: 'Vyřešení refundace' },
89
+ complianceSensitiveAccess: {
90
+ en: 'Compliance-sensitive access',
91
+ cs: 'Citlivý compliance přístup',
92
+ },
93
+ // Platform (short titles for rare advanced UI)
94
+ users: { en: 'Platform users', cs: 'Uživatelé platformy' },
95
+ tenants: { en: 'Platform tenants', cs: 'Tenanti platformy' },
96
+ tenantPayments: { en: 'Tenant payments defaults', cs: 'Výchozí platby tenantů' },
97
+ userTenantAssignments: {
98
+ en: 'User–tenant assignments',
99
+ cs: 'Přiřazení uživatelů k tenantům',
100
+ },
101
+ userCapabilities: { en: 'User capabilities', cs: 'Oprávnění uživatelů' },
102
+ retentionWorkers: { en: 'Retention workers', cs: 'Retention workery' },
103
+ 'outboxReplay.dryRun': { en: 'Outbox replay — dry run', cs: 'Přehrání outboxu — nácvik' },
104
+ 'outboxReplay.approvalRequestCreate': {
105
+ en: 'Outbox replay — request approval',
106
+ cs: 'Přehrání outboxu — žádost o schválení',
107
+ },
108
+ 'outboxReplay.approvalRequestApprove': {
109
+ en: 'Outbox replay — approve',
110
+ cs: 'Přehrání outboxu — schválení',
111
+ },
112
+ 'outboxReplay.approvalRequestRevoke': {
113
+ en: 'Outbox replay — revoke',
114
+ cs: 'Přehrání outboxu — odvolání',
115
+ },
116
+ 'outboxReplay.execute': { en: 'Outbox replay — execute', cs: 'Přehrání outboxu — spuštění' },
117
+ aggregates: { en: 'Aggregates', cs: 'Agregace' },
118
+ successIncident: { en: 'Success incident', cs: 'Success incident' },
119
+ hardeningMetrics: { en: 'Hardening metrics', cs: 'Hardening metriky' },
120
+ overview: { en: 'Platform overview', cs: 'Přehled platformy' },
121
+ reconciliation: { en: 'Platform reconciliation', cs: 'Párování platformy' },
122
+ retention: { en: 'Retention', cs: 'Retence' },
123
+ devUsers: { en: 'Dev users', cs: 'Dev uživatelé' },
124
+ analyticsPipeline: { en: 'Analytics pipeline', cs: 'Analytický pipeline' },
125
+ analyticsExplore: { en: 'Analytics explore', cs: 'Průzkum analytiky' },
126
+ complianceAudit: { en: 'Compliance audit', cs: 'Compliance audit' },
127
+ complianceGdpr: { en: 'Compliance GDPR', cs: 'Compliance GDPR' },
128
+ auditFinalizeIncident: {
129
+ en: 'Audit finalize incident',
130
+ cs: 'Uzavření auditního incidentu',
131
+ },
132
+ complianceRetentionDelete: {
133
+ en: 'Compliance retention delete',
134
+ cs: 'Smazání retention dat',
135
+ },
136
+ };
14
137
  export function getPermissionLevelLabel(level, locale) {
15
138
  return PERMISSION_LEVEL_LABELS[level][locale];
16
139
  }
@@ -26,4 +149,12 @@ export function getPermissionDomainLabel(domain, locale) {
26
149
  .join(' ');
27
150
  return fallback.length > 0 ? fallback : 'Permissions';
28
151
  }
152
+ /** Resolve a localized short title for a resource key (after domain/level strip). */
153
+ export function getPermissionResourceTitle(resourceKey, locale) {
154
+ const known = PERMISSION_RESOURCE_LABELS[resourceKey];
155
+ if (known !== undefined) {
156
+ return known[locale];
157
+ }
158
+ return null;
159
+ }
29
160
  //# sourceMappingURL=permissionLabels.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"permissionLabels.js","sourceRoot":"","sources":["../../src/permissions/permissionLabels.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,uBAAuB,GAA4C;IAC9E,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE;IACrC,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE;CACvC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAmC;IACtE,SAAS,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,gBAAgB,EAAE;IACzD,OAAO,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE;IACtC,WAAW,EAAE,EAAE,EAAE,EAAE,qBAAqB,EAAE,EAAE,EAAE,mBAAmB,EAAE;IACnE,MAAM,EAAE,EAAE,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE,gBAAgB,EAAE;IACzD,QAAQ,EAAE,EAAE,EAAE,EAAE,yBAAyB,EAAE,EAAE,EAAE,kBAAkB,EAAE;IACnE,UAAU,EAAE,EAAE,EAAE,EAAE,sBAAsB,EAAE,EAAE,EAAE,yBAAyB,EAAE;IACzE,UAAU,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE;CACnD,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,KAAsB,EAAE,MAAmB;IACjF,OAAO,uBAAuB,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAc,EAAE,MAAmB;IAC1E,MAAM,KAAK,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM;SACpB,KAAK,CAAC,OAAO,CAAC;SACd,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACpE,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"permissionLabels.js","sourceRoot":"","sources":["../../src/permissions/permissionLabels.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * CMP-0025 Avatar — image when `avatarUrl` present; else initials from `name`.
3
+ */
4
+ export interface AvatarProps {
5
+ readonly name: string;
6
+ readonly avatarUrl?: string | null;
7
+ readonly size?: 'sm' | 'md' | 'lg';
8
+ readonly className?: string;
9
+ readonly alt?: string;
10
+ readonly testId?: string;
11
+ }
12
+ /** Derive 1–2 letter initials from a display name (CMP-0025). */
13
+ export declare function initialsFromName(name: string): string;
14
+ export declare function Avatar({ name, avatarUrl, size, className, alt, testId, }: AvatarProps): JSX.Element;
15
+ //# sourceMappingURL=Avatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../src/ui/Avatar/Avatar.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAQD,iEAAiE;AACjE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAYrD;AAED,wBAAgB,MAAM,CAAC,EACrB,IAAI,EACJ,SAAS,EACT,IAAW,EACX,SAAS,EACT,GAAG,EACH,MAAiB,GAClB,EAAE,WAAW,GAAG,GAAG,CAAC,OAAO,CA6B3B"}
@@ -0,0 +1,37 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ const SIZE_CLASS = {
3
+ sm: 'h-8 w-8 text-xs',
4
+ md: 'h-10 w-10 text-sm',
5
+ lg: 'h-14 w-14 text-base',
6
+ };
7
+ /** Derive 1–2 letter initials from a display name (CMP-0025). */
8
+ export function initialsFromName(name) {
9
+ const parts = name
10
+ .trim()
11
+ .split(/\s+/)
12
+ .filter((part) => part.length > 0);
13
+ if (parts.length === 0) {
14
+ return '?';
15
+ }
16
+ if (parts.length === 1) {
17
+ return parts[0].slice(0, 2).toUpperCase();
18
+ }
19
+ return `${parts[0].charAt(0)}${parts[parts.length - 1].charAt(0)}`.toUpperCase();
20
+ }
21
+ export function Avatar({ name, avatarUrl, size = 'md', className, alt, testId = 'avatar', }) {
22
+ const initials = initialsFromName(name);
23
+ const base = [
24
+ 'inline-flex shrink-0 items-center justify-center overflow-hidden rounded-full',
25
+ 'bg-[var(--color-surface-muted,var(--color-an-primary-soft,#e0e7ff))]',
26
+ 'font-semibold text-[var(--color-on-surface,var(--color-an-primary,#4f46e5))]',
27
+ SIZE_CLASS[size],
28
+ className,
29
+ ]
30
+ .filter(Boolean)
31
+ .join(' ');
32
+ if (avatarUrl) {
33
+ return (_jsx("img", { src: avatarUrl, alt: alt ?? name, className: base, "data-testid": testId, "data-avatar": "image" }));
34
+ }
35
+ return (_jsx("span", { className: base, "aria-label": alt ?? name, "data-testid": testId, "data-avatar": "initials", children: initials }));
36
+ }
37
+ //# sourceMappingURL=Avatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../../../src/ui/Avatar/Avatar.tsx"],"names":[],"mappings":";AAaA,MAAM,UAAU,GAAqD;IACnE,EAAE,EAAE,iBAAiB;IACrB,EAAE,EAAE,mBAAmB;IACvB,EAAE,EAAE,qBAAqB;CAC1B,CAAC;AAEF,iEAAiE;AACjE,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,KAAK,GAAG,IAAI;SACf,IAAI,EAAE;SACN,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EACrB,IAAI,EACJ,SAAS,EACT,IAAI,GAAG,IAAI,EACX,SAAS,EACT,GAAG,EACH,MAAM,GAAG,QAAQ,GACL;IACZ,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG;QACX,+EAA+E;QAC/E,sEAAsE;QACtE,8EAA8E;QAC9E,UAAU,CAAC,IAAI,CAAC;QAChB,SAAS;KACV;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CACL,cACE,GAAG,EAAE,SAAS,EACd,GAAG,EAAE,GAAG,IAAI,IAAI,EAChB,SAAS,EAAE,IAAI,iBACF,MAAM,iBACP,OAAO,GACnB,CACH,CAAC;IACJ,CAAC;IAED,OAAO,CACL,eAAM,SAAS,EAAE,IAAI,gBAAc,GAAG,IAAI,IAAI,iBAAe,MAAM,iBAAc,UAAU,YACxF,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,60 @@
1
+ import { type HTMLAttributes } from 'react';
2
+ import { type VariantProps } from '../tvShim.js';
3
+ declare const badge: import("tailwind-variants").TVReturnType<{
4
+ tone: {
5
+ neutral: string;
6
+ primary: string;
7
+ success: string;
8
+ warn: string;
9
+ danger: string;
10
+ info: string;
11
+ };
12
+ size: {
13
+ sm: string;
14
+ md: string;
15
+ };
16
+ variant: {
17
+ solid: string;
18
+ outline: string;
19
+ };
20
+ }, undefined, "inline-flex items-center rounded-full font-semibold leading-none", TVConfig<V, EV>, {
21
+ tone: {
22
+ neutral: string;
23
+ primary: string;
24
+ success: string;
25
+ warn: string;
26
+ danger: string;
27
+ info: string;
28
+ };
29
+ size: {
30
+ sm: string;
31
+ md: string;
32
+ };
33
+ variant: {
34
+ solid: string;
35
+ outline: string;
36
+ };
37
+ }, undefined, import("tailwind-variants").TVReturnType<{
38
+ tone: {
39
+ neutral: string;
40
+ primary: string;
41
+ success: string;
42
+ warn: string;
43
+ danger: string;
44
+ info: string;
45
+ };
46
+ size: {
47
+ sm: string;
48
+ md: string;
49
+ };
50
+ variant: {
51
+ solid: string;
52
+ outline: string;
53
+ };
54
+ }, undefined, "inline-flex items-center rounded-full font-semibold leading-none", TVConfig<V, EV>, unknown, unknown, undefined>>;
55
+ type BadgeVariants = VariantProps<typeof badge>;
56
+ export type BadgeProps = HTMLAttributes<HTMLSpanElement> & BadgeVariants;
57
+ /** CMP-0009 Badge — tones align STATUS registry. */
58
+ export declare const Badge: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & BadgeVariants & import("react").RefAttributes<HTMLSpanElement>>;
59
+ export {};
60
+ //# sourceMappingURL=Badge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../src/ui/Badge/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AACxD,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAErD,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gIAuFT,CAAC;AAEH,KAAK,aAAa,GAAG,YAAY,CAAC,OAAO,KAAK,CAAC,CAAC;AAEhD,MAAM,MAAM,UAAU,GAAG,cAAc,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC;AAEzE,oDAAoD;AACpD,eAAO,MAAM,KAAK,6IAIjB,CAAC"}
@@ -0,0 +1,91 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { forwardRef } from 'react';
3
+ import { tv } from '../tvShim.js';
4
+ const badge = tv({
5
+ base: 'inline-flex items-center rounded-full font-semibold leading-none',
6
+ variants: {
7
+ tone: {
8
+ neutral: '',
9
+ primary: '',
10
+ success: '',
11
+ warn: '',
12
+ danger: '',
13
+ info: '',
14
+ },
15
+ size: {
16
+ sm: 'px-2 py-0.5 text-[10px]',
17
+ md: 'px-2.5 py-0.5 text-xs',
18
+ },
19
+ variant: {
20
+ solid: '',
21
+ outline: 'border bg-transparent',
22
+ },
23
+ },
24
+ compoundVariants: [
25
+ {
26
+ tone: 'neutral',
27
+ variant: 'solid',
28
+ class: 'bg-[var(--color-surface-muted,var(--color-gray-200,#e5e7eb))] text-[var(--color-on-surface-muted,var(--color-gray-800,#1f2937))]',
29
+ },
30
+ {
31
+ tone: 'neutral',
32
+ variant: 'outline',
33
+ class: 'border-[var(--color-border,var(--color-gray-300))] text-[var(--color-on-surface-muted)]',
34
+ },
35
+ {
36
+ tone: 'primary',
37
+ variant: 'solid',
38
+ class: 'bg-[var(--color-surface-soft,var(--color-an-primary-soft))] text-[var(--color-action-primary,var(--color-an-primary))]',
39
+ },
40
+ {
41
+ tone: 'primary',
42
+ variant: 'outline',
43
+ class: 'border-[var(--color-action-primary,var(--color-an-primary))] text-[var(--color-action-primary,var(--color-an-primary))]',
44
+ },
45
+ {
46
+ tone: 'success',
47
+ variant: 'solid',
48
+ class: 'bg-[color-mix(in_oklab,var(--color-success,var(--color-an-success))_15%,transparent)] text-[var(--color-success,var(--color-an-success))]',
49
+ },
50
+ {
51
+ tone: 'success',
52
+ variant: 'outline',
53
+ class: 'border-[var(--color-success,var(--color-an-success))] text-[var(--color-success,var(--color-an-success))]',
54
+ },
55
+ {
56
+ tone: 'warn',
57
+ variant: 'solid',
58
+ class: 'bg-[color-mix(in_oklab,var(--color-warning,var(--color-an-warn))_15%,transparent)] text-[var(--color-warning,var(--color-an-warn))]',
59
+ },
60
+ {
61
+ tone: 'warn',
62
+ variant: 'outline',
63
+ class: 'border-[var(--color-warning,var(--color-an-warn))] text-[var(--color-warning,var(--color-an-warn))]',
64
+ },
65
+ {
66
+ tone: 'danger',
67
+ variant: 'solid',
68
+ class: 'bg-[color-mix(in_oklab,var(--color-danger,var(--color-an-danger))_15%,transparent)] text-[var(--color-danger,var(--color-an-danger))]',
69
+ },
70
+ {
71
+ tone: 'danger',
72
+ variant: 'outline',
73
+ class: 'border-[var(--color-danger,var(--color-an-danger))] text-[var(--color-danger,var(--color-an-danger))]',
74
+ },
75
+ {
76
+ tone: 'info',
77
+ variant: 'solid',
78
+ class: 'bg-[color-mix(in_oklab,var(--color-info,#0ea5e9)_15%,transparent)] text-[var(--color-info,#0ea5e9)]',
79
+ },
80
+ {
81
+ tone: 'info',
82
+ variant: 'outline',
83
+ class: 'border-[var(--color-info,#0ea5e9)] text-[var(--color-info,#0ea5e9)]',
84
+ },
85
+ ],
86
+ defaultVariants: { tone: 'neutral', size: 'md', variant: 'solid' },
87
+ });
88
+ /** CMP-0009 Badge — tones align STATUS registry. */
89
+ export const Badge = forwardRef(({ className, tone, size, variant, ...rest }, ref) => (_jsx("span", { ref: ref, className: badge({ tone, size, variant, className }), ...rest })));
90
+ Badge.displayName = 'Badge';
91
+ //# sourceMappingURL=Badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Badge.js","sourceRoot":"","sources":["../../../src/ui/Badge/Badge.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAuB,MAAM,OAAO,CAAC;AACxD,OAAO,EAAE,EAAE,EAAqB,MAAM,cAAc,CAAC;AAErD,MAAM,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,EAAE,kEAAkE;IACxE,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,EAAE;SACT;QACD,IAAI,EAAE;YACJ,EAAE,EAAE,yBAAyB;YAC7B,EAAE,EAAE,uBAAuB;SAC5B;QACD,OAAO,EAAE;YACP,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,uBAAuB;SACjC;KACF;IACD,gBAAgB,EAAE;QAChB;YACE,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,kIAAkI;SAC1I;QACD;YACE,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,yFAAyF;SACjG;QACD;YACE,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO;YAChB,KAAK,EACH,wHAAwH;SAC3H;QACD;YACE,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,yHAAyH;SACjI;QACD;YACE,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO;YAChB,KAAK,EACH,2IAA2I;SAC9I;QACD;YACE,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,2GAA2G;SACnH;QACD;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,OAAO;YAChB,KAAK,EACH,qIAAqI;SACxI;QACD;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,qGAAqG;SAC7G;QACD;YACE,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,OAAO;YAChB,KAAK,EACH,uIAAuI;SAC1I;QACD;YACE,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,uGAAuG;SAC/G;QACD;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,qGAAqG;SAC7G;QACD;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,qEAAqE;SAC7E;KACF;IACD,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE;CACnE,CAAC,CAAC;AAMH,oDAAoD;AACpD,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,CAC7B,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CACpD,eAAM,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,KAAM,IAAI,GAAI,CACnF,CACF,CAAC;AACF,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { type ReactNode } from 'react';
2
+ /**
3
+ * CMP-0017 BottomSheet — Drawer alias (Radix-free sheet from bottom).
4
+ */
5
+ export interface BottomSheetProps {
6
+ readonly open: boolean;
7
+ readonly onClose: () => void;
8
+ readonly title?: string;
9
+ readonly children: ReactNode;
10
+ readonly closeLabel?: string;
11
+ readonly className?: string;
12
+ readonly testId?: string;
13
+ }
14
+ export declare function BottomSheet({ open, onClose, title, children, closeLabel, className, testId, }: BottomSheetProps): JSX.Element | null;
15
+ /** Drawer = BottomSheet alias only (registry). */
16
+ export declare const Drawer: typeof BottomSheet;
17
+ export type DrawerProps = BottomSheetProps;
18
+ //# sourceMappingURL=BottomSheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../../src/ui/BottomSheet/BottomSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,OAAO,EACP,KAAK,EACL,QAAQ,EACR,UAAoB,EACpB,SAAS,EACT,MAAuB,GACxB,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAqDvC;AAED,kDAAkD;AAClD,eAAO,MAAM,MAAM,oBAAc,CAAC;AAClC,MAAM,MAAM,WAAW,GAAG,gBAAgB,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect } from 'react';
3
+ export function BottomSheet({ open, onClose, title, children, closeLabel = 'Close', className, testId = 'bottom-sheet', }) {
4
+ useEffect(() => {
5
+ if (!open) {
6
+ return;
7
+ }
8
+ const onKey = (event) => {
9
+ if (event.key === 'Escape') {
10
+ onClose();
11
+ }
12
+ };
13
+ window.addEventListener('keydown', onKey);
14
+ return () => window.removeEventListener('keydown', onKey);
15
+ }, [open, onClose]);
16
+ if (!open) {
17
+ return null;
18
+ }
19
+ return (_jsxs("div", { className: "fixed inset-0 z-50 flex items-end justify-center", "data-testid": testId, children: [_jsx("button", { type: "button", className: "absolute inset-0 bg-black/40", "aria-label": closeLabel, onClick: onClose, "data-testid": `${testId}-overlay` }), _jsxs("div", { role: "dialog", "aria-modal": "true", "aria-label": title, className: [
20
+ 'relative z-10 max-h-[85vh] w-full overflow-auto rounded-t-2xl border border-[var(--color-border)]',
21
+ 'bg-[var(--color-surface,var(--color-an-surface))] p-4 shadow-lg',
22
+ className,
23
+ ]
24
+ .filter(Boolean)
25
+ .join(' '), "data-testid": `${testId}-content`, children: [_jsx("div", { className: "mx-auto mb-3 h-1 w-10 rounded-full bg-[var(--color-border)]", "aria-hidden": "true" }), title ? (_jsxs("header", { className: "mb-3 flex items-center justify-between gap-2", children: [_jsx("h2", { className: "m-0 text-base font-semibold", children: title }), _jsx("button", { type: "button", "aria-label": closeLabel, onClick: onClose, "data-testid": `${testId}-close`, children: "\u00D7" })] })) : null, children] })] }));
26
+ }
27
+ /** Drawer = BottomSheet alias only (registry). */
28
+ export const Drawer = BottomSheet;
29
+ //# sourceMappingURL=BottomSheet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BottomSheet.js","sourceRoot":"","sources":["../../../src/ui/BottomSheet/BottomSheet.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAkB,MAAM,OAAO,CAAC;AAelD,MAAM,UAAU,WAAW,CAAC,EAC1B,IAAI,EACJ,OAAO,EACP,KAAK,EACL,QAAQ,EACR,UAAU,GAAG,OAAO,EACpB,SAAS,EACT,MAAM,GAAG,cAAc,GACN;IACjB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,KAAoB,EAAQ,EAAE;YAC3C,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC3B,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC1C,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAEpB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAC,kDAAkD,iBAAc,MAAM,aACnF,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,8BAA8B,gBAC5B,UAAU,EACtB,OAAO,EAAE,OAAO,iBACH,GAAG,MAAM,UAAU,GAChC,EACF,eACE,IAAI,EAAC,QAAQ,gBACF,MAAM,gBACL,KAAK,EACjB,SAAS,EAAE;oBACT,mGAAmG;oBACnG,iEAAiE;oBACjE,SAAS;iBACV;qBACE,MAAM,CAAC,OAAO,CAAC;qBACf,IAAI,CAAC,GAAG,CAAC,iBACC,GAAG,MAAM,UAAU,aAEhC,cAAK,SAAS,EAAC,6DAA6D,iBAAa,MAAM,GAAG,EACjG,KAAK,CAAC,CAAC,CAAC,CACP,kBAAQ,SAAS,EAAC,8CAA8C,aAC9D,aAAI,SAAS,EAAC,6BAA6B,YAAE,KAAK,GAAM,EACxD,iBAAQ,IAAI,EAAC,QAAQ,gBAAa,UAAU,EAAE,OAAO,EAAE,OAAO,iBAAe,GAAG,MAAM,QAAQ,uBAErF,IACF,CACV,CAAC,CAAC,CAAC,IAAI,EACP,QAAQ,IACL,IACF,CACP,CAAC;AACJ,CAAC;AAED,kDAAkD;AAClD,MAAM,CAAC,MAAM,MAAM,GAAG,WAAW,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { ReactNode } from 'react';
2
+ /**
3
+ * CMP-0026 Breadcrumbs — linear trail; last crumb is current (non-link).
4
+ */
5
+ export interface BreadcrumbItem {
6
+ readonly id: string;
7
+ readonly label: string;
8
+ readonly href?: string;
9
+ readonly onClick?: () => void;
10
+ }
11
+ export interface BreadcrumbsProps {
12
+ readonly items: readonly BreadcrumbItem[];
13
+ readonly ariaLabel?: string;
14
+ readonly separator?: ReactNode;
15
+ readonly className?: string;
16
+ readonly testId?: string;
17
+ }
18
+ export declare function Breadcrumbs({ items, ariaLabel, separator, className, testId, }: BreadcrumbsProps): JSX.Element;
19
+ //# sourceMappingURL=Breadcrumbs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Breadcrumbs.d.ts","sourceRoot":"","sources":["../../../src/ui/Breadcrumbs/Breadcrumbs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AAEH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;IAC1C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,SAAwB,EACxB,SAAe,EACf,SAAS,EACT,MAAsB,GACvB,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CA0ChC"}
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export function Breadcrumbs({ items, ariaLabel = 'Breadcrumb', separator = '/', className, testId = 'breadcrumbs', }) {
3
+ return (_jsx("nav", { "aria-label": ariaLabel, className: className, "data-testid": testId, children: _jsx("ol", { className: "m-0 flex list-none flex-wrap items-center gap-1 p-0 text-sm", children: items.map((item, index) => {
4
+ const isLast = index === items.length - 1;
5
+ return (_jsxs("li", { className: "inline-flex items-center gap-1", children: [index > 0 ? (_jsx("span", { className: "text-[var(--color-on-surface-muted,var(--color-an-text-muted))]", "aria-hidden": "true", children: separator })) : null, isLast || (!item.href && !item.onClick) ? (_jsx("span", { "aria-current": isLast ? 'page' : undefined, className: "font-medium text-[var(--color-on-surface,var(--color-an-text))]", children: item.label })) : (_jsx("a", { href: item.href, className: "text-[var(--color-action-primary,var(--color-an-primary))] underline-offset-2 hover:underline", onClick: item.onClick
6
+ ? (event) => {
7
+ event.preventDefault();
8
+ item.onClick?.();
9
+ }
10
+ : undefined, children: item.label }))] }, item.id));
11
+ }) }) }));
12
+ }
13
+ //# sourceMappingURL=Breadcrumbs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Breadcrumbs.js","sourceRoot":"","sources":["../../../src/ui/Breadcrumbs/Breadcrumbs.tsx"],"names":[],"mappings":";AAqBA,MAAM,UAAU,WAAW,CAAC,EAC1B,KAAK,EACL,SAAS,GAAG,YAAY,EACxB,SAAS,GAAG,GAAG,EACf,SAAS,EACT,MAAM,GAAG,aAAa,GACL;IACjB,OAAO,CACL,4BAAiB,SAAS,EAAE,SAAS,EAAE,SAAS,iBAAe,MAAM,YACnE,aAAI,SAAS,EAAC,6DAA6D,YACxE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACzB,MAAM,MAAM,GAAG,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC1C,OAAO,CACL,cAAkB,SAAS,EAAC,gCAAgC,aACzD,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CACX,eAAM,SAAS,EAAC,iEAAiE,iBAAa,MAAM,YACjG,SAAS,GACL,CACR,CAAC,CAAC,CAAC,IAAI,EACP,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CACzC,+BACgB,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EACzC,SAAS,EAAC,iEAAiE,YAE1E,IAAI,CAAC,KAAK,GACN,CACR,CAAC,CAAC,CAAC,CACF,YACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,SAAS,EAAC,+FAA+F,EACzG,OAAO,EACL,IAAI,CAAC,OAAO;gCACV,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;oCACR,KAAK,CAAC,cAAc,EAAE,CAAC;oCACvB,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gCACnB,CAAC;gCACH,CAAC,CAAC,SAAS,YAGd,IAAI,CAAC,KAAK,GACT,CACL,KA5BM,IAAI,CAAC,EAAE,CA6BX,CACN,CAAC;YACJ,CAAC,CAAC,GACC,GACD,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { type InputHTMLAttributes } from 'react';
2
+ export type CheckboxProps = Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> & {
3
+ readonly label?: string;
4
+ };
5
+ /** CMP-0006 Checkbox — native control. */
6
+ export declare const Checkbox: import("react").ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "type"> & {
7
+ readonly label?: string;
8
+ } & import("react").RefAttributes<HTMLInputElement>>;
9
+ //# sourceMappingURL=Checkbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../src/ui/Checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAE7D,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,GAAG;IAChF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,0CAA0C;AAC1C,eAAO,MAAM,QAAQ;qBAJF,MAAM;oDAkCxB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { forwardRef } from 'react';
3
+ /** CMP-0006 Checkbox — native control. */
4
+ export const Checkbox = forwardRef(({ className, label, id, ...rest }, ref) => {
5
+ const input = (_jsx("input", { ref: ref, id: id, type: "checkbox", className: [
6
+ 'h-4 w-4 rounded border-[var(--color-border,var(--color-an-border))]',
7
+ 'accent-[var(--color-action-primary,var(--color-an-primary))]',
8
+ className,
9
+ ]
10
+ .filter(Boolean)
11
+ .join(' '), ...rest }));
12
+ if (!label) {
13
+ return input;
14
+ }
15
+ return (_jsxs("label", { className: "inline-flex items-center gap-2 text-sm text-[var(--color-on-surface,var(--color-an-text))]", htmlFor: id, children: [input, _jsx("span", { children: label })] }));
16
+ });
17
+ Checkbox.displayName = 'Checkbox';
18
+ //# sourceMappingURL=Checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../src/ui/Checkbox/Checkbox.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAA4B,MAAM,OAAO,CAAC;AAM7D,0CAA0C;AAC1C,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAChC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE;IACzC,MAAM,KAAK,GAAG,CACZ,gBACE,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,EAAE,EACN,IAAI,EAAC,UAAU,EACf,SAAS,EAAE;YACT,qEAAqE;YACrE,8DAA8D;YAC9D,SAAS;SACV;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,GAAG,CAAC,KACR,IAAI,GACR,CACH,CAAC;IACF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CACL,iBACE,SAAS,EAAC,4FAA4F,EACtG,OAAO,EAAE,EAAE,aAEV,KAAK,EACN,yBAAO,KAAK,GAAQ,IACd,CACT,CAAC;AACJ,CAAC,CACF,CAAC;AACF,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC"}