@tempots/beatui 0.54.1 → 0.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/dist/{2019-5RIscTOv.cjs → 2019-B4jrQ2Q8.cjs} +1 -1
  2. package/dist/{2019-i1LHsYdK.js → 2019-DH5GYJC9.js} +2 -2
  3. package/dist/{2020-DeCezjWf.cjs → 2020-BVrVGeh-.cjs} +1 -1
  4. package/dist/{2020-S7qY95wq.js → 2020-C3vh26yT.js} +2 -2
  5. package/dist/{ar-DrBp_VwJ.js → ar-CKheF7Rb.js} +21 -13
  6. package/dist/{ar-BqnDsD9v.cjs → ar-x9O6JsRN.cjs} +1 -1
  7. package/dist/auth/index.cjs.js +1 -1
  8. package/dist/auth/index.es.js +4 -4
  9. package/dist/beatui.css +425 -7
  10. package/dist/beatui.tailwind.css +425 -7
  11. package/dist/{colors-tmKn7dR5.cjs → colors-B9fcMxa_.cjs} +1 -1
  12. package/dist/{colors-BW19rWA1.js → colors-pQZlNrwM.js} +27 -25
  13. package/dist/{de-C_N0wtxQ.cjs → de-C0nhZh4a.cjs} +1 -1
  14. package/dist/{de-B5oZoraI.js → de-CqFnIl0Y.js} +16 -8
  15. package/dist/{es-JnLMDtzg.cjs → es-C3c1-2iA.cjs} +1 -1
  16. package/dist/{es-DRc5dc_G.js → es-Cv9ZSjqz.js} +16 -8
  17. package/dist/{fa-BC16IdRL.cjs → fa-BbV4_mYi.cjs} +1 -1
  18. package/dist/{fa-B0VDVs5B.js → fa-CG8B9M9O.js} +21 -13
  19. package/dist/{fr-DXlfWwI6.js → fr-B2f1Pmal.js} +16 -8
  20. package/dist/{fr-BupZ6YnU.cjs → fr-DlFsnCqK.cjs} +1 -1
  21. package/dist/{he-BX-Az8As.js → he-BmHa696l.js} +21 -13
  22. package/dist/{he-C-aQ2yoO.cjs → he-DwQ2QMJE.cjs} +1 -1
  23. package/dist/{hi-w4uL7LN1.js → hi-DNII_Adz.js} +19 -11
  24. package/dist/{hi-L3y3Aedb.cjs → hi-DaHMe_1C.cjs} +1 -1
  25. package/dist/{hls-C6lKM-CG.cjs → hls-B5PliUq8.cjs} +4 -4
  26. package/dist/{hls-B7ZdiUxL.js → hls-DLd3ClAs.js} +28 -21
  27. package/dist/{index-DKwuTFYj.js → index-BYflP18C.js} +172 -164
  28. package/dist/{index-C_71zSeN.cjs → index-COM8WyaG.cjs} +1 -1
  29. package/dist/{index-C_a29dA7.js → index-CpZh_Snx.js} +1 -1
  30. package/dist/{index-BD2yYgsi.cjs → index-CyyNsVT9.cjs} +1 -1
  31. package/dist/{index-CyoxPiTg.js → index-DCOaDJ8f.js} +1 -1
  32. package/dist/{index-DNUXf4K4.js → index-Dd3PocYl.js} +1 -1
  33. package/dist/{index-CkNcU-jd.cjs → index-Dhaodhgr.cjs} +2 -2
  34. package/dist/{index-B7gVxeO9.cjs → index-DjLKVVL-.cjs} +1 -1
  35. package/dist/{index-CFOxIBGJ.cjs → index-ZRQP8j2O.cjs} +4 -4
  36. package/dist/{index-BnQvOXw8.js → index-gZaps7_A.js} +6 -6
  37. package/dist/index.cjs.js +4 -4
  38. package/dist/index.es.js +2288 -2037
  39. package/dist/{it-BCKQ5Tu8.js → it-894w7K0i.js} +16 -8
  40. package/dist/{it-CnHaoq-X.cjs → it-Cli1u40l.cjs} +1 -1
  41. package/dist/{ja-DpDF4IgX.cjs → ja-DY7Zij7O.cjs} +1 -1
  42. package/dist/{ja-DC47Nkza.js → ja-j4AV8eVy.js} +22 -14
  43. package/dist/json-schema/index.cjs.js +1 -1
  44. package/dist/json-schema/index.es.js +1 -1
  45. package/dist/{ko-BMmVJHzm.cjs → ko-CHlprpVP.cjs} +1 -1
  46. package/dist/{ko-ejUHA0Sw.js → ko-CNZqypvW.js} +18 -10
  47. package/dist/{modal-CKyUdeEz.js → modal-1Y-q1wDn.js} +2 -2
  48. package/dist/{modal-rou7pM0r.cjs → modal-D765-SiT.cjs} +1 -1
  49. package/dist/{nl-viDlnQWK.cjs → nl-CgMv4O0P.cjs} +1 -1
  50. package/dist/{nl-WjgpPUel.js → nl-CzTp9ds0.js} +19 -11
  51. package/dist/{notice-MF7whf3_.cjs → notice-D8w_39td.cjs} +1 -1
  52. package/dist/{notice-BS0d903Q.js → notice-DJ-olOQx.js} +1 -1
  53. package/dist/{pl-Vrfv_fGt.cjs → pl-Cm8Lerxg.cjs} +1 -1
  54. package/dist/{pl-Cw4CYjK_.js → pl-DQid7ctL.js} +17 -9
  55. package/dist/prosemirror/index.cjs.js +1 -1
  56. package/dist/prosemirror/index.es.js +1 -1
  57. package/dist/{pt-B4Rh_ZBF.js → pt-BAU0nrtN.js} +16 -8
  58. package/dist/{pt-CxQV74vS.cjs → pt-k6sIkC0v.cjs} +1 -1
  59. package/dist/{ru-DFHsLJ9b.js → ru-CtYj3NlJ.js} +21 -13
  60. package/dist/{ru-BB3GRr_J.cjs → ru-Dioznrt_.cjs} +1 -1
  61. package/dist/tailwind/index.cjs.js +1 -1
  62. package/dist/tailwind/index.es.js +1 -1
  63. package/dist/tailwind/preset.cjs.js +1 -1
  64. package/dist/tailwind/preset.es.js +2 -2
  65. package/dist/tailwind/vite-plugin.cjs.js +1 -1
  66. package/dist/tailwind/vite-plugin.es.js +1 -1
  67. package/dist/{toolbar-DRdm9W7H.cjs → toolbar-BMzapKW0.cjs} +1 -1
  68. package/dist/{toolbar-D2J_NkKD.js → toolbar-Bo4GA6tM.js} +1 -1
  69. package/dist/{tr-mBiHcEl1.cjs → tr-CwCsfbe5.cjs} +1 -1
  70. package/dist/{tr-Dbktyawl.js → tr-wS-zWzvh.js} +21 -13
  71. package/dist/{translations-ggnrzaCG.cjs → translations-CD_Qi9EQ.cjs} +1 -1
  72. package/dist/{translations-CpTeFtvW.js → translations-Dm7vjy7D.js} +1 -1
  73. package/dist/{translations-CaTkLRHu.js → translations-Do71ycSR.js} +54 -46
  74. package/dist/translations-t-neYabN.cjs +1 -0
  75. package/dist/types/beatui-i18n/default.d.ts +7 -0
  76. package/dist/types/beatui-i18n/locales/en.d.ts +7 -0
  77. package/dist/types/beatui-i18n/translations.d.ts +7 -0
  78. package/dist/types/components/auth/social-login-button.d.ts +1 -1
  79. package/dist/types/components/auth/types.d.ts +3 -3
  80. package/dist/types/components/button/button.d.ts +3 -3
  81. package/dist/types/components/button/close-button.d.ts +3 -3
  82. package/dist/types/components/data/badge.d.ts +3 -3
  83. package/dist/types/components/data/icon.d.ts +1 -1
  84. package/dist/types/components/form/input/appearance-selector.d.ts +1 -1
  85. package/dist/types/components/form/input/create-temporal-input.d.ts +1 -1
  86. package/dist/types/components/form/input/duration-input.d.ts +1 -1
  87. package/dist/types/components/form/input/input-container.d.ts +1 -1
  88. package/dist/types/components/form/input/instant-input.d.ts +1 -1
  89. package/dist/types/components/form/input/nullable-duration-input.d.ts +1 -1
  90. package/dist/types/components/form/input/nullable-instant-input.d.ts +1 -1
  91. package/dist/types/components/form/input/nullable-plain-month-day-input.d.ts +1 -1
  92. package/dist/types/components/form/input/nullable-rating-input.d.ts +1 -1
  93. package/dist/types/components/form/input/nullable-zoned-date-time-input.d.ts +1 -1
  94. package/dist/types/components/form/input/plain-month-day-input.d.ts +1 -1
  95. package/dist/types/components/form/input/rating-input.d.ts +1 -1
  96. package/dist/types/components/form/input/switch.d.ts +1 -1
  97. package/dist/types/components/form/input/zoned-date-time-input.d.ts +1 -1
  98. package/dist/types/components/json-schema/validation/async-validation.d.ts +1 -1
  99. package/dist/types/components/json-schema/validation/conditional-validation.d.ts +1 -1
  100. package/dist/types/components/json-schema/validation/cross-field-validation.d.ts +1 -1
  101. package/dist/types/components/json-schema/widgets/string-controls.d.ts +1 -1
  102. package/dist/types/components/layout/action-card.d.ts +1 -1
  103. package/dist/types/components/layout/card.d.ts +1 -1
  104. package/dist/types/components/layout/sink.d.ts +1 -1
  105. package/dist/types/components/media/index.d.ts +1 -0
  106. package/dist/types/components/media/pdf-page-viewer.d.ts +64 -0
  107. package/dist/types/components/misc/notification-provider.d.ts +2 -2
  108. package/dist/types/components/misc/notification.d.ts +2 -2
  109. package/dist/types/components/monaco/monaco-editor-input.d.ts +1 -1
  110. package/dist/types/components/navigation/link/button-link.d.ts +3 -3
  111. package/dist/types/components/navigation/link/link.d.ts +1 -1
  112. package/dist/types/components/navigation/tabs/tabs.d.ts +2 -2
  113. package/dist/types/components/navigation/toolbar/toolbar.d.ts +1 -1
  114. package/dist/types/components/overlay/announcement-bar.d.ts +1 -1
  115. package/dist/types/components/overlay/ribbon.d.ts +1 -1
  116. package/dist/types/components/theme/style-utils.d.ts +2 -2
  117. package/dist/types/components/theme/types.d.ts +1 -1
  118. package/dist/types/pdfjs/lazy-loader.d.ts +2 -0
  119. package/dist/types/tokens/colors.d.ts +3 -3
  120. package/dist/{ur-Cqh7AYnd.js → ur-8NSFWrMo.js} +21 -13
  121. package/dist/{ur-CZ5sgUP1.cjs → ur-D3nkqfyQ.cjs} +1 -1
  122. package/dist/{utils-w_vUChhV.js → utils-DzKhEJ__.js} +15 -5
  123. package/dist/{utils-U1aNOU3o.cjs → utils-dY__yBXk.cjs} +1 -1
  124. package/dist/{vi-Ki_Urj_E.cjs → vi-BAAJHs3a.cjs} +1 -1
  125. package/dist/{vi-CLBp2oaY.js → vi-CngHpCNM.js} +18 -10
  126. package/dist/{zh-CT4aGkgD.js → zh-Bkxc6ZmR.js} +21 -13
  127. package/dist/{zh-C78OkbS0.cjs → zh-CRWrZhUp.cjs} +1 -1
  128. package/package.json +7 -6
  129. package/dist/translations-h_OJS1Ut.cjs +0 -1
