@nice2dev/ui-presentations 1.0.29 → 1.1.6

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 (64) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/__tests__/PresentationModel.test.d.ts +0 -1
  3. package/dist/__tests__/brandKit.test.d.ts +0 -1
  4. package/dist/__tests__/businessTemplates.test.d.ts +0 -1
  5. package/dist/__tests__/chartRenderer.test.d.ts +0 -1
  6. package/dist/__tests__/exportEngine.test.d.ts +0 -1
  7. package/dist/__tests__/i18n-locales.test.d.ts +0 -1
  8. package/dist/__tests__/puppetShow.test.d.ts +0 -1
  9. package/dist/__tests__/serialization.test.d.ts +0 -1
  10. package/dist/__tests__/setup.d.ts +0 -2
  11. package/dist/__tests__/slideAnimationEngine.test.d.ts +0 -1
  12. package/dist/__tests__/sprint24-presentations.test.d.ts +0 -1
  13. package/dist/collaborative/collaborativePresentation.d.ts +0 -2
  14. package/dist/components/NicePresentationEditor.d.ts +0 -2
  15. package/dist/components/NicePresentationPlayer.d.ts +0 -2
  16. package/dist/components/PresentationToolbar.d.ts +0 -2
  17. package/dist/components/SlideCanvas.d.ts +0 -2
  18. package/dist/components/SlidePropertyPanel.d.ts +0 -2
  19. package/dist/components/SlideThumbnailList.d.ts +0 -2
  20. package/dist/components/interactive/InteractiveButton.d.ts +0 -2
  21. package/dist/components/interactive/InteractiveCountdown.d.ts +0 -2
  22. package/dist/components/interactive/InteractivePoll.d.ts +0 -2
  23. package/dist/components/interactive/InteractiveQnA.d.ts +0 -2
  24. package/dist/components/interactive/InteractiveQuiz.d.ts +0 -2
  25. package/dist/components/interactive/index.d.ts +0 -1
  26. package/dist/core/PresentationModel.d.ts +0 -2
  27. package/dist/core/brandKit.d.ts +0 -2
  28. package/dist/core/chartRenderer.d.ts +0 -2
  29. package/dist/core/customTransitions.d.ts +0 -2
  30. package/dist/core/dashboardSlide.d.ts +0 -2
  31. package/dist/core/dataGridSlide.d.ts +0 -2
  32. package/dist/core/exportEngine.d.ts +0 -2
  33. package/dist/core/i18n.d.ts +0 -2
  34. package/dist/core/liveDataSlides.d.ts +0 -2
  35. package/dist/core/qrCodeSlide.d.ts +0 -1
  36. package/dist/core/querySlide.d.ts +0 -2
  37. package/dist/core/recordingMode.d.ts +0 -2
  38. package/dist/core/serialization.d.ts +0 -2
  39. package/dist/core/slideAnimationEngine.d.ts +0 -2
  40. package/dist/core/slideLibrary.d.ts +0 -2
  41. package/dist/core/versionHistory.d.ts +0 -2
  42. package/dist/hooks/usePresentationEditor.d.ts +0 -2
  43. package/dist/index.cjs +1 -1
  44. package/dist/index.d.ts +0 -2
  45. package/dist/index.mjs +1 -1
  46. package/dist/puppetShow/gameEngineIntegration.d.ts +0 -2
  47. package/dist/puppetShow/index.d.ts +0 -1
  48. package/dist/puppetShow/puppetCharacter.d.ts +0 -2
  49. package/dist/puppetShow/puppetPlayer.d.ts +0 -2
  50. package/dist/puppetShow/puppetShowConverter.d.ts +0 -2
  51. package/dist/puppetShow/puppetShowTypes.d.ts +0 -1
  52. package/dist/puppetShow/puppetStage.d.ts +0 -2
  53. package/dist/puppetShow/puppetTimeline.d.ts +0 -2
  54. package/dist/templates/ArchitectureOverviewTemplate.d.ts +0 -2
  55. package/dist/templates/IncidentReportTemplate.d.ts +0 -2
  56. package/dist/templates/InvestorDeckTemplate.d.ts +0 -2
  57. package/dist/templates/OnboardingTemplate.d.ts +0 -2
  58. package/dist/templates/ProductPitchTemplate.d.ts +0 -2
  59. package/dist/templates/QuarterlyReportTemplate.d.ts +0 -2
  60. package/dist/templates/SprintReviewTemplate.d.ts +0 -2
  61. package/dist/templates/index.d.ts +0 -1
  62. package/dist/types/presentationTypes.d.ts +0 -1
  63. package/dist/ui-presentations.css +1 -0
  64. package/package.json +15 -13
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @nice2dev/ui-presentations — Changelog
2
2
 
3
+ ## 1.1.6
4
+
5
+ No changes in this release.
6
+
7
+ ## 1.1.5
8
+
9
+ No changes in this release.
10
+
3
11
  ## 1.0.29
4
12
 
5
13
  ### Patch Changes
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=PresentationModel.test.d.ts.map
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=brandKit.test.d.ts.map
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=businessTemplates.test.d.ts.map
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=chartRenderer.test.d.ts.map
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=exportEngine.test.d.ts.map
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=i18n-locales.test.d.ts.map
@@ -3,4 +3,3 @@
3
3
  * @description Tests for the Puppet Show feature
4
4
  */
5
5
  export {};
6
- //# sourceMappingURL=puppetShow.test.d.ts.map
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=serialization.test.d.ts.map
@@ -1,2 +0,0 @@
1
-
2
- //# sourceMappingURL=setup.d.ts.map
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=slideAnimationEngine.test.d.ts.map
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=sprint24-presentations.test.d.ts.map
@@ -1,5 +1,4 @@
1
1
  import { NicePresentationDocument, PresentationSlide, SlideElement, PresentationTheme, PresentationMetadata } from '../types/presentationTypes';
