@hkyhy/marsun-components-core 0.1.29 → 0.1.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/components/Auth/UserProfileCard/UserProfileCard.d.ts +7 -1
  2. package/dist/components/Auth/UserProfileCard/UserProfileCard.js +59 -28
  3. package/dist/components/Auth/UserProfileCard/UserProfileCard.js.map +1 -1
  4. package/dist/components/Auth/UserProfileCard/style.module.scss.js +16 -10
  5. package/dist/components/Auth/UserProfileCard/style.module.scss.js.map +1 -1
  6. package/dist/components/Filter/CommonFilter/index.js +88 -53
  7. package/dist/components/Filter/CommonFilter/index.js.map +1 -1
  8. package/dist/components/Filter/FilterDatePicker/index.js +102 -84
  9. package/dist/components/Filter/FilterDatePicker/index.js.map +1 -1
  10. package/dist/components/Filter/FilterDateRange/index.js +84 -66
  11. package/dist/components/Filter/FilterDateRange/index.js.map +1 -1
  12. package/dist/components/Filter/FilterInput/index.js +51 -33
  13. package/dist/components/Filter/FilterInput/index.js.map +1 -1
  14. package/dist/components/Filter/FilterNumberRange/index.js +87 -69
  15. package/dist/components/Filter/FilterNumberRange/index.js.map +1 -1
  16. package/dist/components/Filter/FilterSelect/index.d.ts +14 -2
  17. package/dist/components/Filter/FilterSelect/index.js +216 -177
  18. package/dist/components/Filter/FilterSelect/index.js.map +1 -1
  19. package/dist/components/Filter/FilterSelect/style.module.scss.js +15 -14
  20. package/dist/components/Filter/FilterSelect/style.module.scss.js.map +1 -1
  21. package/dist/components/Filter/FilterTreeSelect/index.d.ts +12 -1
  22. package/dist/components/Filter/FilterTreeSelect/index.js +233 -190
  23. package/dist/components/Filter/FilterTreeSelect/index.js.map +1 -1
  24. package/dist/components/Filter/FilterTreeSelect/style.module.scss.js +14 -13
  25. package/dist/components/Filter/FilterTreeSelect/style.module.scss.js.map +1 -1
  26. package/dist/components/Filter/FilterTrigger/index.js +34 -14
  27. package/dist/components/Filter/FilterTrigger/index.js.map +1 -1
  28. package/dist/components/Filter/index.d.ts +4 -3
  29. package/dist/components/Filter/types.d.ts +27 -1
  30. package/dist/components/Filter/types.js +24 -7
  31. package/dist/components/Filter/types.js.map +1 -1
  32. package/dist/components/Filter/useFilterState.d.ts +37 -5
  33. package/dist/components/Filter/useFilterState.js +74 -23
  34. package/dist/components/Filter/useFilterState.js.map +1 -1
  35. package/dist/index.js +170 -164
  36. package/dist/marsun-components-core.css +1 -1
  37. package/dist/styles/global.css +1 -1
  38. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useFilterState.js","sources":["../../../src/components/Filter/useFilterState.tsx"],"sourcesContent":["import React, { createContext, useCallback, useContext, useMemo, useState } from 'react';\nimport type { SelectedItem } from './types';\n\n/**\n * 筛选项注册信息\n */\ninterface FilterRegistration {\n /** 筛选项标签 */\n label: string;\n /** 当前值的展示文案(如 \"技术中心\" / \"审核员\"),为空则不显示该条目 */\n valueLabel: string;\n /** 移除回调 */\n onRemove: () => void;\n /** 是否允许移除标签,默认 true */\n removable?: boolean;\n}\n\n/** Context 类型 */\ninterface FilterContextValue {\n /** 注册筛选条件(有值时调用) */\n register: (key: string, reg: FilterRegistration) => void;\n /** 注销筛选条件(组件卸载或值清空时调用) */\n unregister: (key: string) => void;\n}\n\nconst FilterContext = createContext<FilterContextValue | null>(null);\n\n/** 供子组件使用 —— 在 CommonFilter 内部注册自身状态(不在 CommonFilter 内时安全返回 null) */\nexport function useFilterRegister(): FilterContextValue | null {\n return useContext(FilterContext);\n}\n\n// ──────────────────── Hook ────────────────────\n\ninterface UseFilterStateReturn {\n /** 所有已注册的筛选项 */\n registrations: Record<string, FilterRegistration>;\n /** 已选条目数组(过滤掉无 valueLabel 的项) */\n selectedItems: SelectedItem[];\n /** 注册方法 */\n register: (key: string, reg: FilterRegistration) => void;\n /** 注销方法 */\n unregister: (key: string) => void;\n /** 清空全部 */\n clearAll: () => void;\n}\n\n/**\n * 筛选状态管理 Hook\n *\n * 各 Filter 子组件通过 `register(key, { label, valueLabel, onRemove })` 注册,\n * CommonFilter 自动聚合成 `selectedItems` 展示。\n */\nexport function useFilterState(): UseFilterStateReturn {\n const [registrations, setRegistrations] = useState<Record<string, FilterRegistration>>({});\n\n const register = useCallback((key: string, reg: FilterRegistration) => {\n setRegistrations((prev) => {\n const existing = prev[key];\n if (\n existing &&\n existing.label === reg.label &&\n existing.valueLabel === reg.valueLabel &&\n (existing.removable ?? true) === (reg.removable ?? true) &&\n existing.onRemove === reg.onRemove\n ) {\n return prev;\n }\n return { ...prev, [key]: reg };\n });\n }, []);\n\n const unregister = useCallback((key: string) => {\n setRegistrations((prev) => {\n if (!(key in prev)) return prev;\n const next = { ...prev };\n delete next[key];\n return next;\n });\n }, []);\n\n const clearAll = useCallback(() => {\n // 依次调用每项的 onRemove\n Object.values(registrations).forEach((r) => r.onRemove());\n setRegistrations({});\n }, [registrations]);\n\n const selectedItems = useMemo<SelectedItem[]>(() => {\n return Object.entries(registrations)\n .filter(([, r]) => !!r.valueLabel)\n .map(([key, r]) => ({\n key,\n label: r.label,\n valueLabel: r.valueLabel,\n onRemove: r.onRemove,\n removable: r.removable ?? true,\n }));\n }, [registrations]);\n\n return { registrations, selectedItems, register, unregister, clearAll };\n}\n\n// ──────────────────── Provider ────────────────────\n\ninterface FilterProviderProps {\n children: React.ReactNode;\n /** register / unregister 方法 */\n ctx: Pick<UseFilterStateReturn, 'register' | 'unregister'>;\n}\n\n/** 内部 Provider,将 register/unregister 注入给子组件 */\nexport const FilterProvider: React.FC<FilterProviderProps> = ({ children, ctx }) => (\n <FilterContext.Provider value={ctx}>{children}</FilterContext.Provider>\n);\n\nexport default useFilterState;\n"],"names":["FilterContext","createContext","useFilterRegister","useContext","useFilterState","registrations","setRegistrations","useState","register","useCallback","key","reg","prev","existing","unregister","next","clearAll","r","selectedItems","useMemo","FilterProvider","children","ctx","jsx"],"mappings":";;AAyBA,MAAMA,IAAgBC,EAAyC,IAAI;AAG5D,SAASC,IAA+C;AAC7D,SAAOC,EAAWH,CAAa;AACjC;AAuBO,SAASI,IAAuC;AACrD,QAAM,CAACC,GAAeC,CAAgB,IAAIC,EAA6C,CAAA,CAAE,GAEnFC,IAAWC,EAAY,CAACC,GAAaC,MAA4B;AACrE,IAAAL,EAAiB,CAACM,MAAS;AACzB,YAAMC,IAAWD,EAAKF,CAAG;AACzB,aACEG,KACAA,EAAS,UAAUF,EAAI,SACvBE,EAAS,eAAeF,EAAI,eAC3BE,EAAS,aAAa,SAAWF,EAAI,aAAa,OACnDE,EAAS,aAAaF,EAAI,WAEnBC,IAEF,EAAE,GAAGA,GAAM,CAACF,CAAG,GAAGC,EAAA;AAAA,IAC3B,CAAC;AAAA,EACH,GAAG,CAAA,CAAE,GAECG,IAAaL,EAAY,CAACC,MAAgB;AAC9C,IAAAJ,EAAiB,CAACM,MAAS;AACzB,UAAI,EAAEF,KAAOE,GAAO,QAAOA;AAC3B,YAAMG,IAAO,EAAE,GAAGH,EAAA;AAClB,oBAAOG,EAAKL,CAAG,GACRK;AAAA,IACT,CAAC;AAAA,EACH,GAAG,CAAA,CAAE,GAECC,IAAWP,EAAY,MAAM;AAEjC,WAAO,OAAOJ,CAAa,EAAE,QAAQ,CAACY,MAAMA,EAAE,UAAU,GACxDX,EAAiB,CAAA,CAAE;AAAA,EACrB,GAAG,CAACD,CAAa,CAAC,GAEZa,IAAgBC,EAAwB,MACrC,OAAO,QAAQd,CAAa,EAChC,OAAO,CAAC,CAAA,EAAGY,CAAC,MAAM,CAAC,CAACA,EAAE,UAAU,EAChC,IAAI,CAAC,CAACP,GAAKO,CAAC,OAAO;AAAA,IAClB,KAAAP;AAAA,IACA,OAAOO,EAAE;AAAA,IACT,YAAYA,EAAE;AAAA,IACd,UAAUA,EAAE;AAAA,IACZ,WAAWA,EAAE,aAAa;AAAA,EAAA,EAC1B,GACH,CAACZ,CAAa,CAAC;AAElB,SAAO,EAAE,eAAAA,GAAe,eAAAa,GAAe,UAAAV,GAAU,YAAAM,GAAY,UAAAE,EAAA;AAC/D;AAWO,MAAMI,IAAgD,CAAC,EAAE,UAAAC,GAAU,KAAAC,QACxE,gBAAAC,EAACvB,EAAc,UAAd,EAAuB,OAAOsB,GAAM,UAAAD,EAAA,CAAS;"}