@@ -65,6 +65,13 @@ export declare const defaultMessages: {
65
65
  horizontalRule: string;
66
66
  linkUrlPlaceholder: string;
67
67
  };
68
+ pdfPageViewer: {
69
+ loading: string;
70
+ loadFailed: string;
71
+ invalidPdf: string;
72
+ pageOutOfRange: (page: number, total: number) => string;
73
+ renderFailed: string;
74
+ };
68
75
  };
69
76
  export declare const defaultLocale = "en";
70
77
  export type BeatUIMessages = typeof defaultMessages;
@@ -65,5 +65,12 @@ declare const en: {
65
65
  horizontalRule: string;
66
66
  linkUrlPlaceholder: string;
67
67
  };
68
+ pdfPageViewer: {
69
+ loading: string;
70
+ loadFailed: string;
71
+ invalidPdf: string;
72
+ pageOutOfRange: (page: number, total: number) => string;
73
+ renderFailed: string;
74
+ };
68
75
  };
69
76
  export default en;
@@ -65,4 +65,11 @@ export declare const BeatUII18n: import("@tempots/dom").Provider<import("@tempot
65
65
  horizontalRule: string;
66
66
  linkUrlPlaceholder: string;
67
67
  };
68
+ pdfPageViewer: {
69
+ loading: string;
70
+ loadFailed: string;
71
+ invalidPdf: string;
72
+ pageOutOfRange: (page: number, total: number) => string;
73
+ renderFailed: string;
74
+ };
68
75
  }>, object>;
