@plenustech/design-system 0.2.4 → 0.2.5

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 (83) hide show
  1. package/README.md +8 -0
  2. package/dist/components/actions/ButtonTile/ButtonTile.module.css.cjs +1 -1
  3. package/dist/components/actions/ButtonTile/ButtonTile.module.css.js +10 -10
  4. package/dist/components/actions/Toolbar/Toolbar.cjs +1 -1
  5. package/dist/components/actions/Toolbar/Toolbar.cjs.map +1 -1
  6. package/dist/components/actions/Toolbar/Toolbar.js +64 -53
  7. package/dist/components/actions/Toolbar/Toolbar.js.map +1 -1
  8. package/dist/components/data-display/CodeBlock/syntax.cjs +10 -3
  9. package/dist/components/data-display/CodeBlock/syntax.cjs.map +1 -1
  10. package/dist/components/data-display/CodeBlock/syntax.js +68 -48
  11. package/dist/components/data-display/CodeBlock/syntax.js.map +1 -1
  12. package/dist/components/data-display/Timeline/Timeline.cjs +1 -1
  13. package/dist/components/data-display/Timeline/Timeline.cjs.map +1 -1
  14. package/dist/components/data-display/Timeline/Timeline.js +6 -6
  15. package/dist/components/data-display/Timeline/Timeline.js.map +1 -1
  16. package/dist/components/data-display/Timeline/Timeline.module.css.cjs +1 -1
  17. package/dist/components/data-display/Timeline/Timeline.module.css.js +18 -16
  18. package/dist/components/data-display/Timeline/Timeline.module.css.js.map +1 -1
  19. package/dist/components/forms/Checkbox/Checkbox.module.css.cjs +1 -1
  20. package/dist/components/forms/Checkbox/Checkbox.module.css.js +5 -5
  21. package/dist/components/forms/CheckboxGroup/CheckboxGroup.module.css.cjs +1 -1
  22. package/dist/components/forms/CheckboxGroup/CheckboxGroup.module.css.js +1 -1
  23. package/dist/components/forms/Field/Field.cjs +1 -1
  24. package/dist/components/forms/Field/Field.cjs.map +1 -1
  25. package/dist/components/forms/Field/Field.js +22 -22
  26. package/dist/components/forms/Field/Field.js.map +1 -1
  27. package/dist/components/forms/Field/Field.module.css.cjs +1 -1
  28. package/dist/components/forms/Field/Field.module.css.js +19 -17
  29. package/dist/components/forms/Field/Field.module.css.js.map +1 -1
  30. package/dist/components/forms/InputText/InputText.cjs +1 -1
  31. package/dist/components/forms/InputText/InputText.cjs.map +1 -1
  32. package/dist/components/forms/InputText/InputText.js +24 -24
  33. package/dist/components/forms/InputText/InputText.js.map +1 -1
  34. package/dist/components/forms/InputText/InputText.module.css.cjs +1 -1
  35. package/dist/components/forms/InputText/InputText.module.css.js +9 -7
  36. package/dist/components/forms/InputText/InputText.module.css.js.map +1 -1
  37. package/dist/components/forms/RadioGroup/RadioGroup.module.css.cjs +1 -1
  38. package/dist/components/forms/RadioGroup/RadioGroup.module.css.js +4 -4
  39. package/dist/components/forms/Select/Select.cjs.map +1 -1
  40. package/dist/components/forms/Select/Select.js.map +1 -1
  41. package/dist/components/forms/Switch/Switch.module.css.cjs +1 -1
  42. package/dist/components/forms/Switch/Switch.module.css.js +6 -6
  43. package/dist/components/icons/suite.cjs +1 -0
  44. package/dist/components/icons/suite.js +10894 -0
  45. package/dist/components/navigation/Pagination/Pagination.cjs +1 -1
  46. package/dist/components/navigation/Pagination/Pagination.cjs.map +1 -1
  47. package/dist/components/navigation/Pagination/Pagination.js +71 -44
  48. package/dist/components/navigation/Pagination/Pagination.js.map +1 -1
  49. package/dist/components/navigation/Pagination/Pagination.module.css.cjs +1 -1
  50. package/dist/components/navigation/Pagination/Pagination.module.css.js +18 -14
  51. package/dist/components/navigation/Pagination/Pagination.module.css.js.map +1 -1
  52. package/dist/components/overlays/Menu/Menu.cjs +1 -1
  53. package/dist/components/overlays/Menu/Menu.cjs.map +1 -1
  54. package/dist/components/overlays/Menu/Menu.js +37 -36
  55. package/dist/components/overlays/Menu/Menu.js.map +1 -1
  56. package/dist/components/overlays/Menu/keyShortcuts.cjs +2 -0
  57. package/dist/components/overlays/Menu/keyShortcuts.cjs.map +1 -0
  58. package/dist/components/overlays/Menu/keyShortcuts.js +55 -0
  59. package/dist/components/overlays/Menu/keyShortcuts.js.map +1 -0
  60. package/dist/components/overlays/Tooltip/Tooltip.cjs +1 -1
  61. package/dist/components/overlays/Tooltip/Tooltip.cjs.map +1 -1
  62. package/dist/components/overlays/Tooltip/Tooltip.js +81 -56
  63. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  64. package/dist/design-system.css +1 -1
  65. package/dist/icons.cjs +2 -0
  66. package/dist/icons.cjs.map +1 -0
  67. package/dist/icons.js +2054 -0
  68. package/dist/icons.js.map +1 -0
  69. package/dist/types/components/data-display/CodeBlock/syntax.d.ts +1 -1
  70. package/dist/types/components/data-display/Timeline/Timeline.d.ts +4 -1
  71. package/dist/types/components/data-display/Timeline/index.d.ts +1 -1
  72. package/dist/types/components/forms/Field/Field.d.ts +1 -1
  73. package/dist/types/components/forms/InputText/InputText.d.ts +1 -1
  74. package/dist/types/components/forms/Select/Select.d.ts +5 -1
  75. package/dist/types/components/icons/suite.d.ts +2051 -0
  76. package/dist/types/components/navigation/Pagination/Pagination.d.ts +13 -1
  77. package/dist/types/components/navigation/Pagination/index.d.ts +1 -1
  78. package/dist/types/components/overlays/Menu/Menu.d.ts +3 -1
  79. package/dist/types/components/overlays/Menu/keyShortcuts.d.ts +2 -0
  80. package/dist/types/components/overlays/Tooltip/Tooltip.d.ts +26 -5
  81. package/dist/types/icons.d.ts +6 -0
  82. package/dist/types/index.d.ts +2 -2
  83. package/package.json +8 -1
