@caratlogic/design-system 0.1.24 → 0.1.26
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/molecules/DateInput/DateInput.d.ts +1 -1
- package/dist/components/molecules/DateInput/DateInput.d.ts.map +1 -1
- package/dist/components/molecules/DateInput/DateInput.types.d.ts +7 -0
- package/dist/components/molecules/DateInput/DateInput.types.d.ts.map +1 -1
- package/dist/components/molecules/FilterSelect/FilterMultiSelect.d.ts +8 -0
- package/dist/components/molecules/FilterSelect/FilterMultiSelect.d.ts.map +1 -1
- package/dist/components/organisms/ActivityFeed/ActivityFeed.components.d.ts.map +1 -1
- package/dist/index.cjs.js +5 -5
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +5 -5
- package/dist/index.esm.js.map +1 -1
- package/package.json +1 -1
|
@@ -5,5 +5,5 @@ import './date-range-picker.css';
|
|
|
5
5
|
* Date field that can be typed or picked. The text box takes a masked
|
|
6
6
|
* `DD/MM/YYYY` entry; the trailing button opens the same calendar as before.
|
|
7
7
|
*/
|
|
8
|
-
export declare function DateInput({ value, onChange, onBlur, name, id, className, min, max, disabled, placeholder, ariaLabel, }: DateInputProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare function DateInput({ value, onChange, onBlur, name, id, className, min, max, disabled, placeholder, ariaLabel, align, }: DateInputProps): import("react/jsx-runtime").JSX.Element;
|
|
9
9
|
//# sourceMappingURL=DateInput.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateInput.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/DateInput/DateInput.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,4CAA4C,CAAC;AACpD,OAAO,yBAAyB,CAAC;AAEjC;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,EAAE,EACF,SAAS,EACT,GAAG,EACH,GAAG,EACH,QAAQ,EACR,WAAyB,EACzB,SAAS,
|
|
1
|
+
{"version":3,"file":"DateInput.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/DateInput/DateInput.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,4CAA4C,CAAC;AACpD,OAAO,yBAAyB,CAAC;AAEjC;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,EAAE,EACF,SAAS,EACT,GAAG,EACH,GAAG,EACH,QAAQ,EACR,WAAyB,EACzB,SAAS,EACT,KAAe,GAChB,EAAE,cAAc,2CA+HhB"}
|
|
@@ -13,6 +13,13 @@ export interface DateInputProps {
|
|
|
13
13
|
placeholder?: string;
|
|
14
14
|
/** Accessible name for the text field when there is no visible label. */
|
|
15
15
|
ariaLabel?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Which edge of the field the calendar lines up with. Default `start`.
|
|
18
|
+
* Use `end` for a field sitting at the right of its container, where a
|
|
19
|
+
* start-aligned calendar would overflow and get shifted by collision
|
|
20
|
+
* detection into looking misaligned.
|
|
21
|
+
*/
|
|
22
|
+
align?: 'start' | 'center' | 'end';
|
|
16
23
|
}
|
|
17
24
|
export type UseDateInputParams = Pick<DateInputProps, 'value' | 'onChange' | 'onBlur' | 'min' | 'max' | 'disabled'>;
|
|
18
25
|
export interface UseDateInputResult {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateInput.types.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/DateInput/DateInput.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEnE,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"DateInput.types.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/DateInput/DateInput.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEnE,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;CACpC;AAED,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,cAAc,EACd,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,UAAU,CAC7D,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAC7C,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,gBAAgB,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACjE,aAAa,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAChE,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IACxC,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,IAAI,CAAC;IAChB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,uBAAuB,EAAE,OAAO,CAAC;IACjC,uBAAuB,EAAE,OAAO,CAAC;IACjC,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
|
|
@@ -13,6 +13,14 @@ export interface FilterMultiSelectProps {
|
|
|
13
13
|
options: FilterMultiSelectOption[];
|
|
14
14
|
triggerClassName?: string;
|
|
15
15
|
contentClassName?: string;
|
|
16
|
+
/** Class on the scrolling option list, e.g. to cap its height. */
|
|
17
|
+
listClassName?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Required when the dropdown sits inside a modal overlay such as `SlideOut`.
|
|
20
|
+
* That overlay disables pointer events outside itself, which otherwise leaves
|
|
21
|
+
* this popover visible but unscrollable.
|
|
22
|
+
*/
|
|
23
|
+
modal?: boolean;
|
|
16
24
|
}
|
|
17
25
|
/**
|
|
18
26
|
* Multi-select filter dropdown — Popover + checkbox list, matching the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterMultiSelect.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/FilterSelect/FilterMultiSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAW3C,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,2CAA2C;IAC3C,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACnC,OAAO,EAAE,uBAAuB,EAAE,CAAC;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"FilterMultiSelect.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/FilterSelect/FilterMultiSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAW3C,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,2CAA2C;IAC3C,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACnC,OAAO,EAAE,uBAAuB,EAAE,CAAC;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CA0ExD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActivityFeed.components.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/ActivityFeed/ActivityFeed.components.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAgBpD,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAE9B,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,GACN,EAAE;IACD,KAAK,EAAE,gBAAgB,CAAC;CACzB,GAAG,YAAY,CAYf;
|
|
1
|
+
{"version":3,"file":"ActivityFeed.components.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/ActivityFeed/ActivityFeed.components.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAgBpD,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAE9B,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,GACN,EAAE;IACD,KAAK,EAAE,gBAAgB,CAAC;CACzB,GAAG,YAAY,CAYf;AA+ND,UAAU,gBAAgB;IACxB,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAClD;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,YAAY,GACb,EAAE,gBAAgB,GAAG,YAAY,CAyFjC;AAED,UAAU,sBAAsB;IAC9B,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAClD;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,OAAO,EACP,YAAY,GACb,EAAE,sBAAsB,GAAG,YAAY,CAwDvC"}
|
package/dist/index.cjs.js
CHANGED
|
@@ -15280,7 +15280,7 @@ const isFilterActive = (value, resetValue) => !!value && value !== resetValue;
|
|
|
15280
15280
|
* `FilterSelect` trigger look (filter icon + count badge when active).
|
|
15281
15281
|
* Selecting items keeps the popover open; the trigger shows the count.
|
|
15282
15282
|
*/
|
|
15283
|
-
const FilterMultiSelect = ({ label, value, onChange, options, triggerClassName, contentClassName, }) => {
|
|
15283
|
+
const FilterMultiSelect = ({ label, value, onChange, options, triggerClassName, contentClassName, listClassName, modal = false, }) => {
|
|
15284
15284
|
const active = value.length > 0;
|
|
15285
15285
|
const toggle = (optValue) => {
|
|
15286
15286
|
if (value.includes(optValue)) {
|
|
@@ -15290,7 +15290,7 @@ const FilterMultiSelect = ({ label, value, onChange, options, triggerClassName,
|
|
|
15290
15290
|
onChange([...value, optValue]);
|
|
15291
15291
|
}
|
|
15292
15292
|
};
|
|
15293
|
-
return (jsxRuntime.jsxs(Popover, { children: [jsxRuntime.jsx(PopoverTrigger, { className: cn(TRIGGER_BASE, 'inline-flex items-center justify-between', active && TRIGGER_ACTIVE, triggerClassName), children: jsxRuntime.jsxs("span", { className: "flex items-center gap-2", children: [jsxRuntime.jsx(Funnel, { className: cn('h-4 w-4 shrink-0', active ? 'text-primary' : 'text-muted-foreground'), "aria-hidden": "true" }), label, active && (jsxRuntime.jsx("span", { className: "ml-1 inline-flex h-4 min-w-4 items-center justify-center rounded bg-primary/10 px-1 text-[10px] font-semibold leading-none text-primary", children: value.length }))] }) }), jsxRuntime.jsx(PopoverContent, { align: "start", className: cn('w-56 p-1', contentClassName), children: jsxRuntime.jsx("div", { className:
|
|
15293
|
+
return (jsxRuntime.jsxs(Popover, { modal: modal, children: [jsxRuntime.jsx(PopoverTrigger, { className: cn(TRIGGER_BASE, 'inline-flex items-center justify-between', active && TRIGGER_ACTIVE, triggerClassName), children: jsxRuntime.jsxs("span", { className: "flex items-center gap-2", children: [jsxRuntime.jsx(Funnel, { className: cn('h-4 w-4 shrink-0', active ? 'text-primary' : 'text-muted-foreground'), "aria-hidden": "true" }), label, active && (jsxRuntime.jsx("span", { className: "ml-1 inline-flex h-4 min-w-4 items-center justify-center rounded bg-primary/10 px-1 text-[10px] font-semibold leading-none text-primary", children: value.length }))] }) }), jsxRuntime.jsx(PopoverContent, { align: "start", className: cn('w-56 p-1', contentClassName), children: jsxRuntime.jsx("div", { className: cn('max-h-[18rem] overflow-y-auto', listClassName), children: options.map((opt) => {
|
|
15294
15294
|
const checked = value.includes(opt.value);
|
|
15295
15295
|
return (jsxRuntime.jsxs("button", { type: "button", onClick: () => toggle(opt.value), className: "flex w-full cursor-pointer items-center gap-2 rounded-md px-2 py-1.5 text-left text-sm text-foreground hover:bg-muted/60", children: [jsxRuntime.jsx(Checkbox, { checked: checked, onCheckedChange: () => toggle(opt.value),
|
|
15296
15296
|
// Stop the inner checkbox click from double-toggling via the button.
|
|
@@ -37088,7 +37088,7 @@ styleInject(css_248z$1);
|
|
|
37088
37088
|
* Date field that can be typed or picked. The text box takes a masked
|
|
37089
37089
|
* `DD/MM/YYYY` entry; the trailing button opens the same calendar as before.
|
|
37090
37090
|
*/
|
|
37091
|
-
function DateInput({ value, onChange, onBlur, name, id, className, min, max, disabled, placeholder = DATE_FORMAT, ariaLabel, }) {
|
|
37091
|
+
function DateInput({ value, onChange, onBlur, name, id, className, min, max, disabled, placeholder = DATE_FORMAT, ariaLabel, align = 'start', }) {
|
|
37092
37092
|
const { open, text, invalid, bounds, inputRef, handleOpenChange, handleTextChange, handleKeyDown, handleTextBlur, toggleOpen, selectDate, clearDate, selectToday, } = useDateInput({ value, onChange, onBlur, min, max, disabled });
|
|
37093
37093
|
// NOTE: We drive `open` ourselves from the button's onClick instead of using
|
|
37094
37094
|
// Radix's <PopoverTrigger> toggle. When this Popover is nested inside the
|
|
@@ -37098,7 +37098,7 @@ function DateInput({ value, onChange, onBlur, name, id, className, min, max, dis
|
|
|
37098
37098
|
// source of truth — no double-fire, and it works across browsers. `modal`
|
|
37099
37099
|
// lets the open popover own pointer events above the dialog so the calendar
|
|
37100
37100
|
// (portalled to <body>) stays clickable.
|
|
37101
|
-
return (jsxRuntime.jsxs(Popover, { open: open, onOpenChange: handleOpenChange, modal: true, children: [jsxRuntime.jsx(PopoverAnchor, { asChild: true, children: jsxRuntime.jsxs("div", { "data-slot": "input", "data-empty": !value || undefined, "data-invalid": invalid || undefined, className: cn('border-input-border flex h-9 w-full min-w-0 items-center gap-2 rounded-md border bg-transparent px-3 py-1 shadow-[0_1px_2px_0_#0000000d] transition-[color,box-shadow] outline-none', 'focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]', 'data-[invalid]:border-destructive data-[invalid]:ring-destructive/20 data-[invalid]:ring-[3px]', disabled && 'cursor-not-allowed bg-muted/50 text-label', className), children: [jsxRuntime.jsx("input", { ref: inputRef, type: "text", inputMode: "numeric", autoComplete: "off", spellCheck: false, id: id, name: name, value: text, placeholder: placeholder, disabled: disabled, maxLength: DATE_FORMAT.length, "aria-label": ariaLabel, "aria-invalid": invalid || undefined, title: DATE_FORMAT_HINT, onChange: handleTextChange, onKeyDown: handleKeyDown, onBlur: handleTextBlur, className: "placeholder:text-placeholder selection:bg-primary selection:text-primary-foreground h-full min-w-0 flex-1 bg-transparent text-base text-foreground outline-none placeholder:text-sm disabled:cursor-not-allowed disabled:text-label md:text-sm" }), jsxRuntime.jsx("button", { type: "button", disabled: disabled, "aria-label": CALENDAR_BUTTON_LABEL, "aria-haspopup": "dialog", "aria-expanded": open, onClick: toggleOpen, className: "-mr-1 inline-flex h-6 w-6 shrink-0 cursor-pointer items-center justify-center rounded-sm text-muted-foreground outline-none hover:text-foreground focus-visible:ring-ring/50 focus-visible:ring-[2px] disabled:cursor-not-allowed", children: jsxRuntime.jsx(CalendarDays, { className: "h-4 w-4 stroke-[1.75]" }) })] }) }), jsxRuntime.jsx(PopoverContent, { align:
|
|
37101
|
+
return (jsxRuntime.jsxs(Popover, { open: open, onOpenChange: handleOpenChange, modal: true, children: [jsxRuntime.jsx(PopoverAnchor, { asChild: true, children: jsxRuntime.jsxs("div", { "data-slot": "input", "data-empty": !value || undefined, "data-invalid": invalid || undefined, className: cn('border-input-border flex h-9 w-full min-w-0 items-center gap-2 rounded-md border bg-transparent px-3 py-1 shadow-[0_1px_2px_0_#0000000d] transition-[color,box-shadow] outline-none', 'focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]', 'data-[invalid]:border-destructive data-[invalid]:ring-destructive/20 data-[invalid]:ring-[3px]', disabled && 'cursor-not-allowed bg-muted/50 text-label', className), children: [jsxRuntime.jsx("input", { ref: inputRef, type: "text", inputMode: "numeric", autoComplete: "off", spellCheck: false, id: id, name: name, value: text, placeholder: placeholder, disabled: disabled, maxLength: DATE_FORMAT.length, "aria-label": ariaLabel, "aria-invalid": invalid || undefined, title: DATE_FORMAT_HINT, onChange: handleTextChange, onKeyDown: handleKeyDown, onBlur: handleTextBlur, className: "placeholder:text-placeholder selection:bg-primary selection:text-primary-foreground h-full min-w-0 flex-1 bg-transparent text-base text-foreground outline-none placeholder:text-sm disabled:cursor-not-allowed disabled:text-label md:text-sm" }), jsxRuntime.jsx("button", { type: "button", disabled: disabled, "aria-label": CALENDAR_BUTTON_LABEL, "aria-haspopup": "dialog", "aria-expanded": open, onClick: toggleOpen, className: "-mr-1 inline-flex h-6 w-6 shrink-0 cursor-pointer items-center justify-center rounded-sm text-muted-foreground outline-none hover:text-foreground focus-visible:ring-ring/50 focus-visible:ring-[2px] disabled:cursor-not-allowed", children: jsxRuntime.jsx(CalendarDays, { className: "h-4 w-4 stroke-[1.75]" }) })] }) }), jsxRuntime.jsx(PopoverContent, { align: align, className: "date-range-picker-popover w-auto p-4", children: jsxRuntime.jsx(DatePicker, { inline: true, selected: value ?? null, minDate: toBoundDate(bounds.minDate), maxDate: toBoundDate(bounds.maxDate), onChange: selectDate, calendarClassName: "date-range-picker-calendar", formatWeekDay: (weekday) => weekday.slice(0, 2), renderCustomHeader: ({ monthDate, changeYear, changeMonth, decreaseMonth, increaseMonth, prevMonthButtonDisabled, nextMonthButtonDisabled, }) => (jsxRuntime.jsx(DatePickerHeader, { monthDate: monthDate, changeYear: changeYear, changeMonth: changeMonth, decreaseMonth: decreaseMonth, increaseMonth: increaseMonth, prevMonthButtonDisabled: prevMonthButtonDisabled, nextMonthButtonDisabled: nextMonthButtonDisabled, minYear: bounds.minYear, maxYear: bounds.maxYear })), children: jsxRuntime.jsxs("div", { className: "date-range-picker-footer", children: [jsxRuntime.jsx("button", { type: "button", onClick: clearDate, className: "date-range-picker-action", children: "Clear" }), jsxRuntime.jsx("button", { type: "button", onClick: selectToday, className: "date-range-picker-action", children: "Today" })] }) }) })] }));
|
|
37102
37102
|
}
|
|
37103
37103
|
|
|
37104
37104
|
const DropdownMenu = DropdownMenuPrimitive__namespace.Root;
|
|
@@ -67876,7 +67876,7 @@ function CategoryIcon({ entry, showRail, }) {
|
|
|
67876
67876
|
return (jsxRuntime.jsxs("div", { className: "relative self-stretch", children: [jsxRuntime.jsx("span", { className: cn('relative z-10 flex size-8 items-center justify-center rounded-full', meta.iconClassName), children: jsxRuntime.jsx(Icon, { className: "size-4", "aria-hidden": "true" }) }), showRail && (jsxRuntime.jsx("span", { "aria-hidden": "true", className: "absolute top-9 -bottom-4 left-1/2 w-px -translate-x-1/2 bg-border" }))] }));
|
|
67877
67877
|
}
|
|
67878
67878
|
function ChangesTable({ changes, }) {
|
|
67879
|
-
return (jsxRuntime.jsxs("div", { className: "overflow-hidden rounded-lg border border-border bg-card", children: [jsxRuntime.jsx("p", { className: "border-b border-border px-3 py-2 text-[0.625rem] font-semibold tracking-wide text-muted-foreground uppercase", children: "What changed" }), changes.length === 0 ? (jsxRuntime.jsx("p", { className: "px-3 py-2.5 text-xs text-muted-foreground", children: "No field detail was recorded for this entry." })) : (jsxRuntime.jsxs("table", { className: "w-full text-sm", "aria-label": ACTIVITY_FEED_ARIA.changesTable, children: [jsxRuntime.jsx("thead", { children: jsxRuntime.jsxs("tr", { className: "bg-muted/40 text-left text-xs text-muted-foreground", children: [jsxRuntime.jsx("th", { scope: "col", className: "px-3 py-1.5 font-normal", children: "Field" }), jsxRuntime.jsx("th", { scope: "col", className: "px-3 py-1.5 font-normal", children: "Before" }), jsxRuntime.jsx("th", { scope: "col", className: "px-3 py-1.5 font-normal", children: "After" })] }) }), jsxRuntime.jsx("tbody", { children: changes.map((change) => (jsxRuntime.jsxs("tr", { className: "border-t border-border align-top", children: [jsxRuntime.jsx("th", { scope: "row", className: "px-3 py-2 text-left text-xs font-normal text-secondary-foreground", children: change.field }), jsxRuntime.jsx("td", { className: "px-3 py-2 text-xs text-muted-foreground
|
|
67879
|
+
return (jsxRuntime.jsxs("div", { className: "overflow-hidden rounded-lg border border-border bg-card", children: [jsxRuntime.jsx("p", { className: "border-b border-border px-3 py-2 text-[0.625rem] font-semibold tracking-wide text-muted-foreground uppercase", children: "What changed" }), changes.length === 0 ? (jsxRuntime.jsx("p", { className: "px-3 py-2.5 text-xs text-muted-foreground", children: "No field detail was recorded for this entry." })) : (jsxRuntime.jsxs("table", { className: "w-full text-sm", "aria-label": ACTIVITY_FEED_ARIA.changesTable, children: [jsxRuntime.jsx("thead", { children: jsxRuntime.jsxs("tr", { className: "bg-muted/40 text-left text-xs text-muted-foreground", children: [jsxRuntime.jsx("th", { scope: "col", className: "px-3 py-1.5 font-normal", children: "Field" }), jsxRuntime.jsx("th", { scope: "col", className: "px-3 py-1.5 font-normal", children: "Before" }), jsxRuntime.jsx("th", { scope: "col", className: "px-3 py-1.5 font-normal", children: "After" })] }) }), jsxRuntime.jsx("tbody", { children: changes.map((change) => (jsxRuntime.jsxs("tr", { className: "border-t border-border align-top", children: [jsxRuntime.jsx("th", { scope: "row", className: "px-3 py-2 text-left text-xs font-normal text-secondary-foreground", children: change.field }), jsxRuntime.jsx("td", { className: "px-3 py-2 text-xs text-muted-foreground", children: change.before ?? 'Not set' }), jsxRuntime.jsx("td", { className: "px-3 py-2 text-xs font-medium text-foreground", children: change.after ?? 'Not set' })] }, change.field))) })] }))] }));
|
|
67880
67880
|
}
|
|
67881
67881
|
function ContactCard({ contact, }) {
|
|
67882
67882
|
const name = contact.name || contact.company || contact.email || 'Unknown contact';
|