@@ -1,7 +1,7 @@
1
1
  import { Renderable, Value } from '@tempots/dom';
2
2
  import { SocialLoginButtonOptions, AuthProviderName } from './index';
3
3
  import { ControlSize } from '../theme';
4
- import { ThemeColorName } from '@/tokens';
4
+ import { ThemeColorName } from '../../tokens';
5
5
  export declare function SocialLoginButton({ provider, onClick, size, name, icon, color, flow, labels, }: SocialLoginButtonOptions): Renderable;
6
6
  export type AuthProviderInfo = {
7
7
  provider: AuthProviderName;
@@ -1,6 +1,6 @@
1
1
  import { TNode, Value } from '@tempots/dom';
2
2
  import { ControlSize } from '../theme';
3
- import { ThemeColorName } from '@/tokens';
3
+ import { ThemeColorName } from '../../tokens';
4
4
  import { AuthProviderInfo } from './social-login-button';
5
5
  export type AuthProviderName = 'google' | 'github' | 'apple' | 'facebook' | 'twitter' | 'x' | 'microsoft' | 'discord' | 'linkedin' | 'instagram' | 'tiktok' | 'snapchat' | 'reddit' | 'pinterest' | 'twitch' | 'steam' | 'epic' | 'playstation' | 'xbox' | 'whatsapp' | 'wechat' | 'amazon' | 'yahoo' | 'paypal';
6
6
  export type AuthMode = 'signin' | 'signup' | 'reset-password';
@@ -138,7 +138,7 @@ export interface SocialLoginButtonOptions {
138
138
  flow?: Value<'redirect' | 'popup' | undefined>;
139
139
  name: Value<string>;
140
140
  icon: Value<string>;
141
- color: Value<ThemeColorName | 'black' | 'white'>;
141
+ color: Value<ThemeColorName>;
142
142
  labels?: {
143
143
  continueWithProvider?: Value<(provider: string) => string>;
144
144
  };
@@ -152,5 +152,5 @@ export interface PasswordStrengthIndicatorOptions {
152
152
  export interface ProviderInfo {
153
153
  name: string;
154
154
  icon: string;
155
- color: ThemeColorName | 'black' | 'white';
155
+ color: ThemeColorName;
156
156
  }
@@ -1,15 +1,15 @@
1
1
  import { TNode, Value } from '@tempots/dom';
2
2
  import { ControlSize, ButtonVariant } from '../theme';
3
- import { ThemeColorName } from '@/tokens';
3
+ import { ThemeColorName } from '../../tokens';
4
4
  import { ExtendedColor } from '../theme/style-utils';
5
- import { RadiusName } from '@/tokens/radius';
5
+ import { RadiusName } from '../../tokens/radius';
6
6
  export interface ButtonOptions {
7
7
  type?: Value<'submit' | 'reset' | 'button'>;
8
8
  disabled?: Value<boolean>;
9
9
  loading?: Value<boolean>;
10
10
  variant?: Value<ButtonVariant>;
11
11
  size?: Value<ControlSize>;
12
- color?: Value<ThemeColorName | 'black' | 'white'>;
12
+ color?: Value<ThemeColorName>;
13
13
  roundedness?: Value<RadiusName>;
14
14
  onClick?: () => void;
15
15
  fullWidth?: Value<boolean>;
@@ -1,13 +1,13 @@
1
1
  import { Renderable, TNode, Value } from '@tempots/dom';
2
2
  import { ControlSize } from '../theme';
3
- import { ThemeColorName } from '@/tokens';
4
- import { RadiusName } from '@/tokens/radius';
3
+ import { ThemeColorName } from '../../tokens';
4
+ import { RadiusName } from '../../tokens/radius';
5
5
  export type CloseButtonOptions = {
6
6
  size?: Value<ControlSize>;
7
7
  icon?: Value<string>;
8
8
  disabled?: Value<boolean>;
9
9
  roundedness?: Value<RadiusName>;
10
- color?: Value<ThemeColorName | 'black' | 'white'>;
10
+ color?: Value<ThemeColorName>;
11
11
  onClick?: () => void;
12
12
  /** Optional localized label for screen readers; defaults to t.$.closeModal */
13
13
  label?: Value<string>;
@@ -1,12 +1,12 @@
1
1
  import { TNode, Value } from '@tempots/dom';
2
2
  import { ControlSize, ButtonVariant } from '../theme';
3
- import { ThemeColorName } from '@/tokens';
3
+ import { ThemeColorName } from '../../tokens';
4
4
  import { ExtendedColor } from '../theme/style-utils';
5
- import { RadiusName } from '@/tokens/radius';
5
+ import { RadiusName } from '../../tokens/radius';
6
6
  export interface BadgeOptions {
7
7
  variant?: Value<ButtonVariant>;
8
8
  size?: Value<ControlSize>;
9
- color?: Value<ThemeColorName | 'black' | 'white'>;
9
+ color?: Value<ThemeColorName>;
10
10
  roundedness?: Value<RadiusName>;
11
11
  circle?: Value<boolean>;
12
12
  fullWidth?: Value<boolean>;
@@ -1,6 +1,6 @@
1
1
  import { TNode, Value } from '@tempots/dom';
2
2
  import { IconSize } from '../theme';
3
- import { ThemeColorName } from '@/tokens';
3
+ import { ThemeColorName } from '../../tokens';
4
4
  import { ForegroundTone } from '../theme/style-utils';
5
5
  export declare const isIndexedDBAvailable: boolean;
6
6
  export declare function storeIconLocally(id: string, svgString: string): Promise<void>;
@@ -1,4 +1,4 @@
1
- import { AppearancePreference } from '@/components/theme';
1
+ import { AppearancePreference } from '../../theme';
2
2
  import { Value } from '@tempots/dom';
3
3
  export type AppearanceSelectorOptions = {
4
4
  value: Value<AppearancePreference>;
@@ -1,6 +1,6 @@
1
1
  import { Renderable } from '@tempots/dom';
2
2
  import { InputOptions } from './input-options';
3
- import type { BeatUITemporal } from '@/temporal';
3
+ import type { BeatUITemporal } from '../../../temporal';
4
4
  /**
5
5
  * Configuration for creating a Temporal input component.
6
6
  */
@@ -1,3 +1,3 @@
1
1
  import { InputOptions } from './input-options';
2
- import { Duration } from '@/temporal';
2
+ import { Duration } from '../../../temporal';
3
3
  export declare const DurationInput: (options: InputOptions<Duration>) => import("@tempots/dom").Renderable;
@@ -1,6 +1,6 @@
1
1
  import { TNode, Value } from '@tempots/dom';
2
2
  import { ControlSize } from '../../theme';
3
- import { ThemeColorName } from '@/tokens';
3
+ import { ThemeColorName } from '../../../tokens';
4
4
  export declare function generateInputContainerInputClasses(baseContainer: boolean, size: ControlSize): string;
5
5
  export declare const InputContainer: ({ baseContainer, disabled, input, before, after, hasError, focusableSelector, growInput, size, }: {
6
6
  disabled?: Value<boolean>;
@@ -1,3 +1,3 @@
1
1
  import { InputOptions } from './input-options';
2
- import { Instant } from '@/temporal';
2
+ import { Instant } from '../../../temporal';
3
3
  export declare const InstantInput: (options: InputOptions<Instant>) => import("@tempots/dom").Renderable;
@@ -1,3 +1,3 @@
1
1
  import { InputOptions } from './input-options';
2
- import type { Duration } from '@/temporal/types';
2
+ import type { Duration } from '../../../temporal/types';
3
3
  export declare const NullableDurationInput: (options: InputOptions<Duration | null>) => import("@tempots/dom").Renderable;
@@ -1,3 +1,3 @@
1
1
  import { InputOptions } from './input-options';
2
- import { Instant } from '@/temporal';
2
+ import { Instant } from '../../../temporal';
3
3
  export declare const NullableInstantInput: (options: InputOptions<Instant | null>) => import("@tempots/dom").Renderable;
@@ -1,3 +1,3 @@
1
1
  import { InputOptions } from './input-options';
2
- import { PlainMonthDay } from '@/temporal';
2
+ import { PlainMonthDay } from '../../../temporal';
3
3
  export declare const NullablePlainMonthDayInput: (options: InputOptions<PlainMonthDay | null>) => import("@tempots/dom").Renderable;
@@ -1,6 +1,6 @@
1
1
  import { Value } from '@tempots/dom';
2
2
  import { InputOptions } from './input-options';
3
- import { ThemeColorName } from '@/tokens';
3
+ import { ThemeColorName } from '../../../tokens';
4
4
  import { ControlSize } from '../../theme/types';
5
5
  export type NullableRatingInputOptions = InputOptions<number | null> & {
6
6
  max?: Value<number>;
@@ -1,3 +1,3 @@
1
1
  import { InputOptions } from './input-options';
2
- import { ZonedDateTime } from '@/temporal';
2
+ import { ZonedDateTime } from '../../../temporal';
3
3
  export declare const NullableZonedDateTimeInput: (options: InputOptions<ZonedDateTime | null>) => import("@tempots/dom").Renderable;
@@ -1,3 +1,3 @@
1
1
  import { InputOptions } from './input-options';
2
- import { PlainMonthDay } from '@/temporal';
2
+ import { PlainMonthDay } from '../../../temporal';
3
3
  export declare const PlainMonthDayInput: (options: InputOptions<PlainMonthDay>) => import("@tempots/dom").Renderable;
@@ -1,6 +1,6 @@
1
1
  import { Value } from '@tempots/dom';
2
2
  import { InputOptions } from './input-options';
3
- import { ThemeColorName } from '@/tokens';
3
+ import { ThemeColorName } from '../../../tokens';
4
4
  import { ControlSize } from '../../theme/types';
5
5
  type RatingInputOptions = InputOptions<number> & {
6
6
  max?: Value<number>;
@@ -1,6 +1,6 @@
1
1
  import { Value, TNode } from '@tempots/dom';
2
2
  import { ControlSize } from '../../theme/types';
3
- import { ThemeColorName } from '@/tokens';
3
+ import { ThemeColorName } from '../../../tokens';
4
4
  export type SwitchOptions = {
5
5
  value: Value<boolean>;
6
6
  onChange?: (value: boolean) => void;
@@ -1,3 +1,3 @@
1
1
  import { InputOptions } from './input-options';
2
- import { ZonedDateTime } from '@/temporal';
2
+ import { ZonedDateTime } from '../../../temporal';
3
3
  export declare const ZonedDateTimeInput: (options: InputOptions<ZonedDateTime>) => import("@tempots/dom").Renderable;
@@ -1,6 +1,6 @@
1
1
  import type { JSONSchema } from '../schema-context';
2
2
  import { Prop } from '@tempots/dom';
3
- import { ControllerValidation } from '@/components/form';
3
+ import { ControllerValidation } from '../../form';
4
4
  /**
5
5
  * Async validation rule configuration
6
6
  */
@@ -1,7 +1,7 @@
1
1
  import type { ValidateFunction } from 'ajv';
2
2
  import type { JSONSchema } from '../schema-context';
3
3
  import { type CrossFieldValidationRule } from './cross-field-validation';
4
- import type { ControllerValidation } from '@/components/form';
4
+ import type { ControllerValidation } from '../../form';
5
5
  /**
6
6
  * Conditional validation configuration from x:ui
7
7
  */
@@ -1,5 +1,5 @@
1
1
  import type { JSONSchema } from '../schema-context';
2
- import { ControllerValidation } from '@/components/form';
2
+ import { ControllerValidation } from '../../form';
3
3
  /**
4
4
  * Cross-field validation rule configuration
5
5
  */
@@ -1,4 +1,4 @@
1
- import { Controller, InputWrapperOptions } from '@/components/form';
1
+ import { Controller, InputWrapperOptions } from '../../form';
2
2
  import { SchemaContext } from '../schema-context';
3
3
  import { Renderable } from '@tempots/dom';
4
4
  export declare function StringControl({ ctx, options, controller, }: {
@@ -1,6 +1,6 @@
1
1
  import { TNode, Value } from '@tempots/dom';
2
2
  import { ControlSize, IconSize } from '../theme';
3
- import { ThemeColorName } from '@/tokens';
3
+ import { ThemeColorName } from '../../tokens';
4
4
  export interface ActionCardOptions {
5
5
  icon: Value<string>;
6
6
  title: Value<string>;
@@ -1,6 +1,6 @@
1
1
  import { TNode, Value } from '@tempots/dom';
2
2
  import { CardVariant, ControlSize } from '../theme';
3
- import { RadiusName } from '@/tokens/radius';
3
+ import { RadiusName } from '../../tokens/radius';
4
4
  export interface CardOptions {
5
5
  variant?: Value<CardVariant>;
6
6
  size?: Value<ControlSize>;
@@ -1,6 +1,6 @@
1
1
  import { TNode, Value } from '@tempots/dom';
2
2
  import { SinkVariant, ControlSize } from '../theme';
3
- import { RadiusName } from '@/tokens/radius';
3
+ import { RadiusName } from '../../tokens/radius';
4
4
  export interface SinkOptions {
5
5
  variant?: Value<SinkVariant>;
6
6
  size?: Value<ControlSize>;
@@ -1 +1,2 @@
1
1
  export * from './base-video-player';
2
+ export * from './pdf-page-viewer';
@@ -0,0 +1,64 @@
1
+ import { Value, type TNode } from '@tempots/dom';
2
+ export interface PdfPageViewerOptions {
3
+ /** PDF source: URL string, Uint8Array, or ArrayBuffer */
4
+ source: Value<string | Uint8Array | ArrayBuffer>;
5
+ /** Page number to display (1-based, default: 1) */
6
+ page?: Value<number>;
7
+ /**
8
+ * How the PDF should fit in the available space:
9
+ * - 'none': Use explicit scale value (see scale option)
10
+ * - 'width': Fit to container width while maintaining aspect ratio
11
+ * - 'height': Fit to container height while maintaining aspect ratio
12
+ * - 'contain': Fit entire page in container (like CSS object-fit: contain)
13
+ * - 'cover': Fill container, may crop (like CSS object-fit: cover)
14
+ * Default: 'width'
15
+ */
16
+ fit?: Value<'none' | 'width' | 'height' | 'contain' | 'cover'>;
17
+ /**
18
+ * Explicit scale factor when fit='none'
19
+ * Ignored when fit is not 'none'
20
+ * Default: 1
21
+ */
22
+ scale?: Value<number>;
23
+ /**
24
+ * Rotation angle in degrees (0, 90, 180, 270)
25
+ * Default: 0
26
+ */
27
+ rotation?: Value<0 | 90 | 180 | 270>;
28
+ /**
29
+ * Rendering quality/pixel density multiplier
30
+ * Higher values produce sharper images but use more memory
31
+ * Default: 2 (retina quality)
32
+ */
33
+ quality?: Value<number>;
34
+ /**
35
+ * Enable text selection layer overlay
36
+ * Default: true
37
+ */
38
+ renderTextLayer?: Value<boolean>;
39
+ /**
40
+ * Enable annotation layer (forms, links, etc.)
41
+ * Default: false
42
+ */
43
+ renderAnnotationLayer?: Value<boolean>;
44
+ /**
45
+ * Callback when page changes
46
+ */
47
+ onPageChange?: (page: number) => void;
48
+ /**
49
+ * Callback when PDF loads successfully
50
+ */
51
+ onLoadComplete?: (info: {
52
+ numPages: number;
53
+ }) => void;
54
+ }
55
+ /**
56
+ * PdfPageViewer component that displays a single PDF page as a canvas element.
57
+ * Lazy loads pdf.js library only when mounted.
58
+ * Returns a canvas element directly - you can pass additional attributes as rest parameters.
59
+ * Automatically adapts to container size when scale is 'fit' or 'fill'.
60
+ *
61
+ * @example
62
+ * PdfPageViewer({ source: pdfUrl, page: 1 }, attr.class('my-canvas'))
63
+ */
64
+ export declare function PdfPageViewer({ source, page, fit, scale, rotation, quality, renderTextLayer, renderAnnotationLayer, onPageChange, onLoadComplete, }: PdfPageViewerOptions, ...children: TNode[]): import("@tempots/dom").Renderable;
@@ -1,7 +1,7 @@
1
1
  import { Provider, Signal, TNode } from '@tempots/dom';
2
2
  import { NotificationOptions } from './notification';
3
- import { RadiusName, ThemeColorName } from '@/tokens';
4
- import { AnimationConfig } from '@/utils';
3
+ import { RadiusName, ThemeColorName } from '../../tokens';
4
+ import { AnimationConfig } from '../../utils';
5
5
  type NotificationEntry = {
6
6
  animation: AnimationConfig;
7
7
  children: TNode[];
@@ -1,6 +1,6 @@
1
1
  import { Renderable, TNode, Value } from '@tempots/dom';
2
- import { ThemeColorName } from '@/tokens/colors';
3
- import { RadiusName } from '@/tokens/radius';
2
+ import { ThemeColorName } from '../../tokens/colors';
3
+ import { RadiusName } from '../../tokens/radius';
4
4
  export type NotificationOptions = {
5
5
  loading?: Value<boolean>;
6
6
  withCloseButton?: Value<boolean>;
@@ -1,7 +1,7 @@
1
1
  import { Renderable } from '@tempots/dom';
2
2
  import type { InputOptions } from '../form/input/input-options';
3
3
  import { Merge } from '@tempots/std';
4
- import { MonacoEditorSpecificOptions } from '@/monaco/types';
4
+ import { MonacoEditorSpecificOptions } from '../../monaco/types';
5
5
  export type MonacoEditorInputOptions = Merge<InputOptions<string>, MonacoEditorSpecificOptions & {
6
6
  cssInjection?: 'link' | 'none';
7
7
  }>;
@@ -1,8 +1,8 @@
1
1
  import { TNode, Value } from '@tempots/dom';
2
2
  import type { NavigationOptions } from '@tempots/ui';
3
3
  import { ControlSize, ButtonVariant } from '../../theme';
4
- import { ThemeColorName } from '@/tokens';
5
- import { RadiusName } from '@/tokens/radius';
4
+ import { ThemeColorName } from '../../../tokens';
5
+ import { RadiusName } from '../../../tokens/radius';
6
6
  import { UrlMatchMode } from './navigation-link';
7
7
  export interface ButtonLinkOptions {
8
8
  href: Value<string>;
@@ -16,7 +16,7 @@ export interface ButtonLinkOptions {
16
16
  disableWhenActive?: Value<boolean>;
17
17
  variant?: Value<ButtonVariant>;
18
18
  size?: Value<ControlSize>;
19
- color?: Value<ThemeColorName | 'black' | 'white'>;
19
+ color?: Value<ThemeColorName>;
20
20
  roundedness?: Value<RadiusName>;
21
21
  disabled?: Value<boolean>;
22
22
  fullWidth?: Value<boolean>;
@@ -1,6 +1,6 @@
1
1
  import { TNode, Value } from '@tempots/dom';
2
2
  import type { NavigationOptions } from '@tempots/ui';
3
- import { ThemeColorName } from '@/tokens';
3
+ import { ThemeColorName } from '../../../tokens';
4
4
  export type LinkVariant = 'default' | 'plain' | 'hover';
5
5
  export interface LinkOptions {
6
6
  href: Value<string>;
@@ -1,6 +1,6 @@
1
1
  import { TNode, Value } from '@tempots/dom';
2
2
  import { ControlSize, ButtonVariant } from '../../theme';
3
- import { ThemeColorName } from '@/tokens';
3
+ import { ThemeColorName } from '../../../tokens';
4
4
  export interface TabItem<T extends string> {
5
5
  /** Unique identifier for the tab */
6
6
  key: T;
@@ -26,7 +26,7 @@ export interface TabsOptions<T extends string> {
26
26
  /** Visual variant */
27
27
  variant?: Value<ButtonVariant>;
28
28
  /** Color used by certain variants (e.g., filled) */
29
- color?: Value<ThemeColorName | 'black' | 'white'>;
29
+ color?: Value<ThemeColorName>;
30
30
  /** Whether tabs are disabled */
31
31
  disabled?: Value<boolean>;
32
32
  /** Orientation of the tabs */
@@ -1,5 +1,5 @@
1
1
  import { TNode, Value } from '@tempots/dom';
2
- import { ButtonOptions } from '@/components/button/button';
2
+ import { ButtonOptions } from '../../button/button';
3
3
  export interface ToolbarOptions {
4
4
  ariaLabel?: Value<string>;
5
5
  }
@@ -1,5 +1,5 @@
1
1
  import { TNode, Value, Renderable } from '@tempots/dom';
2
- import type { ThemeColorName } from '@/tokens';
2
+ import type { ThemeColorName } from '../../tokens';
3
3
  export type AnnouncementBarOptions = {
4
4
  color?: Value<ThemeColorName>;
5
5
  icon?: Value<string | undefined>;
@@ -1,5 +1,5 @@
1
1
  import { TNode, Value, Renderable } from '@tempots/dom';
2
- import type { ThemeColorName } from '@/tokens';
2
+ import type { ThemeColorName } from '../../tokens';
3
3
  import { ExtendedColor } from '../theme/style-utils';
4
4
  export type RibbonCorner = 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end';
5
5
  export type RibbonOptions = {
@@ -1,5 +1,5 @@
1
- import { ThemeColorName } from '@/tokens/colors';
2
- export type ExtendedColor = ThemeColorName | 'white' | 'black' | 'transparent';
1
+ import { ThemeColorName } from '../../tokens/colors';
2
+ export type ExtendedColor = ThemeColorName | 'transparent';
3
3
  export type Mode = 'light' | 'dark';
4
4
  export type BackgroundVariant = 'solid' | 'light' | 'soft' | 'lighter';
5
5
  export type ForegroundTone = 'solid' | 'soft';
@@ -1,4 +1,4 @@
1
- import { BackgroundColorName, ThemeColorName } from '@/tokens';
1
+ import { BackgroundColorName, ThemeColorName } from '../../tokens';
2
2
  import { Signal } from '@tempots/dom';
3
3
  import { AppearanceType } from '@tempots/ui';
4
4
  export type ButtonVariant = 'filled' | 'light' | 'outline' | 'default' | 'text';
@@ -0,0 +1,2 @@
1
+ export declare function loadPDFJSCore(): Promise<any>;
2
+ export declare function configurePDFJSWorker(workerSrc?: string): void;
@@ -3,9 +3,9 @@ export type ColorName = keyof typeof colors;
3
3
  export type ColorShade = 50 | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | 950;
4
4
  export declare const colorShades: ColorShade[];
5
5
  export type SemanticColorName = 'primary' | 'secondary' | 'base' | 'success' | 'warning' | 'danger' | 'info';
6
- export type ThemeColorName = ColorName | SemanticColorName;
6
+ export type ThemeColorName = ColorName | SemanticColorName | 'black' | 'white';
7
7
  export declare const semanticColorNames: readonly ["primary", "secondary", "base", "success", "warning", "danger", "info"];
8
- export declare const themeColorNames: ("base" | "primary" | "secondary" | "success" | "warning" | "danger" | "info" | "red" | "orange" | "amber" | "yellow" | "lime" | "green" | "emerald" | "teal" | "cyan" | "sky" | "blue" | "indigo" | "violet" | "purple" | "fuchsia" | "pink" | "rose" | "slate" | "gray" | "zinc" | "neutral" | "stone")[];
8
+ export declare const themeColorNames: ThemeColorName[];
9
9
  export declare const semanticColors: Record<SemanticColorName, ColorName>;
10
10
  export type SemanticColorOverrides = Partial<Record<SemanticColorName, ThemeColorName>>;
11
11
  export declare function resolveSemanticColorMap(overrides?: SemanticColorOverrides): {
@@ -38,7 +38,7 @@ export declare const interactiveColors: {
38
38
  dark: Record<InteractiveColorName, [ThemeColorName, ColorShade]>;
39
39
  };
40
40
  export declare function normalizeColorName(color: ThemeColorName, overrides?: SemanticColorOverrides): ThemeColorName;
41
- export declare function getColorVarName(color: ThemeColorName, shade: ColorShade): `--color-${ThemeColorName}-${ColorShade}`;
41
+ export declare function getColorVarName(color: ThemeColorName, shade: ColorShade): `--color-${ThemeColorName}-${ColorShade}` | '--color-white' | '--color-black';
42
42
  export declare function getColorVar(color: ThemeColorName, shade: ColorShade): string;
43
43
  export type BackgroundVariant = 'solid' | 'soft' | 'light' | 'lighter';
44
44
  export declare const backgroundConfig: {
@@ -1,5 +1,5 @@
1
- import { f as i } from "./translations-CaTkLRHu.js";
2
- const c = {
1
+ import { f as r } from "./translations-Do71ycSR.js";
2
+ const d = {
3
3
  loadingExtended: "لوڈ ہو رہا ہے، براہ کرم انتظار کریں",
4
4
  loadingShort: "لوڈ ہو رہا ہے...",
5
5
  locale: "زبان",
@@ -57,19 +57,19 @@ const c = {
57
57
  // inputs reset
58
58
  clearValue: "قدر صاف کریں",
59
59
  unknownType: "نامعلوم قسم",
60
- filesInputInstructions: (e, l, t) => {
61
- let n = e == null || e > 1 ? "منتخب کرنے کے لیے کلک کریں یا فائلیں یہاں گھسیٹیں" : "منتخب کرنے کے لیے کلک کریں یا فائل یہاں گھسیٹیں";
62
- if (e || l) {
63
- const o = [];
64
- if (e != null && e > 1 && o.push(`زیادہ سے زیادہ ${e} فائلیں`), l && t) {
65
- const r = i(l, {
66
- units: t
60
+ filesInputInstructions: (e, o, n) => {
61
+ let t = e == null || e > 1 ? "منتخب کرنے کے لیے کلک کریں یا فائلیں یہاں گھسیٹیں" : "منتخب کرنے کے لیے کلک کریں یا فائل یہاں گھسیٹیں";
62
+ if (e || o) {
63
+ const l = [];
64
+ if (e != null && e > 1 && l.push(`زیادہ سے زیادہ ${e} فائلیں`), o && n) {
65
+ const i = r(o, {
66
+ units: n
67
67
  });
68
- o.push(`ہر ایک زیادہ سے زیادہ ${r}`);
68
+ l.push(`ہر ایک زیادہ سے زیادہ ${i}`);
69
69
  }
70
- o.length > 0 && (n += ` (${o.join("، ")})`);
70
+ l.length > 0 && (t += ` (${l.join("، ")})`);
71
71
  }
72
- return n;
72
+ return t;
73
73
  },
74
74
  // prosemirror
75
75
  prosemirror: {
@@ -85,8 +85,16 @@ const c = {
85
85
  codeBlock: "Code Block",
86
86
  horizontalRule: "Horizontal Rule",
87
87
  linkUrlPlaceholder: "https://example.com"
88
+ },
89
+ // PDF Page Viewer
90
+ pdfPageViewer: {
91
+ loading: "Loading PDF...",
92
+ loadFailed: "Failed to load PDF",
93
+ invalidPdf: "Invalid PDF file",
94
+ pageOutOfRange: (e, o) => `Page ${e} is out of range (1-${o})`,
95
+ renderFailed: "Failed to render PDF page"
88
96
  }
89
97
  };
90
98
  export {
91
- c as default
99
+ d as default
92
100
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./translations-h_OJS1Ut.cjs"),a={loadingExtended:"لوڈ ہو رہا ہے، براہ کرم انتظار کریں",loadingShort:"لوڈ ہو رہا ہے...",locale:"زبان",iconDescription:"آئیکن",loadingIcon:"لوڈنگ آئیکن",failedToLoadIcon:"آئیکن لوڈ کرنے میں ناکام",editLabel:"ترمیم",selectOne:"ایک منتخب کریں",selectMany:"متعدد منتخب کریں",noResults:"کوئی نتیجہ نہیں",passwordPlaceholderText:"خفیہ پاس ورڈ",togglePasswordVisibility:"پاس ورڈ کی مرئیت تبدیل کریں",toggleMenu:"مینو ٹوگل کریں",toggleAside:"سائیڈ پینل ٹوگل کریں",mainNavigation:"بنیادی نیویگیشن",sidebar:"سائیڈ بار",closeDrawer:"دراز بند کریں",closeModal:"ماڈل بند کریں",confirm:"تصدیق",cancel:"منسوخ",addLabel:"شامل کریں",removeItem:"آئٹم ہٹائیں",currentLocale:"اردو",ar:"عربی",de:"جرمن",en:"انگریزی",es:"ہسپانوی",fr:"فرانسیسی",he:"عبرانی",hi:"ہندی",it:"اطالوی",ja:"جاپانی",ko:"کوریائی",nl:"ڈچ",pl:"پولش",pt:"پرتگالی",ru:"روسی",tr:"ترکی",vi:"ویتنامی",zh:"چینی",fa:"فارسی",ur:"اردو",emailPlaceholderText:"اپنا ای میل داخل کریں",incrementValue:"قدر اضافہ کریں",decrementValue:"قدر کم کریں",dropZoneInstructions:e=>e?"منتخب کرنے کے لیے کلک کریں یا فائلیں یہاں گھسیٹیں، یا فائل منتخب کرنے کے لیے Enter یا Space دبائیں":"فائلیں یہاں گھسیٹیں",fileSizeUnits:["بائٹس","KB","MB","GB","TB"],removeFile:"فائل حذف کریں",clearAllFiles:"تمام فائلیں صاف کریں",clearValue:"قدر صاف کریں",unknownType:"نامعلوم قسم",filesInputInstructions:(e,t,l)=>{let n=e==null||e>1?"منتخب کرنے کے لیے کلک کریں یا فائلیں یہاں گھسیٹیں":"منتخب کرنے کے لیے کلک کریں یا فائل یہاں گھسیٹیں";if(e||t){const o=[];if(e!=null&&e>1&&o.push(`زیادہ سے زیادہ ${e} فائلیں`),t&&l){const r=i.formatFileSize(t,{units:l});o.push(`ہر ایک زیادہ سے زیادہ ${r}`)}o.length>0&&(n+=` (${o.join("، ")})`)}return n},prosemirror:{bold:"Bold",italic:"Italic",code:"Code",link:"Link",removeLink:"Remove Link",heading:e=>`Heading ${e}`,bulletList:"Bullet List",orderedList:"Ordered List",blockquote:"Blockquote",codeBlock:"Code Block",horizontalRule:"Horizontal Rule",linkUrlPlaceholder:"https://example.com"}};exports.default=a;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./translations-t-neYabN.cjs"),a={loadingExtended:"لوڈ ہو رہا ہے، براہ کرم انتظار کریں",loadingShort:"لوڈ ہو رہا ہے...",locale:"زبان",iconDescription:"آئیکن",loadingIcon:"لوڈنگ آئیکن",failedToLoadIcon:"آئیکن لوڈ کرنے میں ناکام",editLabel:"ترمیم",selectOne:"ایک منتخب کریں",selectMany:"متعدد منتخب کریں",noResults:"کوئی نتیجہ نہیں",passwordPlaceholderText:"خفیہ پاس ورڈ",togglePasswordVisibility:"پاس ورڈ کی مرئیت تبدیل کریں",toggleMenu:"مینو ٹوگل کریں",toggleAside:"سائیڈ پینل ٹوگل کریں",mainNavigation:"بنیادی نیویگیشن",sidebar:"سائیڈ بار",closeDrawer:"دراز بند کریں",closeModal:"ماڈل بند کریں",confirm:"تصدیق",cancel:"منسوخ",addLabel:"شامل کریں",removeItem:"آئٹم ہٹائیں",currentLocale:"اردو",ar:"عربی",de:"جرمن",en:"انگریزی",es:"ہسپانوی",fr:"فرانسیسی",he:"عبرانی",hi:"ہندی",it:"اطالوی",ja:"جاپانی",ko:"کوریائی",nl:"ڈچ",pl:"پولش",pt:"پرتگالی",ru:"روسی",tr:"ترکی",vi:"ویتنامی",zh:"چینی",fa:"فارسی",ur:"اردو",emailPlaceholderText:"اپنا ای میل داخل کریں",incrementValue:"قدر اضافہ کریں",decrementValue:"قدر کم کریں",dropZoneInstructions:e=>e?"منتخب کرنے کے لیے کلک کریں یا فائلیں یہاں گھسیٹیں، یا فائل منتخب کرنے کے لیے Enter یا Space دبائیں":"فائلیں یہاں گھسیٹیں",fileSizeUnits:["بائٹس","KB","MB","GB","TB"],removeFile:"فائل حذف کریں",clearAllFiles:"تمام فائلیں صاف کریں",clearValue:"قدر صاف کریں",unknownType:"نامعلوم قسم",filesInputInstructions:(e,o,t)=>{let n=e==null||e>1?"منتخب کرنے کے لیے کلک کریں یا فائلیں یہاں گھسیٹیں":"منتخب کرنے کے لیے کلک کریں یا فائل یہاں گھسیٹیں";if(e||o){const l=[];if(e!=null&&e>1&&l.push(`زیادہ سے زیادہ ${e} فائلیں`),o&&t){const i=r.formatFileSize(o,{units:t});l.push(`ہر ایک زیادہ سے زیادہ ${i}`)}l.length>0&&(n+=` (${l.join("، ")})`)}return n},prosemirror:{bold:"Bold",italic:"Italic",code:"Code",link:"Link",removeLink:"Remove Link",heading:e=>`Heading ${e}`,bulletList:"Bullet List",orderedList:"Ordered List",blockquote:"Blockquote",codeBlock:"Code Block",horizontalRule:"Horizontal Rule",linkUrlPlaceholder:"https://example.com"},pdfPageViewer:{loading:"Loading PDF...",loadFailed:"Failed to load PDF",invalidPdf:"Invalid PDF file",pageOutOfRange:(e,o)=>`Page ${e} is out of range (1-${o})`,renderFailed:"Failed to render PDF page"}};exports.default=a;