@@ -1,15 +1,27 @@
1
1
  import { type ComponentPropsWithRef } from 'react';
2
+ /** Posições, contadas de 1, do primeiro e do último item da página, e o total de itens. */
3
+ export interface PaginationRange {
4
+ end: number;
5
+ start: number;
6
+ total: number;
7
+ }
2
8
  export interface PaginationProps extends ComponentPropsWithRef<'nav'> {
3
9
  /** Suspende a troca de pagina, como enquanto a pagina pedida carrega. Os botoes continuam focaveis. */
4
10
  disabled?: boolean;
11
+ /** Troca o texto do intervalo, que por padrão é `1.201–1.250 de 4.380`. */
12
+ formatRange?: (range: PaginationRange) => string;
5
13
  label?: string;
6
14
  onPageChange: (page: number) => void;
7
15
  page: number;
8
16
  pageCount: number;
17
+ /** Itens por página. Com `totalItems`, mostra o intervalo da página atual. */
18
+ pageSize?: number;
9
19
  /** Quantidade de paginas mostradas de cada lado da atual. */
10
20
  siblings?: number;
21
+ /** Total de itens. Com `pageSize`, mostra o intervalo da página atual. */
22
+ totalItems?: number;
11
23
  }
12
- export declare function Pagination({ className, disabled, label, onPageChange, page, pageCount, siblings, ...props }: PaginationProps): import("react").JSX.Element | null;
24
+ export declare function Pagination({ className, disabled, formatRange, label, onPageChange, page, pageCount, pageSize, siblings, totalItems, ...props }: PaginationProps): import("react").JSX.Element | null;
13
25
  /**
14
26
  * Primeira e ultima pagina sempre visiveis; null representa a reticencia. A faixa tem sempre as mesmas vagas: perto
15
27
  * da ponta a janela encosta nela em vez de encolher, e reticencia nunca esconde uma pagina so.
@@ -1,2 +1,2 @@
1
1
  export { Pagination } from './Pagination.js';
2
- export type { PaginationProps } from './Pagination.js';
2
+ export type { PaginationProps, PaginationRange } from './Pagination.js';
@@ -8,8 +8,10 @@ export interface MenuItem {
8
8
  key: string;
9
9
  label: string;
10
10
  onSelect?: () => void;
11
- /** Atalho escrito a direita, como `Ctrl+D`, e anunciado em `aria-keyshortcuts`. */
11
+ /** Atalho escrito à direita, como `Ctrl+D` ou `⌘⇧D`; convertido nos nomes de tecla de `aria-keyshortcuts`. */
12
12
  shortcut?: string;
