forlogic-core 1.16.6 → 1.16.8

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 (148) hide show
  1. package/.note/memory/components/dialog-sizes-and-structure.md +3 -1
  2. package/.note/memory/ui/components/combo-tree.md +16 -0
  3. package/dist/assets/AccordionDoc-BVPUJk8G.js +31 -0
  4. package/dist/assets/ActionButtonDoc-DLJ_K9ib.js +47 -0
  5. package/dist/assets/AlertDoc-CY1ybZeG.js +37 -0
  6. package/dist/assets/AppHeaderDoc-Crkw4dA9.js +67 -0
  7. package/dist/assets/AppSidebarDoc-ET-4j6wV.js +204 -0
  8. package/dist/assets/AuthDoc-B4v4Nci5.js +192 -0
  9. package/dist/assets/AvatarDoc-BLdMoyJd.js +11 -0
  10. package/dist/assets/BadgeDoc-CSNM1b6b.js +36 -0
  11. package/dist/assets/BaseFormDoc-DXiYuN6-.js +169 -0
  12. package/dist/assets/BodyContentDoc-Bp6YmUWX.js +83 -0
  13. package/dist/assets/BreadcrumbDoc-D7tqqTvo.js +75 -0
  14. package/dist/assets/ButtonDoc-C4JwIvU3.js +41 -0
  15. package/dist/assets/ButtonGroupDoc-QFfjC7Pm.js +7 -0
  16. package/dist/assets/CalendarDoc-COlEKqmv.js +81 -0
  17. package/dist/assets/CardDoc-BVhMoC2w.js +49 -0
  18. package/dist/assets/ChartDoc-BJ14EjI2.js +111 -0
  19. package/dist/assets/CheckboxDoc-Bcqpln9_.js +55 -0
  20. package/dist/assets/ColorPickerDoc-CcfmSwyC.js +10 -0
  21. package/dist/assets/ColorsFoundationDoc-uO6IiJbS.js +13 -0
  22. package/dist/assets/ComboTreeDoc-R4qE6XwB.js +46 -0
  23. package/dist/assets/ComboboxDoc-JIo_-gSN.js +134 -0
  24. package/dist/assets/ComponentDocTemplate-CRbRY-v5.js +1 -0
  25. package/dist/assets/ContextMenuDoc-C4-_0NLp.js +182 -0
  26. package/dist/assets/ContextsDoc-Cj9Aaoyo.js +184 -0
  27. package/dist/assets/CreateCrudPageDoc-D_SnMRJ2.js +106 -0
  28. package/dist/assets/CrudActionBarDoc-BYqtIabp.js +112 -0
  29. package/dist/assets/CrudGridDoc-DspxQrq5.js +85 -0
  30. package/dist/assets/CrudOverviewDoc-DLcOL_HZ.js +14 -0
  31. package/dist/assets/CrudPrimitivesDoc-BRS86nWg.js +164 -0
  32. package/dist/assets/CrudTableDoc-Daw8u2G_.js +113 -0
  33. package/dist/assets/DataListDoc-BrgVNhhR.js +13 -0
  34. package/dist/assets/DesignSystemHome-BFBNqq1J.js +1 -0
  35. package/dist/assets/DialogDoc-DCpRy4rg.js +981 -0
  36. package/dist/assets/DropdownMenuDoc-DT6LBa8Z.js +175 -0
  37. package/dist/assets/EmptyStateDoc-wydc09gG.js +35 -0
  38. package/dist/assets/EnvironmentsDoc-amIriwDD.js +96 -0
  39. package/dist/assets/ErrorBoundaryDoc-BEixy_Gl.js +111 -0
  40. package/dist/assets/FormDoc-DxoRt6p7.js +81 -0
  41. package/dist/assets/FoundationOverview-CxSbumIt.js +1 -0
  42. package/dist/assets/GridDoc-BpQqCMUE.js +28 -0
  43. package/dist/assets/HooksDoc-JNODhbaF.js +665 -0
  44. package/dist/assets/HoverCardDoc-CdqiYrIb.js +31 -0
  45. package/dist/assets/I18nDoc-B6LMXnE3.js +232 -0
  46. package/dist/assets/IconPickerDoc-BRdy58IC.js +10 -0
  47. package/dist/assets/IconsFoundationDoc-CrymfxTI.js +33 -0
  48. package/dist/assets/InputDoc-BK-SdpJ7.js +211 -0
  49. package/dist/assets/LabelDoc-DHvgzhaJ.js +42 -0
  50. package/dist/assets/LeadershipDoc-DRiB0spL.js +416 -0
  51. package/dist/assets/MediaDoc-B_vqnf72.js +459 -0
  52. package/dist/assets/MenubarDoc-Zvgczxe2.js +165 -0
  53. package/dist/assets/ModuleAccessDoc-Nuxb4S27.js +153 -0
  54. package/dist/assets/ModulesDialogDoc-iJWLkOZo.js +46 -0
  55. package/dist/assets/NavigationMenuDoc-CeWun1VF.js +116 -0
  56. package/dist/assets/OnboardingDialogDoc-xBL-rXeZ.js +55 -0
  57. package/dist/assets/PaginationDoc-CfvwxCMe.js +98 -0
  58. package/dist/assets/PaginationDoc-DqtRgXnF.js +27 -0
  59. package/dist/assets/PlacesDoc-nckioEzg.js +226 -0
  60. package/dist/assets/PopoverDoc-C3o2CZCT.js +64 -0
  61. package/dist/assets/ProgressDoc-BmWBNMPA.js +29 -0
  62. package/dist/assets/QualiexUserFieldDoc-CE1e4mx6.js +149 -0
  63. package/dist/assets/RadioGroupDoc-DMZH6NmR.js +57 -0
  64. package/dist/assets/RadiusDoc-BOZD3gPV.js +7 -0
  65. package/dist/assets/RequiredFieldsCounterDoc-CG-lmSSy.js +58 -0
  66. package/dist/assets/ResizableDoc-CqGkv6Cd.js +104 -0
  67. package/dist/assets/RichTextEditorDoc-m50ll-Od.js +24 -0
  68. package/dist/assets/ScrollAreaDoc-BzJ-APXo.js +28 -0
  69. package/dist/assets/SecurityDoc-B34gVeiV.js +204 -0
  70. package/dist/assets/SelectDoc-DXRv7QHK.js +80 -0
  71. package/dist/assets/SeparatorDoc-DcNh8k0P.js +4 -0
  72. package/dist/assets/ServicesDoc-8aXBd6yg.js +308 -0
  73. package/dist/assets/ShadowsDoc-Brl4hIDI.js +9 -0
  74. package/dist/assets/SignDoc-BdwerR-2.js +66 -0
  75. package/dist/assets/SkeletonDoc-BWgqgbDY.js +54 -0
  76. package/dist/assets/SliderDoc-E-NjbYVk.js +41 -0
  77. package/dist/assets/SpacingDoc-BzburM-r.js +12 -0
  78. package/dist/assets/SplitButtonDoc-BYUysmJp.js +53 -0
  79. package/dist/assets/StepSelectorDoc-PB1k4v7F.js +41 -0
  80. package/dist/assets/SwitchDoc-BLOG6kfj.js +56 -0
  81. package/dist/assets/TableDoc-Dwcs-lop.js +128 -0
  82. package/dist/assets/TabsDoc-Ovkh8ArV.js +42 -0
  83. package/dist/assets/TextareaDoc-DsBYxmbr.js +46 -0
  84. package/dist/assets/ToastDoc-BbZaFE_A.js +157 -0
  85. package/dist/assets/ToggleDoc-C28vbvhp.js +51 -0
  86. package/dist/assets/TooltipDoc-DL5cnLak.js +58 -0
  87. package/dist/assets/TruncatedCellDoc-BuDA8QcY.js +12 -0
  88. package/dist/assets/TypographyFoundationDoc-CPdH4PHa.js +7 -0
  89. package/dist/assets/UtilitiesDoc-CrQhyEfz.js +145 -0
  90. package/dist/assets/blocks-DO93nPjs.js +1 -0
  91. package/dist/assets/calendar-days-cMfwBSZx.js +1 -0
  92. package/dist/assets/circle-plus-D3NftMzS.js +1 -0
  93. package/dist/assets/circle-x-BVAVJ_oz.js +1 -0
  94. package/dist/assets/crown-B2MTZDnM.js +1 -0
  95. package/dist/assets/date-picker-zhJU-_kM.js +1 -0
  96. package/dist/assets/disabled-menu-item-C16xsaVs.js +1 -0
  97. package/dist/assets/drawer-oTqCOtsC.js +3 -0
  98. package/dist/assets/file-pen-line-CXv-Eye-.js +1 -0
  99. package/dist/assets/git-branch-V6-h6P9K.js +1 -0
  100. package/dist/assets/globe-CaUBIJU8.js +1 -0
  101. package/dist/assets/hash-B4MTXppl.js +1 -0
  102. package/dist/assets/hover-card-DEuucfxP.js +1 -0
  103. package/dist/assets/index-CE0k7Rdh.js +312 -0
  104. package/dist/assets/index-Cx3adT_u.css +1 -0
  105. package/dist/assets/life-buoy-BRndExxh.js +1 -0
  106. package/dist/assets/lucide-react-t7dCa4lv.js +1 -0
  107. package/dist/assets/monitor-Dg3HKTSE.js +1 -0
  108. package/dist/assets/package-3G45ARQh.js +1 -0
  109. package/dist/assets/pen-BYSSwjK4.js +1 -0
  110. package/dist/assets/pin-CMYagNhs.js +1 -0
  111. package/dist/assets/radio-group-BVun_Tmt.js +1 -0
  112. package/dist/assets/server-p0Sb0mKI.js +1 -0
  113. package/dist/assets/share-2-D-ZhCCq2.js +1 -0
  114. package/dist/assets/shield-x-Q7hAXWsG.js +1 -0
  115. package/dist/assets/step-selector-DHxgT2FL.js +1 -0
  116. package/dist/assets/text-align-start-6aYQqbX4.js +1 -0
  117. package/dist/assets/trash-DveAOiLF.js +1 -0
  118. package/dist/assets/useMockCrud-GY0KxHXr.js +1 -0
  119. package/dist/assets/user-check-CoGNBfIk.js +1 -0
  120. package/dist/assets/user-plus-Bad2xWIT.js +1 -0
  121. package/dist/components/layout/SidebarActionTrigger.d.ts +15 -3
  122. package/dist/components/modules/ModuleAccessGuard.d.ts +24 -2
  123. package/dist/components/ui/combo-tree.d.ts +4 -0
  124. package/dist/crud/components/ColumnSettingsPopover.d.ts +17 -0
  125. package/dist/crud/components/CrudActionBar.d.ts +2 -1
  126. package/dist/crud/components/CrudTable.d.ts +5 -1
  127. package/dist/crud/components/GroupDropZone.d.ts +16 -0
  128. package/dist/crud/components/InlineRowActions.d.ts +15 -0
  129. package/dist/crud/hooks/useColumnDragReorder.d.ts +19 -0
  130. package/dist/crud/hooks/useColumnManager.d.ts +56 -0
  131. package/dist/crud/primitives/Table.d.ts +1 -1
  132. package/dist/crud/primitives/TreeTable.d.ts +2 -0
  133. package/dist/crud/primitives/index.d.ts +2 -1
  134. package/dist/crud/primitives/types.d.ts +33 -0
  135. package/dist/exports/crud.d.ts +2 -1
  136. package/dist/hooks/useDerivedContractedModules.d.ts +8 -0
  137. package/dist/index.css +1 -1
  138. package/dist/index.css.map +1 -1
  139. package/dist/index.d.ts +1 -0
  140. package/dist/index.esm.js +1 -1
  141. package/dist/index.html +35 -0
  142. package/dist/index.js +1 -1
  143. package/dist/types/sidebar.d.ts +2 -0
  144. package/dist/types.d.ts +4 -0
  145. package/dist/vite/index.esm.js +3 -1
  146. package/dist/vite/index.js +3 -1
  147. package/docs/DESIGN_SYSTEM.md +33 -13
  148. package/package.json +2 -4
