@pallasoft/ps-internal-components 1.4.0 → 1.5.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.
- package/dist/components/ps-alert-dialog-content.js +1 -1
- package/dist/components/ps-alert-dialog-overlay.js +1 -1
- package/dist/components/ps-app-header.js +1 -1
- package/dist/components/ps-collapsible-content.d.ts +3 -0
- package/dist/components/ps-collapsible-content.js +43 -0
- package/dist/components/ps-collapsible-trigger.d.ts +2 -0
- package/dist/components/ps-collapsible-trigger.js +39 -0
- package/dist/components/ps-collapsible.d.ts +2 -0
- package/dist/components/ps-collapsible.js +39 -0
- package/dist/components/ps-date-time-picker.d.ts +2 -0
- package/dist/components/ps-date-time-picker.js +14 -0
- package/dist/components/ps-dialog-content.js +1 -1
- package/dist/components/ps-dialog-overlay.js +1 -1
- package/dist/components/ps-dropdown-menu-content.js +1 -1
- package/dist/components/ps-dropdown-menu-sub-content.js +1 -1
- package/dist/components/ps-popover-content.js +1 -1
- package/dist/components/ps-select-content.js +1 -1
- package/dist/components/ps-sheet-overlay.js +1 -1
- package/dist/components/ps-tooltip-content.js +1 -1
- package/dist/constants/ps-date-time-picker-config.d.ts +7 -0
- package/dist/constants/ps-date-time-picker-config.js +10 -0
- package/dist/constants/ps-sheet-variants.js +1 -1
- package/dist/esm/components/ps-alert-dialog-content.js +1 -1
- package/dist/esm/components/ps-alert-dialog-overlay.js +1 -1
- package/dist/esm/components/ps-app-header.js +1 -1
- package/dist/esm/components/ps-collapsible-content.js +7 -0
- package/dist/esm/components/ps-collapsible-trigger.js +3 -0
- package/dist/esm/components/ps-collapsible.js +3 -0
- package/dist/esm/components/ps-date-time-picker.js +10 -0
- package/dist/esm/components/ps-dialog-content.js +1 -1
- package/dist/esm/components/ps-dialog-overlay.js +1 -1
- package/dist/esm/components/ps-dropdown-menu-content.js +1 -1
- package/dist/esm/components/ps-dropdown-menu-sub-content.js +1 -1
- package/dist/esm/components/ps-popover-content.js +1 -1
- package/dist/esm/components/ps-select-content.js +1 -1
- package/dist/esm/components/ps-sheet-overlay.js +1 -1
- package/dist/esm/components/ps-tooltip-content.js +1 -1
- package/dist/esm/constants/ps-date-time-picker-config.js +7 -0
- package/dist/esm/constants/ps-sheet-variants.js +1 -1
- package/dist/esm/index.js +9 -0
- package/dist/esm/models/ps-collapsible-content-props.js +1 -0
- package/dist/esm/models/ps-date-time-parts-data.js +1 -0
- package/dist/esm/models/ps-date-time-picker-props.js +1 -0
- package/dist/esm/pallasoft-internal-tailwind-preset.js +3 -0
- package/dist/esm/services/ps-date-time-service.js +15 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.js +9 -0
- package/dist/models/ps-collapsible-content-props.d.ts +4 -0
- package/dist/models/ps-collapsible-content-props.js +2 -0
- package/dist/models/ps-date-time-parts-data.d.ts +4 -0
- package/dist/models/ps-date-time-parts-data.js +2 -0
- package/dist/models/ps-date-time-picker-props.d.ts +11 -0
- package/dist/models/ps-date-time-picker-props.js +2 -0
- package/dist/pallasoft-internal-tailwind-preset.js +3 -0
- package/dist/services/ps-date-time-service.d.ts +5 -0
- package/dist/services/ps-date-time-service.js +19 -0
- package/package.json +6 -5
|
@@ -41,5 +41,5 @@ const AlertDialogPrimitive = __importStar(require("@radix-ui/react-alert-dialog"
|
|
|
41
41
|
const ps_class_name_service_js_1 = require("../services/ps-class-name-service.js");
|
|
42
42
|
const ps_alert_dialog_overlay_js_1 = require("./ps-alert-dialog-overlay.js");
|
|
43
43
|
const ps_alert_dialog_portal_js_1 = require("./ps-alert-dialog-portal.js");
|
|
44
|
-
exports.PsAlertDialogContent = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsxs)(ps_alert_dialog_portal_js_1.PsAlertDialogPortal, { children: [(0, jsx_runtime_1.jsx)(ps_alert_dialog_overlay_js_1.PsAlertDialogOverlay, {}), (0, jsx_runtime_1.jsx)(AlertDialogPrimitive.Content, { ref: ref, className: ps_class_name_service_js_1.PsClassNameService.merge('fixed left-[50%] top-[50%] z-
|
|
44
|
+
exports.PsAlertDialogContent = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsxs)(ps_alert_dialog_portal_js_1.PsAlertDialogPortal, { children: [(0, jsx_runtime_1.jsx)(ps_alert_dialog_overlay_js_1.PsAlertDialogOverlay, {}), (0, jsx_runtime_1.jsx)(AlertDialogPrimitive.Content, { ref: ref, className: ps_class_name_service_js_1.PsClassNameService.merge('fixed left-[50%] top-[50%] z-modal grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg', className), ...props })] })));
|
|
45
45
|
exports.PsAlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
|
|
@@ -39,5 +39,5 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
39
39
|
const React = __importStar(require("react"));
|
|
40
40
|
const AlertDialogPrimitive = __importStar(require("@radix-ui/react-alert-dialog"));
|
|
41
41
|
const ps_class_name_service_js_1 = require("../services/ps-class-name-service.js");
|
|
42
|
-
exports.PsAlertDialogOverlay = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsx)(AlertDialogPrimitive.Overlay, { className: ps_class_name_service_js_1.PsClassNameService.merge('fixed inset-0 z-
|
|
42
|
+
exports.PsAlertDialogOverlay = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsx)(AlertDialogPrimitive.Overlay, { className: ps_class_name_service_js_1.PsClassNameService.merge('fixed inset-0 z-overlay bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0', className), ...props, ref: ref })));
|
|
43
43
|
exports.PsAlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
|
|
@@ -52,7 +52,7 @@ const ps_dropdown_menu_js_1 = require("./ps-dropdown-menu.js");
|
|
|
52
52
|
const ps_workspace_switcher_js_1 = require("./ps-workspace-switcher.js");
|
|
53
53
|
const PsAppHeader = ({ appSwitcher, appTitle, logoAlt = 'Pallasoft logo', logoSrc, logoutHref, navItems = [], renderLink, user, workspaceSwitcher, }) => {
|
|
54
54
|
const link = (href, className, children, active) => renderLink ? (renderLink({ href, className, children, active })) : ((0, jsx_runtime_1.jsx)("a", { href: href, className: className, "aria-current": active ? 'page' : undefined, children: children }));
|
|
55
|
-
return ((0, jsx_runtime_1.jsx)("header", { className: 'sticky top-0 z-
|
|
55
|
+
return ((0, jsx_runtime_1.jsx)("header", { className: 'sticky top-0 z-header border-b bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/80', children: (0, jsx_runtime_1.jsxs)("div", { className: 'mx-auto flex w-full max-w-screen-2xl flex-col gap-3 px-4 py-3 sm:px-6', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'flex min-w-0 items-center justify-between gap-3', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'flex min-w-0 flex-1 items-center gap-2.5', children: [(0, jsx_runtime_1.jsx)("div", { className: 'flex size-9 shrink-0 items-center justify-center rounded-lg border bg-muted', children: (0, jsx_runtime_1.jsx)("img", { alt: logoAlt, className: 'size-5 object-contain', src: logoSrc }) }), (0, jsx_runtime_1.jsx)("h1", { className: 'shrink-0 truncate text-sm font-semibold text-foreground', children: appTitle }), workspaceSwitcher ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("span", { "aria-hidden": 'true', className: 'text-muted-foreground/60', children: "/" }), (0, jsx_runtime_1.jsx)(ps_workspace_switcher_js_1.PsWorkspaceSwitcher, { switcher: workspaceSwitcher, renderLink: renderLink })] })) : null] }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex shrink-0 items-center gap-1.5', children: [appSwitcher ? (0, jsx_runtime_1.jsx)(ps_app_switcher_js_1.PsAppSwitcher, { ...appSwitcher }) : null, user ? ((0, jsx_runtime_1.jsxs)(ps_dropdown_menu_js_1.PsDropdownMenu, { children: [(0, jsx_runtime_1.jsx)(ps_dropdown_menu_trigger_js_1.PsDropdownMenuTrigger, { asChild: true, children: (0, jsx_runtime_1.jsxs)(ps_button_js_1.PsButton, { variant: 'outline', className: 'h-9 max-w-[min(14rem,56vw)] gap-2 px-1.5 sm:pl-1.5 sm:pr-3', children: [(0, jsx_runtime_1.jsxs)(ps_avatar_js_1.PsAvatar, { className: 'size-6', children: [user.avatarUrl ? ((0, jsx_runtime_1.jsx)(ps_avatar_image_js_1.PsAvatarImage, { alt: user.displayName, src: user.avatarUrl })) : null, (0, jsx_runtime_1.jsx)(ps_avatar_fallback_js_1.PsAvatarFallback, { className: 'text-xs', children: user.displayName.slice(0, 1).toUpperCase() })] }), (0, jsx_runtime_1.jsx)("span", { className: 'hidden min-w-0 truncate sm:inline', children: user.displayName })] }) }), (0, jsx_runtime_1.jsxs)(ps_dropdown_menu_content_js_1.PsDropdownMenuContent, { align: 'end', className: 'w-56', children: [(0, jsx_runtime_1.jsxs)(ps_dropdown_menu_label_js_1.PsDropdownMenuLabel, { className: 'flex flex-col gap-0.5', children: [(0, jsx_runtime_1.jsx)("span", { children: "Account" }), (0, jsx_runtime_1.jsx)("span", { className: 'truncate text-xs font-normal text-muted-foreground', children: user.displayName })] }), (0, jsx_runtime_1.jsx)(ps_dropdown_menu_separator_js_1.PsDropdownMenuSeparator, {}), (0, jsx_runtime_1.jsx)("form", { action: logoutHref, method: 'post', children: (0, jsx_runtime_1.jsx)(ps_dropdown_menu_item_js_1.PsDropdownMenuItem, { asChild: true, children: (0, jsx_runtime_1.jsxs)("button", { className: 'flex w-full cursor-pointer items-center gap-2', type: 'submit', children: [(0, jsx_runtime_1.jsx)(lucide_react_1.LogOut, {}), "Sign out"] }) }) })] })] })) : null] })] }), navItems.length ? ((0, jsx_runtime_1.jsx)("nav", { "aria-label": 'Primary', className: '-mb-px flex max-w-full gap-1 overflow-x-auto', children: navItems.map((item) => ((0, jsx_runtime_1.jsx)(React.Fragment, { children: link(item.href, ps_class_name_service_js_1.PsClassNameService.merge('inline-flex h-9 shrink-0 items-center rounded-md px-3 text-sm font-medium transition-colors', item.active
|
|
56
56
|
? 'bg-secondary text-secondary-foreground'
|
|
57
57
|
: 'text-muted-foreground hover:bg-accent hover:text-accent-foreground'), item.label, item.active) }, item.id))) })) : null] }) }));
|
|
58
58
|
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
+
var ownKeys = function(o) {
|
|
21
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
+
var ar = [];
|
|
23
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
+
return ar;
|
|
25
|
+
};
|
|
26
|
+
return ownKeys(o);
|
|
27
|
+
};
|
|
28
|
+
return function (mod) {
|
|
29
|
+
if (mod && mod.__esModule) return mod;
|
|
30
|
+
var result = {};
|
|
31
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
+
__setModuleDefault(result, mod);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
})();
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.PsCollapsibleContent = void 0;
|
|
38
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
39
|
+
const React = __importStar(require("react"));
|
|
40
|
+
const CollapsiblePrimitive = __importStar(require("@radix-ui/react-collapsible"));
|
|
41
|
+
const ps_class_name_service_js_1 = require("../services/ps-class-name-service.js");
|
|
42
|
+
exports.PsCollapsibleContent = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsx)(CollapsiblePrimitive.Content, { ref: ref, className: ps_class_name_service_js_1.PsClassNameService.merge('overflow-hidden data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0', className), ...props })));
|
|
43
|
+
exports.PsCollapsibleContent.displayName = CollapsiblePrimitive.Content.displayName;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
+
var ownKeys = function(o) {
|
|
21
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
+
var ar = [];
|
|
23
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
+
return ar;
|
|
25
|
+
};
|
|
26
|
+
return ownKeys(o);
|
|
27
|
+
};
|
|
28
|
+
return function (mod) {
|
|
29
|
+
if (mod && mod.__esModule) return mod;
|
|
30
|
+
var result = {};
|
|
31
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
+
__setModuleDefault(result, mod);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
})();
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.PsCollapsibleTrigger = void 0;
|
|
38
|
+
const CollapsiblePrimitive = __importStar(require("@radix-ui/react-collapsible"));
|
|
39
|
+
exports.PsCollapsibleTrigger = CollapsiblePrimitive.Trigger;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
+
var ownKeys = function(o) {
|
|
21
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
+
var ar = [];
|
|
23
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
+
return ar;
|
|
25
|
+
};
|
|
26
|
+
return ownKeys(o);
|
|
27
|
+
};
|
|
28
|
+
return function (mod) {
|
|
29
|
+
if (mod && mod.__esModule) return mod;
|
|
30
|
+
var result = {};
|
|
31
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
+
__setModuleDefault(result, mod);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
})();
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.PsCollapsible = void 0;
|
|
38
|
+
const CollapsiblePrimitive = __importStar(require("@radix-ui/react-collapsible"));
|
|
39
|
+
exports.PsCollapsible = CollapsiblePrimitive.Root;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PsDateTimePicker = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const ps_date_time_picker_config_js_1 = require("../constants/ps-date-time-picker-config.js");
|
|
6
|
+
const ps_class_name_service_js_1 = require("../services/ps-class-name-service.js");
|
|
7
|
+
const ps_date_time_service_js_1 = require("../services/ps-date-time-service.js");
|
|
8
|
+
const ps_date_picker_js_1 = require("./ps-date-picker.js");
|
|
9
|
+
const ps_input_js_1 = require("./ps-input.js");
|
|
10
|
+
const PsDateTimePicker = ({ id, value, onValueChange, placeholder, disabled = false, invalid = false, clearable = false, fromDate, className, }) => {
|
|
11
|
+
const { date, time } = ps_date_time_service_js_1.PsDateTimeService.split(value);
|
|
12
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: ps_class_name_service_js_1.PsClassNameService.merge('flex w-full gap-2', className), children: [(0, jsx_runtime_1.jsx)(ps_date_picker_js_1.PsDatePicker, { className: 'min-w-0 flex-1', clearable: clearable, disabled: disabled, fromDate: fromDate, id: id, invalid: invalid, onValueChange: (next) => onValueChange(ps_date_time_service_js_1.PsDateTimeService.join(next, time)), placeholder: placeholder, value: date }), (0, jsx_runtime_1.jsx)(ps_input_js_1.PsInput, { "aria-invalid": invalid, "aria-label": ps_date_time_picker_config_js_1.PsDateTimePickerConfig.timeLabel, className: 'h-10 w-32 shrink-0', disabled: disabled || date === '', onChange: (event) => onValueChange(ps_date_time_service_js_1.PsDateTimeService.join(date, event.target.value)), type: 'time', value: time })] }));
|
|
13
|
+
};
|
|
14
|
+
exports.PsDateTimePicker = PsDateTimePicker;
|
|
@@ -42,5 +42,5 @@ const lucide_react_1 = require("lucide-react");
|
|
|
42
42
|
const ps_class_name_service_js_1 = require("../services/ps-class-name-service.js");
|
|
43
43
|
const ps_dialog_overlay_js_1 = require("./ps-dialog-overlay.js");
|
|
44
44
|
const ps_dialog_portal_js_1 = require("./ps-dialog-portal.js");
|
|
45
|
-
exports.PsDialogContent = React.forwardRef(({ className, children, ...props }, ref) => ((0, jsx_runtime_1.jsxs)(ps_dialog_portal_js_1.PsDialogPortal, { children: [(0, jsx_runtime_1.jsx)(ps_dialog_overlay_js_1.PsDialogOverlay, {}), (0, jsx_runtime_1.jsxs)(DialogPrimitive.Content, { ref: ref, className: ps_class_name_service_js_1.PsClassNameService.merge('fixed left-[50%] top-[50%] z-
|
|
45
|
+
exports.PsDialogContent = React.forwardRef(({ className, children, ...props }, ref) => ((0, jsx_runtime_1.jsxs)(ps_dialog_portal_js_1.PsDialogPortal, { children: [(0, jsx_runtime_1.jsx)(ps_dialog_overlay_js_1.PsDialogOverlay, {}), (0, jsx_runtime_1.jsxs)(DialogPrimitive.Content, { ref: ref, className: ps_class_name_service_js_1.PsClassNameService.merge('fixed left-[50%] top-[50%] z-modal grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg', className), ...props, children: [children, (0, jsx_runtime_1.jsxs)(DialogPrimitive.Close, { className: 'absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground', children: [(0, jsx_runtime_1.jsx)(lucide_react_1.X, { className: 'h-4 w-4' }), (0, jsx_runtime_1.jsx)("span", { className: 'sr-only', children: "Close" })] })] })] })));
|
|
46
46
|
exports.PsDialogContent.displayName = DialogPrimitive.Content.displayName;
|
|
@@ -39,5 +39,5 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
39
39
|
const React = __importStar(require("react"));
|
|
40
40
|
const DialogPrimitive = __importStar(require("@radix-ui/react-dialog"));
|
|
41
41
|
const ps_class_name_service_js_1 = require("../services/ps-class-name-service.js");
|
|
42
|
-
exports.PsDialogOverlay = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsx)(DialogPrimitive.Overlay, { ref: ref, className: ps_class_name_service_js_1.PsClassNameService.merge('fixed inset-0 z-
|
|
42
|
+
exports.PsDialogOverlay = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsx)(DialogPrimitive.Overlay, { ref: ref, className: ps_class_name_service_js_1.PsClassNameService.merge('fixed inset-0 z-overlay bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0', className), ...props })));
|
|
43
43
|
exports.PsDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
|
|
@@ -38,5 +38,5 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
38
38
|
const React = __importStar(require("react"));
|
|
39
39
|
const DropdownMenuPrimitive = __importStar(require("@radix-ui/react-dropdown-menu"));
|
|
40
40
|
const ps_class_name_service_js_1 = require("../services/ps-class-name-service.js");
|
|
41
|
-
exports.PsDropdownMenuContent = React.forwardRef(({ className, sideOffset = 4, ...props }, ref) => ((0, jsx_runtime_1.jsx)(DropdownMenuPrimitive.Portal, { children: (0, jsx_runtime_1.jsx)(DropdownMenuPrimitive.Content, { ref: ref, sideOffset: sideOffset, className: ps_class_name_service_js_1.PsClassNameService.merge('z-
|
|
41
|
+
exports.PsDropdownMenuContent = React.forwardRef(({ className, sideOffset = 4, ...props }, ref) => ((0, jsx_runtime_1.jsx)(DropdownMenuPrimitive.Portal, { children: (0, jsx_runtime_1.jsx)(DropdownMenuPrimitive.Content, { ref: ref, sideOffset: sideOffset, className: ps_class_name_service_js_1.PsClassNameService.merge('z-top-layer max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md', 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]', className), ...props }) })));
|
|
42
42
|
exports.PsDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
|
|
@@ -38,5 +38,5 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
38
38
|
const React = __importStar(require("react"));
|
|
39
39
|
const DropdownMenuPrimitive = __importStar(require("@radix-ui/react-dropdown-menu"));
|
|
40
40
|
const ps_class_name_service_js_1 = require("../services/ps-class-name-service.js");
|
|
41
|
-
exports.PsDropdownMenuSubContent = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsx)(DropdownMenuPrimitive.SubContent, { ref: ref, className: ps_class_name_service_js_1.PsClassNameService.merge('z-
|
|
41
|
+
exports.PsDropdownMenuSubContent = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsx)(DropdownMenuPrimitive.SubContent, { ref: ref, className: ps_class_name_service_js_1.PsClassNameService.merge('z-top-layer min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]', className), ...props })));
|
|
42
42
|
exports.PsDropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
|
|
@@ -39,5 +39,5 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
39
39
|
const React = __importStar(require("react"));
|
|
40
40
|
const PopoverPrimitive = __importStar(require("@radix-ui/react-popover"));
|
|
41
41
|
const ps_class_name_service_js_1 = require("../services/ps-class-name-service.js");
|
|
42
|
-
exports.PsPopoverContent = React.forwardRef(({ className, align = 'center', sideOffset = 4, ...props }, ref) => ((0, jsx_runtime_1.jsx)(PopoverPrimitive.Portal, { children: (0, jsx_runtime_1.jsx)(PopoverPrimitive.Content, { ref: ref, align: align, sideOffset: sideOffset, className: ps_class_name_service_js_1.PsClassNameService.merge('z-
|
|
42
|
+
exports.PsPopoverContent = React.forwardRef(({ className, align = 'center', sideOffset = 4, ...props }, ref) => ((0, jsx_runtime_1.jsx)(PopoverPrimitive.Portal, { children: (0, jsx_runtime_1.jsx)(PopoverPrimitive.Content, { ref: ref, align: align, sideOffset: sideOffset, className: ps_class_name_service_js_1.PsClassNameService.merge('z-top-layer w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-popover-content-transform-origin]', className), ...props }) })));
|
|
43
43
|
exports.PsPopoverContent.displayName = PopoverPrimitive.Content.displayName;
|
|
@@ -40,7 +40,7 @@ const SelectPrimitive = __importStar(require("@radix-ui/react-select"));
|
|
|
40
40
|
const ps_class_name_service_js_1 = require("../services/ps-class-name-service.js");
|
|
41
41
|
const ps_select_scroll_down_button_js_1 = require("./ps-select-scroll-down-button.js");
|
|
42
42
|
const ps_select_scroll_up_button_js_1 = require("./ps-select-scroll-up-button.js");
|
|
43
|
-
exports.PsSelectContent = React.forwardRef(({ className, children, position = 'popper', ...props }, ref) => ((0, jsx_runtime_1.jsx)(SelectPrimitive.Portal, { children: (0, jsx_runtime_1.jsxs)(SelectPrimitive.Content, { ref: ref, className: ps_class_name_service_js_1.PsClassNameService.merge('relative z-
|
|
43
|
+
exports.PsSelectContent = React.forwardRef(({ className, children, position = 'popper', ...props }, ref) => ((0, jsx_runtime_1.jsx)(SelectPrimitive.Portal, { children: (0, jsx_runtime_1.jsxs)(SelectPrimitive.Content, { ref: ref, className: ps_class_name_service_js_1.PsClassNameService.merge('relative z-top-layer max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-select-content-transform-origin]', position === 'popper' &&
|
|
44
44
|
'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1', className), position: position, ...props, children: [(0, jsx_runtime_1.jsx)(ps_select_scroll_up_button_js_1.PsSelectScrollUpButton, {}), (0, jsx_runtime_1.jsx)(SelectPrimitive.Viewport, { className: ps_class_name_service_js_1.PsClassNameService.merge('p-1', position === 'popper' &&
|
|
45
45
|
'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]'), children: children }), (0, jsx_runtime_1.jsx)(ps_select_scroll_down_button_js_1.PsSelectScrollDownButton, {})] }) })));
|
|
46
46
|
exports.PsSelectContent.displayName = SelectPrimitive.Content.displayName;
|
|
@@ -38,5 +38,5 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
38
38
|
const React = __importStar(require("react"));
|
|
39
39
|
const SheetPrimitive = __importStar(require("@radix-ui/react-dialog"));
|
|
40
40
|
const ps_class_name_service_js_1 = require("../services/ps-class-name-service.js");
|
|
41
|
-
exports.PsSheetOverlay = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsx)(SheetPrimitive.Overlay, { className: ps_class_name_service_js_1.PsClassNameService.merge('fixed inset-0 z-
|
|
41
|
+
exports.PsSheetOverlay = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsx)(SheetPrimitive.Overlay, { className: ps_class_name_service_js_1.PsClassNameService.merge('fixed inset-0 z-overlay bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0', className), ...props, ref: ref })));
|
|
42
42
|
exports.PsSheetOverlay.displayName = SheetPrimitive.Overlay.displayName;
|
|
@@ -38,5 +38,5 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
38
38
|
const React = __importStar(require("react"));
|
|
39
39
|
const TooltipPrimitive = __importStar(require("@radix-ui/react-tooltip"));
|
|
40
40
|
const ps_class_name_service_js_1 = require("../services/ps-class-name-service.js");
|
|
41
|
-
exports.PsTooltipContent = React.forwardRef(({ className, sideOffset = 4, ...props }, ref) => ((0, jsx_runtime_1.jsx)(TooltipPrimitive.Portal, { children: (0, jsx_runtime_1.jsx)(TooltipPrimitive.Content, { ref: ref, sideOffset: sideOffset, className: ps_class_name_service_js_1.PsClassNameService.merge('z-
|
|
41
|
+
exports.PsTooltipContent = React.forwardRef(({ className, sideOffset = 4, ...props }, ref) => ((0, jsx_runtime_1.jsx)(TooltipPrimitive.Portal, { children: (0, jsx_runtime_1.jsx)(TooltipPrimitive.Content, { ref: ref, sideOffset: sideOffset, className: ps_class_name_service_js_1.PsClassNameService.merge('z-top-layer overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]', className), ...props }) })));
|
|
42
42
|
exports.PsTooltipContent.displayName = TooltipPrimitive.Content.displayName;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PsDateTimePickerConfig = void 0;
|
|
4
|
+
exports.PsDateTimePickerConfig = {
|
|
5
|
+
dateLength: 10,
|
|
6
|
+
defaultTime: '09:00',
|
|
7
|
+
separator: 'T',
|
|
8
|
+
timeLabel: 'Time',
|
|
9
|
+
timeLength: 5,
|
|
10
|
+
};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PsSheetVariants = void 0;
|
|
4
4
|
const class_variance_authority_1 = require("class-variance-authority");
|
|
5
|
-
exports.PsSheetVariants = (0, class_variance_authority_1.cva)('fixed z-
|
|
5
|
+
exports.PsSheetVariants = (0, class_variance_authority_1.cva)('fixed z-modal gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out', {
|
|
6
6
|
variants: {
|
|
7
7
|
side: {
|
|
8
8
|
top: 'inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top',
|
|
@@ -5,5 +5,5 @@ import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
|
|
|
5
5
|
import { PsClassNameService } from '../services/ps-class-name-service.js';
|
|
6
6
|
import { PsAlertDialogOverlay } from './ps-alert-dialog-overlay.js';
|
|
7
7
|
import { PsAlertDialogPortal } from './ps-alert-dialog-portal.js';
|
|
8
|
-
export const PsAlertDialogContent = React.forwardRef(({ className, ...props }, ref) => (_jsxs(PsAlertDialogPortal, { children: [_jsx(PsAlertDialogOverlay, {}), _jsx(AlertDialogPrimitive.Content, { ref: ref, className: PsClassNameService.merge('fixed left-[50%] top-[50%] z-
|
|
8
|
+
export const PsAlertDialogContent = React.forwardRef(({ className, ...props }, ref) => (_jsxs(PsAlertDialogPortal, { children: [_jsx(PsAlertDialogOverlay, {}), _jsx(AlertDialogPrimitive.Content, { ref: ref, className: PsClassNameService.merge('fixed left-[50%] top-[50%] z-modal grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg', className), ...props })] })));
|
|
9
9
|
PsAlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
|
|
@@ -3,5 +3,5 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
|
|
5
5
|
import { PsClassNameService } from '../services/ps-class-name-service.js';
|
|
6
|
-
export const PsAlertDialogOverlay = React.forwardRef(({ className, ...props }, ref) => (_jsx(AlertDialogPrimitive.Overlay, { className: PsClassNameService.merge('fixed inset-0 z-
|
|
6
|
+
export const PsAlertDialogOverlay = React.forwardRef(({ className, ...props }, ref) => (_jsx(AlertDialogPrimitive.Overlay, { className: PsClassNameService.merge('fixed inset-0 z-overlay bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0', className), ...props, ref: ref })));
|
|
7
7
|
PsAlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
|
|
@@ -16,7 +16,7 @@ import { PsDropdownMenu } from './ps-dropdown-menu.js';
|
|
|
16
16
|
import { PsWorkspaceSwitcher } from './ps-workspace-switcher.js';
|
|
17
17
|
export const PsAppHeader = ({ appSwitcher, appTitle, logoAlt = 'Pallasoft logo', logoSrc, logoutHref, navItems = [], renderLink, user, workspaceSwitcher, }) => {
|
|
18
18
|
const link = (href, className, children, active) => renderLink ? (renderLink({ href, className, children, active })) : (_jsx("a", { href: href, className: className, "aria-current": active ? 'page' : undefined, children: children }));
|
|
19
|
-
return (_jsx("header", { className: 'sticky top-0 z-
|
|
19
|
+
return (_jsx("header", { className: 'sticky top-0 z-header border-b bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/80', children: _jsxs("div", { className: 'mx-auto flex w-full max-w-screen-2xl flex-col gap-3 px-4 py-3 sm:px-6', children: [_jsxs("div", { className: 'flex min-w-0 items-center justify-between gap-3', children: [_jsxs("div", { className: 'flex min-w-0 flex-1 items-center gap-2.5', children: [_jsx("div", { className: 'flex size-9 shrink-0 items-center justify-center rounded-lg border bg-muted', children: _jsx("img", { alt: logoAlt, className: 'size-5 object-contain', src: logoSrc }) }), _jsx("h1", { className: 'shrink-0 truncate text-sm font-semibold text-foreground', children: appTitle }), workspaceSwitcher ? (_jsxs(_Fragment, { children: [_jsx("span", { "aria-hidden": 'true', className: 'text-muted-foreground/60', children: "/" }), _jsx(PsWorkspaceSwitcher, { switcher: workspaceSwitcher, renderLink: renderLink })] })) : null] }), _jsxs("div", { className: 'flex shrink-0 items-center gap-1.5', children: [appSwitcher ? _jsx(PsAppSwitcher, { ...appSwitcher }) : null, user ? (_jsxs(PsDropdownMenu, { children: [_jsx(PsDropdownMenuTrigger, { asChild: true, children: _jsxs(PsButton, { variant: 'outline', className: 'h-9 max-w-[min(14rem,56vw)] gap-2 px-1.5 sm:pl-1.5 sm:pr-3', children: [_jsxs(PsAvatar, { className: 'size-6', children: [user.avatarUrl ? (_jsx(PsAvatarImage, { alt: user.displayName, src: user.avatarUrl })) : null, _jsx(PsAvatarFallback, { className: 'text-xs', children: user.displayName.slice(0, 1).toUpperCase() })] }), _jsx("span", { className: 'hidden min-w-0 truncate sm:inline', children: user.displayName })] }) }), _jsxs(PsDropdownMenuContent, { align: 'end', className: 'w-56', children: [_jsxs(PsDropdownMenuLabel, { className: 'flex flex-col gap-0.5', children: [_jsx("span", { children: "Account" }), _jsx("span", { className: 'truncate text-xs font-normal text-muted-foreground', children: user.displayName })] }), _jsx(PsDropdownMenuSeparator, {}), _jsx("form", { action: logoutHref, method: 'post', children: _jsx(PsDropdownMenuItem, { asChild: true, children: _jsxs("button", { className: 'flex w-full cursor-pointer items-center gap-2', type: 'submit', children: [_jsx(LogOut, {}), "Sign out"] }) }) })] })] })) : null] })] }), navItems.length ? (_jsx("nav", { "aria-label": 'Primary', className: '-mb-px flex max-w-full gap-1 overflow-x-auto', children: navItems.map((item) => (_jsx(React.Fragment, { children: link(item.href, PsClassNameService.merge('inline-flex h-9 shrink-0 items-center rounded-md px-3 text-sm font-medium transition-colors', item.active
|
|
20
20
|
? 'bg-secondary text-secondary-foreground'
|
|
21
21
|
: 'text-muted-foreground hover:bg-accent hover:text-accent-foreground'), item.label, item.active) }, item.id))) })) : null] }) }));
|
|
22
22
|
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
|
|
5
|
+
import { PsClassNameService } from '../services/ps-class-name-service.js';
|
|
6
|
+
export const PsCollapsibleContent = React.forwardRef(({ className, ...props }, ref) => (_jsx(CollapsiblePrimitive.Content, { ref: ref, className: PsClassNameService.merge('overflow-hidden data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0', className), ...props })));
|
|
7
|
+
PsCollapsibleContent.displayName = CollapsiblePrimitive.Content.displayName;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { PsDateTimePickerConfig } from '../constants/ps-date-time-picker-config.js';
|
|
3
|
+
import { PsClassNameService } from '../services/ps-class-name-service.js';
|
|
4
|
+
import { PsDateTimeService } from '../services/ps-date-time-service.js';
|
|
5
|
+
import { PsDatePicker } from './ps-date-picker.js';
|
|
6
|
+
import { PsInput } from './ps-input.js';
|
|
7
|
+
export const PsDateTimePicker = ({ id, value, onValueChange, placeholder, disabled = false, invalid = false, clearable = false, fromDate, className, }) => {
|
|
8
|
+
const { date, time } = PsDateTimeService.split(value);
|
|
9
|
+
return (_jsxs("div", { className: PsClassNameService.merge('flex w-full gap-2', className), children: [_jsx(PsDatePicker, { className: 'min-w-0 flex-1', clearable: clearable, disabled: disabled, fromDate: fromDate, id: id, invalid: invalid, onValueChange: (next) => onValueChange(PsDateTimeService.join(next, time)), placeholder: placeholder, value: date }), _jsx(PsInput, { "aria-invalid": invalid, "aria-label": PsDateTimePickerConfig.timeLabel, className: 'h-10 w-32 shrink-0', disabled: disabled || date === '', onChange: (event) => onValueChange(PsDateTimeService.join(date, event.target.value)), type: 'time', value: time })] }));
|
|
10
|
+
};
|
|
@@ -6,5 +6,5 @@ import { X } from 'lucide-react';
|
|
|
6
6
|
import { PsClassNameService } from '../services/ps-class-name-service.js';
|
|
7
7
|
import { PsDialogOverlay } from './ps-dialog-overlay.js';
|
|
8
8
|
import { PsDialogPortal } from './ps-dialog-portal.js';
|
|
9
|
-
export const PsDialogContent = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(PsDialogPortal, { children: [_jsx(PsDialogOverlay, {}), _jsxs(DialogPrimitive.Content, { ref: ref, className: PsClassNameService.merge('fixed left-[50%] top-[50%] z-
|
|
9
|
+
export const PsDialogContent = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(PsDialogPortal, { children: [_jsx(PsDialogOverlay, {}), _jsxs(DialogPrimitive.Content, { ref: ref, className: PsClassNameService.merge('fixed left-[50%] top-[50%] z-modal grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg', className), ...props, children: [children, _jsxs(DialogPrimitive.Close, { className: 'absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground', children: [_jsx(X, { className: 'h-4 w-4' }), _jsx("span", { className: 'sr-only', children: "Close" })] })] })] })));
|
|
10
10
|
PsDialogContent.displayName = DialogPrimitive.Content.displayName;
|
|
@@ -3,5 +3,5 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
5
5
|
import { PsClassNameService } from '../services/ps-class-name-service.js';
|
|
6
|
-
export const PsDialogOverlay = React.forwardRef(({ className, ...props }, ref) => (_jsx(DialogPrimitive.Overlay, { ref: ref, className: PsClassNameService.merge('fixed inset-0 z-
|
|
6
|
+
export const PsDialogOverlay = React.forwardRef(({ className, ...props }, ref) => (_jsx(DialogPrimitive.Overlay, { ref: ref, className: PsClassNameService.merge('fixed inset-0 z-overlay bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0', className), ...props })));
|
|
7
7
|
PsDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
|
|
@@ -2,5 +2,5 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
|
|
4
4
|
import { PsClassNameService } from '../services/ps-class-name-service.js';
|
|
5
|
-
export const PsDropdownMenuContent = React.forwardRef(({ className, sideOffset = 4, ...props }, ref) => (_jsx(DropdownMenuPrimitive.Portal, { children: _jsx(DropdownMenuPrimitive.Content, { ref: ref, sideOffset: sideOffset, className: PsClassNameService.merge('z-
|
|
5
|
+
export const PsDropdownMenuContent = React.forwardRef(({ className, sideOffset = 4, ...props }, ref) => (_jsx(DropdownMenuPrimitive.Portal, { children: _jsx(DropdownMenuPrimitive.Content, { ref: ref, sideOffset: sideOffset, className: PsClassNameService.merge('z-top-layer max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md', 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]', className), ...props }) })));
|
|
6
6
|
PsDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
|
|
@@ -2,5 +2,5 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
|
|
4
4
|
import { PsClassNameService } from '../services/ps-class-name-service.js';
|
|
5
|
-
export const PsDropdownMenuSubContent = React.forwardRef(({ className, ...props }, ref) => (_jsx(DropdownMenuPrimitive.SubContent, { ref: ref, className: PsClassNameService.merge('z-
|
|
5
|
+
export const PsDropdownMenuSubContent = React.forwardRef(({ className, ...props }, ref) => (_jsx(DropdownMenuPrimitive.SubContent, { ref: ref, className: PsClassNameService.merge('z-top-layer min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]', className), ...props })));
|
|
6
6
|
PsDropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
|
|
@@ -3,5 +3,5 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import * as PopoverPrimitive from '@radix-ui/react-popover';
|
|
5
5
|
import { PsClassNameService } from '../services/ps-class-name-service.js';
|
|
6
|
-
export const PsPopoverContent = React.forwardRef(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (_jsx(PopoverPrimitive.Portal, { children: _jsx(PopoverPrimitive.Content, { ref: ref, align: align, sideOffset: sideOffset, className: PsClassNameService.merge('z-
|
|
6
|
+
export const PsPopoverContent = React.forwardRef(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (_jsx(PopoverPrimitive.Portal, { children: _jsx(PopoverPrimitive.Content, { ref: ref, align: align, sideOffset: sideOffset, className: PsClassNameService.merge('z-top-layer w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-popover-content-transform-origin]', className), ...props }) })));
|
|
7
7
|
PsPopoverContent.displayName = PopoverPrimitive.Content.displayName;
|
|
@@ -4,7 +4,7 @@ import * as SelectPrimitive from '@radix-ui/react-select';
|
|
|
4
4
|
import { PsClassNameService } from '../services/ps-class-name-service.js';
|
|
5
5
|
import { PsSelectScrollDownButton } from './ps-select-scroll-down-button.js';
|
|
6
6
|
import { PsSelectScrollUpButton } from './ps-select-scroll-up-button.js';
|
|
7
|
-
export const PsSelectContent = React.forwardRef(({ className, children, position = 'popper', ...props }, ref) => (_jsx(SelectPrimitive.Portal, { children: _jsxs(SelectPrimitive.Content, { ref: ref, className: PsClassNameService.merge('relative z-
|
|
7
|
+
export const PsSelectContent = React.forwardRef(({ className, children, position = 'popper', ...props }, ref) => (_jsx(SelectPrimitive.Portal, { children: _jsxs(SelectPrimitive.Content, { ref: ref, className: PsClassNameService.merge('relative z-top-layer max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-select-content-transform-origin]', position === 'popper' &&
|
|
8
8
|
'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1', className), position: position, ...props, children: [_jsx(PsSelectScrollUpButton, {}), _jsx(SelectPrimitive.Viewport, { className: PsClassNameService.merge('p-1', position === 'popper' &&
|
|
9
9
|
'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]'), children: children }), _jsx(PsSelectScrollDownButton, {})] }) })));
|
|
10
10
|
PsSelectContent.displayName = SelectPrimitive.Content.displayName;
|
|
@@ -2,5 +2,5 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import * as SheetPrimitive from '@radix-ui/react-dialog';
|
|
4
4
|
import { PsClassNameService } from '../services/ps-class-name-service.js';
|
|
5
|
-
export const PsSheetOverlay = React.forwardRef(({ className, ...props }, ref) => (_jsx(SheetPrimitive.Overlay, { className: PsClassNameService.merge('fixed inset-0 z-
|
|
5
|
+
export const PsSheetOverlay = React.forwardRef(({ className, ...props }, ref) => (_jsx(SheetPrimitive.Overlay, { className: PsClassNameService.merge('fixed inset-0 z-overlay bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0', className), ...props, ref: ref })));
|
|
6
6
|
PsSheetOverlay.displayName = SheetPrimitive.Overlay.displayName;
|
|
@@ -2,5 +2,5 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import * as TooltipPrimitive from '@radix-ui/react-tooltip';
|
|
4
4
|
import { PsClassNameService } from '../services/ps-class-name-service.js';
|
|
5
|
-
export const PsTooltipContent = React.forwardRef(({ className, sideOffset = 4, ...props }, ref) => (_jsx(TooltipPrimitive.Portal, { children: _jsx(TooltipPrimitive.Content, { ref: ref, sideOffset: sideOffset, className: PsClassNameService.merge('z-
|
|
5
|
+
export const PsTooltipContent = React.forwardRef(({ className, sideOffset = 4, ...props }, ref) => (_jsx(TooltipPrimitive.Portal, { children: _jsx(TooltipPrimitive.Content, { ref: ref, sideOffset: sideOffset, className: PsClassNameService.merge('z-top-layer overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]', className), ...props }) })));
|
|
6
6
|
PsTooltipContent.displayName = TooltipPrimitive.Content.displayName;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { cva } from 'class-variance-authority';
|
|
2
|
-
export const PsSheetVariants = cva('fixed z-
|
|
2
|
+
export const PsSheetVariants = cva('fixed z-modal gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out', {
|
|
3
3
|
variants: {
|
|
4
4
|
side: {
|
|
5
5
|
top: 'inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top',
|
package/dist/esm/index.js
CHANGED
|
@@ -43,6 +43,9 @@ export * from './components/ps-chart-style.js';
|
|
|
43
43
|
export * from './components/ps-chart-tooltip-content.js';
|
|
44
44
|
export * from './components/ps-chart-tooltip.js';
|
|
45
45
|
export * from './components/ps-checkbox.js';
|
|
46
|
+
export * from './components/ps-collapsible-content.js';
|
|
47
|
+
export * from './components/ps-collapsible-trigger.js';
|
|
48
|
+
export * from './components/ps-collapsible.js';
|
|
46
49
|
export * from './components/ps-combobox.js';
|
|
47
50
|
export * from './components/ps-command-dialog.js';
|
|
48
51
|
export * from './components/ps-command-empty.js';
|
|
@@ -54,6 +57,7 @@ export * from './components/ps-command-separator.js';
|
|
|
54
57
|
export * from './components/ps-command-shortcut.js';
|
|
55
58
|
export * from './components/ps-command.js';
|
|
56
59
|
export * from './components/ps-date-picker.js';
|
|
60
|
+
export * from './components/ps-date-time-picker.js';
|
|
57
61
|
export * from './components/ps-dialog-close.js';
|
|
58
62
|
export * from './components/ps-dialog-content.js';
|
|
59
63
|
export * from './components/ps-dialog-description.js';
|
|
@@ -182,6 +186,7 @@ export * from './constants/ps-button-variants.js';
|
|
|
182
186
|
export * from './constants/ps-chart-defaults.js';
|
|
183
187
|
export * from './constants/ps-chart-themes.js';
|
|
184
188
|
export * from './constants/ps-date-picker-config.js';
|
|
189
|
+
export * from './constants/ps-date-time-picker-config.js';
|
|
185
190
|
export * from './constants/ps-external-apps.js';
|
|
186
191
|
export * from './constants/ps-field-input-config.js';
|
|
187
192
|
export * from './constants/ps-field-orientation.js';
|
|
@@ -246,6 +251,7 @@ export * from './models/ps-chart-legend-content-props.js';
|
|
|
246
251
|
export * from './models/ps-chart-style-props.js';
|
|
247
252
|
export * from './models/ps-chart-tooltip-content-props.js';
|
|
248
253
|
export * from './models/ps-checkbox-props.js';
|
|
254
|
+
export * from './models/ps-collapsible-content-props.js';
|
|
249
255
|
export * from './models/ps-combobox-props.js';
|
|
250
256
|
export * from './models/ps-command-dialog-props.js';
|
|
251
257
|
export * from './models/ps-command-empty-props.js';
|
|
@@ -257,6 +263,8 @@ export * from './models/ps-command-props.js';
|
|
|
257
263
|
export * from './models/ps-command-separator-props.js';
|
|
258
264
|
export * from './models/ps-command-shortcut-props.js';
|
|
259
265
|
export * from './models/ps-date-picker-props.js';
|
|
266
|
+
export * from './models/ps-date-time-parts-data.js';
|
|
267
|
+
export * from './models/ps-date-time-picker-props.js';
|
|
260
268
|
export * from './models/ps-dialog-content-props.js';
|
|
261
269
|
export * from './models/ps-dialog-description-props.js';
|
|
262
270
|
export * from './models/ps-dialog-footer-props.js';
|
|
@@ -356,6 +364,7 @@ export * from './pallasoft-internal-tailwind-preset.js';
|
|
|
356
364
|
export * from './services/ps-app-switcher-service.js';
|
|
357
365
|
export * from './services/ps-chart-service.js';
|
|
358
366
|
export * from './services/ps-class-name-service.js';
|
|
367
|
+
export * from './services/ps-date-time-service.js';
|
|
359
368
|
export * from './services/ps-field-format-service.js';
|
|
360
369
|
export * from './services/ps-file-size-service.js';
|
|
361
370
|
export * from './components/ps-pagination.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PallasoftOpacityScale, PallasoftZIndexScale } from '@pallasoft/ps-design-system';
|
|
1
2
|
import tailwindAnimate from 'tailwindcss-animate';
|
|
2
3
|
import { PallasoftFontSize } from './constants/pallasoft-font-size.js';
|
|
3
4
|
import { PallasoftMotion } from './constants/pallasoft-motion.js';
|
|
@@ -82,6 +83,8 @@ export const PallasoftInternalTailwindPreset = {
|
|
|
82
83
|
sans: ['Geist Variable', 'ui-sans-serif', 'system-ui', 'sans-serif'],
|
|
83
84
|
},
|
|
84
85
|
...PallasoftSharedScale,
|
|
86
|
+
opacity: PallasoftOpacityScale,
|
|
87
|
+
zIndex: PallasoftZIndexScale,
|
|
85
88
|
fontSize: PallasoftFontSize,
|
|
86
89
|
...PallasoftMotion,
|
|
87
90
|
},
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { PsDateTimePickerConfig } from '../constants/ps-date-time-picker-config.js';
|
|
2
|
+
export class PsDateTimeService {
|
|
3
|
+
static split(value) {
|
|
4
|
+
const [date, time] = value.split(PsDateTimePickerConfig.separator);
|
|
5
|
+
return {
|
|
6
|
+
date: date === undefined ? '' : date.slice(0, PsDateTimePickerConfig.dateLength),
|
|
7
|
+
time: time === undefined ? '' : time.slice(0, PsDateTimePickerConfig.timeLength),
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
static join(date, time) {
|
|
11
|
+
if (date === '')
|
|
12
|
+
return '';
|
|
13
|
+
return `${date}${PsDateTimePickerConfig.separator}${time === '' ? PsDateTimePickerConfig.defaultTime : time}`;
|
|
14
|
+
}
|
|
15
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -43,6 +43,9 @@ export * from './components/ps-chart-style.js';
|
|
|
43
43
|
export * from './components/ps-chart-tooltip-content.js';
|
|
44
44
|
export * from './components/ps-chart-tooltip.js';
|
|
45
45
|
export * from './components/ps-checkbox.js';
|
|
46
|
+
export * from './components/ps-collapsible-content.js';
|
|
47
|
+
export * from './components/ps-collapsible-trigger.js';
|
|
48
|
+
export * from './components/ps-collapsible.js';
|
|
46
49
|
export * from './components/ps-combobox.js';
|
|
47
50
|
export * from './components/ps-command-dialog.js';
|
|
48
51
|
export * from './components/ps-command-empty.js';
|
|
@@ -54,6 +57,7 @@ export * from './components/ps-command-separator.js';
|
|
|
54
57
|
export * from './components/ps-command-shortcut.js';
|
|
55
58
|
export * from './components/ps-command.js';
|
|
56
59
|
export * from './components/ps-date-picker.js';
|
|
60
|
+
export * from './components/ps-date-time-picker.js';
|
|
57
61
|
export * from './components/ps-dialog-close.js';
|
|
58
62
|
export * from './components/ps-dialog-content.js';
|
|
59
63
|
export * from './components/ps-dialog-description.js';
|
|
@@ -182,6 +186,7 @@ export * from './constants/ps-button-variants.js';
|
|
|
182
186
|
export * from './constants/ps-chart-defaults.js';
|
|
183
187
|
export * from './constants/ps-chart-themes.js';
|
|
184
188
|
export * from './constants/ps-date-picker-config.js';
|
|
189
|
+
export * from './constants/ps-date-time-picker-config.js';
|
|
185
190
|
export * from './constants/ps-external-apps.js';
|
|
186
191
|
export * from './constants/ps-field-input-config.js';
|
|
187
192
|
export * from './constants/ps-field-orientation.js';
|
|
@@ -246,6 +251,7 @@ export * from './models/ps-chart-legend-content-props.js';
|
|
|
246
251
|
export * from './models/ps-chart-style-props.js';
|
|
247
252
|
export * from './models/ps-chart-tooltip-content-props.js';
|
|
248
253
|
export * from './models/ps-checkbox-props.js';
|
|
254
|
+
export * from './models/ps-collapsible-content-props.js';
|
|
249
255
|
export * from './models/ps-combobox-props.js';
|
|
250
256
|
export * from './models/ps-command-dialog-props.js';
|
|
251
257
|
export * from './models/ps-command-empty-props.js';
|
|
@@ -257,6 +263,8 @@ export * from './models/ps-command-props.js';
|
|
|
257
263
|
export * from './models/ps-command-separator-props.js';
|
|
258
264
|
export * from './models/ps-command-shortcut-props.js';
|
|
259
265
|
export * from './models/ps-date-picker-props.js';
|
|
266
|
+
export * from './models/ps-date-time-parts-data.js';
|
|
267
|
+
export * from './models/ps-date-time-picker-props.js';
|
|
260
268
|
export * from './models/ps-dialog-content-props.js';
|
|
261
269
|
export * from './models/ps-dialog-description-props.js';
|
|
262
270
|
export * from './models/ps-dialog-footer-props.js';
|
|
@@ -356,6 +364,7 @@ export * from './pallasoft-internal-tailwind-preset.js';
|
|
|
356
364
|
export * from './services/ps-app-switcher-service.js';
|
|
357
365
|
export * from './services/ps-chart-service.js';
|
|
358
366
|
export * from './services/ps-class-name-service.js';
|
|
367
|
+
export * from './services/ps-date-time-service.js';
|
|
359
368
|
export * from './services/ps-field-format-service.js';
|
|
360
369
|
export * from './services/ps-file-size-service.js';
|
|
361
370
|
export * from './components/ps-pagination.js';
|
package/dist/index.js
CHANGED
|
@@ -59,6 +59,9 @@ __exportStar(require("./components/ps-chart-style.js"), exports);
|
|
|
59
59
|
__exportStar(require("./components/ps-chart-tooltip-content.js"), exports);
|
|
60
60
|
__exportStar(require("./components/ps-chart-tooltip.js"), exports);
|
|
61
61
|
__exportStar(require("./components/ps-checkbox.js"), exports);
|
|
62
|
+
__exportStar(require("./components/ps-collapsible-content.js"), exports);
|
|
63
|
+
__exportStar(require("./components/ps-collapsible-trigger.js"), exports);
|
|
64
|
+
__exportStar(require("./components/ps-collapsible.js"), exports);
|
|
62
65
|
__exportStar(require("./components/ps-combobox.js"), exports);
|
|
63
66
|
__exportStar(require("./components/ps-command-dialog.js"), exports);
|
|
64
67
|
__exportStar(require("./components/ps-command-empty.js"), exports);
|
|
@@ -70,6 +73,7 @@ __exportStar(require("./components/ps-command-separator.js"), exports);
|
|
|
70
73
|
__exportStar(require("./components/ps-command-shortcut.js"), exports);
|
|
71
74
|
__exportStar(require("./components/ps-command.js"), exports);
|
|
72
75
|
__exportStar(require("./components/ps-date-picker.js"), exports);
|
|
76
|
+
__exportStar(require("./components/ps-date-time-picker.js"), exports);
|
|
73
77
|
__exportStar(require("./components/ps-dialog-close.js"), exports);
|
|
74
78
|
__exportStar(require("./components/ps-dialog-content.js"), exports);
|
|
75
79
|
__exportStar(require("./components/ps-dialog-description.js"), exports);
|
|
@@ -198,6 +202,7 @@ __exportStar(require("./constants/ps-button-variants.js"), exports);
|
|
|
198
202
|
__exportStar(require("./constants/ps-chart-defaults.js"), exports);
|
|
199
203
|
__exportStar(require("./constants/ps-chart-themes.js"), exports);
|
|
200
204
|
__exportStar(require("./constants/ps-date-picker-config.js"), exports);
|
|
205
|
+
__exportStar(require("./constants/ps-date-time-picker-config.js"), exports);
|
|
201
206
|
__exportStar(require("./constants/ps-external-apps.js"), exports);
|
|
202
207
|
__exportStar(require("./constants/ps-field-input-config.js"), exports);
|
|
203
208
|
__exportStar(require("./constants/ps-field-orientation.js"), exports);
|
|
@@ -262,6 +267,7 @@ __exportStar(require("./models/ps-chart-legend-content-props.js"), exports);
|
|
|
262
267
|
__exportStar(require("./models/ps-chart-style-props.js"), exports);
|
|
263
268
|
__exportStar(require("./models/ps-chart-tooltip-content-props.js"), exports);
|
|
264
269
|
__exportStar(require("./models/ps-checkbox-props.js"), exports);
|
|
270
|
+
__exportStar(require("./models/ps-collapsible-content-props.js"), exports);
|
|
265
271
|
__exportStar(require("./models/ps-combobox-props.js"), exports);
|
|
266
272
|
__exportStar(require("./models/ps-command-dialog-props.js"), exports);
|
|
267
273
|
__exportStar(require("./models/ps-command-empty-props.js"), exports);
|
|
@@ -273,6 +279,8 @@ __exportStar(require("./models/ps-command-props.js"), exports);
|
|
|
273
279
|
__exportStar(require("./models/ps-command-separator-props.js"), exports);
|
|
274
280
|
__exportStar(require("./models/ps-command-shortcut-props.js"), exports);
|
|
275
281
|
__exportStar(require("./models/ps-date-picker-props.js"), exports);
|
|
282
|
+
__exportStar(require("./models/ps-date-time-parts-data.js"), exports);
|
|
283
|
+
__exportStar(require("./models/ps-date-time-picker-props.js"), exports);
|
|
276
284
|
__exportStar(require("./models/ps-dialog-content-props.js"), exports);
|
|
277
285
|
__exportStar(require("./models/ps-dialog-description-props.js"), exports);
|
|
278
286
|
__exportStar(require("./models/ps-dialog-footer-props.js"), exports);
|
|
@@ -372,6 +380,7 @@ __exportStar(require("./pallasoft-internal-tailwind-preset.js"), exports);
|
|
|
372
380
|
__exportStar(require("./services/ps-app-switcher-service.js"), exports);
|
|
373
381
|
__exportStar(require("./services/ps-chart-service.js"), exports);
|
|
374
382
|
__exportStar(require("./services/ps-class-name-service.js"), exports);
|
|
383
|
+
__exportStar(require("./services/ps-date-time-service.js"), exports);
|
|
375
384
|
__exportStar(require("./services/ps-field-format-service.js"), exports);
|
|
376
385
|
__exportStar(require("./services/ps-file-size-service.js"), exports);
|
|
377
386
|
__exportStar(require("./components/ps-pagination.js"), exports);
|
|
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.PallasoftInternalTailwindPreset = void 0;
|
|
7
|
+
const ps_design_system_1 = require("@pallasoft/ps-design-system");
|
|
7
8
|
const tailwindcss_animate_1 = __importDefault(require("tailwindcss-animate"));
|
|
8
9
|
const pallasoft_font_size_js_1 = require("./constants/pallasoft-font-size.js");
|
|
9
10
|
const pallasoft_motion_js_1 = require("./constants/pallasoft-motion.js");
|
|
@@ -88,6 +89,8 @@ exports.PallasoftInternalTailwindPreset = {
|
|
|
88
89
|
sans: ['Geist Variable', 'ui-sans-serif', 'system-ui', 'sans-serif'],
|
|
89
90
|
},
|
|
90
91
|
...pallasoft_shared_scale_js_1.PallasoftSharedScale,
|
|
92
|
+
opacity: ps_design_system_1.PallasoftOpacityScale,
|
|
93
|
+
zIndex: ps_design_system_1.PallasoftZIndexScale,
|
|
91
94
|
fontSize: pallasoft_font_size_js_1.PallasoftFontSize,
|
|
92
95
|
...pallasoft_motion_js_1.PallasoftMotion,
|
|
93
96
|
},
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PsDateTimeService = void 0;
|
|
4
|
+
const ps_date_time_picker_config_js_1 = require("../constants/ps-date-time-picker-config.js");
|
|
5
|
+
class PsDateTimeService {
|
|
6
|
+
static split(value) {
|
|
7
|
+
const [date, time] = value.split(ps_date_time_picker_config_js_1.PsDateTimePickerConfig.separator);
|
|
8
|
+
return {
|
|
9
|
+
date: date === undefined ? '' : date.slice(0, ps_date_time_picker_config_js_1.PsDateTimePickerConfig.dateLength),
|
|
10
|
+
time: time === undefined ? '' : time.slice(0, ps_date_time_picker_config_js_1.PsDateTimePickerConfig.timeLength),
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
static join(date, time) {
|
|
14
|
+
if (date === '')
|
|
15
|
+
return '';
|
|
16
|
+
return `${date}${ps_date_time_picker_config_js_1.PsDateTimePickerConfig.separator}${time === '' ? ps_date_time_picker_config_js_1.PsDateTimePickerConfig.defaultTime : time}`;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.PsDateTimeService = PsDateTimeService;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pallasoft/ps-internal-components",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Shared Pallasoft internal UI: app header, app switcher and shadcn primitives for staff tools",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -42,11 +42,11 @@
|
|
|
42
42
|
"release": "semantic-release"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@pallasoft/ps-
|
|
46
|
-
"@pallasoft/ps-utilities": "^2.10.1",
|
|
45
|
+
"@pallasoft/ps-utilities": "^2.13.0",
|
|
47
46
|
"@radix-ui/react-alert-dialog": "^1.1.23",
|
|
48
47
|
"@radix-ui/react-avatar": "^1.2.6",
|
|
49
48
|
"@radix-ui/react-checkbox": "^1.3.11",
|
|
49
|
+
"@radix-ui/react-collapsible": "^1.1.20",
|
|
50
50
|
"@radix-ui/react-dialog": "^1.1.23",
|
|
51
51
|
"@radix-ui/react-dropdown-menu": "^2.1.24",
|
|
52
52
|
"@radix-ui/react-label": "^2.1.15",
|
|
@@ -69,7 +69,8 @@
|
|
|
69
69
|
"react-day-picker": "^9.14.0",
|
|
70
70
|
"recharts": "^2.15.4",
|
|
71
71
|
"tailwind-merge": "^2.6.1",
|
|
72
|
-
"tailwindcss-animate": "^1.0.7"
|
|
72
|
+
"tailwindcss-animate": "^1.0.7",
|
|
73
|
+
"@pallasoft/ps-design-system": "^1.7.0"
|
|
73
74
|
},
|
|
74
75
|
"peerDependencies": {
|
|
75
76
|
"@pallasoft/ps-design-system": "^1.7.0",
|
|
@@ -81,7 +82,7 @@
|
|
|
81
82
|
"@commitlint/config-conventional": "^20.0.0",
|
|
82
83
|
"@eslint/compat": "^2.0.0",
|
|
83
84
|
"@ianvs/prettier-plugin-sort-imports": "^4.7.0",
|
|
84
|
-
"@pallasoft/ps-design-system": "^1.
|
|
85
|
+
"@pallasoft/ps-design-system": "^1.10.0",
|
|
85
86
|
"@semantic-release/changelog": "^6.0.3",
|
|
86
87
|
"@semantic-release/commit-analyzer": "^13.0.0",
|
|
87
88
|
"@semantic-release/git": "^10.0.1",
|