1
+ {"version":3,"file":"useFilterState.js","sources":["../../../src/components/Filter/useFilterState.tsx"],"sourcesContent":["import React, {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport {\n buildDepsKey,\n normalizeDependsOn,\n resolveFilterLabel,\n type FilterLabel,\n type SelectedItem,\n} from './types';\n\n/**\n * 筛选项注册信息\n */\ninterface FilterRegistration {\n /** 筛选项标签 */\n label: string;\n /** 当前值的展示文案(如 \"技术中心\" / \"审核员\"),为空则不显示该条目 */\n valueLabel: string;\n /** 移除回调 */\n onRemove: () => void;\n /** 是否允许移除标签,默认 true */\n removable?: boolean;\n}\n\n/** Context 类型 */\nexport interface FilterContextValue {\n /** 注册筛选条件(有值时调用) */\n register: (key: string, reg: FilterRegistration) => void;\n /** 注销筛选条件(组件卸载或值清空时调用) */\n unregister: (key: string) => void;\n /** 各筛选项原始值(供 dependsOn / 动态 label / loadData) */\n values: Record<string, unknown>;\n /** 上报本项原始值 */\n setFieldValue: (key: string, value: unknown) => void;\n /** 清除本项原始值(卸载 / 隐藏) */\n clearFieldValue: (key: string) => void;\n}\n\nconst FilterContext = createContext<FilterContextValue | null>(null);\n\n/** 供子组件使用 —— 在 CommonFilter 内部注册自身状态(不在 CommonFilter 内时安全返回 null) */\nexport function useFilterRegister(): FilterContextValue | null {\n return useContext(FilterContext);\n}\n\n/** 读取依赖筛选项当前值与稳定 depsKey */\nexport function useFilterDeps(dependsOn?: string | string[]): {\n values: Record<string, unknown>;\n depsKey: string;\n depKeys: string[];\n} {\n const ctx = useFilterRegister();\n const values = ctx?.values ?? EMPTY_VALUES;\n const depKeys = useMemo(() => normalizeDependsOn(dependsOn), [dependsOn]);\n const depsKey = useMemo(() => buildDepsKey(depKeys, values), [depKeys, values]);\n return { values, depsKey, depKeys };\n}\n\nconst EMPTY_VALUES: Record<string, unknown> = {};\n\n/**\n * 字段桥接:上报 value、解析动态 label、依赖变化时清空。\n */\nexport function useFilterFieldBridge(opts: {\n filterKey: string;\n value: unknown;\n label: FilterLabel;\n dependsOn?: string | string[];\n clearOnDepsChange?: boolean;\n /** 依赖变化时调用(应清空受控 value) */\n onDepsClear?: () => void;\n}): {\n resolvedLabel: string;\n values: Record<string, unknown>;\n depsKey: string;\n} {\n const { filterKey, value, label, dependsOn, clearOnDepsChange = true, onDepsClear } = opts;\n const ctx = useFilterRegister();\n const values = ctx?.values ?? EMPTY_VALUES;\n const resolvedLabel = useMemo(() => resolveFilterLabel(label, values), [label, values]);\n const { depsKey } = useFilterDeps(dependsOn);\n\n const setFieldValue = ctx?.setFieldValue;\n const clearFieldValue = ctx?.clearFieldValue;\n\n useEffect(() => {\n if (!setFieldValue || !clearFieldValue) return;\n setFieldValue(filterKey, value);\n return () => clearFieldValue(filterKey);\n }, [filterKey, value, setFieldValue, clearFieldValue]);\n\n const prevDepsKeyRef = useRef<string | null>(null);\n const onDepsClearRef = useRef(onDepsClear);\n onDepsClearRef.current = onDepsClear;\n\n useEffect(() => {\n if (!dependsOn || normalizeDependsOn(dependsOn).length === 0) return;\n if (prevDepsKeyRef.current === null) {\n prevDepsKeyRef.current = depsKey;\n return;\n }\n if (prevDepsKeyRef.current === depsKey) return;\n prevDepsKeyRef.current = depsKey;\n if (clearOnDepsChange) {\n onDepsClearRef.current?.();\n }\n }, [depsKey, dependsOn, clearOnDepsChange]);\n\n return { resolvedLabel, values, depsKey };\n}\n\n// ──────────────────── Hook ────────────────────\n\ninterface UseFilterStateReturn {\n /** 所有已注册的筛选项 */\n registrations: Record<string, FilterRegistration>;\n /** 已选条目数组(过滤掉无 valueLabel 的项) */\n selectedItems: SelectedItem[];\n /** 注册方法 */\n register: (key: string, reg: FilterRegistration) => void;\n /** 注销方法 */\n unregister: (key: string) => void;\n /** 清空全部 */\n clearAll: () => void;\n /** 字段原始值 */\n values: Record<string, unknown>;\n setFieldValue: (key: string, value: unknown) => void;\n clearFieldValue: (key: string) => void;\n}\n\n/**\n * 筛选状态管理 Hook\n *\n * 各 Filter 子组件通过 `register(key, { label, valueLabel, onRemove })` 注册,\n * CommonFilter 自动聚合成 `selectedItems` 展示。\n * 同时维护 `values` 供声明式 dependsOn / 动态 label / loadData。\n */\nexport function useFilterState(): UseFilterStateReturn {\n const [registrations, setRegistrations] = useState<Record<string, FilterRegistration>>({});\n const [values, setValues] = useState<Record<string, unknown>>({});\n\n const register = useCallback((key: string, reg: FilterRegistration) => {\n setRegistrations((prev) => {\n const existing = prev[key];\n if (\n existing &&\n existing.label === reg.label &&\n existing.valueLabel === reg.valueLabel &&\n (existing.removable ?? true) === (reg.removable ?? true) &&\n existing.onRemove === reg.onRemove\n ) {\n return prev;\n }\n return { ...prev, [key]: reg };\n });\n }, []);\n\n const unregister = useCallback((key: string) => {\n setRegistrations((prev) => {\n if (!(key in prev)) return prev;\n const next = { ...prev };\n delete next[key];\n return next;\n });\n }, []);\n\n const setFieldValue = useCallback((key: string, value: unknown) => {\n setValues((prev) => {\n if (Object.is(prev[key], value)) return prev;\n // 浅比较数组:同内容不触发更新\n if (Array.isArray(value) && Array.isArray(prev[key])) {\n const a = value as unknown[];\n const b = prev[key] as unknown[];\n if (a.length === b.length && a.every((v, i) => Object.is(v, b[i]))) {\n return prev;\n }\n }\n return { ...prev, [key]: value };\n });\n }, []);\n\n const clearFieldValue = useCallback((key: string) => {\n setValues((prev) => {\n if (!(key in prev)) return prev;\n const next = { ...prev };\n delete next[key];\n return next;\n });\n }, []);\n\n const clearAll = useCallback(() => {\n Object.values(registrations).forEach((r) => r.onRemove());\n setRegistrations({});\n }, [registrations]);\n\n const selectedItems = useMemo<SelectedItem[]>(() => {\n return Object.entries(registrations)\n .filter(([, r]) => !!r.valueLabel)\n .map(([key, r]) => ({\n key,\n label: r.label,\n valueLabel: r.valueLabel,\n onRemove: r.onRemove,\n removable: r.removable ?? true,\n }));\n }, [registrations]);\n\n return {\n registrations,\n selectedItems,\n register,\n unregister,\n clearAll,\n values,\n setFieldValue,\n clearFieldValue,\n };\n}\n\n// ──────────────────── Provider ────────────────────\n\ninterface FilterProviderProps {\n children: React.ReactNode;\n ctx: Pick<\n UseFilterStateReturn,\n 'register' | 'unregister' | 'values' | 'setFieldValue' | 'clearFieldValue'\n >;\n}\n\n/** 内部 Provider,将 register/unregister/values 注入给子组件 */\nexport const FilterProvider: React.FC<FilterProviderProps> = ({ children, ctx }) => (\n <FilterContext.Provider value={ctx}>{children}</FilterContext.Provider>\n);\n\nexport default useFilterState;\n"],"names":["FilterContext","createContext","useFilterRegister","useContext","useFilterDeps","dependsOn","ctx","values","EMPTY_VALUES","depKeys","useMemo","normalizeDependsOn","depsKey","buildDepsKey","useFilterFieldBridge","opts","filterKey","value","label","clearOnDepsChange","onDepsClear","resolvedLabel","resolveFilterLabel","setFieldValue","clearFieldValue","useEffect","prevDepsKeyRef","useRef","onDepsClearRef","_a","useFilterState","registrations","setRegistrations","useState","setValues","register","useCallback","key","reg","prev","existing","unregister","next","a","b","i","clearAll","r","selectedItems","FilterProvider","children","jsx"],"mappings":";;;AA6CA,MAAMA,IAAgBC,EAAyC,IAAI;AAG5D,SAASC,IAA+C;AAC7D,SAAOC,EAAWH,CAAa;AACjC;AAGO,SAASI,EAAcC,GAI5B;AACA,QAAMC,IAAMJ,EAAA,GACNK,KAASD,KAAA,gBAAAA,EAAK,WAAUE,GACxBC,IAAUC,EAAQ,MAAMC,EAAmBN,CAAS,GAAG,CAACA,CAAS,CAAC,GAClEO,IAAUF,EAAQ,MAAMG,EAAaJ,GAASF,CAAM,GAAG,CAACE,GAASF,CAAM,CAAC;AAC9E,SAAO,EAAE,QAAAA,GAAQ,SAAAK,GAAS,SAAAH,EAAA;AAC5B;AAEA,MAAMD,IAAwC,CAAA;AAKvC,SAASM,EAAqBC,GAYnC;AACA,QAAM,EAAE,WAAAC,GAAW,OAAAC,GAAO,OAAAC,GAAO,WAAAb,GAAW,mBAAAc,IAAoB,IAAM,aAAAC,MAAgBL,GAChFT,IAAMJ,EAAA,GACNK,KAASD,KAAA,gBAAAA,EAAK,WAAUE,GACxBa,IAAgBX,EAAQ,MAAMY,EAAmBJ,GAAOX,CAAM,GAAG,CAACW,GAAOX,CAAM,CAAC,GAChF,EAAE,SAAAK,EAAA,IAAYR,EAAcC,CAAS,GAErCkB,IAAgBjB,KAAA,gBAAAA,EAAK,eACrBkB,IAAkBlB,KAAA,gBAAAA,EAAK;AAE7B,EAAAmB,EAAU,MAAM;AACd,QAAI,GAACF,KAAiB,CAACC;AACvB,aAAAD,EAAcP,GAAWC,CAAK,GACvB,MAAMO,EAAgBR,CAAS;AAAA,EACxC,GAAG,CAACA,GAAWC,GAAOM,GAAeC,CAAe,CAAC;AAErD,QAAME,IAAiBC,EAAsB,IAAI,GAC3CC,IAAiBD,EAAOP,CAAW;AACzC,SAAAQ,EAAe,UAAUR,GAEzBK,EAAU,MAAM;;AACd,QAAI,GAACpB,KAAaM,EAAmBN,CAAS,EAAE,WAAW,IAC3D;AAAA,UAAIqB,EAAe,YAAY,MAAM;AACnC,QAAAA,EAAe,UAAUd;AACzB;AAAA,MACF;AACA,MAAIc,EAAe,YAAYd,MAC/Bc,EAAe,UAAUd,GACrBO,OACFU,IAAAD,EAAe,YAAf,QAAAC,EAAA,KAAAD;AAAA;AAAA,EAEJ,GAAG,CAAChB,GAASP,GAAWc,CAAiB,CAAC,GAEnC,EAAE,eAAAE,GAAe,QAAAd,GAAQ,SAAAK,EAAA;AAClC;AA4BO,SAASkB,IAAuC;AACrD,QAAM,CAACC,GAAeC,CAAgB,IAAIC,EAA6C,CAAA,CAAE,GACnF,CAAC1B,GAAQ2B,CAAS,IAAID,EAAkC,CAAA,CAAE,GAE1DE,IAAWC,EAAY,CAACC,GAAaC,MAA4B;AACrE,IAAAN,EAAiB,CAACO,MAAS;AACzB,YAAMC,IAAWD,EAAKF,CAAG;AACzB,aACEG,KACAA,EAAS,UAAUF,EAAI,SACvBE,EAAS,eAAeF,EAAI,eAC3BE,EAAS,aAAa,SAAWF,EAAI,aAAa,OACnDE,EAAS,aAAaF,EAAI,WAEnBC,IAEF,EAAE,GAAGA,GAAM,CAACF,CAAG,GAAGC,EAAA;AAAA,IAC3B,CAAC;AAAA,EACH,GAAG,CAAA,CAAE,GAECG,IAAaL,EAAY,CAACC,MAAgB;AAC9C,IAAAL,EAAiB,CAACO,MAAS;AACzB,UAAI,EAAEF,KAAOE,GAAO,QAAOA;AAC3B,YAAMG,IAAO,EAAE,GAAGH,EAAA;AAClB,oBAAOG,EAAKL,CAAG,GACRK;AAAA,IACT,CAAC;AAAA,EACH,GAAG,CAAA,CAAE,GAECnB,IAAgBa,EAAY,CAACC,GAAapB,MAAmB;AACjE,IAAAiB,EAAU,CAACK,MAAS;AAClB,UAAI,OAAO,GAAGA,EAAKF,CAAG,GAAGpB,CAAK,EAAG,QAAOsB;AAExC,UAAI,MAAM,QAAQtB,CAAK,KAAK,MAAM,QAAQsB,EAAKF,CAAG,CAAC,GAAG;AACpD,cAAMM,IAAI1B,GACJ2B,IAAIL,EAAKF,CAAG;AAClB,YAAIM,EAAE,WAAWC,EAAE,UAAUD,EAAE,MAAM,CAAC,GAAGE,MAAM,OAAO,GAAG,GAAGD,EAAEC,CAAC,CAAC,CAAC;AAC/D,iBAAON;AAAA,MAEX;AACA,aAAO,EAAE,GAAGA,GAAM,CAACF,CAAG,GAAGpB,EAAA;AAAA,IAC3B,CAAC;AAAA,EACH,GAAG,CAAA,CAAE,GAECO,IAAkBY,EAAY,CAACC,MAAgB;AACnD,IAAAH,EAAU,CAACK,MAAS;AAClB,UAAI,EAAEF,KAAOE,GAAO,QAAOA;AAC3B,YAAMG,IAAO,EAAE,GAAGH,EAAA;AAClB,oBAAOG,EAAKL,CAAG,GACRK;AAAA,IACT,CAAC;AAAA,EACH,GAAG,CAAA,CAAE,GAECI,IAAWV,EAAY,MAAM;AACjC,WAAO,OAAOL,CAAa,EAAE,QAAQ,CAACgB,MAAMA,EAAE,UAAU,GACxDf,EAAiB,CAAA,CAAE;AAAA,EACrB,GAAG,CAACD,CAAa,CAAC,GAEZiB,IAAgBtC,EAAwB,MACrC,OAAO,QAAQqB,CAAa,EAChC,OAAO,CAAC,CAAA,EAAGgB,CAAC,MAAM,CAAC,CAACA,EAAE,UAAU,EAChC,IAAI,CAAC,CAACV,GAAKU,CAAC,OAAO;AAAA,IAClB,KAAAV;AAAA,IACA,OAAOU,EAAE;AAAA,IACT,YAAYA,EAAE;AAAA,IACd,UAAUA,EAAE;AAAA,IACZ,WAAWA,EAAE,aAAa;AAAA,EAAA,EAC1B,GACH,CAAChB,CAAa,CAAC;AAElB,SAAO;AAAA,IACL,eAAAA;AAAA,IACA,eAAAiB;AAAA,IACA,UAAAb;AAAA,IACA,YAAAM;AAAA,IACA,UAAAK;AAAA,IACA,QAAAvC;AAAA,IACA,eAAAgB;AAAA,IACA,iBAAAC;AAAA,EAAA;AAEJ;AAaO,MAAMyB,IAAgD,CAAC,EAAE,UAAAC,GAAU,KAAA5C,QACxE,gBAAA6C,EAACnD,EAAc,UAAd,EAAuB,OAAOM,GAAM,UAAA4C,EAAA,CAAS;"}
package/dist/index.js CHANGED
@@ -3,38 +3,38 @@ import { DEFAULT_PRIMARY_COLOR as l, LAYOUT_TOKENS as i, PALETTE as m } from "./
3
3
  import { fetchWithTimeout as f, useFetchData as p } from "./hooks/useFetchData.js";
