@snksergio/design-system 0.55.0 → 0.57.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 (43) hide show
  1. package/dist-lib/index.cjs +2597 -3
  2. package/dist-lib/index.cjs.map +1 -1
  3. package/dist-lib/index.mjs +2631 -37
  4. package/dist-lib/index.mjs.map +1 -1
  5. package/dist-lib/src/components/index.d.ts +1 -0
  6. package/dist-lib/src/components/index.d.ts.map +1 -1
  7. package/dist-lib/src/components/ui/Scheduler/hooks/layout.d.ts +165 -0
  8. package/dist-lib/src/components/ui/Scheduler/hooks/layout.d.ts.map +1 -0
  9. package/dist-lib/src/components/ui/Scheduler/hooks/use-media-query.d.ts +21 -0
  10. package/dist-lib/src/components/ui/Scheduler/hooks/use-media-query.d.ts.map +1 -0
  11. package/dist-lib/src/components/ui/Scheduler/hooks/use-scheduler-dnd.d.ts +41 -0
  12. package/dist-lib/src/components/ui/Scheduler/hooks/use-scheduler-dnd.d.ts.map +1 -0
  13. package/dist-lib/src/components/ui/Scheduler/hooks/use-scheduler-filter.d.ts +35 -0
  14. package/dist-lib/src/components/ui/Scheduler/hooks/use-scheduler-filter.d.ts.map +1 -0
  15. package/dist-lib/src/components/ui/Scheduler/hooks/use-scheduler-keyboard.d.ts +47 -0
  16. package/dist-lib/src/components/ui/Scheduler/hooks/use-scheduler-keyboard.d.ts.map +1 -0
  17. package/dist-lib/src/components/ui/Scheduler/hooks/use-scheduler-state.d.ts +44 -0
  18. package/dist-lib/src/components/ui/Scheduler/hooks/use-scheduler-state.d.ts.map +1 -0
  19. package/dist-lib/src/components/ui/Scheduler/index.d.ts +14 -0
  20. package/dist-lib/src/components/ui/Scheduler/index.d.ts.map +1 -0
  21. package/dist-lib/src/components/ui/Scheduler/parts/draggable-event.d.ts +30 -0
  22. package/dist-lib/src/components/ui/Scheduler/parts/draggable-event.d.ts.map +1 -0
  23. package/dist-lib/src/components/ui/Scheduler/parts/mini-month.d.ts +28 -0
  24. package/dist-lib/src/components/ui/Scheduler/parts/mini-month.d.ts.map +1 -0
  25. package/dist-lib/src/components/ui/Scheduler/parts/scheduler-event.d.ts +53 -0
  26. package/dist-lib/src/components/ui/Scheduler/parts/scheduler-event.d.ts.map +1 -0
  27. package/dist-lib/src/components/ui/Scheduler/parts/scheduler-filter-panel.d.ts +54 -0
  28. package/dist-lib/src/components/ui/Scheduler/parts/scheduler-filter-panel.d.ts.map +1 -0
  29. package/dist-lib/src/components/ui/Scheduler/parts/scheduler-toolbar.d.ts +25 -0
  30. package/dist-lib/src/components/ui/Scheduler/parts/scheduler-toolbar.d.ts.map +1 -0
  31. package/dist-lib/src/components/ui/Scheduler/scheduler.d.ts +44 -0
  32. package/dist-lib/src/components/ui/Scheduler/scheduler.d.ts.map +1 -0
  33. package/dist-lib/src/components/ui/Scheduler/scheduler.styles.d.ts +911 -0
  34. package/dist-lib/src/components/ui/Scheduler/scheduler.styles.d.ts.map +1 -0
  35. package/dist-lib/src/components/ui/Scheduler/scheduler.types.d.ts +285 -0
  36. package/dist-lib/src/components/ui/Scheduler/scheduler.types.d.ts.map +1 -0
  37. package/dist-lib/src/components/ui/Scheduler/views/list.d.ts +33 -0
  38. package/dist-lib/src/components/ui/Scheduler/views/list.d.ts.map +1 -0
  39. package/dist-lib/src/components/ui/Scheduler/views/month.d.ts +47 -0
  40. package/dist-lib/src/components/ui/Scheduler/views/month.d.ts.map +1 -0
  41. package/dist-lib/src/components/ui/Scheduler/views/time-grid.d.ts +48 -0
  42. package/dist-lib/src/components/ui/Scheduler/views/time-grid.d.ts.map +1 -0
  43. package/package.json +1 -1