13
+ /** Valor de `aria-keyshortcuts` quando a conversão do `shortcut` não basta, como `Control+Shift+D Meta+Shift+D`. */
14
+ shortcutKeys?: string;
13
15
  /** `danger` para a acao que destroi, como remover. */
14
16
  tone?: 'danger';
15
17
  }
@@ -0,0 +1,2 @@
1
+ /** Converte o atalho escrito, como `Ctrl+Shift+D` ou `⌘K, Ctrl+K`, no valor de `aria-keyshortcuts`. */
2
+ export declare function toAriaKeyShortcuts(shortcut: string): string;
@@ -1,9 +1,30 @@
1
- import { type ReactElement, type ReactNode } from 'react';
1
+ import { type ReactElement, type ReactNode, type RefObject } from 'react';
2
2
  export type TooltipPlacement = 'top' | 'bottom' | 'left' | 'right';
3
- export interface TooltipProps {
4
- children: ReactElement<Record<string, unknown>>;
3
+ interface TooltipCommonProps {
5
4
  content: ReactNode;
6
- delay?: number;
5
+ /** Avisa cada pedido de abrir ou fechar: ponteiro, foco, blur e Escape. */
6
+ onOpenChange?: (open: boolean) => void;
7
7
  placement?: TooltipPlacement;
8
8
  }
9
- export declare function Tooltip({ children, content, delay, placement }: TooltipProps): import("react").JSX.Element;
9
+ interface TooltipOnChildProps extends TooltipCommonProps {
10
+ anchorRef?: never;
11
+ /** O gatilho: o Tooltip o clona, soma os manipuladores e liga a descrição por `aria-describedby`. */
12
+ children: ReactElement<Record<string, unknown>>;
13
+ delay?: number;
14
+ id?: never;
15
+ /** Controla a abertura; sem ele, o Tooltip guarda o próprio estado. */
16
+ open?: boolean;
17
+ }
18
+ interface TooltipOnAnchorProps extends TooltipCommonProps {
19
+ /** Âncora que não é filho do Tooltip, como um elemento que precisa da própria referência e não pode ser clonado. */
20
+ anchorRef: RefObject<HTMLElement | null>;
21
+ children?: never;
22
+ delay?: never;
23
+ /** Id do balão. O produto o põe no `aria-describedby` da âncora enquanto `open`. */
24
+ id: string;
25
+ /** Com âncora externa, a abertura é sempre do produto. */
26
+ open: boolean;
27
+ }
28
+ export type TooltipProps = TooltipOnChildProps | TooltipOnAnchorProps;
29
+ export declare function Tooltip(props: TooltipProps): import("react").JSX.Element;
30
+ export {};
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Suite completa do Bootstrap Icons, pelo nome do desenho: `@plenustech/design-system/icons`. Fica fora do ponto de
3
+ * entrada principal para o autocompletar e as declaracoes dele continuarem leves; o bundle leva so os importados.
4
+ */
5
+ export * from './components/icons/suite.js';
6
+ export type { IconProps } from './components/icons/Icon.js';
@@ -57,7 +57,7 @@ export type { TabsNavItem, TabsNavProps } from './components/navigation/TabsNav/
57
57
  export { Breadcrumb } from './components/navigation/Breadcrumb/index.js';
58
58
  export type { BreadcrumbProps, BreadcrumbItem } from './components/navigation/Breadcrumb/index.js';
59
59
  export { Pagination } from './components/navigation/Pagination/index.js';
60
- export type { PaginationProps } from './components/navigation/Pagination/index.js';
60
+ export type { PaginationProps, PaginationRange } from './components/navigation/Pagination/index.js';
61
61
  export { SkipLink } from './components/navigation/SkipLink/index.js';
62
62
  export type { SkipLinkProps } from './components/navigation/SkipLink/index.js';
63
63
  export { Steps } from './components/navigation/Steps/index.js';
@@ -90,7 +90,7 @@ export { CodeBlock } from './components/data-display/CodeBlock/index.js';
90
90
  export { SortableList } from './components/data-display/SortableList/index.js';
91
91
  export type { SortableListItem, SortableListProps } from './components/data-display/SortableList/index.js';
92
92
  export { Timeline } from './components/data-display/Timeline/index.js';
93
- export type { TimelineItem, TimelineProps } from './components/data-display/Timeline/index.js';
93
+ export type { TimelineItem, TimelineProps, TimelineSize } from './components/data-display/Timeline/index.js';
94
94
  export type { CodeBlockProps, CodeSyntax } from './components/data-display/CodeBlock/index.js';
95
95
  export { Table } from './components/data-display/Table/index.js';
96
96
  export type { SortDirection, TableAlign, TableBodyProps, TableBreakpoint, TableCellProps, TableColumnProps, TableHeaderProps, TableProps, TableRowItem, TableRowProps, TableSelectionControl, TableSelectionMode, TableSize, TableSort, } from './components/data-display/Table/index.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plenustech/design-system",
3
- "version": "0.2.4",
3
+ "version": "0.2.5",
4
4
  "description": "Design System centralizado para os produtos web da Plenustech.",
5
5
  "license": "UNLICENSED",
6
6
  "publishConfig": {
@@ -20,6 +20,11 @@
20
20
  "import": "./dist/index.js",
21
21
  "require": "./dist/index.cjs"
22
22
  },
23
+ "./icons": {
24
+ "types": "./dist/types/icons.d.ts",
25
+ "import": "./dist/icons.js",
26
+ "require": "./dist/icons.cjs"
27
+ },
23
28
  "./styles.css": {
24
29
  "types": "./dist/folha.d.ts",
25
30
  "default": "./dist/design-system.css"
@@ -41,6 +46,7 @@
41
46
  "dev:showcase": "vite --config showcase/vite.config.ts",
42
47
  "build": "tsc -b && vite build && tsc -p tsconfig.build.json && node scripts/finaliza-pacote.mjs",
43
48
  "check:pacote": "node scripts/check-pacote.mjs",
49
+ "gerar:icones": "node scripts/gerar-icones.mjs",
44
50
  "check:contraste": "node scripts/check-contraste.mjs",
45
51
  "prepare": "npm run build:pacote",
46
52
  "build:showcase": "npm run build:pacote && vite build --config showcase/vite.config.ts",
@@ -79,6 +85,7 @@
79
85
  "@types/react": "^19.1.2",
80
86
  "@types/react-dom": "^19.1.2",
81
87
  "@vitejs/plugin-react": "^4.4.1",
88
+ "bootstrap-icons": "1.11.3",
82
89
  "jsdom": "^26.1.0",
83
90
  "react": "^19.1.0",
84
91
  "react-dom": "^19.1.0",