4
4
  import { resolveMaybeFn as u, resolveVisible as x } from "./utils/resolveMaybeFn.js";
5
5
  import { formatFileSize as C } from "./utils/format.js";
6
- import { recentDayRange as F, recentDayRangeStrings as P, recentYearRange as g, toApiStartEnd as T, toDateRange as h, toDateTimeRange as I } from "./utils/date.js";
7
- import { formatPickerValue as D, isValidPickerValue as R, parsePickerValue as A } from "./utils/pickerDate.js";
8
- import { REDIRECT_URL_PARAM as L, buildAbsoluteLocationRedirectUrl as O, buildLocationRedirectUrl as b, buildLoginPath as _, readRedirectUrlFromSearch as U, resolveRedirectUrl as w } from "./utils/authRedirect.js";
9
- import { DEFAULT_LAST_ACTIVITY_STORAGE_KEY as B, clearLastActivity as N, getLastActivityTime as v, touchLastActivity as k } from "./utils/sessionActivity.js";
10
- import { PERMISSIONS_STORAGE_KEY as z, PERMISSION_DEFINITIONS_KEY as G, USER_ROLE_PERMISSIONS_KEY as K, getStoredPermissionMap as V, getStoredUserPermissions as Y, loadPermissionDefinitions as q, loadUserRolePermissions as X, savePermissionDefinitions as W, saveUserRolePermissions as j } from "./utils/permissionStorage.js";
6
+ import { recentDayRange as S, recentDayRangeStrings as P, recentYearRange as g, toApiStartEnd as T, toDateRange as h, toDateTimeRange as I } from "./utils/date.js";
7
+ import { formatPickerValue as M, isValidPickerValue as R, parsePickerValue as A } from "./utils/pickerDate.js";
8
+ import { REDIRECT_URL_PARAM as L, buildAbsoluteLocationRedirectUrl as O, buildLocationRedirectUrl as b, buildLoginPath as _, readRedirectUrlFromSearch as U, resolveRedirectUrl as y } from "./utils/authRedirect.js";
9
+ import { DEFAULT_LAST_ACTIVITY_STORAGE_KEY as v, clearLastActivity as B, getLastActivityTime as N, touchLastActivity as k } from "./utils/sessionActivity.js";
10
+ import { PERMISSIONS_STORAGE_KEY as z, PERMISSION_DEFINITIONS_KEY as K, USER_ROLE_PERMISSIONS_KEY as G, getStoredPermissionMap as V, getStoredUserPermissions as Y, loadPermissionDefinitions as q, loadUserRolePermissions as X, savePermissionDefinitions as W, saveUserRolePermissions as j } from "./utils/permissionStorage.js";
11
11
  import { createMarsunRequest as Q } from "./utils/createMarsunRequest.js";