@@ -32,6 +32,8 @@ export interface SidebarActionsConfig {
32
32
  triggerIcon?: LucideIcon;
33
33
  /** Lista de ações principais do módulo */
34
34
  actions: SidebarModuleAction[];
35
+ /** Variante de renderização: 'button' (padrão) ou 'split-button' */
36
+ variant?: 'button' | 'split-button';
35
37
  }
36
38
  export interface SidebarNavigationItem {
37
39
  label: string;
package/dist/types.d.ts CHANGED
@@ -95,6 +95,10 @@ export interface CrudColumn<T = any> {
95
95
  width?: number;
96
96
  /** Whether the column can be resized (default: true when enableColumnResize is enabled) */
97
97
  resizable?: boolean;
98
+ /** Whether the column can be hidden via column manager (default: true) */
99
+ hideable?: boolean;
100
+ /** Whether the column can be used for grouping (default: false) */
101
+ groupable?: boolean;
98
102
  }
99
103
  /**
100
104
  * Filtro customizado para páginas CRUD
@@ -80,13 +80,15 @@ function generateCSPPolicy(isDev, options = {}) {
80
80
  ...basePolicy,
81
81
  `script-src ${scriptSrc.join(" ")} 'unsafe-inline' 'unsafe-eval'`,
82
82
  `style-src ${styleSrc.join(" ")} 'unsafe-inline'`,
83
+ `style-src-elem 'self' 'unsafe-inline' https://fonts.googleapis.com`,
83
84
  ...cspReportUri ? [`report-uri ${cspReportUri}`] : []
84
85
  ].join("; ");
85
86
  } else {
86
87
  const prodPolicy = [
87
88
  ...basePolicy,
88
89
  `script-src ${scriptSrc.join(" ")}`,
89
- `style-src ${styleSrc.join(" ")}`
90
+ `style-src ${styleSrc.join(" ")}`,
91
+ `style-src-elem 'self' 'unsafe-inline' https://fonts.googleapis.com`
90
92
  ];
91
93
  if (enableTrustedTypes) {
92
94
  prodPolicy.push("require-trusted-types-for 'script'");
@@ -82,13 +82,15 @@ function generateCSPPolicy(isDev, options = {}) {
82
82
  ...basePolicy,
83
83
  `script-src ${scriptSrc.join(" ")} 'unsafe-inline' 'unsafe-eval'`,
84
84
  `style-src ${styleSrc.join(" ")} 'unsafe-inline'`,
85
+ `style-src-elem 'self' 'unsafe-inline' https://fonts.googleapis.com`,
85
86
  ...cspReportUri ? [`report-uri ${cspReportUri}`] : []
86
87
  ].join("; ");
87
88
  } else {
88
89
  const prodPolicy = [
89
90
  ...basePolicy,
90
91
  `script-src ${scriptSrc.join(" ")}`,
91
- `style-src ${styleSrc.join(" ")}`
92
+ `style-src ${styleSrc.join(" ")}`,
93
+ `style-src-elem 'self' 'unsafe-inline' https://fonts.googleapis.com`
92
94
  ];
93
95
  if (enableTrustedTypes) {
94
96
  prodPolicy.push("require-trusted-types-for 'script'");
@@ -722,19 +722,23 @@ const navigation: SidebarNavigationItem[] = [
722
722
 
723
723
  **Ações de Módulo (SidebarActionTrigger):**
724
724
  ```tsx
725
- // SidebarActionsConfig
725
+ // variant='button' (padrão) — ação única ou dropdown
726
726
  moduleActions: {
727
- triggerLabel: 'Criar', // Label do botão (múltiplas ações)
728
- triggerIcon: Plus, // Ícone do gatilho
727
+ triggerLabel: 'Criar',
728
+ triggerIcon: Plus,
729
729
  actions: [
730
- {
731
- id: 'new-document',
732
- label: 'Novo Documento',
733
- icon: FileText,
734
- onClick: () => openDocumentDialog(),
735
- disabled: false, // Opcional
736
- permissionCheck: async () => true, // Opcional
737
- },
730
+ { id: 'new-doc', label: 'Novo Documento', icon: FileText, onClick: handleNewDoc },
731
+ { id: 'new-folder', label: 'Nova Pasta', icon: Folder, onClick: handleNewFolder },
732
+ ],
733
+ }
734
+
735
+ // variant='split-button' — primeira ação = botão principal, demais = dropdown
736
+ moduleActions: {
737
+ variant: 'split-button',
738
+ actions: [
739
+ { id: 'new-doc', label: 'Novo Documento', icon: FileText, onClick: handleNewDoc },
740
+ { id: 'new-folder', label: 'Nova Pasta', icon: Folder, onClick: handleNewFolder },
741
+ { id: 'import', label: 'Importar', icon: Upload, onClick: handleImport },
738
742
  ],
739
743
  }
740
744
  ```
@@ -2164,14 +2168,17 @@ Componente de seleção hierárquica (tree view) com busca recursiva, expansão
2164
2168
  **Uso:**
2165
2169
  ```tsx
2166
2170
  import { ComboTree, type ComboTreeOption } from 'forlogic-core';
2171
+ import { Folder, FolderOpen, FileText } from 'lucide-react';
2167
2172
 
2168
2173
  const options: ComboTreeOption[] = [
2169
2174
  {
2170
2175
  value: 'quality',
2171
2176
  label: 'Qualidade',
2177
+ icon: Folder,
2178
+ iconOpen: FolderOpen,
2172
2179
  children: [
2173
- { value: 'docs', label: 'Documentos' },
2174
- { value: 'occurrences', label: 'Ocorrências' },
2180
+ { value: 'docs', label: 'Documentos', icon: FileText },
2181
+ { value: 'occurrences', label: 'Ocorrências', icon: FileText },
2175
2182
  ],
2176
2183
  },
2177
2184
  { value: 'hr', label: 'RH' },
@@ -2200,6 +2207,7 @@ const options: ComboTreeOption[] = [
2200
2207
  | disabled | `boolean` | `false` | Desabilita interação |
2201
2208
  | isLoading | `boolean` | `false` | Exibe skeleton |
2202
2209
  | error | `string | Error | boolean` | `-` | Mensagem de erro |
2210
+ | iconOpen | `React.ComponentType` | `-` | Ícone quando o nó está expandido (ComboTreeOption) |
2203
2211
  | searchPlaceholder | `string` | `'Pesquisar...'` | Placeholder da busca |
2204
2212
  | maxDisplayedBadges | `number` | `-` | Limite de badges (múltiplo) |
2205
2213
  | popoverContainer | `HTMLElement` | `-` | Container para portal (Dialog) |
@@ -9667,6 +9675,18 @@ function FornecedoresPage() {
9667
9675
  }
9668
9676
  ```
9669
9677
 
9678
+ **Inline Actions:**
9679
+ ```tsx
9680
+ <CrudTable
9681
+ manager={manager}
9682
+ columns={columns}
9683
+ onEdit={(item) => handleEdit(item)}
9684
+ onToggleStatus={(item) => handleToggle(item)}
9685
+ onDelete={(item) => handleDelete(item)}
9686
+ rowActionsVariant="inline" // Ações aparecem on-hover
9687
+ />
9688
+ ```
9689
+
9670
9690
  **Acessibilidade:**
9671
9691
  - Documentação de acessibilidade presente em HTML estruturado
9672
9692
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "forlogic-core",
3
- "version": "1.16.6",
3
+ "version": "1.16.8",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.esm.js",
@@ -40,9 +40,7 @@
40
40
  "build:dev": "vite build --mode development",
41
41
  "build:lib": "rollup -c",
42
42
  "lint": "eslint .",
43
- "preview": "vite preview",
44
- "version": "npm run docs:ds && git add docs/DESIGN_SYSTEM.md README.md",
45
- "prepublishOnly": "npm whoami || npm login"
43
+ "preview": "vite preview"
46
44
  },
47
45
  "bin": {
48
46
  "lib-update": "dist/bin/pull-docs.js"