@serhii.olishevskyi/docs 1.2.22 → 1.2.23

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.
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as React$1 from 'react';
2
- import React__default, { ReactNode } from 'react';
2
+ import React__default, { ReactNode, PropsWithChildren } from 'react';
3
3
  import { TextFieldProps, SelectProps, SelectChangeEvent, FormControlLabelProps, SwitchProps, CheckboxProps, ButtonProps, IconButtonProps, TooltipProps, SxProps, Theme, TypographyProps } from '@mui/material';
4
4
  import { SystemProps } from '@mui/system';
5
5
  import * as _supabase_supabase_js from '@supabase/supabase-js';
@@ -457,6 +457,22 @@ type CollapsedWidgetContainerProps = {
457
457
  onExpanded?: (expanded: boolean) => void;
458
458
  };
459
459
 
460
+ type FilterWidth = '25%' | '33%' | '50%' | '66%' | '75%' | '100%';
461
+ interface FilterSectionProps extends PropsWithChildren {
462
+ /** Ширина самой секции на десктопе (по умолчанию '100%') */
463
+ width?: FilterWidth;
464
+ /** Ширина самой секции на мобильном (по умолчанию '100%') */
465
+ mobileWidth?: FilterWidth;
466
+ /** Ширина каждого элемента ВНУТРИ секции на десктопе (по умолчанию '50%') */
467
+ itemWidth?: FilterWidth;
468
+ /** Ширина каждого элемента ВНУТРИ секции на мобильном (по умолчанию '100%') */
469
+ itemMobileWidth?: FilterWidth;
470
+ }
471
+ interface FilterContainerWidgetProps extends PropsWithChildren {
472
+ sections?: ReactNode[];
473
+ sx?: SxProps<Theme>;
474
+ }
475
+
460
476
  interface ErrorAlertWidgetProps {
461
477
  overrideNamespace?: string;
462
478
  title?: ReactNode;
@@ -502,6 +518,8 @@ declare const UI: {
502
518
  Pages: {
503
519
  PageLinkWidget: React$1.FC<PageLinkWidgetProps>;
504
520
  CollapsedWidgetContainer: (props: React$1.PropsWithChildren<CollapsedWidgetContainerProps>) => React$1.JSX.Element;
521
+ FilterContainerWidget: React$1.FC<FilterContainerWidgetProps>;
522
+ FilterSection: React$1.FC<FilterSectionProps>;
505
523
  };
506
524
  Misc: {
507
525
  ErrorAlertWidget: React$1.FC<ErrorAlertWidgetProps>;
@@ -859,4 +877,4 @@ declare const Utils: {
859
877
  };
860
878
  };
861
879
 
862
- export { type AIConfig, type AIGenerateOptions, AIProvider, type AIProviderProps, type AIProviderType, AppSettingsProvider, AuthProvider, BreadcrumbProvider, type ButtonComponentProps, type CheckboxComponentProps, type CollapsedWidgetContainerProps, type CompanyMember, type ConfirmOptions, type ConfirmResult, ConfirmationProvider, type ConfirmationProviderProps, type CopyClipboardButtonComponentProps, type DialogSeverity, type DisplayState, type EmailInputComponentProps, type ErrorAlertWidgetProps, type ExpandableNoteComponentProps, type FullCompanyMemberItem, type HeaderActionItem, Hooks, type Language, LocalizationProvider, type Membership, type MembershipRole, type MyAvatarComponentProps, type NumberInputComponentProps, type PageComponentProps, type PageHeaderProps, type PageLink, type PageLinkWidgetProps, type PrimaryActionProps, Providers, type RefreshActionProps, type RefreshButtonComponentProps, type SaveCompanyUserPayload, type SearchComponentProps, type SelectComponentProps, type SelectOption, Services, type SupabaseConfig, SupabaseProvider, type SupabaseProviderProps, type SwitchComponentProps, type TextFieldComponentProps, type TextTruncateMode, type ThemeColors, type ThemeConfig, type ThemeMode, ThemeProvider, ToastProvider, type ToastType, type TranslatableTooltipComponentProps, TranslateProvider, TranslateText, TranslationEditProvider, type TypographyConfig, UI, type UrlComponentProps as UrlProps, type UserAvatarComponentProps, type UserGroupedSessions, type UserPopoverComponentProps, type UserProfile, type UserRoleChipComponentProps, type UserSessionItem, type UserSettings, UserSettingsProvider, type UserStatusChipComponentProps, type UserStatusType, Utils, defaultUserSettings, initI18n, useAI, useAppSettings, useAppTheme, useAuth, useBreadcrumb, useConfirmation, useLocalization, useSupabase, useToast, useTranslationEdit, useTranslationNamespace, useUserSettings };
880
+ export { type AIConfig, type AIGenerateOptions, AIProvider, type AIProviderProps, type AIProviderType, AppSettingsProvider, AuthProvider, BreadcrumbProvider, type ButtonComponentProps, type CheckboxComponentProps, type CollapsedWidgetContainerProps, type CompanyMember, type ConfirmOptions, type ConfirmResult, ConfirmationProvider, type ConfirmationProviderProps, type CopyClipboardButtonComponentProps, type DialogSeverity, type DisplayState, type EmailInputComponentProps, type ErrorAlertWidgetProps, type ExpandableNoteComponentProps, type FilterContainerWidgetProps, type FilterSectionProps, type FilterWidth, type FullCompanyMemberItem, type HeaderActionItem, Hooks, type Language, LocalizationProvider, type Membership, type MembershipRole, type MyAvatarComponentProps, type NumberInputComponentProps, type PageComponentProps, type PageHeaderProps, type PageLink, type PageLinkWidgetProps, type PrimaryActionProps, Providers, type RefreshActionProps, type RefreshButtonComponentProps, type SaveCompanyUserPayload, type SearchComponentProps, type SelectComponentProps, type SelectOption, Services, type SupabaseConfig, SupabaseProvider, type SupabaseProviderProps, type SwitchComponentProps, type TextFieldComponentProps, type TextTruncateMode, type ThemeColors, type ThemeConfig, type ThemeMode, ThemeProvider, ToastProvider, type ToastType, type TranslatableTooltipComponentProps, TranslateProvider, TranslateText, TranslationEditProvider, type TypographyConfig, UI, type UrlComponentProps as UrlProps, type UserAvatarComponentProps, type UserGroupedSessions, type UserPopoverComponentProps, type UserProfile, type UserRoleChipComponentProps, type UserSessionItem, type UserSettings, UserSettingsProvider, type UserStatusChipComponentProps, type UserStatusType, Utils, defaultUserSettings, initI18n, useAI, useAppSettings, useAppTheme, useAuth, useBreadcrumb, useConfirmation, useLocalization, useSupabase, useToast, useTranslationEdit, useTranslationNamespace, useUserSettings };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as React$1 from 'react';
2
- import React__default, { ReactNode } from 'react';
2
+ import React__default, { ReactNode, PropsWithChildren } from 'react';
3
3
  import { TextFieldProps, SelectProps, SelectChangeEvent, FormControlLabelProps, SwitchProps, CheckboxProps, ButtonProps, IconButtonProps, TooltipProps, SxProps, Theme, TypographyProps } from '@mui/material';
4
4
  import { SystemProps } from '@mui/system';
5
5
  import * as _supabase_supabase_js from '@supabase/supabase-js';
@@ -457,6 +457,22 @@ type CollapsedWidgetContainerProps = {
457
457
  onExpanded?: (expanded: boolean) => void;
458
458
  };
459
459
 
460
+ type FilterWidth = '25%' | '33%' | '50%' | '66%' | '75%' | '100%';
461
+ interface FilterSectionProps extends PropsWithChildren {
462
+ /** Ширина самой секции на десктопе (по умолчанию '100%') */
463
+ width?: FilterWidth;
464
+ /** Ширина самой секции на мобильном (по умолчанию '100%') */
465
+ mobileWidth?: FilterWidth;
466
+ /** Ширина каждого элемента ВНУТРИ секции на десктопе (по умолчанию '50%') */
467
+ itemWidth?: FilterWidth;
468
+ /** Ширина каждого элемента ВНУТРИ секции на мобильном (по умолчанию '100%') */
469
+ itemMobileWidth?: FilterWidth;
470
+ }
471
+ interface FilterContainerWidgetProps extends PropsWithChildren {
472
+ sections?: ReactNode[];
473
+ sx?: SxProps<Theme>;
474
+ }
475
+
460
476
  interface ErrorAlertWidgetProps {
461
477
  overrideNamespace?: string;
462
478
  title?: ReactNode;
@@ -502,6 +518,8 @@ declare const UI: {
502
518
  Pages: {
503
519
  PageLinkWidget: React$1.FC<PageLinkWidgetProps>;
504
520
  CollapsedWidgetContainer: (props: React$1.PropsWithChildren<CollapsedWidgetContainerProps>) => React$1.JSX.Element;
521
+ FilterContainerWidget: React$1.FC<FilterContainerWidgetProps>;
522
+ FilterSection: React$1.FC<FilterSectionProps>;
505
523
  };
506
524
  Misc: {
507
525
  ErrorAlertWidget: React$1.FC<ErrorAlertWidgetProps>;
@@ -859,4 +877,4 @@ declare const Utils: {
859
877
  };
860
878
  };
861
879
 
862
- export { type AIConfig, type AIGenerateOptions, AIProvider, type AIProviderProps, type AIProviderType, AppSettingsProvider, AuthProvider, BreadcrumbProvider, type ButtonComponentProps, type CheckboxComponentProps, type CollapsedWidgetContainerProps, type CompanyMember, type ConfirmOptions, type ConfirmResult, ConfirmationProvider, type ConfirmationProviderProps, type CopyClipboardButtonComponentProps, type DialogSeverity, type DisplayState, type EmailInputComponentProps, type ErrorAlertWidgetProps, type ExpandableNoteComponentProps, type FullCompanyMemberItem, type HeaderActionItem, Hooks, type Language, LocalizationProvider, type Membership, type MembershipRole, type MyAvatarComponentProps, type NumberInputComponentProps, type PageComponentProps, type PageHeaderProps, type PageLink, type PageLinkWidgetProps, type PrimaryActionProps, Providers, type RefreshActionProps, type RefreshButtonComponentProps, type SaveCompanyUserPayload, type SearchComponentProps, type SelectComponentProps, type SelectOption, Services, type SupabaseConfig, SupabaseProvider, type SupabaseProviderProps, type SwitchComponentProps, type TextFieldComponentProps, type TextTruncateMode, type ThemeColors, type ThemeConfig, type ThemeMode, ThemeProvider, ToastProvider, type ToastType, type TranslatableTooltipComponentProps, TranslateProvider, TranslateText, TranslationEditProvider, type TypographyConfig, UI, type UrlComponentProps as UrlProps, type UserAvatarComponentProps, type UserGroupedSessions, type UserPopoverComponentProps, type UserProfile, type UserRoleChipComponentProps, type UserSessionItem, type UserSettings, UserSettingsProvider, type UserStatusChipComponentProps, type UserStatusType, Utils, defaultUserSettings, initI18n, useAI, useAppSettings, useAppTheme, useAuth, useBreadcrumb, useConfirmation, useLocalization, useSupabase, useToast, useTranslationEdit, useTranslationNamespace, useUserSettings };
880
+ export { type AIConfig, type AIGenerateOptions, AIProvider, type AIProviderProps, type AIProviderType, AppSettingsProvider, AuthProvider, BreadcrumbProvider, type ButtonComponentProps, type CheckboxComponentProps, type CollapsedWidgetContainerProps, type CompanyMember, type ConfirmOptions, type ConfirmResult, ConfirmationProvider, type ConfirmationProviderProps, type CopyClipboardButtonComponentProps, type DialogSeverity, type DisplayState, type EmailInputComponentProps, type ErrorAlertWidgetProps, type ExpandableNoteComponentProps, type FilterContainerWidgetProps, type FilterSectionProps, type FilterWidth, type FullCompanyMemberItem, type HeaderActionItem, Hooks, type Language, LocalizationProvider, type Membership, type MembershipRole, type MyAvatarComponentProps, type NumberInputComponentProps, type PageComponentProps, type PageHeaderProps, type PageLink, type PageLinkWidgetProps, type PrimaryActionProps, Providers, type RefreshActionProps, type RefreshButtonComponentProps, type SaveCompanyUserPayload, type SearchComponentProps, type SelectComponentProps, type SelectOption, Services, type SupabaseConfig, SupabaseProvider, type SupabaseProviderProps, type SwitchComponentProps, type TextFieldComponentProps, type TextTruncateMode, type ThemeColors, type ThemeConfig, type ThemeMode, ThemeProvider, ToastProvider, type ToastType, type TranslatableTooltipComponentProps, TranslateProvider, TranslateText, TranslationEditProvider, type TypographyConfig, UI, type UrlComponentProps as UrlProps, type UserAvatarComponentProps, type UserGroupedSessions, type UserPopoverComponentProps, type UserProfile, type UserRoleChipComponentProps, type UserSessionItem, type UserSettings, UserSettingsProvider, type UserStatusChipComponentProps, type UserStatusType, Utils, defaultUserSettings, initI18n, useAI, useAppSettings, useAppTheme, useAuth, useBreadcrumb, useConfirmation, useLocalization, useSupabase, useToast, useTranslationEdit, useTranslationNamespace, useUserSettings };
package/dist/index.js CHANGED
@@ -5443,6 +5443,68 @@ var PageComponent = ({
5443
5443
  );
5444
5444
  };
5445
5445
 
5446
+ // src/UI/widgets/page/FilterContainerWidget.tsx
5447
+ var import_react33 = __toESM(require("react"));
5448
+ var import_material29 = require("@mui/material");
5449
+ var import_jsx_runtime39 = (
5450
+ /* Автоматическая обертка каждого дочернего элемента в Grid size */
5451
+ require("react/jsx-runtime")
5452
+ );
5453
+ var widthToGridColumns = (width) => {
5454
+ switch (width) {
5455
+ case "25%":
5456
+ return 3;
5457
+ case "33%":
5458
+ return 4;
5459
+ case "50%":
5460
+ return 6;
5461
+ case "66%":
5462
+ return 8;
5463
+ case "75%":
5464
+ return 9;
5465
+ case "100%":
5466
+ default:
5467
+ return 12;
5468
+ }
5469
+ };
5470
+ var createGridSize = (desktopWidth, mobileWidth = "100%") => {
5471
+ return {
5472
+ xs: widthToGridColumns(mobileWidth),
5473
+ md: widthToGridColumns(desktopWidth)
5474
+ };
5475
+ };
5476
+ var FilterSection = ({
5477
+ width = "100%",
5478
+ mobileWidth = "100%",
5479
+ itemWidth = "50%",
5480
+ itemMobileWidth = "100%",
5481
+ children
5482
+ }) => {
5483
+ const sectionGridSize = createGridSize(width, mobileWidth);
5484
+ const itemGridSize = createGridSize(itemWidth, itemMobileWidth);
5485
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_material29.Grid, { size: sectionGridSize, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_material29.Grid, { container: true, spacing: 2, sx: { alignItems: "center" }, children: import_react33.default.Children.map(children, (child) => {
5486
+ if (!child) return null;
5487
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_material29.Grid, { size: itemGridSize, children: child });
5488
+ }) }) });
5489
+ };
5490
+ var FilterContainerWidget = ({
5491
+ sections,
5492
+ children,
5493
+ sx
5494
+ }) => {
5495
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
5496
+ import_material29.Paper,
5497
+ {
5498
+ variant: "outlined",
5499
+ sx: [
5500
+ { p: 2, mb: 3 },
5501
+ ...Array.isArray(sx) ? sx : [sx]
5502
+ ],
5503
+ children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_material29.Grid, { container: true, spacing: 2, sx: { alignItems: "center" }, children: sections ? sections.map((sec, idx) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react33.default.Fragment, { children: sec }, idx)) : children })
5504
+ }
5505
+ );
5506
+ };
5507
+
5446
5508
  // src/UI/index.ts