12
12
  import { buildDepartmentPathMapFromFlat as $, buildDepartmentPathMapFromTree as ee, buildDepartmentPathMaps as te, buildLeafDepartmentPathMap as oe, getDepartmentPath as re, mergeDepartmentPathMaps as ae, toDepartmentPathMaps as se } from "./utils/department/departmentPath.js";
13
13
  import { collectDepartmentIds as ie, extractDepartmentSubtree as me, findDepartmentRootId as ne, flattenDepartments as fe, getNormalUserAccessibleDepartmentIds as pe, getNormalUserDepartmentTree as de, intersectDepartmentIds as ue } from "./utils/department/departmentScope.js";
14
- import { EMPLOYEE_ID_FORMAT_MESSAGE as ce, EMPLOYEE_ID_SIX_DIGIT_PATTERN as Ce, employeeIdFormatRule as Se, isValidEmployeeIdFormat as Fe } from "./utils/user/employeeId.js";
15
- import { buildPersonOptionLookup as ge, createPersonSelectFilter as Te, formatPersonValueLabel as he, matchPersonOptionSearch as Ie, normalizePersonDtos as Me, normalizeRawPersonList as De, resolvePersonDepartmentName as Re, resolveSelectPersonOption as Ae, toPersonOptions as Ee, toPersonSelectOptions as Le, toReviewerPersonOptions as Oe } from "./utils/personOption.js";
14
+ import { EMPLOYEE_ID_FORMAT_MESSAGE as ce, EMPLOYEE_ID_SIX_DIGIT_PATTERN as Ce, employeeIdFormatRule as Fe, isValidEmployeeIdFormat as Se } from "./utils/user/employeeId.js";
15
+ import { buildPersonOptionLookup as ge, createPersonSelectFilter as Te, formatPersonValueLabel as he, matchPersonOptionSearch as Ie, normalizePersonDtos as De, normalizeRawPersonList as Me, resolvePersonDepartmentName as Re, resolveSelectPersonOption as Ae, toPersonOptions as Ee, toPersonSelectOptions as Le, toReviewerPersonOptions as Oe } from "./utils/personOption.js";
16
16
  import { default as _e } from "./components/Upload/index.js";
17
- import { ArrowLeft as we, ArrowLeftRight as ye, BarChart3 as Be, BookOpen as Ne, Bot as ve, Check as ke, ChevronDown as He, ChevronLeft as ze, ChevronRight as Ge, ChevronUp as Ke, CircleAlert as Ve, CircleCheck as Ye, CircleHelp as qe, CirclePlay as Xe, CircleX as We, ClipboardCheck as je, Clock as Je, CloudDownload as Qe, CloudUpload as Ze, Code as $e, Copy as et, Crown as tt, Database as ot, Download as rt, Eye as at, File as st, FileArchive as lt, FileImage as it, FileSpreadsheet as mt, FileText as nt, Flag as ft, Flame as pt, Folder as dt, FolderOpen as ut, Hash as xt, House as ct, ICON_NAMES as Ct, ICON_REGISTRY as St, Import as Ft, Inbox as Pt, Info as gt, LayoutDashboard as Tt, LayoutGrid as ht, Loader2 as It, Lock as Mt, LogOut as Dt, Maximize2 as Rt, MessageCircle as At, MessageSquare as Et, Minimize2 as Lt, PanelLeftClose as Ot, PanelLeftOpen as bt, Pause as _t, Pencil as Ut, Plus as wt, Presentation as yt, RefreshCw as Bt, RotateCw as Nt, Send as vt, Settings as kt, Shield as Ht, ShieldCheck as zt, SlidersHorizontal as Gt, Square as Kt, Star as Vt, ThumbsDown as Yt, ThumbsUp as qt, Trash2 as Xt, Trophy as Wt, Undo2 as jt, Upload as Jt, User as Qt, UserPlus as Zt, UserRoundCog as $t, Users as eo, X as to, createIcon as oo } from "./components/Icons/index.js";
17
+ import { ArrowLeft as ye, ArrowLeftRight as we, BarChart3 as ve, BookOpen as Be, Bot as Ne, Check as ke, ChevronDown as He, ChevronLeft as ze, ChevronRight as Ke, ChevronUp as Ge, CircleAlert as Ve, CircleCheck as Ye, CircleHelp as qe, CirclePlay as Xe, CircleX as We, ClipboardCheck as je, Clock as Je, CloudDownload as Qe, CloudUpload as Ze, Code as $e, Copy as et, Crown as tt, Database as ot, Download as rt, Eye as at, File as st, FileArchive as lt, FileImage as it, FileSpreadsheet as mt, FileText as nt, Flag as ft, Flame as pt, Folder as dt, FolderOpen as ut, Hash as xt, House as ct, ICON_NAMES as Ct, ICON_REGISTRY as Ft, Import as St, Inbox as Pt, Info as gt, LayoutDashboard as Tt, LayoutGrid as ht, Loader2 as It, Lock as Dt, LogOut as Mt, Maximize2 as Rt, MessageCircle as At, MessageSquare as Et, Minimize2 as Lt, PanelLeftClose as Ot, PanelLeftOpen as bt, Pause as _t, Pencil as Ut, Plus as yt, Presentation as wt, RefreshCw as vt, RotateCw as Bt, Send as Nt, Settings as kt, Shield as Ht, ShieldCheck as zt, SlidersHorizontal as Kt, Square as Gt, Star as Vt, ThumbsDown as Yt, ThumbsUp as qt, Trash2 as Xt, Trophy as Wt, Undo2 as jt, Upload as Jt, User as Qt, UserPlus as Zt, UserRoundCog as $t, Users as eo, X as to, createIcon as oo } from "./components/Icons/index.js";
18
18
  import { default as ao } from "./components/AgentHub/AgentHubAccessGuard.js";