@@ -0,0 +1,25 @@
1
+ import { ReactNode } from 'react';
2
+ import { SchedulerFilterField, SchedulerFilterModel, SchedulerView } from '../scheduler.types';
3
+ export type SchedulerToolbarProps = {
4
+ title: ReactNode;
5
+ view: SchedulerView;
6
+ onViewChange: (view: SchedulerView) => void;
7
+ onPrev: () => void;
8
+ onNext: () => void;
9
+ onToday: () => void;
10
+ searchable: boolean;
11
+ search: string;
12
+ onSearchChange: (search: string) => void;
13
+ filterFields?: SchedulerFilterField[];
14
+ filterModel: SchedulerFilterModel;
15
+ onClearField: (fieldId: string) => void;
16
+ onClearAll: () => void;
17
+ appliedCount: number;
18
+ /** Estado do painel-coluna de filtro. */
19
+ filterPanelOpen: boolean;
20
+ onToggleFilterPanel: () => void;
21
+ toolbarActions?: ReactNode;
22
+ primaryAction?: ReactNode;
23
+ };
24
+ export declare function SchedulerToolbar({ title, view, onViewChange, onPrev, onNext, onToday, searchable, search, onSearchChange, filterFields, filterModel, onClearField, onClearAll, appliedCount, filterPanelOpen, onToggleFilterPanel, toolbarActions, primaryAction, }: SchedulerToolbarProps): import("react/jsx-runtime").JSX.Element;
25
+ //# sourceMappingURL=scheduler-toolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler-toolbar.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/Scheduler/parts/scheduler-toolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAqCvC,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACd,MAAM,oBAAoB,CAAC;AAqC5B,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,aAAa,CAAC;IACpB,YAAY,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5C,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAEzC,YAAY,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACtC,WAAW,EAAE,oBAAoB,CAAC;IAClC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IAErB,yCAAyC;IACzC,eAAe,EAAE,OAAO,CAAC;IACzB,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAEhC,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,aAAa,CAAC,EAAE,SAAS,CAAC;CAC3B,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,IAAI,EACJ,YAAY,EACZ,MAAM,EACN,MAAM,EACN,OAAO,EACP,UAAU,EACV,MAAM,EACN,cAAc,EACd,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,aAAa,GACd,EAAE,qBAAqB,2CAkNvB"}
@@ -0,0 +1,44 @@
1
+ import { SchedulerProps, SchedulerRef } from './scheduler.types';
2
+ /**
3
+ * `Scheduler` — calendário de eventos com 4 modos de visualização
4
+ * (mês · semana · dia · lista), busca, filtros declarativos e detalhe por
5
+ * callback.
6
+ *
7
+ * Não confundir com `Calendar` (o primitivo shadcn/react-day-picker): aquele
8
+ * é **seletor de data** dentro de um form; este exibe **eventos ao longo do
9
+ * tempo**. Nomes distintos porque as intenções são opostas.
10
+ *
11
+ * ## O componente é dumb sobre mutação
12
+ *
13
+ * `events` nunca é mutado. Mover ou redimensionar um evento emite
14
+ * `onEventMove`/`onEventResize` e o consumidor decide se e como aplica — mesma
15
+ * escolha do `onCardMove` do `Kanban`, pela mesma razão: só a tela sabe se a
16
+ * mudança precisa de confirmação, de otimismo ou de rollback.
17
+ *
18
+ * ## As 4 views
19
+ *
20
+ * - `month`: grade 6×7 fixa, evento multi-dia com pontas truncadas, "+N mais"
21
+ * em popover, `+` de criar no hover da célula.
22
+ * - `week` / `day`: a MESMA view (`views/time-grid.tsx`) com 7 ou 1 coluna —
23
+ * gutter de horas, banda de dia inteiro, lane-packing de sobreposição, linha
24
+ * do "agora" e faixa de hora clicável.
25
+ * - `list`: agenda agrupada por dia, só os dias QUE TÊM evento.
26
+ *
27
+ * ## Drag & drop e teclado
28
+ *
29
+ * **Arrastar** move o evento: no mês muda a data preservando hora e duração; em
30
+ * week/day combina a coluna (dia) com o `delta.y` (minutos, snapado). **A borda
31
+ * do bloco** redimensiona em week/day — alça separada, pra agarrar a borda não
32
+ * virar movimento. `@dnd-kit/core`, mesma base do `Kanban`.
33
+ *
34
+ * O dnd só liga quando há `onEventMove`/`onEventResize` conectado: arrastar e
35
+ * ver o evento voltar sozinho lê como bug do app, e é o que `draggable: false`
36
+ * por default protege. Em DEV, ligar sem handler avisa por `console.warn`.
37
+ *
38
+ * **Teclado:** cada grade é uma ÚNICA parada de `Tab` (roving tabindex) —
39
+ * as setas movem dentro dela, `Home`/`End` vão às pontas da linha, `Enter`
40
+ * cria no slot focado. Sem isso a grade do mês custava 42 `Tab` e a da semana
41
+ * 168.
42
+ */
43
+ export declare const Scheduler: import('react').ForwardRefExoticComponent<SchedulerProps & import('react').RefAttributes<SchedulerRef>>;
44
+ //# sourceMappingURL=scheduler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/Scheduler/scheduler.tsx"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,eAAO,MAAM,SAAS,yGAwarB,CAAC"}