5447
5509
  var UI = {
5448
5510
  Inputs: {
@@ -5479,7 +5541,9 @@ var UI = {
5479
5541
  },
5480
5542
  Pages: {
5481
5543
  PageLinkWidget,
5482
- CollapsedWidgetContainer
5544
+ CollapsedWidgetContainer,
5545
+ FilterContainerWidget,
5546
+ FilterSection
5483
5547
  },
5484
5548
  Misc: {
5485
5549
  ErrorAlertWidget
@@ -5510,16 +5574,16 @@ var Services = {
5510
5574
  };
5511
5575
 
5512
5576
  // src/hooks/useUserStatus.ts
5513
- var import_react33 = require("react");
5577
+ var import_react34 = require("react");
5514
5578
  init_deviceId();
5515
5579
  init_context();
5516
5580
  var ONLINE_THRESHOLD_MINUTES = 2;
5517
5581
  var AWAY_THRESHOLD_MINUTES = 15;
5518
5582
  var useUserStatus2 = (userId, initialLastSeenAt, currentAuthUserId) => {
5519
5583
  const supabase = useSupabase();
5520
- const [status, setStatus] = (0, import_react33.useState)("offline");
5521
- const [lastSeen, setLastSeen] = (0, import_react33.useState)(initialLastSeenAt ?? null);
5522
- const lastSeenRef = (0, import_react33.useRef)(initialLastSeenAt ?? null);
5584
+ const [status, setStatus] = (0, import_react34.useState)("offline");
5585
+ const [lastSeen, setLastSeen] = (0, import_react34.useState)(initialLastSeenAt ?? null);
5586
+ const lastSeenRef = (0, import_react34.useRef)(initialLastSeenAt ?? null);
5523
5587
  lastSeenRef.current = lastSeen;
5524
5588
  const calculateStatus = (isOnline, lastSeenIso) => {
5525
5589
  if (isOnline) return "online";
@@ -5535,7 +5599,7 @@ var useUserStatus2 = (userId, initialLastSeenAt, currentAuthUserId) => {
5535
5599
  }
5536
5600
  return "offline";
5537
5601
  };
5538
- (0, import_react33.useEffect)(() => {
5602
+ (0, import_react34.useEffect)(() => {
5539
5603
  if (!userId) return;
5540
5604
  let isMounted = true;
5541
5605
  const isSelf = currentAuthUserId && userId === currentAuthUserId;
package/dist/index.mjs CHANGED
@@ -2540,6 +2540,68 @@ var PageComponent = ({
2540
2540
  );
2541
2541
  };
2542
2542
 
2543
+ // src/UI/widgets/page/FilterContainerWidget.tsx
2544
+ import React13 from "react";
2545
+ import { Grid, Paper } from "@mui/material";
2546
+ import { jsx as jsx19 } from "react/jsx-runtime";
2547
+ var widthToGridColumns = (width) => {
2548
+ switch (width) {
2549
+ case "25%":
2550
+ return 3;
2551
+ case "33%":
2552
+ return 4;
2553
+ case "50%":
2554
+ return 6;
2555
+ case "66%":
2556
+ return 8;
2557
+ case "75%":
2558
+ return 9;
2559
+ case "100%":
2560
+ default:
2561
+ return 12;
2562
+ }
2563
+ };
2564
+ var createGridSize = (desktopWidth, mobileWidth = "100%") => {
2565
+ return {
2566
+ xs: widthToGridColumns(mobileWidth),
2567
+ md: widthToGridColumns(desktopWidth)
2568
+ };
2569
+ };
2570
+ var FilterSection = ({
2571
+ width = "100%",
2572
+ mobileWidth = "100%",
2573
+ itemWidth = "50%",
2574
+ itemMobileWidth = "100%",
2575
+ children
2576
+ }) => {
2577
+ const sectionGridSize = createGridSize(width, mobileWidth);
2578
+ const itemGridSize = createGridSize(itemWidth, itemMobileWidth);
2579
+ return /* @__PURE__ */ jsx19(Grid, { size: sectionGridSize, children: /* @__PURE__ */ jsx19(Grid, { container: true, spacing: 2, sx: { alignItems: "center" }, children: React13.Children.map(children, (child) => {
2580
+ if (!child) return null;
2581
+ return (
2582
+ /* Автоматическая обертка каждого дочернего элемента в Grid size */
2583
+ /* @__PURE__ */ jsx19(Grid, { size: itemGridSize, children: child })
2584
+ );
2585
+ }) }) });
2586
+ };
2587
+ var FilterContainerWidget = ({
2588
+ sections,
2589
+ children,
2590
+ sx
2591
+ }) => {
2592
+ return /* @__PURE__ */ jsx19(
2593
+ Paper,
2594
+ {
2595
+ variant: "outlined",
2596
+ sx: [
2597
+ { p: 2, mb: 3 },
2598
+ ...Array.isArray(sx) ? sx : [sx]
2599
+ ],
2600
+ children: /* @__PURE__ */ jsx19(Grid, { container: true, spacing: 2, sx: { alignItems: "center" }, children: sections ? sections.map((sec, idx) => /* @__PURE__ */ jsx19(React13.Fragment, { children: sec }, idx)) : children })
2601
+ }
2602
+ );
2603
+ };
2604
+
2543
2605
  // src/UI/index.ts
2544
2606
  var UI = {
2545
2607
  Inputs: {
@@ -2576,7 +2638,9 @@ var UI = {
2576
2638
  },
2577
2639
  Pages: {
2578
2640
  PageLinkWidget,
2579
- CollapsedWidgetContainer
2641
+ CollapsedWidgetContainer,
2642
+ FilterContainerWidget,
2643
+ FilterSection
2580
2644
  },
2581
2645
  Misc: {
2582
2646
  ErrorAlertWidget
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serhii.olishevskyi/docs",
3
- "version": "1.2.22",
3
+ "version": "1.2.23",
4
4
  "description": "DOCS.UA react packages",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",