19
19
  import { default as lo } from "./components/AgentHub/AgentHubIndexRedirect.js";
20
20
  import { default as mo } from "./components/AgentHub/ChatSessionAccessGuard.js";
21
21
  import { default as fo } from "./components/Layout/AgentAppShell/AgentAppShell.js";
22
22
  import { default as uo } from "./components/Tour/AppTour/index.js";
23
23
  import { default as co } from "./components/AgentHub/Chat/Detail/ChatAgentFab/index.js";
24
- import { default as So } from "./components/AgentHub/Chat/Detail/ChatAgentFabLayout/index.js";
24
+ import { default as Fo } from "./components/AgentHub/Chat/Detail/ChatAgentFabLayout/index.js";
25
25
  import { default as Po } from "./components/AgentHub/Chat/Form/Form.js";
26
26
  import { default as To } from "./components/AgentHub/Chat/List/ChatCard/index.js";
27
27
  import { default as Io } from "./components/AgentHub/Chat/Action/CreateButton.js";
28
- import { default as Do } from "./components/AgentHub/Chat/List/FilterBar.js";
28
+ import { default as Mo } from "./components/AgentHub/Chat/List/FilterBar.js";
29
29
  import { default as Ao } from "./components/AgentHub/Chat/Detail/ChatFollowUpSuggestions/index.js";
30
30
  import { default as Lo } from "./components/AgentHub/Chat/Modal/FormModal.js";
31
31
  import { default as bo } from "./components/AgentHub/Chat/Detail/ChatInput/index.js";
32
32
  import { default as Uo } from "./components/AgentHub/Chat/Action/ManageActionButtons.js";
33
- import { default as yo } from "./components/AgentHub/Chat/Detail/ChatPanel/index.js";
34
- import { default as No } from "./components/AgentHub/Chat/Detail/ChatSuggestionRow/index.js";
33
+ import { default as wo } from "./components/AgentHub/Chat/Detail/ChatPanel/index.js";
34
+ import { default as Bo } from "./components/AgentHub/Chat/Detail/ChatSuggestionRow/index.js";
35
35
  import { default as ko } from "./components/AgentHub/Chat/Detail/ChatWidgetBlock/index.js";
36
36
  import { default as zo } from "./components/AgentHub/Chat/Detail/CitationContent/index.js";
37
- import { default as Ko } from "./components/AgentHub/Chat/Detail/CitationInlineBadge/index.js";
37
+ import { default as Go } from "./components/AgentHub/Chat/Detail/CitationInlineBadge/index.js";
38
38
  import { default as Yo } from "./components/AgentHub/Chat/Detail/CitationMarkdownContent/index.js";
39
39
  import { default as Xo } from "./components/AgentHub/Chat/Detail/CitationPanel/index.js";
40
40
  import { default as jo } from "./components/Descriptions/CommonDescriptions.js";
@@ -48,20 +48,20 @@ import { default as nr } from "./components/File/FileLink/index.js";
48
48
  import { default as pr } from "./components/File/FilePreview/index.js";
49
49
  import { default as ur } from "./components/File/FilePreviewLink/index.js";
50
50
  import { default as cr } from "./components/File/FilePreviewModal/index.js";
51
- import { default as Sr } from "./components/Tag/FileTags.js";
51
+ import { default as Fr } from "./components/Tag/FileTags.js";
52
52
  import { default as Pr } from "./components/Filter/FilterDatePicker/index.js";
53
53
  import { default as Tr } from "./components/Filter/FilterDateRange/index.js";
54
54
  import { default as Ir } from "./components/Filter/FilterInput/index.js";
55
- import { default as Dr } from "./components/Filter/FilterNumberRange/index.js";
55
+ import { default as Mr } from "./components/Filter/FilterNumberRange/index.js";
56
56
  import { default as Ar } from "./components/Filter/FilterPanel/index.js";
57
57
  import { default as Lr } from "./components/Filter/FilterPopover/index.js";
58
58
  import { default as br } from "./components/Filter/FilterSelect/index.js";
59
59
  import { default as Ur } from "./components/Filter/FilterTreeSelect/index.js";
60
- import { default as yr } from "./components/Filter/FilterTrigger/index.js";
61
- import { default as Nr } from "./components/AgentHub/KnowledgeBase/List/FilterBar.js";
60
+ import { default as wr } from "./components/Filter/FilterTrigger/index.js";
61
+ import { default as Br } from "./components/AgentHub/KnowledgeBase/List/FilterBar.js";
62
62
  import { default as kr } from "./components/AgentHub/KnowledgeBase/Modal/FormModal.js";
63
63
  import { default as zr } from "./components/AgentHub/KnowledgeBase/Form/Form.js";
64
- import { default as Kr } from "./components/AgentHub/KnowledgeBase/List/KnowledgeCard/index.js";
64
+ import { default as Gr } from "./components/AgentHub/KnowledgeBase/List/KnowledgeCard/index.js";
65
65
  import { default as Yr } from "./components/LlmFormattedText/LlmFormattedText/index.js";
66
66
  import { default as Xr } from "./components/AgentHub/KnowledgeBase/Action/ManageActionButtons.js";
67
67
  import { default as jr } from "./provider/MarsunCoreProvider.js";
@@ -75,86 +75,86 @@ import { default as na } from "./components/Layout/PageSpin/index.js";
75
75
  import { default as pa } from "./components/AgentHub/KnowledgeBase/Detail/ParseStatusTag/index.js";
76
76
  import { default as ua } from "./components/Auth/PermissionGuard.js";
77
77
  import { default as ca } from "./components/Form/PersonOptionRow/index.js";
78
- import { default as Sa } from "./components/Auth/ProtectedRoute.js";
78
+ import { default as Fa } from "./components/Auth/ProtectedRoute.js";
79
79
  import { SEMANTIC_COLORS as Pa, default as ga } from "./components/Tag/SemanticTag.js";
80
80
  import { default as ha } from "./components/AgentHub/Chat/Action/SessionActionButtons.js";
81
- import { default as Ma } from "./components/AgentHub/Chat/List/SessionSidebar/index.js";
81
+ import { default as Da } from "./components/AgentHub/Chat/List/SessionSidebar/index.js";
82
82
  import { default as Ra } from "./components/Sparkline/Sparkline/index.js";
83
83
  import { default as Ea } from "./components/Stat/StatCard/index.js";
84
84
  import { default as Oa } from "./components/Stat/StatCardList.js";
85
85
  import { default as _a } from "./components/Stat/StatPendingBreakdown/index.js";
86
- import { default as wa } from "./components/Form/StepForm.js";
87
- import { default as Ba } from "./components/Modal/StepModal/index.js";
88
- import { default as va } from "./components/Table/Table.js";
86
+ import { default as ya } from "./components/Form/StepForm.js";
87
+ import { default as va } from "./components/Modal/StepModal/index.js";
88
+ import { default as Na } from "./components/Table/Table.js";
89
89
  import { default as Ha } from "./components/Tag/Tags/index.js";
90
- import { default as Ga } from "./components/AgentHub/Chat/Detail/ThinkingSection/index.js";
90
+ import { default as Ka } from "./components/AgentHub/Chat/Detail/ThinkingSection/index.js";
91
91
  import { default as Va } from "./components/TooltipInfo/TooltipInfo.js";
92
92
  import { default as qa } from "./components/Auth/UserProfileCard/UserProfileCard.js";
93
93
  import { default as Wa } from "./components/VirtualScrollbar/VirtualScrollbar/index.js";
94
94
  import { CHUNK_METHOD_OPTIONS as Ja, EMBEDDING_MODEL_OPTIONS as Qa, PARSE_STATUS_CONFIG as Za } from "./components/AgentHub/KnowledgeBase/constants/types.js";
95
95
  import { CITATION_LINK_PREFIX as es, citationDisplayNumber as ts, citationIdToIndex as os, countUniqueCitedSources as rs, detectCitationIdBase as as, extractCitationIdsFromContent as ss, extractCitationTitle as ls, formatCitationDocBasename as is, formatCitationMeta as ms, formatCitationPositions as ns, injectCitationMarkdownLinks as fs, normalizeCitation as ps, parseCitationLinkHref as ds, prepareCitationContent as us, resolveCitationTitle as xs, sanitizeCitationHtml as cs, stripCitationFrontmatter as Cs } from "./components/AgentHub/Chat/utils/citationContent.js";