2
-
3
2
  export interface YDoc {
4
3
  getMap<T>(name: string): YMap<T>;
5
4
  getArray<T>(name: string): YArray<T>;
@@ -205,4 +204,3 @@ export interface UseCollaborativePresentationOptions {
205
204
  createUndoManager?: (ydoc: YDoc, trackedTypes: unknown[]) => UndoManagerLike;
206
205
  }
207
206
  export declare function useCollaborativePresentation(options: UseCollaborativePresentationOptions): CollaborativePresentationContextValue;
208
- //# sourceMappingURL=collaborativePresentation.d.ts.map
@@ -1,7 +1,6 @@
1
1
  import { NiceComponentTutorial } from '@nice2dev/ui';
2
2
  import { default as React } from 'react';
3
3
  import { NicePresentationDocument } from '../types/presentationTypes';
4
-
5
4
  export interface NicePresentationEditorProps {
6
5
  /** Initial document (optional) */
7
6
  initialDocument?: NicePresentationDocument;
@@ -22,4 +21,3 @@ export interface NicePresentationEditorProps {
22
21
  tutorial?: NiceComponentTutorial;
23
22
  }
24
23
  export declare const NicePresentationEditor: React.FC<NicePresentationEditorProps>;
25
- //# sourceMappingURL=NicePresentationEditor.d.ts.map
@@ -1,6 +1,5 @@
1
1
  import { default as React } from 'react';
2
2
  import { NicePresentationDocument } from '../types/presentationTypes';
3
-
4
3
  export interface NicePresentationPlayerProps {
5
4
  /** The presentation document to play */
6
5
  document: NicePresentationDocument;
@@ -27,4 +26,3 @@ export interface NicePresentationPlayerProps {
27
26
  className?: string;
28
27
  }
29
28
  export declare const NicePresentationPlayer: React.FC<NicePresentationPlayerProps>;
30
- //# sourceMappingURL=NicePresentationPlayer.d.ts.map
@@ -1,6 +1,5 @@
1
1
  import { default as React } from 'react';
2
2
  import { SlideElementType, SlideLayout } from '../types/presentationTypes';
3
-
4
3
  export interface PresentationToolbarProps {
5
4
  onAddElement?: (type: SlideElementType) => void;
6
5
  onAddSlide?: (layout?: SlideLayout) => void;
@@ -13,4 +12,3 @@ export interface PresentationToolbarProps {
13
12
  className?: string;
14
13
  }
15
14
  export declare const PresentationToolbar: React.FC<PresentationToolbarProps>;
16
- //# sourceMappingURL=PresentationToolbar.d.ts.map
@@ -1,6 +1,5 @@
1
1
  import { default as React } from 'react';
2
2
  import { PresentationSlide as _PresentationSlide, PresentationTheme as _PresentationTheme, SlideSize as _SlideSize } from '../types/presentationTypes';
3
-
4
3
  export interface SlideCanvasProps {
5
4
  slide: _PresentationSlide;
6
5
  slideSize: _SlideSize;
@@ -25,4 +24,3 @@ export interface SlideCanvasProps {
25
24
  className?: string;
26
25
  }
27
26
  export declare const SlideCanvas: React.FC<SlideCanvasProps>;
28
- //# sourceMappingURL=SlideCanvas.d.ts.map
@@ -1,6 +1,5 @@
1
1
  import { default as React } from 'react';
2
2
  import { PresentationSlide as _PresentationSlide, SlideElement } from '../types/presentationTypes';
3
-
4
3
  export interface SlidePropertyPanelProps {
5
4
  slide?: _PresentationSlide | null;
6
5
  selectedElement?: SlideElement | null;
@@ -10,4 +9,3 @@ export interface SlidePropertyPanelProps {
10
9
  className?: string;
11
10
  }
12
11
  export declare const SlidePropertyPanel: React.FC<SlidePropertyPanelProps>;
13
- //# sourceMappingURL=SlidePropertyPanel.d.ts.map
@@ -1,6 +1,5 @@
1
1
  import { default as React } from 'react';
2
2
  import { PresentationSlide as _PresentationSlide, SlideSize as _SlideSize, PresentationTheme as _PresentationTheme } from '../types/presentationTypes';
3
-
4
3
  export interface SlideThumbnailListProps {
5
4
  slides: readonly _PresentationSlide[];
6
5
  slideSize: _SlideSize;
@@ -13,4 +12,3 @@ export interface SlideThumbnailListProps {
13
12
  className?: string;
14
13
  }
15
14
  export declare const SlideThumbnailList: React.FC<SlideThumbnailListProps>;
16
- //# sourceMappingURL=SlideThumbnailList.d.ts.map
@@ -1,6 +1,5 @@
1
1
  import { default as React } from 'react';
2
2
  import { ButtonContent, ButtonAction } from '../../types/presentationTypes';
3
-
4
3
  export interface InteractiveButtonProps {
5
4
  content: ButtonContent;
6
5
  /** Callback when button action is triggered */
@@ -18,4 +17,3 @@ export interface InteractiveButtonProps {
18
17
  }
19
18
  export declare const InteractiveButton: React.FC<InteractiveButtonProps>;
20
19
  export default InteractiveButton;
21
- //# sourceMappingURL=InteractiveButton.d.ts.map
@@ -1,6 +1,5 @@
1
1
  import { default as React } from 'react';
2
2
  import { CountdownContent, ButtonAction } from '../../types/presentationTypes';
3
-
4
3
  export interface InteractiveCountdownProps {
5
4
  content: CountdownContent;
6
5
  /** Callback when countdown completes */
@@ -18,4 +17,3 @@ export interface InteractiveCountdownProps {
18
17
  }
19
18
  export declare const InteractiveCountdown: React.FC<InteractiveCountdownProps>;
20
19
  export default InteractiveCountdown;
21
- //# sourceMappingURL=InteractiveCountdown.d.ts.map
@@ -1,6 +1,5 @@
1
1
  import { default as React } from 'react';
2
2
  import { PollContent } from '../../types/presentationTypes';
3
-
4
3
  export interface InteractivePollProps {
5
4
  content: PollContent;
6
5
  /** Callback when a vote is submitted */
@@ -22,4 +21,3 @@ export interface InteractivePollProps {
22
21
  }
23
22
  export declare const InteractivePoll: React.FC<InteractivePollProps>;
24
23
  export default InteractivePoll;
25
- //# sourceMappingURL=InteractivePoll.d.ts.map
@@ -1,6 +1,5 @@
1
1
  import { default as React } from 'react';
2
2
  import { QnAContent, QnAQuestion } from '../../types/presentationTypes';
3
-
4
3
  export interface InteractiveQnAProps {
5
4
  content: QnAContent;
6
5
  /** Current user name (for non-anonymous questions) */
@@ -28,4 +27,3 @@ export interface InteractiveQnAProps {
28
27
  }
29
28
  export declare const InteractiveQnA: React.FC<InteractiveQnAProps>;
30
29
  export default InteractiveQnA;
31
- //# sourceMappingURL=InteractiveQnA.d.ts.map
@@ -1,6 +1,5 @@
1
1
  import { default as React } from 'react';
2
2
  import { QuizContent } from '../../types/presentationTypes';
3
-
4
3
  export interface InteractiveQuizProps {
5
4
  content: QuizContent;
6
5
  /** Callback when answer is submitted */
@@ -18,4 +17,3 @@ export interface InteractiveQuizProps {
18
17
  }
19
18
  export declare const InteractiveQuiz: React.FC<InteractiveQuizProps>;
20
19
  export default InteractiveQuiz;
21
- //# sourceMappingURL=InteractiveQuiz.d.ts.map
@@ -14,4 +14,3 @@ export { InteractiveQuiz } from './InteractiveQuiz';
14
14
  export { InteractiveCountdown } from './InteractiveCountdown';
15
15
  export { InteractiveQnA } from './InteractiveQnA';
16
16
  export type { ButtonContent, ButtonAction, PollContent, PollOption, QuizContent, QuizAnswer, CountdownContent, QnAContent, QnAQuestion, } from '../../types/presentationTypes';
17
- //# sourceMappingURL=index.d.ts.map
@@ -1,5 +1,4 @@
1
1
  import { NicePresentationDocument, PresentationSlide as _PresentationSlide, SlideElement, ElementPosition, PresentationTheme as _PresentationTheme, SlideLayout } from '../types/presentationTypes';
2
-
3
2
  export declare class PresentationModel {
4
3
  private doc;
5
4
  private undoStack;
@@ -31,4 +30,3 @@ export declare class PresentationModel {
31
30
  moveElement(slideId: string, elementId: string, position: ElementPosition): void;
32
31
  setTheme(theme: _PresentationTheme): void;
33
32
  }
34
- //# sourceMappingURL=PresentationModel.d.ts.map
@@ -1,5 +1,4 @@
1
1
  import { NicePresentationDocument, PresentationTheme } from '../types/presentationTypes';
2
-
3
2
  export interface BrandKit {
4
3
  /** Unique identifier */
5
4
  id: string;
@@ -50,4 +49,3 @@ export declare function removeBrandKit(doc: NicePresentationDocument, kitId: str
50
49
  export declare const BRAND_KIT_NICE2DEV: BrandKit;
51
50
  export declare const BRAND_KIT_CORPORATE: BrandKit;
52
51
  export declare const BRAND_KIT_STARTUP: BrandKit;
53
- //# sourceMappingURL=brandKit.d.ts.map
@@ -1,5 +1,3 @@
1
1
  import { ChartContent } from '../types/presentationTypes';
2
-
3
2
  /** Generate SVG markup for a chart element. */
4
3
  export declare function renderChartSvg(chart: ChartContent, width: number, height: number): string;
5
- //# sourceMappingURL=chartRenderer.d.ts.map
@@ -1,5 +1,4 @@
1
1
  import { TransitionEffect } from '../types/presentationTypes';
2
-
3
2
  export interface CustomTransitionConfig {
4
3
  /** Unique identifier for the transition */
5
4
  id: string;
@@ -112,4 +111,3 @@ declare const _default: {
112
111
  BUILT_IN_TRANSITIONS: CustomTransitionConfig[];
113
112
  };
114
113
  export default _default;
115
- //# sourceMappingURL=customTransitions.d.ts.map
@@ -1,5 +1,4 @@
1
1
  import { DataSource } from './liveDataSlides';
2
-
3
2
  /** KPI visualization type. */
4
3
  export type KPIWidgetType = 'number-tile' | 'gauge' | 'sparkline' | 'mini-bar' | 'mini-pie' | 'progress' | 'trend-indicator' | 'comparison' | 'bullet-chart' | 'traffic-light';
5
4
  /** Trend direction. */
@@ -226,4 +225,3 @@ declare const _default: {
226
225
  formatKPIValue: typeof formatKPIValue;
227
226
  };
228
227
  export default _default;
229
- //# sourceMappingURL=dashboardSlide.d.ts.map
@@ -1,5 +1,4 @@
1
1
  import { DataSource } from './liveDataSlides';
2
-
3
2
  /** Column definition for slide DataGrid. */
4
3
  export interface SlideGridColumn {
5
4
  /** Unique column ID. */
@@ -252,4 +251,3 @@ declare const _default: {
252
251
  createEmployeeDataGrid: typeof createEmployeeDataGrid;
253
252
  };
254
253
  export default _default;
255
- //# sourceMappingURL=dataGridSlide.d.ts.map
@@ -1,5 +1,3 @@
1
1
  import { NicePresentationDocument } from '../types/presentationTypes';
2
-
3
2
  /** Export a full self-contained HTML presentation. */
4
3
  export declare function exportToHtml(doc: NicePresentationDocument): string;
5
- //# sourceMappingURL=exportEngine.d.ts.map
@@ -1,5 +1,4 @@
1
1
  import { default as React, ReactNode } from 'react';
2
-
3
2
  export type NiceTranslateFn = (key: string) => string;
4
3
  export interface NiceI18nProviderProps {
5
4
  lang?: 'en' | 'pl' | 'de' | 'fr' | 'es';
@@ -7,4 +6,3 @@ export interface NiceI18nProviderProps {
7
6
  }
8
7
  export declare const NiceI18nProvider: React.FC<NiceI18nProviderProps>;
9
8
  export declare function useNiceTranslation(): NiceTranslateFn;
10
- //# sourceMappingURL=i18n.d.ts.map
@@ -1,5 +1,4 @@
1
1
  import { default as React } from 'react';
2
-
3
2
  export interface DataSource {
4
3
  id: string;
5
4
  name: string;
@@ -234,4 +233,3 @@ declare const _default: {
234
233
  formatValue: typeof formatValue;
235
234
  };
236
235
  export default _default;
237
- //# sourceMappingURL=liveDataSlides.d.ts.map
@@ -307,4 +307,3 @@ declare const _default: {
307
307
  createMultiQRSlide: typeof createMultiQRSlide;
308
308
  };
309
309
  export default _default;
310
- //# sourceMappingURL=qrCodeSlide.d.ts.map
@@ -1,5 +1,4 @@
1
1
  import { DataSource } from './liveDataSlides';
2
-
3
2
  /** Supported query languages. */
4
3
  export type QueryLanguage = 'sql' | 'odata' | 'graphql' | 'kql' | 'dax';
5
4
  /** Query parameter definition. */
@@ -193,4 +192,3 @@ declare const _default: {
193
192
  createKQLQuerySlide: typeof createKQLQuerySlide;
194
193
  };
195
194
  export default _default;
196
- //# sourceMappingURL=querySlide.d.ts.map
@@ -1,5 +1,4 @@
1
1
  import { default as React } from 'react';
2
-
3
2
  export interface RecordingConfig {
4
3
  video: VideoConfig;
5
4
  audio: AudioConfig;
@@ -136,4 +135,3 @@ declare const _default: {
136
135
  RecordingIndicator: typeof RecordingIndicator;
137
136
  };
138
137
  export default _default;
139
- //# sourceMappingURL=recordingMode.d.ts.map
@@ -1,5 +1,4 @@
1
1
  import { NicePresentationDocument } from '../types/presentationTypes';
2
-
3
2
  export interface ParseResult {
4
3
  ok: true;
5
4
  document: NicePresentationDocument;
@@ -10,4 +9,3 @@ export interface ParseError {
10
9
  }
11
10
  export declare function parseNdpJson(json: string): ParseResult | ParseError;
12
11
  export declare function stringifyNdpJson(doc: NicePresentationDocument, pretty?: boolean): string;
13
- //# sourceMappingURL=serialization.d.ts.map
@@ -1,5 +1,4 @@
1
1
  import { ElementAnimation as _ElementAnimation } from '../types/presentationTypes';
2
-
3
2
  export interface ElementRenderState {
4
3
  opacity: number;
5
4
  transform: string;
@@ -17,4 +16,3 @@ export interface TransitionState {
17
16
  }
18
17
  export declare function computeTransitionState(effect: string, progress: number, // 0→1
19
18
  direction?: string): TransitionState;
20
- //# sourceMappingURL=slideAnimationEngine.d.ts.map
@@ -1,5 +1,4 @@
1
1
  import { PresentationSlide, SlideElement, SlideBackground } from '../types/presentationTypes';
2
-
3
2
  /** Library item types. */
4
3
  export type LibraryItemType = 'slide' | 'element' | 'template' | 'theme' | 'animation';
5
4
  /** Base library item metadata. */
@@ -308,4 +307,3 @@ export declare class SlideLibraryManager {
308
307
  importLibrary(json: string): void;
309
308
  }
310
309
  export default SlideLibraryManager;
311
- //# sourceMappingURL=slideLibrary.d.ts.map
@@ -1,5 +1,4 @@
1
1
  import { NicePresentationDocument } from '../types/presentationTypes';
2
-
3
2
  /** Version entry in history. */
4
3
  export interface PresentationVersion {
5
4
  /** Unique version ID. */
@@ -231,4 +230,3 @@ export declare class PresentationVersionManager {
231
230
  dispose(): void;
232
231
  }
233
232
  export default PresentationVersionManager;
234
- //# sourceMappingURL=versionHistory.d.ts.map
@@ -1,6 +1,5 @@
1
1
  import { PresentationModel } from '../core/PresentationModel';
2
2
  import { NicePresentationDocument, PresentationSlide, SlideElement, SlideLayout, PresentationTheme, ElementPosition } from '../types/presentationTypes';
3
-
4
3
  export interface UsePresentationEditorReturn {
5
4
  document: Readonly<NicePresentationDocument>;
6
5
  slides: readonly PresentationSlide[];
@@ -32,4 +31,3 @@ export interface UsePresentationEditorReturn {
32
31
  model: PresentationModel;
33
32
  }
34
33
  export declare function usePresentationEditor(initialDoc?: NicePresentationDocument): UsePresentationEditorReturn;
35
- //# sourceMappingURL=usePresentationEditor.d.ts.map
package/dist/index.cjs CHANGED
@@ -137,7 +137,7 @@ SLA Violation`,style:{fontSize:18,color:e.impact.slaViolation?"var(--nice-danger
137
137
  FROM Sales
138
138
  WHERE OrderDate >= @startDate AND OrderDate <= @endDate
139
139
  GROUP BY Region, ProductCategory
140
- ORDER BY TotalRevenue DESC`,parameters:[{name:"startDate",label:"Start Date",type:"date",required:!0,defaultValue:new Date(Date.now()-30*24*60*60*1e3).toISOString().split("T")[0]},{name:"endDate",label:"End Date",type:"date",required:!0,defaultValue:new Date().toISOString().split("T")[0]}],dataSource:{id:"sales-query-ds",name:"Sales Query Source",type:"rest-api",config:{type:"rest-api",url:"/api/query",method:"POST"},status:"idle"},visualization:{mode:"bar-chart",chartConfig:{xAxis:"Region",yAxis:"TotalRevenue",seriesField:"ProductCategory",showLegend:!0}},showQueryEditor:!0,showExecutionStats:!0}}function Pa(){return{id:"odata-query",title:"Product Catalog",subtitle:"OData Query Example",language:"odata",query:"Products?$filter=Category eq '{category}' and Price gt {minPrice}&$orderby=Price desc&$top=20&$select=Name,Category,Price,Stock",parameters:[{name:"category",label:"Category",type:"select",required:!0,defaultValue:"Electronics",options:[{value:"Electronics",label:"Electronics"},{value:"Clothing",label:"Clothing"},{value:"Books",label:"Books"}]},{name:"minPrice",label:"Minimum Price",type:"number",defaultValue:0,validation:{min:0}}],dataSource:{id:"odata-query-ds",name:"OData Query Source",type:"rest-api",config:{type:"rest-api",url:"https://api.example.com/odata",method:"GET"},status:"idle"},visualization:{mode:"table",tableConfig:{pageSize:10,sortable:!0}}}}function Da(){return{id:"kql-query",title:"Application Insights",subtitle:"Request Performance Analysis",language:"kql",query:`requests
140
+ ORDER BY TotalRevenue DESC`,parameters:[{name:"startDate",label:"Start Date",type:"date",required:!0,defaultValue:new Date(Date.now()-720*60*60*1e3).toISOString().split("T")[0]},{name:"endDate",label:"End Date",type:"date",required:!0,defaultValue:new Date().toISOString().split("T")[0]}],dataSource:{id:"sales-query-ds",name:"Sales Query Source",type:"rest-api",config:{type:"rest-api",url:"/api/query",method:"POST"},status:"idle"},visualization:{mode:"bar-chart",chartConfig:{xAxis:"Region",yAxis:"TotalRevenue",seriesField:"ProductCategory",showLegend:!0}},showQueryEditor:!0,showExecutionStats:!0}}function Pa(){return{id:"odata-query",title:"Product Catalog",subtitle:"OData Query Example",language:"odata",query:"Products?$filter=Category eq '{category}' and Price gt {minPrice}&$orderby=Price desc&$top=20&$select=Name,Category,Price,Stock",parameters:[{name:"category",label:"Category",type:"select",required:!0,defaultValue:"Electronics",options:[{value:"Electronics",label:"Electronics"},{value:"Clothing",label:"Clothing"},{value:"Books",label:"Books"}]},{name:"minPrice",label:"Minimum Price",type:"number",defaultValue:0,validation:{min:0}}],dataSource:{id:"odata-query-ds",name:"OData Query Source",type:"rest-api",config:{type:"rest-api",url:"https://api.example.com/odata",method:"GET"},status:"idle"},visualization:{mode:"table",tableConfig:{pageSize:10,sortable:!0}}}}function Da(){return{id:"kql-query",title:"Application Insights",subtitle:"Request Performance Analysis",language:"kql",query:`requests
141
141
  | where timestamp > ago({timeRange})
142
142
  | summarize
143
143
  RequestCount = count(),
package/dist/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
-
2
1
  export { NicePresentationEditor, type NicePresentationEditorProps } from './components/NicePresentationEditor';
3
2
  export { NicePresentationPlayer, type NicePresentationPlayerProps } from './components/NicePresentationPlayer';
4
3
  export { SlideCanvas as NiceSlideCanvas, SlideCanvas, type SlideCanvasProps } from './components/SlideCanvas';
@@ -30,4 +29,3 @@ export { PresentationVersionManager, type PresentationVersion, type VersionAutho
30
29
  export { SlideLibraryManager, type LibraryItemType, type LibraryItemMetadata, type LibraryAuthor, type SlideLibraryItem, type ElementLibraryItem, type TemplateLibraryItem, type SlidePlaceholder, type TemplateVariable, type LibraryCollection, type LinkedSlideInstance, type SlideOverrides, type LibrarySearchOptions, type LibrarySearchResult, } from './core/slideLibrary';
31
30
  export { encodeQRContent, createQRCodeSlide, createPresentationLinkSlide, createFeedbackSlide, createPollSlide, createContactSlide, createWiFiSlide, createMultiQRSlide, type QRContentType, type QRCodeConfig, type QRContentData, type VCardContent, type WiFiContent, type GeoContent, type CalendarContent, type PresentationLinkContent, type FeedbackFormContent, type QRPollContent, type QRCodeStyle, type QRCodeSlideConfig, type GeneratedQRCode, type QRCodeSlide, type QRCodeScanEvent, type QRCodeAnalytics, } from './core/qrCodeSlide';
32
31
  export { useCollaborativePresentation, syncYjsToPresentation, syncPresentationToYjs, type UseCollaborativePresentationOptions, type CollaborativePresentationContextValue, type CollaborativePresentationState, type CollaborativePresentationActions, type CollaboratorInfo as PresentationCollaboratorInfo, type CollaborationProviderConfig as PresentationCollaborationProviderConfig, type PresentationAwarenessState, } from './collaborative/collaborativePresentation';
33
- //# sourceMappingURL=index.d.ts.map
package/dist/index.mjs CHANGED
@@ -11738,7 +11738,7 @@ ORDER BY TotalRevenue DESC`,
11738
11738
  label: "Start Date",
11739
11739
  type: "date",
11740
11740
  required: !0,
11741
- defaultValue: new Date(Date.now() - 30 * 24 * 60 * 60 * 1e3).toISOString().split("T")[0]
11741
+ defaultValue: new Date(Date.now() - 720 * 60 * 60 * 1e3).toISOString().split("T")[0]
11742
11742
  },
11743
11743
  {
11744
11744
  name: "endDate",
@@ -1,5 +1,4 @@
1
1
  import { PuppetCharacterDef, SpriteAtlas, PuppetPropDef, GameEngineImportOptions } from './puppetShowTypes';
2
-
3
2
  export interface GameEngineSpriteAnimation {
4
3
  frames: GameEngineAnimationFrame[];
5
4
  fps: number;
@@ -146,4 +145,3 @@ export declare function validateProjectForImport(project: GameEngineProject): {
146
145
  errors: string[];
147
146
  warnings: string[];
148
147
  };
149
- //# sourceMappingURL=gameEngineIntegration.d.ts.map
@@ -14,4 +14,3 @@ export { importSpriteAsCharacter, importEntityAsCharacter, importAssetAsProp, im
14
14
  export type { GameEngineSpriteAnimation, GameEngineAnimationFrame, GameEngineSprite, GameEngineEntityData, GameEngineSpriteComponent, GameEngineAnimatorComponent, GameEngineTransformComponent, GameEngineProject, GameEngineAsset, } from './gameEngineIntegration';
15
15
  export { puppetShowToPresentation, presentationToPuppetShow, validatePuppetShowDocument, mergePuppetShows, } from './puppetShowConverter';
16
16
  export type { NicePresentationDocument, Slide, SlideElement, SlideLayout, SlideBackground, SlideTransition, ElementPosition, ElementSize, ElementContent, ElementStyle, ElementAnimation, AnimationEffect, AnimationTimeline, PresentationTheme, } from './puppetShowConverter';
17
- //# sourceMappingURL=index.d.ts.map
@@ -1,6 +1,5 @@
1
1
  import { default as React } from 'react';
2
2
  import { PuppetCharacterDef, CharacterAnimation, CharacterExpression, CharacterRuntimeState, AnimationFrameDef } from './puppetShowTypes';
3
-
4
3
  export interface AnimationControllerOptions {
5
4
  fps?: number;
6
5
  onAnimationComplete?: (animationId: string) => void;
@@ -93,4 +92,3 @@ export declare function useCharacterRegistry(): {
93
92
  export declare function createCharacterFromSpriteSheet(id: string, name: string, spriteSheetUrl: string, frameWidth: number, frameHeight: number, frameCount: number, columns: number): PuppetCharacterDef;
94
93
  export declare function addAnimationToCharacter(character: PuppetCharacterDef, animationId: string, name: string, frameIds: string[], fps: number, loop: boolean, category?: CharacterAnimation['category']): PuppetCharacterDef;
95
94
  export declare function addExpressionToCharacter(character: PuppetCharacterDef, expressionId: string, name: string, emotion: CharacterExpression['emotion'], frameId?: string, overlay?: string): PuppetCharacterDef;
96
- //# sourceMappingURL=puppetCharacter.d.ts.map
@@ -2,7 +2,6 @@ import { default as React } from 'react';
2
2
  import { CharacterRegistry } from './puppetCharacter';
3
3
  import { NicePuppetShowDocument, PuppetScene, PuppetShowPlayerState } from './puppetShowTypes';
4
4
  import { TimelineState } from './puppetTimeline';
5
-
6
5
  export interface PuppetPlayerContextValue {
7
6
  document: NicePuppetShowDocument | null;
8
7
  playerState: PuppetShowPlayerState;
@@ -65,4 +64,3 @@ export interface PuppetShowMiniPlayerProps {
65
64
  style?: React.CSSProperties;
66
65
  }
67
66
  export declare function PuppetShowMiniPlayer({ document, width, height, autoPlay, className, style, }: PuppetShowMiniPlayerProps): React.ReactElement;
68
- //# sourceMappingURL=puppetPlayer.d.ts.map
@@ -1,5 +1,4 @@
1
1
  import { NicePuppetShowDocument, PresentationConversionOptions } from './puppetShowTypes';
2
-
3
2
  export interface NicePresentationDocument {
4
3
  version: string;
5
4
  id: string;
@@ -138,4 +137,3 @@ export declare function validatePuppetShowDocument(doc: NicePuppetShowDocument):
138
137
  export declare function mergePuppetShows(shows: NicePuppetShowDocument[], options?: {
139
138
  deduplicateCharacters?: boolean;
140
139
  }): NicePuppetShowDocument;
141
- //# sourceMappingURL=puppetShowConverter.d.ts.map
@@ -526,4 +526,3 @@ export interface ActiveEffect {
526
526
  params: Record<string, unknown>;
527
527
  progress: number;
528
528
  }
529
- //# sourceMappingURL=puppetShowTypes.d.ts.map
@@ -1,7 +1,6 @@
1
1
  import { default as React } from 'react';
2
2
  import { CharacterRegistry } from './puppetCharacter';
3
3
  import { NicePuppetShowDocument, PuppetScene, SceneBackground, SceneCamera as _SceneCamera, CharacterRuntimeState as _CharacterRuntimeState, ActiveEffect as _ActiveEffect } from './puppetShowTypes';
4
-
5
4
  export interface PuppetStageContextValue {
6
5
  document: NicePuppetShowDocument | null;
7
6
  currentScene: PuppetScene | null;
@@ -64,4 +63,3 @@ export declare function useCameraShake(intensity: number, duration: number, acti
64
63
  offsetX: number;
65
64
  offsetY: number;
66
65
  };
67
- //# sourceMappingURL=puppetStage.d.ts.map
@@ -1,5 +1,4 @@
1
1
  import { PuppetScene, TimelineTrack, DialogueKeyframe, EffectKeyframe, CharacterRuntimeState, SceneAudio, SceneCamera, ActiveEffect, EasingType, TimelineTrackType, PuppetCharacterDef } from './puppetShowTypes';
2
-
3
2
  export type EasingFunction = (t: number) => number;
4
3
  export declare const easingFunctions: Record<EasingType, EasingFunction>;
5
4
  export declare function getEasingFunction(easing: EasingType): EasingFunction;
@@ -140,4 +139,3 @@ export declare function timeToFrames(timeMs: number, fps: number): number;
140
139
  export declare function framesToTime(frames: number, fps: number): number;
141
140
  export declare function formatTime(timeMs: number): string;
142
141
  export declare function parseTime(timeStr: string): number;
143
- //# sourceMappingURL=puppetTimeline.d.ts.map
@@ -1,5 +1,4 @@
1
1
  import { NicePresentationDocument } from '../types/presentationTypes';
2
-
3
2
  export interface ArchitectureOverviewData {
4
3
  /** Project info */
5
4
  project: {
@@ -95,4 +94,3 @@ export declare function generateArchitectureOverview(data: ArchitectureOverviewD
95
94
  * Create sample architecture data for demo
96
95
  */
97
96
  export declare function createSampleArchitectureData(): ArchitectureOverviewData;
98
- //# sourceMappingURL=ArchitectureOverviewTemplate.d.ts.map
@@ -1,5 +1,4 @@
1
1
  import { NicePresentationDocument } from '../types/presentationTypes';
2
-
3
2
  export interface IncidentReportData {
4
3
  /** Incident metadata */
5
4
  incident: {
@@ -78,4 +77,3 @@ export declare function generateIncidentReport(data: IncidentReportData): NicePr
78
77
  * Create sample incident report data for demo
79
78
  */
80
79
  export declare function createSampleIncidentReportData(): IncidentReportData;
81
- //# sourceMappingURL=IncidentReportTemplate.d.ts.map
@@ -1,5 +1,4 @@
1
1
  import { NicePresentationDocument } from '../types/presentationTypes';
2
-
3
2
  export interface InvestorDeckData {
4
3
  /** Company info */
5
4
  companyName: string;
@@ -142,4 +141,3 @@ export interface InvestorDeckData {
142
141
  }
143
142
  export declare function generateInvestorDeck(data: InvestorDeckData): NicePresentationDocument;
144
143
  export default generateInvestorDeck;
145
- //# sourceMappingURL=InvestorDeckTemplate.d.ts.map
@@ -1,5 +1,4 @@
1
1
  import { NicePresentationDocument } from '../types/presentationTypes';
2
-
3
2
  export interface OnboardingData {
4
3
  /** Company/Team info */
5
4
  company: {
@@ -103,4 +102,3 @@ export declare function generateOnboarding(data: OnboardingData): NicePresentati
103
102
  * Create sample onboarding data for demo
104
103
  */
105
104
  export declare function createSampleOnboardingData(): OnboardingData;
106
- //# sourceMappingURL=OnboardingTemplate.d.ts.map
@@ -1,5 +1,4 @@
1
1
  import { NicePresentationDocument } from '../types/presentationTypes';
2
-
3
2
  export interface ProductPitchData {
4
3
  /** Product info */
5
4
  productName: string;
@@ -85,4 +84,3 @@ export declare function generateProductPitch(data: ProductPitchData): NicePresen
85
84
  * Create sample product pitch data for demo
86
85
  */
87
86
  export declare function createSampleProductPitchData(): ProductPitchData;
88
- //# sourceMappingURL=ProductPitchTemplate.d.ts.map
@@ -1,5 +1,4 @@
1
1
  import { NicePresentationDocument } from '../types/presentationTypes';
2
-
3
2
  export interface QuarterlyReportData {
4
3
  /** Report metadata */
5
4
  quarter: 'Q1' | 'Q2' | 'Q3' | 'Q4';
@@ -99,4 +98,3 @@ export declare function generateQuarterlyReport(data: QuarterlyReportData): Nice
99
98
  * Create sample quarterly report data for demo purposes
100
99
  */
101
100
  export declare function createSampleQuarterlyReportData(): QuarterlyReportData;
102
- //# sourceMappingURL=QuarterlyReportTemplate.d.ts.map
@@ -1,5 +1,4 @@
1
1
  import { NicePresentationDocument } from '../types/presentationTypes';
2
-
3
2
  export interface SprintReviewData {
4
3
  /** Sprint info */
5
4
  sprint: {
@@ -87,4 +86,3 @@ export declare function generateSprintReview(data: SprintReviewData): NicePresen
87
86
  * Create sample sprint review data for demo
88
87
  */
89
88
  export declare function createSampleSprintReviewData(): SprintReviewData;
90
- //# sourceMappingURL=SprintReviewTemplate.d.ts.map
@@ -8,4 +8,3 @@ export { generateSprintReview, createSampleSprintReviewData, type SprintReviewDa
8
8
  export { generateArchitectureOverview, createSampleArchitectureData, type ArchitectureOverviewData } from './ArchitectureOverviewTemplate';
9
9
  export { generateOnboarding, createSampleOnboardingData, type OnboardingData } from './OnboardingTemplate';
10
10
  export { generateIncidentReport, createSampleIncidentReportData, type IncidentReportData } from './IncidentReportTemplate';
11
- //# sourceMappingURL=index.d.ts.map
@@ -475,4 +475,3 @@ export declare const THEME_CORPORATE: PresentationTheme;
475
475
  export declare const THEME_MODERN_DARK: PresentationTheme;
476
476
  export declare const THEME_MINIMAL: PresentationTheme;
477
477
  export declare const THEME_NICE2DEV: PresentationTheme;
478
- //# sourceMappingURL=presentationTypes.d.ts.map
@@ -0,0 +1 @@
1
+ .nice-pres-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;color:var(--nice-text, #222);background:#f4f4f4}.nice-pres-toolbar{display:flex;align-items:center;gap:var(--nice-space-1-5, 6px);padding:var(--nice-space-1-5, 6px) var(--nice-space-3, 12px);background:var(--nice-bg, #FFF);border-bottom:1px solid var(--nice-border, #ddd);flex-wrap:wrap}.nice-pres-toolbar__group{display:flex;align-items:center;gap:var(--nice-space-1, 4px)}.nice-pres-toolbar__separator{width:1px;height:24px;background:var(--nice-border, #ddd);margin:0 var(--nice-space-1-5, 6px)}.nice-pres-toolbar button,.nice-pres-toolbar select{height:32px;padding:0 var(--nice-space-2-5, 10px);border:1px solid var(--nice-border, #ccc);border-radius:var(--nice-radius-sm, 4px);background:var(--nice-bg, #FFF);font-size:13px;cursor:pointer;line-height:30px;white-space:nowrap}.nice-pres-toolbar button:hover:not(:disabled){background:var(--nice-primary-bg, #eef)}.nice-pres-toolbar button:disabled{opacity:.4;cursor:default}.nice-pres-toolbar button.primary{background:var(--nice-info, #6366f1);color:var(--nice-bg, #FFF);border-color:var(--nice-accent, #5558e6)}.nice-pres-toolbar button.primary:hover{background:var(--nice-accent, #4f46e5)}.nice-pres-toolbar__dropdown{position:relative}.nice-pres-toolbar__dropdown-menu{position:absolute;top:100%;left:0;z-index:20;min-width:160px;background:var(--nice-bg, #FFF);border:1px solid var(--nice-border, #ddd);border-radius:var(--nice-radius-md, 6px);box-shadow:0 4px 12px var(--nice-overlay-12, rgba(0, 0, 0, .12));padding:var(--nice-space-1, 4px) 0;margin-top:var(--nice-space-0-5, 2px)}.nice-pres-toolbar__dropdown-item{display:block;width:100%;padding:var(--nice-space-1-5, 6px) var(--nice-space-3-5, 14px);border:none;background:none;text-align:left;font-size:13px;cursor:pointer;color:var(--nice-text, #333)}.nice-pres-toolbar__dropdown-item:hover{background:var(--nice-primary-bg, #eef)}.nice-pres-thumbnails{padding:var(--nice-space-2, 8px);overflow-y:auto;max-height:100%;display:flex;flex-direction:column;gap:var(--nice-space-2, 8px)}.nice-pres-thumbnail{position:relative;border:2px solid transparent;border-radius:var(--nice-radius-sm, 4px);cursor:pointer;overflow:hidden;background:var(--nice-bg, #FFF);box-shadow:0 1px 3px var(--nice-overlay-10, rgba(0, 0, 0, .1));transition:border-color .15s}.nice-pres-thumbnail:hover{border-color:var(--nice-accent, #a5b4fc)}.nice-pres-thumbnail--active{border-color:var(--nice-info, #6366f1)!important}.nice-pres-thumbnail__number{position:absolute;top:2px;left:4px;font-size:10px;color:var(--nice-text-secondary, #888);font-weight:600}.nice-pres-thumbnail__actions{position:absolute;top:2px;right:4px;display:none;gap:var(--nice-space-0-5, 2px)}.nice-pres-thumbnail:hover .nice-pres-thumbnail__actions{display:flex}.nice-pres-thumbnail__actions button{width:20px;height:20px;border:none;border-radius:var(--nice-radius-sm, 3px);background:var(--nice-overlay-45, rgba(0, 0, 0, .45));color:var(--nice-bg, #FFF);font-size:11px;line-height:20px;cursor:pointer;padding:0;text-align:center}.nice-pres-thumbnail__actions button:hover{background:var(--nice-overlay-70, rgba(0, 0, 0, .7))}.nice-pres-thumbnails__add-btn{width:100%;height:34px;border:2px dashed var(--nice-border, #ccc);border-radius:var(--nice-radius-sm, 4px);background:none;color:var(--nice-text-secondary, #888);font-size:13px;cursor:pointer}.nice-pres-thumbnails__add-btn:hover{border-color:var(--nice-info, #6366f1);color:var(--nice-info, #6366f1)}.nice-pres-canvas{box-shadow:0 2px 12px var(--nice-overlay-20, rgba(0, 0, 0, .18));position:relative;overflow:hidden}.nice-pres-canvas__element{position:absolute;box-sizing:border-box;cursor:default}.nice-pres-canvas__element--interactive{cursor:move}.nice-pres-canvas__element--selected{outline:2px solid var(--nice-info, #6366f1);outline-offset:2px}.nice-pres-canvas__text{-webkit-user-select:none;user-select:none;word-wrap:break-word;overflow:hidden}.nice-pres-canvas__image{display:flex;align-items:center;justify-content:center}.nice-pres-canvas__image img{max-width:100%;max-height:100%}.nice-pres-canvas__shape{display:flex;align-items:center;justify-content:center}.nice-pres-canvas__code{overflow:auto;border-radius:var(--nice-radius-md, 6px)}.nice-pres-canvas__code pre{margin:0;padding:var(--nice-space-3, 12px) var(--nice-space-4, 16px);font-family:Fira Code,Cascadia Code,JetBrains Mono,monospace;font-size:14px;line-height:1.5;white-space:pre-wrap}.nice-pres-canvas__chart svg{width:100%;height:100%}.nice-pres-canvas__table{overflow:auto}.nice-pres-canvas__table table{width:100%;border-collapse:collapse;font-size:14px}.nice-pres-canvas__table th{background:var(--nice-info, #6366f1);color:var(--nice-bg, #FFF);padding:var(--nice-space-1-5, 6px) var(--nice-space-2-5, 10px);text-align:left;font-weight:600}.nice-pres-canvas__table td{padding:var(--nice-space-1-5, 6px) var(--nice-space-2-5, 10px);border-bottom:1px solid var(--nice-border, #eee)}.nice-pres-canvas__table tr:nth-child(2n) td{background:var(--nice-bg-secondary, #f8f8f8)}.nice-pres-props{padding:var(--nice-space-3, 12px);font-size:13px}.nice-pres-props h3{font-size:14px;font-weight:600;margin:0 0 var(--nice-space-2-5, 10px);padding-bottom:var(--nice-space-1-5, 6px);border-bottom:1px solid var(--nice-border, #eee)}.nice-pres-props__row{display:flex;align-items:center;margin-bottom:var(--nice-space-2, 8px);gap:var(--nice-space-1-5, 6px)}.nice-pres-props__label{flex:0 0 70px;font-size:12px;color:var(--nice-text-secondary, #666)}.nice-pres-props__input{flex:1;height:28px;border:1px solid var(--nice-border, #ccc);border-radius:var(--nice-radius-sm, 4px);padding:0 var(--nice-space-2, 8px);font-size:12px;background:var(--nice-bg, #FFF)}.nice-pres-props__input:focus{outline:none;border-color:var(--nice-info, #6366f1)}.nice-pres-props select.nice-pres-props__input{padding-right:var(--nice-space-6, 24px)}.nice-pres-props textarea.nice-pres-props__input{height:auto;min-height:60px;padding:var(--nice-space-1-5, 6px) var(--nice-space-2, 8px);resize:vertical}.nice-pres-props__section{margin-top:var(--nice-space-4, 16px)}.nice-pres-props__color-swatch{width:28px;height:28px;border:1px solid var(--nice-border, #ccc);border-radius:var(--nice-radius-sm, 4px);cursor:pointer;padding:0}.nice-pres-props button.nice-pres-props__remove-btn{width:100%;height:30px;margin-top:var(--nice-space-3, 12px);border:1px solid var(--nice-danger, #ef4444);border-radius:var(--nice-radius-sm, 4px);background:var(--nice-danger-bg, #fef2f2);color:var(--nice-danger, #ef4444);font-size:12px;cursor:pointer}.nice-pres-props button.nice-pres-props__remove-btn:hover{background:var(--nice-danger, #ef4444);color:var(--nice-bg, #FFF)}.nice-pres-player{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.nice-pres-player-controls{transition:opacity .2s}.nice-pres-player-controls button:hover{background:var(--nice-overlay-light-30, rgba(255, 255, 255, .3))!important}@media(max-width:768px){.nice-pres-toolbar{padding:var(--nice-space-1, 4px) var(--nice-space-2, 8px);gap:var(--nice-space-1, 4px)}.nice-pres-toolbar button,.nice-pres-toolbar select{height:28px;font-size:12px;padding:0 var(--nice-space-1-5, 6px)}.nice-pres-props{padding:var(--nice-space-2, 8px)}}._interactiveElement_1hnm5_13{font-family:inherit;box-sizing:border-box}._interactiveButton_1hnm5_27{display:inline-flex;align-items:center;justify-content:center;gap:var(--nice-space-2, 8px);padding:var(--nice-space-3, 12px) var(--nice-space-6, 24px);font-weight:600;border-radius:var(--nice-radius-lg, 8px);border:2px solid transparent;cursor:pointer;transition:all .2s ease;text-decoration:none;font-size:1rem}._interactiveButton_1hnm5_27:hover:not(._disabled_1hnm5_57){transform:translateY(-2px);box-shadow:0 4px 12px var(--nice-overlay-15, rgba(0, 0, 0, .15))}._interactiveButton_1hnm5_27:active:not(._disabled_1hnm5_57){transform:translateY(0)}._interactiveButton_1hnm5_27._disabled_1hnm5_57{opacity:.5;cursor:not-allowed}._variant_primary_1hnm5_87{background:var(--nice-primary, #6366f1);color:#fff}._variant_secondary_1hnm5_97{background:var(--nice-secondary, #64748b);color:#fff}._variant_outline_1hnm5_107{background:transparent;border-color:currentColor;color:var(--nice-primary, #6366f1)}._variant_ghost_1hnm5_119{background:transparent;color:var(--nice-primary, #6366f1)}._variant_ghost_1hnm5_119:hover:not(._disabled_1hnm5_57){background:var(--nice-accent-tint-10, rgba(99, 102, 241, .1))}._size_small_1hnm5_139{padding:var(--nice-space-2, 8px) var(--nice-space-4, 16px);font-size:.875rem}._size_medium_1hnm5_149{padding:var(--nice-space-3, 12px) var(--nice-space-6, 24px);font-size:1rem}._size_large_1hnm5_159{padding:var(--nice-space-4, 16px) var(--nice-space-8, 32px);font-size:1.125rem}._buttonIcon_1hnm5_169{font-size:1.2em}._buttonLabel_1hnm5_177{white-space:nowrap}._interactivePoll_1hnm5_189{display:flex;flex-direction:column;gap:var(--nice-space-4, 16px);padding:var(--nice-space-5, 20px);background:var(--nice-overlay-light-95, rgba(255, 255, 255, .95));border-radius:var(--nice-radius-xl, 12px);box-shadow:0 4px 20px var(--nice-overlay-10, rgba(0, 0, 0, .1))}._pollQuestion_1hnm5_209{margin:0;font-size:1.25rem;font-weight:600;color:var(--nice-text, #1e293b)}._pollOptions_1hnm5_223{display:flex;flex-direction:column;gap:var(--nice-space-2-5, 10px)}._pollOption_1hnm5_223{display:flex;flex-direction:column;gap:var(--nice-space-2, 8px);padding:var(--nice-space-3-5, 14px) 18px;background:var(--nice-bg-secondary, #f8fafc);border:2px solid var(--nice-border, #e2e8f0);border-radius:var(--nice-radius-lg, 10px);cursor:pointer;transition:all .2s ease;text-align:left}._pollOption_1hnm5_223:hover:not(._pollOptionDisabled_1hnm5_261){border-color:var(--poll-option-color, #6366f1);background:var(--nice-bg-secondary, #f1f5f9)}._pollOptionSelected_1hnm5_271{border-color:var(--poll-option-color, #6366f1);background:var(--nice-accent-tint-8, rgba(99, 102, 241, .08))}._pollOptionDisabled_1hnm5_261{cursor:default}._pollOptionContent_1hnm5_289{display:flex;align-items:center;gap:var(--nice-space-2-5, 10px);font-size:1rem;color:var(--nice-text, #334155)}._pollOptionIcon_1hnm5_305{font-size:1.25rem}._pollOptionText_1hnm5_313{flex:1}._pollCheckbox_1hnm5_321{font-size:1.2rem;color:var(--poll-option-color, #6366f1)}._pollResultBar_1hnm5_331{display:flex;align-items:center;gap:var(--nice-space-2-5, 10px);height:26px;background:var(--nice-border, #e2e8f0);border-radius:var(--nice-radius-md, 6px);overflow:hidden;position:relative}._pollResultFill_1hnm5_353{height:100%;border-radius:var(--nice-radius-md, 6px);transition:width .5s ease}._pollResultPercent_1hnm5_365{position:absolute;right:60px;font-weight:600;font-size:.875rem;color:var(--nice-text-secondary, #475569)}._pollResultCount_1hnm5_381{position:absolute;right:10px;font-size:.75rem;color:var(--nice-text-secondary, #64748b)}._pollSubmitBtn_1hnm5_395{align-self:flex-start;padding:var(--nice-space-3, 12px) var(--nice-space-7, 28px);background:var(--nice-primary, #6366f1);color:#fff;border:none;border-radius:var(--nice-radius-lg, 8px);font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease}._pollSubmitBtn_1hnm5_395:hover{filter:brightness(1.1);transform:translateY(-1px)}._pollTotalVotes_1hnm5_431{font-size:.875rem;color:var(--nice-text-secondary, #64748b);text-align:center}._pollVotedMessage_1hnm5_443{padding:var(--nice-space-3, 12px);background:var(--nice-success-bg, #dcfce7);border-radius:var(--nice-radius-lg, 8px);color:var(--nice-success-dark, #166534);text-align:center;font-weight:500}._pollStyle_horizontal-bar_1hnm5_463 ._pollOptions_1hnm5_223{gap:var(--nice-space-2, 8px)}._pollStyle_horizontal-bar_1hnm5_463 ._pollOption_1hnm5_223{flex-direction:row;padding:var(--nice-space-2-5, 10px) var(--nice-space-3-5, 14px)}._interactiveQuiz_1hnm5_485{display:flex;flex-direction:column;gap:var(--nice-space-4, 16px);padding:var(--nice-space-6, 24px);background:var(--nice-overlay-light-95, rgba(255, 255, 255, .95));border-radius:var(--nice-radius-xl, 12px);box-shadow:0 4px 20px var(--nice-overlay-10, rgba(0, 0, 0, .1))}._quizHeader_1hnm5_505{display:flex;align-items:flex-start;gap:var(--nice-space-4, 16px);flex-wrap:wrap}._quizQuestion_1hnm5_519{margin:0;flex:1;font-size:1.25rem;font-weight:600;color:var(--nice-text, #1e293b);min-width:200px}._quizTimer_1hnm5_537{padding:var(--nice-space-2, 8px) var(--nice-space-3-5, 14px);background:var(--nice-bg-secondary, #f1f5f9);border-radius:var(--nice-radius-md, 6px);font-weight:600;font-size:1rem;color:var(--nice-text-secondary, #475569)}._quizTimerWarning_1hnm5_555{background:var(--nice-danger-bg, #fef2f2);color:var(--nice-danger-dark, #dc2626);animation:_timerPulse_1hnm5_1 .5s ease infinite}@keyframes _timerPulse_1hnm5_1{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}._quizPoints_1hnm5_577{padding:var(--nice-space-1-5, 6px) var(--nice-space-3, 12px);background:var(--nice-primary-bg, #dbeafe);border-radius:var(--nice-radius-xl, 20px);font-weight:600;font-size:.875rem;color:var(--nice-primary-dark, #1d4ed8)}._quizAnswers_1hnm5_595{display:flex;flex-direction:column;gap:var(--nice-space-2-5, 10px)}._quizAnswer_1hnm5_595{display:flex;align-items:center;gap:var(--nice-space-3, 12px);padding:var(--nice-space-3-5, 14px) 18px;background:var(--nice-bg-secondary, #f8fafc);border:2px solid var(--nice-border, #e2e8f0);border-radius:var(--nice-radius-lg, 10px);cursor:pointer;transition:all .2s ease;text-align:left}._quizAnswer_1hnm5_595:hover:not(._quizAnswerDisabled_1hnm5_633){border-color:var(--nice-info, #6366f1);background:var(--nice-bg-secondary, #f1f5f9)}._quizAnswerSelected_1hnm5_643{border-color:var(--nice-info, #6366f1);background:var(--nice-accent-tint-8, rgba(99, 102, 241, .08))}._quizAnswerDisabled_1hnm5_633{cursor:default}._quizAnswerCorrect_1hnm5_661{border-color:var(--nice-success, #22c55e)!important;background:var(--nice-success-tint-10, rgba(34, 197, 94, .1))!important}._quizAnswerIncorrect_1hnm5_671{border-color:var(--nice-danger, #ef4444)!important;background:var(--nice-danger-tint-10, rgba(239, 68, 68, .1))!important}._quizAnswerMarker_1hnm5_681{font-size:1.25rem;color:var(--nice-info, #6366f1)}._quizAnswerText_1hnm5_691{flex:1;font-size:1rem;color:var(--nice-text, #334155)}._quizCorrectMark_1hnm5_703{font-size:1.25rem;color:var(--nice-success, #22c55e);font-weight:700}._quizIncorrectMark_1hnm5_715{font-size:1.25rem;color:var(--nice-danger, #ef4444);font-weight:700}._quizSubmitBtn_1hnm5_727{align-self:flex-start;padding:var(--nice-space-3, 12px) var(--nice-space-7, 28px);background:var(--nice-primary, #6366f1);color:#fff;border:none;border-radius:var(--nice-radius-lg, 8px);font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease}._quizSubmitBtn_1hnm5_727:hover{filter:brightness(1.1);transform:translateY(-1px)}._quizSubmitBtn_1hnm5_727:disabled{opacity:.5;cursor:not-allowed;transform:none}._quizFeedback_1hnm5_775{margin-top:var(--nice-space-2, 8px)}._quizFeedbackMessage_1hnm5_783{padding:var(--nice-space-3-5, 14px) 18px;border-radius:var(--nice-radius-lg, 10px);font-weight:500;font-size:1rem}._quizFeedbackCorrect_1hnm5_797{background:var(--nice-success-bg, #dcfce7);color:var(--nice-success-dark, #166534)}._quizFeedbackIncorrect_1hnm5_807{background:var(--nice-danger-bg, #fef2f2);color:var(--nice-danger-dark, #991b1b)}._quizExplanation_1hnm5_817{margin-top:var(--nice-space-3, 12px);padding:var(--nice-space-3-5, 14px);background:var(--nice-bg-secondary, #f8fafc);border-radius:var(--nice-radius-lg, 8px);color:var(--nice-text-secondary, #475569);font-size:.9375rem;line-height:1.6}._interactiveCountdown_1hnm5_841{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--nice-space-5, 20px)}._countdownWarning_1hnm5_857{animation:_countdownPulse_1hnm5_1 1s ease infinite}@keyframes _countdownPulse_1hnm5_1{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}._countdownComplete_1hnm5_875{opacity:.75}._countdownDigital_1hnm5_885{display:flex;align-items:center;gap:var(--nice-space-1, 4px);font-size:3rem;font-weight:700;font-variant-numeric:tabular-nums}._countdownSeparator_1hnm5_903{opacity:.6}._countdownDigit_1hnm5_885{min-width:1.2em;text-align:center}._countdownCircular_1hnm5_923{position:relative;width:150px;height:150px}._countdownCircleSvg_1hnm5_935{width:100%;height:100%;transform:rotateY(180deg)}._countdownProgressRing_1hnm5_947{transition:stroke-dashoffset .5s ease}._countdownCircleText_1hnm5_955{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.75rem;font-weight:700;font-variant-numeric:tabular-nums}._countdownLargeSeconds_1hnm5_975{font-size:2.5rem}._countdownFlip_1hnm5_985{display:flex;align-items:center;gap:var(--nice-space-2, 8px)}._flipCardContainer_1hnm5_997{display:flex;flex-direction:column;align-items:center;gap:var(--nice-space-1-5, 6px)}._flipCard_1hnm5_997{padding:var(--nice-space-4, 16px) var(--nice-space-5, 20px);background:linear-gradient(180deg,var(--nice-text, #1e293b) 0%,var(--nice-text, #334155) 100%);border-radius:var(--nice-radius-lg, 8px);color:#fff;font-size:2.5rem;font-weight:700;font-variant-numeric:tabular-nums;box-shadow:0 4px 12px var(--nice-overlay-30, rgba(0, 0, 0, .3))}._flipLabel_1hnm5_1033{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--nice-text-secondary, #64748b)}._flipSeparator_1hnm5_1047{font-size:2rem;font-weight:700;opacity:.5;margin-bottom:var(--nice-space-5, 20px)}._countdownMinimal_1hnm5_1063{font-size:2rem;font-weight:600;font-variant-numeric:tabular-nums}._countdownCompleteMessage_1hnm5_1075{margin-top:var(--nice-space-3, 12px);font-size:1.25rem;font-weight:600;color:var(--nice-danger-dark, #dc2626)}._interactiveQnA_1hnm5_1093{display:flex;flex-direction:column;gap:var(--nice-space-4, 16px);padding:var(--nice-space-5, 20px);background:var(--nice-overlay-light-95, rgba(255, 255, 255, .95));border-radius:var(--nice-radius-xl, 12px);box-shadow:0 4px 20px var(--nice-overlay-10, rgba(0, 0, 0, .1));max-height:500px;overflow:hidden}._qnaHeader_1hnm5_1117{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--nice-space-3, 12px);border-bottom:1px solid var(--nice-border, #e2e8f0)}._qnaTitle_1hnm5_1133{margin:0;font-size:1.125rem;font-weight:600;color:var(--nice-text, #1e293b)}._qnaCount_1hnm5_1147{font-size:.875rem;color:var(--nice-text-secondary, #64748b)}._qnaInputForm_1hnm5_1157{display:flex;flex-direction:column;gap:var(--nice-space-3, 12px)}._qnaInputWrapper_1hnm5_1169{position:relative}._qnaInput_1hnm5_1157{width:100%;padding:var(--nice-space-3, 12px) var(--nice-space-3-5, 14px);padding-bottom:var(--nice-space-7, 28px);border:2px solid var(--nice-border, #e2e8f0);border-radius:var(--nice-radius-lg, 10px);font-size:.9375rem;resize:none;transition:border-color .2s ease}._qnaInput_1hnm5_1157:focus{outline:none;border-color:var(--nice-info, #6366f1)}._qnaInput_1hnm5_1157:disabled{background:var(--nice-bg-secondary, #f8fafc);cursor:not-allowed}._qnaCharCount_1hnm5_1219{position:absolute;bottom:8px;right:12px;font-size:.75rem;color:var(--nice-text-muted, #94a3b8)}._qnaInputActions_1hnm5_1235{display:flex;align-items:center;justify-content:space-between;gap:var(--nice-space-4, 16px)}._qnaAnonymousToggle_1hnm5_1249{display:flex;align-items:center;gap:var(--nice-space-1-5, 6px);font-size:.875rem;color:var(--nice-text-secondary, #475569);cursor:pointer}._qnaAnonymousToggle_1hnm5_1249 input{width:16px;height:16px;cursor:pointer}._qnaSubmitBtn_1hnm5_1279{padding:var(--nice-space-2-5, 10px) var(--nice-space-5, 20px);background:var(--nice-primary, #6366f1);color:#fff;border:none;border-radius:var(--nice-radius-lg, 8px);font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s ease}._qnaSubmitBtn_1hnm5_1279:hover:not(:disabled){filter:brightness(1.1)}._qnaSubmitBtn_1hnm5_1279:disabled{opacity:.5;cursor:not-allowed}._qnaClosedMessage_1hnm5_1321{padding:var(--nice-space-3, 12px);background:var(--nice-bg-secondary, #f8fafc);border-radius:var(--nice-radius-lg, 8px);color:var(--nice-text-secondary, #64748b);text-align:center;font-size:.875rem}._qnaQuestionsList_1hnm5_1339{display:flex;flex-direction:column;gap:var(--nice-space-2-5, 10px);overflow-y:auto;flex:1}._qnaQuestion_1hnm5_1339{display:flex;gap:var(--nice-space-3, 12px);padding:var(--nice-space-3-5, 14px);background:var(--nice-bg-secondary, #f8fafc);border-radius:var(--nice-radius-lg, 10px);transition:background .2s ease}._qnaQuestion_1hnm5_1339:hover{background:var(--nice-bg-secondary, #f1f5f9)}._qnaQuestionAnswered_1hnm5_1381{background:var(--nice-success-bg, #dcfce7);border-left:4px solid var(--nice-success, #22c55e)}._qnaQuestionContent_1hnm5_1391{flex:1;display:flex;flex-direction:column;gap:var(--nice-space-1-5, 6px)}._qnaQuestionText_1hnm5_1405{font-size:.9375rem;color:var(--nice-text, #1e293b);line-height:1.5}._qnaQuestionMeta_1hnm5_1417{display:flex;gap:var(--nice-space-3, 12px);font-size:.75rem;color:var(--nice-text-secondary, #64748b)}._qnaAuthor_1hnm5_1431{font-weight:500}._qnaQuestionActions_1hnm5_1439{display:flex;flex-direction:column;align-items:center;gap:var(--nice-space-2, 8px)}._qnaUpvoteBtn_1hnm5_1453{display:flex;flex-direction:column;align-items:center;gap:var(--nice-space-0-5, 2px);padding:var(--nice-space-1-5, 6px) var(--nice-space-2-5, 10px);background:transparent;border:1px solid var(--nice-border, #e2e8f0);border-radius:var(--nice-radius-lg, 8px);cursor:pointer;transition:all .2s ease}._qnaUpvoteBtn_1hnm5_1453:hover:not(:disabled){border-color:var(--nice-info, #6366f1);color:var(--nice-info, #6366f1)}._qnaUpvoted_1hnm5_1489{background:var(--nice-accent-tint-10, rgba(99, 102, 241, .1));border-color:var(--nice-info, #6366f1);color:var(--nice-info, #6366f1)}._qnaUpvoteBtn_1hnm5_1453:disabled{cursor:default}._qnaUpvoteIcon_1hnm5_1509{font-size:1rem}._qnaUpvoteCount_1hnm5_1517{font-size:.75rem;font-weight:600}._qnaAnsweredBtn_1hnm5_1527{padding:var(--nice-space-1, 4px) var(--nice-space-2, 8px);background:transparent;border:1px solid var(--nice-border, #e2e8f0);border-radius:var(--nice-radius-sm, 4px);font-size:.875rem;cursor:pointer;transition:all .2s ease}._qnaAnsweredBtn_1hnm5_1527:hover{background:var(--nice-bg-secondary, #f1f5f9)}._qnaMarkedAnswered_1hnm5_1555{background:var(--nice-success-bg, #dcfce7);border-color:var(--nice-success, #22c55e);color:var(--nice-success, #22c55e)}._qnaEmptyState_1hnm5_1567{padding:var(--nice-space-10, 40px) var(--nice-space-5, 20px);text-align:center;color:var(--nice-text-muted, #94a3b8);font-size:.9375rem}._qnaMoreQuestions_1hnm5_1581{padding:var(--nice-space-2-5, 10px);text-align:center;font-size:.875rem;color:var(--nice-text-secondary, #64748b);border-top:1px solid var(--nice-border, #e2e8f0)}._qnaStyle_stack_1hnm5_1599 ._qnaQuestionsList_1hnm5_1339{flex-direction:column-reverse}._qnaStyle_floating_1hnm5_1609{position:fixed;bottom:20px;right:20px;width:360px;max-height:450px;z-index:1000}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nice2dev/ui-presentations",
3
- "version": "1.0.29",
3
+ "version": "1.1.6",
4
4
  "description": "Nice2Dev Presentation Editor & Player — animated slides with data binding, charts, diagram embedding, and custom .ndp.json format",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -12,7 +12,7 @@
12
12
  "import": "./dist/index.mjs",
13
13
  "require": "./dist/index.cjs"
14
14
  },
15
- "./style.css": "./dist/style.css"
15
+ "./style.css": "./dist/ui-presentations.css"
16
16
  },
17
17
  "files": [
18
18
  "dist",
@@ -39,17 +39,19 @@
39
39
  "@nice2dev/ui": "^1.0.20"
40
40
  },
41
41
  "devDependencies": {
42
- "@testing-library/jest-dom": "^6.9.1",
43
- "@testing-library/react": "^14.0.0",
44
- "@types/react": "^18.2.0",
45
- "@types/react-dom": "^18.2.0",
46
- "@vitejs/plugin-react": "^4.2.0",
47
- "react": "^18.2.0",
48
- "react-dom": "^18.2.0",
49
- "typescript": "^5.3.0",
50
- "vite": "^5.0.0",
51
- "vite-plugin-dts": "^3.7.0",
52
- "vitest": "^4.1.0"
42
+ "@nice2dev/ui": "^1.1.6",
43
+ "@testing-library/jest-dom": "^7.0.1",
44
+ "@testing-library/react": "^16.3.3",
45
+ "@types/react": "^19.2.18",
46
+ "@types/react-dom": "^19.2.7",
47
+ "@vitejs/plugin-react": "^4.7.0",
48
+ "jsdom": "^29.0.0",
49
+ "react": "^19.2.8",
50
+ "react-dom": "^19.2.8",
51
+ "typescript": "^5.9.3",
52
+ "vite": "^6.4.1",
53
+ "vite-plugin-dts": "^4.5.4",
54
+ "vitest": "^4.1.11"
53
55
  },
54
56
  "keywords": [
55
57
  "nice2dev",