96
- import { CancelButton as Fs, Form as Ps, FormInfo as gs, FormModal as Ts, FormSteps as hs, FormStepsModal as Is, Input as Ms, InputNumber as Ds, List as Rs, MultiField as As, ResetButton as Es, Select as Ls, SubmitButton as Os, Switch as bs, TableList as _s, TextArea as Us } from "./components/Form/kneFormInfo.js";
97
- import { FileItem as ys } from "./components/File/FileItem/index.js";
98
- import { FilterProvider as Ns, useFilterRegister as vs, useFilterState as ks } from "./components/Filter/useFilterState.js";
99
- import { GroupList as zs, RULES as Gs, default as Ks, compileErrMsg as Vs, computedFieldValueFromFormData as Ys, computedFormDataFormState as qs, filterEmpty as Xs, findField as Ws, formUtils as js, interceptors as Js, isEmpty as Qs, isNotEmpty as Zs, matchFields as $s, preset as el, stateToError as tl, stateToIsPass as ol, useField as rl, useFormApi as al, useFormContext as sl, useGroup as ll, useReset as il, useSubmit as ml } from "@kne/react-form";
100
- import { PageShellProvider as fl, usePageShell as pl, usePageShellLoading as dl } from "./components/Layout/PageShell/PageShellContext.js";
101
- import { animateScrollFromTopToBottom as xl, animateScrollTo as cl, getScrollBottom as Cl } from "./components/AgentHub/Chat/utils/smoothScroll.js";
102
- import { downloadFileItem as Fl, getFileDownloadAuthHeaders as Pl, getFileDownloadUrl as gl } from "./components/File/utils/download.js";
103
- import { extractCitations as hl, formatSessionTime as Il, getSessionDisplayName as Ml, isWelcomeOnlyMessages as Dl, parseSessionMessages as Rl, toDisplayMessages as Al } from "./components/AgentHub/Chat/utils/sessionMessages.js";
104
- import { formatLlmTextToHtml as Ll, parseLlmText as Ol } from "./components/LlmFormattedText/parseLlmText.js";
105
- import { getFileExtension as _l, getFileIcon as Ul, getFileTypeName as wl, normalizeExtension as yl, normalizeFileDisplayItem as Bl, parseFileNameFromUrl as Nl } from "./components/File/fileDisplay.js";
106
- import { hasCitationMarkers as kl, normalizeAssistantMarkdown as Hl, normalizeDisplayText as zl, parseAssistantContent as Gl } from "./components/AgentHub/Chat/utils/messageContent.js";
107
- import { hasPermission as Vl } from "./components/Auth/hasPermission.js";
108
- import { resolveHidden as ql } from "./components/Filter/types.js";
109
- import { sanitizeMermaidChart as Wl, stripProseFromMermaid as jl } from "./components/AgentHub/Chat/utils/sanitizeMermaidChart.js";
110
- import { useAutoScrollToBottom as Ql } from "./components/AgentHub/Chat/hooks/useAutoScrollToBottom.js";
111
- import { useChat as $l } from "./components/AgentHub/Chat/hooks/useChat.js";
112
- import { useChatSessions as ti } from "./components/AgentHub/Chat/hooks/useChatSessions.js";
113
- import { useCitationPanel as ri } from "./components/AgentHub/Chat/hooks/useCitationPanel.js";
114
- import { useKBDocuments as si } from "./components/AgentHub/KnowledgeBase/hooks/useKBDocuments.js";
115
- import { useKnowledgeBase as ii } from "./components/AgentHub/KnowledgeBase/hooks/useKnowledgeBase.js";
116
- import { useMarsunAuth as ni, useMarsunCore as fi, useMarsunFetch as pi } from "./provider/context.js";
117
- import { useSSECompletion as ui } from "./components/AgentHub/Chat/hooks/useSSECompletion.js";
118
- import { useTypewriter as ci } from "./components/AgentHub/Chat/hooks/useTypewriter.js";
96
+ import { CancelButton as Ss, Form as Ps, FormInfo as gs, FormModal as Ts, FormSteps as hs, FormStepsModal as Is, Input as Ds, InputNumber as Ms, List as Rs, MultiField as As, ResetButton as Es, Select as Ls, SubmitButton as Os, Switch as bs, TableList as _s, TextArea as Us } from "./components/Form/kneFormInfo.js";
97
+ import { FileItem as ws } from "./components/File/FileItem/index.js";
98
+ import { FilterProvider as Bs, useFilterDeps as Ns, useFilterFieldBridge as ks, useFilterRegister as Hs, useFilterState as zs } from "./components/Filter/useFilterState.js";
99
+ import { GroupList as Gs, RULES as Vs, default as Ys, compileErrMsg as qs, computedFieldValueFromFormData as Xs, computedFormDataFormState as Ws, filterEmpty as js, findField as Js, formUtils as Qs, interceptors as Zs, isEmpty as $s, isNotEmpty as el, matchFields as tl, preset as ol, stateToError as rl, stateToIsPass as al, useField as sl, useFormApi as ll, useFormContext as il, useGroup as ml, useReset as nl, useSubmit as fl } from "@kne/react-form";
100
+ import { PageShellProvider as dl, usePageShell as ul, usePageShellLoading as xl } from "./components/Layout/PageShell/PageShellContext.js";
101
+ import { animateScrollFromTopToBottom as Cl, animateScrollTo as Fl, getScrollBottom as Sl } from "./components/AgentHub/Chat/utils/smoothScroll.js";
102
+ import { buildDepsKey as gl, normalizeDependsOn as Tl, resolveFilterLabel as hl, resolveFilterVisible as Il, resolveHidden as Dl } from "./components/Filter/types.js";
103
+ import { downloadFileItem as Rl, getFileDownloadAuthHeaders as Al, getFileDownloadUrl as El } from "./components/File/utils/download.js";
104
+ import { extractCitations as Ol, formatSessionTime as bl, getSessionDisplayName as _l, isWelcomeOnlyMessages as Ul, parseSessionMessages as yl, toDisplayMessages as wl } from "./components/AgentHub/Chat/utils/sessionMessages.js";
105
+ import { formatLlmTextToHtml as Bl, parseLlmText as Nl } from "./components/LlmFormattedText/parseLlmText.js";
106
+ import { getFileExtension as Hl, getFileIcon as zl, getFileTypeName as Kl, normalizeExtension as Gl, normalizeFileDisplayItem as Vl, parseFileNameFromUrl as Yl } from "./components/File/fileDisplay.js";
107
+ import { hasCitationMarkers as Xl, normalizeAssistantMarkdown as Wl, normalizeDisplayText as jl, parseAssistantContent as Jl } from "./components/AgentHub/Chat/utils/messageContent.js";
108
+ import { hasPermission as Zl } from "./components/Auth/hasPermission.js";
109
+ import { sanitizeMermaidChart as ei, stripProseFromMermaid as ti } from "./components/AgentHub/Chat/utils/sanitizeMermaidChart.js";
110
+ import { useAutoScrollToBottom as ri } from "./components/AgentHub/Chat/hooks/useAutoScrollToBottom.js";
111
+ import { useChat as si } from "./components/AgentHub/Chat/hooks/useChat.js";
112
+ import { useChatSessions as ii } from "./components/AgentHub/Chat/hooks/useChatSessions.js";
113
+ import { useCitationPanel as ni } from "./components/AgentHub/Chat/hooks/useCitationPanel.js";
114
+ import { useKBDocuments as pi } from "./components/AgentHub/KnowledgeBase/hooks/useKBDocuments.js";
115
+ import { useKnowledgeBase as ui } from "./components/AgentHub/KnowledgeBase/hooks/useKnowledgeBase.js";
116
+ import { useMarsunAuth as ci, useMarsunCore as Ci, useMarsunFetch as Fi } from "./provider/context.js";
117
+ import { useSSECompletion as Pi } from "./components/AgentHub/Chat/hooks/useSSECompletion.js";
118
+ import { useTypewriter as Ti } from "./components/AgentHub/Chat/hooks/useTypewriter.js";
119
119
  export {
120
120
  fo as AgentAppShell,
121
121
  ao as AgentHubAccessGuard,
122
122
  lo as AgentHubIndexRedirect,
123
123
  mo as AgentHubSessionAccessGuard,
124
124
  uo as AppTour,
125
- we as ArrowLeft,
126
- ye as ArrowLeftRight,
127
- Be as BarChart3,
128
- Ne as BookOpen,
129
- ve as Bot,
125
+ ye as ArrowLeft,
126
+ we as ArrowLeftRight,
127
+ ve as BarChart3,
128
+ Be as BookOpen,
129
+ Ne as Bot,
130
130
  Ja as CHUNK_METHOD_OPTIONS,
131
131
  es as CITATION_LINK_PREFIX,
132
- Fs as CancelButton,
132
+ Ss as CancelButton,
133
133
  co as ChatAgentFab,
134
- So as ChatAgentFabLayout,
134
+ Fo as ChatAgentFabLayout,
135
135
  Po as ChatAssistantForm,
136
136
  To as ChatCard,
137
137
  Io as ChatCreateButton,
138
- Do as ChatFilterBar,
138
+ Mo as ChatFilterBar,
139
139
  Ao as ChatFollowUpSuggestions,
140
140
  Lo as ChatFormModal,
141
141
  bo as ChatInput,
142
142
  Uo as ChatManageActionButtons,
143
- yo as ChatPanel,
144
- No as ChatSuggestionRow,
143
+ wo as ChatPanel,
144
+ Bo as ChatSuggestionRow,
145
145
  ko as ChatWidgetBlock,
146
146
  ke as Check,
147
147
  He as ChevronDown,
148
148
  ze as ChevronLeft,
149
- Ge as ChevronRight,
150
- Ke as ChevronUp,
149
+ Ke as ChevronRight,
150
+ Ge as ChevronUp,
151
151
  Ve as CircleAlert,
152
152
  Ye as CircleCheck,
153
153
  qe as CircleHelp,
154
154
  Xe as CirclePlay,
155
155
  We as CircleX,
156
156
  zo as CitationContent,
157
- Ko as CitationInlineBadge,
157
+ Go as CitationInlineBadge,
158
158
  Yo as CitationMarkdownContent,
159
159
  Xo as CitationPanel,
160
160
  je as ClipboardCheck,
@@ -168,7 +168,7 @@ export {
168
168
  et as Copy,
169
169
  $o as CreateButton,
170
170
  tt as Crown,
171
- B as DEFAULT_LAST_ACTIVITY_STORAGE_KEY,
171
+ v as DEFAULT_LAST_ACTIVITY_STORAGE_KEY,
172
172
  l as DEFAULT_PRIMARY_COLOR,
173
173
  ot as Database,
174
174
  tr as DocumentTable,
@@ -183,24 +183,24 @@ export {
183
183
  st as File,
184
184
  lt as FileArchive,
185
185
  it as FileImage,
186
- ys as FileItemView,
186
+ ws as FileItemView,
187
187
  nr as FileLink,
188
188
  pr as FilePreview,
189
189
  ur as FilePreviewLink,
190
190
  cr as FilePreviewModal,
191
191
  mt as FileSpreadsheet,
192
- Sr as FileTags,
192
+ Fr as FileTags,
193
193
  nt as FileText,
194
194
  Pr as FilterDatePicker,
195
195
  Tr as FilterDateRange,
196
196
  Ir as FilterInput,
197
- Dr as FilterNumberRange,
197
+ Mr as FilterNumberRange,
198
198
  Ar as FilterPanel,
199
199
  Lr as FilterPopover,
200
- Ns as FilterProvider,
200
+ Bs as FilterProvider,
201
201
  br as FilterSelect,
202
202
  Ur as FilterTreeSelect,
203
- yr as FilterTrigger,
203
+ wr as FilterTrigger,
204
204
  ft as Flag,
205
205
  pt as Flame,
206
206
  dt as Folder,
@@ -210,28 +210,28 @@ export {
210
210
  Ts as FormModal,
211
211
  hs as FormSteps,
212
212
  Is as FormStepsModal,
213
- zs as GroupList,
213
+ Gs as GroupList,
214
214
  xt as Hash,
215
215
  ct as House,
216
216
  Ct as ICON_NAMES,
217
- St as ICON_REGISTRY,
218
- Ft as Import,
217
+ Ft as ICON_REGISTRY,
218
+ St as Import,
219
219
  Pt as Inbox,
220
220
  gt as Info,
221
- Ms as Input,
222
- Ds as InputNumber,
223
- Nr as KBFilterBar,
221
+ Ds as Input,
222
+ Ms as InputNumber,
223
+ Br as KBFilterBar,
224
224
  kr as KBFormModal,
225
225
  zr as KnowledgeBaseForm,
226
- Kr as KnowledgeCard,
226
+ Gr as KnowledgeCard,
227
227
  i as LAYOUT_TOKENS,
228
228
  Tt as LayoutDashboard,
229
229
  ht as LayoutGrid,
230
230
  Rs as List,
231
231
  Yr as LlmFormattedText,
232
232
  It as Loader2,
233
- Mt as Lock,
234
- Dt as LogOut,
233
+ Dt as Lock,
234
+ Mt as LogOut,
235
235
  Xr as ManageActionButtons,
236
236
  jr as MarsunCoreProvider,
237
237
  Rt as Maximize2,
@@ -247,9 +247,9 @@ export {
247
247
  m as PALETTE,
248
248
  Za as PARSE_STATUS_CONFIG,
249
249
  z as PERMISSIONS_STORAGE_KEY,
250
- G as PERMISSION_DEFINITIONS_KEY,
250
+ K as PERMISSION_DEFINITIONS_KEY,
251
251
  ia as PageHeaderLayout,
252
- fl as PageShellProvider,
252
+ dl as PageShellProvider,
253
253
  na as PageSpin,
254
254
  Ot as PanelLeftClose,
255
255
  bt as PanelLeftOpen,
@@ -258,46 +258,46 @@ export {
258
258
  Ut as Pencil,
259
259
  ua as PermissionGuard,
260
260
  ca as PersonOptionRow,
261
- wt as Plus,
262
- yt as Presentation,
263
- Sa as ProtectedRoute,
261
+ yt as Plus,
262
+ wt as Presentation,
263
+ Fa as ProtectedRoute,
264
264
  L as REDIRECT_URL_PARAM,
265
- Gs as RULES,
266
- Ks as ReactForm,
267
- Bt as RefreshCw,
265
+ Vs as RULES,
266
+ Ys as ReactForm,
267
+ vt as RefreshCw,
268
268
  Es as ResetButton,
269
- Nt as RotateCw,
269
+ Bt as RotateCw,
270
270
  Pa as SEMANTIC_COLORS,
271
271
  Ls as Select,
272
272
  ga as SemanticTag,
273
- vt as Send,
273
+ Nt as Send,
274
274
  ha as SessionActionButtons,
275
- Ma as SessionSidebar,
275
+ Da as SessionSidebar,
276
276
  kt as Settings,
277
277
  Ht as Shield,
278
278
  zt as ShieldCheck,
279
- Gt as SlidersHorizontal,
279
+ Kt as SlidersHorizontal,
280
280
  Ra as Sparkline,
281
- Kt as Square,
281
+ Gt as Square,
282
282
  Vt as Star,
283
283
  Ea as StatCard,
284
284
  Oa as StatCardList,
285
285
  _a as StatPendingBreakdown,
286
- wa as StepForm,
287
- Ba as StepModal,
286
+ ya as StepForm,
287
+ va as StepModal,
288
288
  Os as SubmitButton,
289
289
  bs as Switch,
290
- va as Table,
290
+ Na as Table,
291
291
  _s as TableList,
292
292
  Ha as Tags,
293
293
  Us as TextArea,
294
- Ga as ThinkingSection,
294
+ Ka as ThinkingSection,
295
295
  Yt as ThumbsDown,
296
296
  qt as ThumbsUp,
297
297
  Va as TooltipInfo,
298
298
  Xt as Trash2,
299
299
  Wt as Trophy,
300
- K as USER_ROLE_PERMISSIONS_KEY,
300
+ G as USER_ROLE_PERMISSIONS_KEY,
301
301
  jt as Undo2,
302
302
  Jt as Upload,
303
303
  Qt as User,
@@ -307,143 +307,149 @@ export {
307
307
  eo as Users,
308
308
  Wa as VirtualScrollbar,
309
309
  to as X,
310
- xl as animateScrollFromTopToBottom,
311
- cl as animateScrollTo,
310
+ Cl as animateScrollFromTopToBottom,
311
+ Fl as animateScrollTo,
312
312
  o as applyCssTokenOverrides,
313
313
  r as applyThemeToCssVariables,
314
314
  O as buildAbsoluteLocationRedirectUrl,
315
315
  $ as buildDepartmentPathMapFromFlat,
316
316
  ee as buildDepartmentPathMapFromTree,
317
317
  te as buildDepartmentPathMaps,
318
+ gl as buildDepsKey,
318
319
  oe as buildLeafDepartmentPathMap,
319
320
  b as buildLocationRedirectUrl,
320
321
  _ as buildLoginPath,
321
322
  ge as buildPersonOptionLookup,
322
323
  ts as citationDisplayNumber,
323
324
  os as citationIdToIndex,
324
- N as clearLastActivity,
325
+ B as clearLastActivity,
325
326
  ie as collectDepartmentIds,
326
- Vs as compileErrMsg,
327
- Ys as computedFieldValueFromFormData,
328
- qs as computedFormDataFormState,
327
+ qs as compileErrMsg,
328
+ Xs as computedFieldValueFromFormData,
329
+ Ws as computedFormDataFormState,
329
330
  rs as countUniqueCitedSources,
330
331
  oo as createIcon,
331
332
  Q as createMarsunRequest,
332
333
  Te as createPersonSelectFilter,
333
334
  as as detectCitationIdBase,
334
- Fl as downloadFileItem,
335
- Se as employeeIdFormatRule,
335
+ Rl as downloadFileItem,
336
+ Fe as employeeIdFormatRule,
336
337
  ss as extractCitationIdsFromContent,
337
338
  ls as extractCitationTitle,
338
- hl as extractCitations,
339
+ Ol as extractCitations,
339
340
  me as extractDepartmentSubtree,
340
341
  f as fetchWithTimeout,
341
- Xs as filterEmpty,
342
+ js as filterEmpty,
342
343
  ne as findDepartmentRootId,
343
- Ws as findField,
344
+ Js as findField,
344
345
  fe as flattenDepartments,
345
- js as formUtils,
346
+ Qs as formUtils,
346
347
  is as formatCitationDocBasename,
347
348
  ms as formatCitationMeta,
348
349
  ns as formatCitationPositions,
349
350
  C as formatFileSize,
350
- Ll as formatLlmTextToHtml,
351
+ Bl as formatLlmTextToHtml,
351
352
  he as formatPersonValueLabel,
352
- D as formatPickerValue,
353
- Il as formatSessionTime,
353
+ M as formatPickerValue,
354
+ bl as formatSessionTime,
354
355
  a as generateTheme,
355
356
  re as getDepartmentPath,
356
- Pl as getFileDownloadAuthHeaders,
357
- gl as getFileDownloadUrl,
358
- _l as getFileExtension,
359
- Ul as getFileIcon,
360
- wl as getFileTypeName,
361
- v as getLastActivityTime,
357
+ Al as getFileDownloadAuthHeaders,
358
+ El as getFileDownloadUrl,
359
+ Hl as getFileExtension,
360
+ zl as getFileIcon,
361
+ Kl as getFileTypeName,
362
+ N as getLastActivityTime,
362
363
  pe as getNormalUserAccessibleDepartmentIds,
363
364
  de as getNormalUserDepartmentTree,
364
- Cl as getScrollBottom,
365
- Ml as getSessionDisplayName,
365
+ Sl as getScrollBottom,
366
+ _l as getSessionDisplayName,
366
367
  V as getStoredPermissionMap,
367
368
  Y as getStoredUserPermissions,
368
- kl as hasCitationMarkers,
369
- Vl as hasPermission,
369
+ Xl as hasCitationMarkers,
370
+ Zl as hasPermission,
370
371
  fs as injectCitationMarkdownLinks,
371
- Js as interceptors,
372
+ Zs as interceptors,
372
373
  ue as intersectDepartmentIds,
373
- Qs as isEmpty,
374
- Zs as isNotEmpty,
375
- Fe as isValidEmployeeIdFormat,
374
+ $s as isEmpty,
375
+ el as isNotEmpty,
376
+ Se as isValidEmployeeIdFormat,
376
377
  R as isValidPickerValue,
377
- Dl as isWelcomeOnlyMessages,
378
+ Ul as isWelcomeOnlyMessages,
378
379
  q as loadPermissionDefinitions,
379
380
  X as loadUserRolePermissions,
380
- $s as matchFields,
381
+ tl as matchFields,
381
382
  Ie as matchPersonOptionSearch,
382
383
  ae as mergeDepartmentPathMaps,
383
- Hl as normalizeAssistantMarkdown,
384
+ Wl as normalizeAssistantMarkdown,
384
385
  ps as normalizeCitation,
385
- zl as normalizeDisplayText,
386
- yl as normalizeExtension,
387
- Bl as normalizeFileDisplayItem,
388
- Me as normalizePersonDtos,
389
- De as normalizeRawPersonList,
390
- Gl as parseAssistantContent,
386
+ Tl as normalizeDependsOn,
387
+ jl as normalizeDisplayText,
388
+ Gl as normalizeExtension,
389
+ Vl as normalizeFileDisplayItem,
390
+ De as normalizePersonDtos,
391
+ Me as normalizeRawPersonList,
392
+ Jl as parseAssistantContent,
391
393
  ds as parseCitationLinkHref,
392
- Nl as parseFileNameFromUrl,
393
- Ol as parseLlmText,
394
+ Yl as parseFileNameFromUrl,
395
+ Nl as parseLlmText,
394
396
  A as parsePickerValue,
395
- Rl as parseSessionMessages,
397
+ yl as parseSessionMessages,
396
398
  us as prepareCitationContent,
397
- el as preset,
399
+ ol as preset,
398
400
  U as readRedirectUrlFromSearch,
399
- F as recentDayRange,
401
+ S as recentDayRange,
400
402
  P as recentDayRangeStrings,
401
403
  g as recentYearRange,
402
404
  xs as resolveCitationTitle,
403
- ql as resolveHidden,
405
+ hl as resolveFilterLabel,
406
+ Il as resolveFilterVisible,
407
+ Dl as resolveHidden,
404
408
  u as resolveMaybeFn,
405
409
  Re as resolvePersonDepartmentName,
406
- w as resolveRedirectUrl,
410
+ y as resolveRedirectUrl,
407
411
  Ae as resolveSelectPersonOption,
408
412
  x as resolveVisible,
409
413
  cs as sanitizeCitationHtml,
410
- Wl as sanitizeMermaidChart,
414
+ ei as sanitizeMermaidChart,
411
415
  W as savePermissionDefinitions,
412
416
  j as saveUserRolePermissions,
413
- tl as stateToError,
414
- ol as stateToIsPass,
417
+ rl as stateToError,
418
+ al as stateToIsPass,
415
419
  Cs as stripCitationFrontmatter,
416
- jl as stripProseFromMermaid,
420
+ ti as stripProseFromMermaid,
417
421
  T as toApiStartEnd,
418
422
  h as toDateRange,
419
423
  I as toDateTimeRange,
420
424
  se as toDepartmentPathMaps,
421
- Al as toDisplayMessages,
425
+ wl as toDisplayMessages,
422
426
  Ee as toPersonOptions,
423
427
  Le as toPersonSelectOptions,
424
428
  Oe as toReviewerPersonOptions,
425
429
  k as touchLastActivity,
426
- Ql as useAutoScrollToBottom,
427
- $l as useChat,
428
- ti as useChatSessions,
429
- ri as useCitationPanel,
430
+ ri as useAutoScrollToBottom,
431
+ si as useChat,
432
+ ii as useChatSessions,
433
+ ni as useCitationPanel,
430
434
  p as useFetchData,
431
- rl as useField,
432
- vs as useFilterRegister,
433
- ks as useFilterState,
434
- al as useFormApi,
435
- sl as useFormContext,
436
- ll as useGroup,
437
- si as useKBDocuments,
438
- ii as useKnowledgeBase,
439
- ni as useMarsunAuth,
440
- fi as useMarsunCore,
441
- pi as useMarsunFetch,
442
- pl as usePageShell,
443
- dl as usePageShellLoading,
444
- il as useReset,
445
- ui as useSSECompletion,
446
- ml as useSubmit,
447
- ci as useTypewriter
435
+ sl as useField,
436
+ Ns as useFilterDeps,
437
+ ks as useFilterFieldBridge,
438
+ Hs as useFilterRegister,
439
+ zs as useFilterState,
440
+ ll as useFormApi,
441
+ il as useFormContext,
442
+ ml as useGroup,
443
+ pi as useKBDocuments,
444
+ ui as useKnowledgeBase,
445
+ ci as useMarsunAuth,
446
+ Ci as useMarsunCore,
447
+ Fi as useMarsunFetch,
448
+ ul as usePageShell,
449
+ xl as usePageShellLoading,
450
+ nl as useReset,
451
+ Pi as useSSECompletion,
452
+ fl as useSubmit,
453
+ Ti as useTypewriter
448
454
  };
449
455
  //# sourceMappingURL=index.js.map