premium-ds 0.1.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/LICENSE +21 -0
- package/README.md +113 -0
- package/dist/alert.d.ts +31 -0
- package/dist/alert.js +6 -0
- package/dist/alert.js.map +1 -0
- package/dist/avatar-group.d.ts +13 -0
- package/dist/avatar-group.js +3 -0
- package/dist/avatar-group.js.map +1 -0
- package/dist/avatar.d.ts +25 -0
- package/dist/avatar.js +3 -0
- package/dist/avatar.js.map +1 -0
- package/dist/badge.d.ts +23 -0
- package/dist/badge.js +3 -0
- package/dist/badge.js.map +1 -0
- package/dist/button.d.ts +20 -0
- package/dist/button.js +3 -0
- package/dist/button.js.map +1 -0
- package/dist/checkbox.d.ts +25 -0
- package/dist/checkbox.js +3 -0
- package/dist/checkbox.js.map +1 -0
- package/dist/chunk-2OWHZ4JT.js +36 -0
- package/dist/chunk-2OWHZ4JT.js.map +1 -0
- package/dist/chunk-34SIXSYL.js +64 -0
- package/dist/chunk-34SIXSYL.js.map +1 -0
- package/dist/chunk-37O2ZXD6.js +55 -0
- package/dist/chunk-37O2ZXD6.js.map +1 -0
- package/dist/chunk-4AZL76UJ.js +89 -0
- package/dist/chunk-4AZL76UJ.js.map +1 -0
- package/dist/chunk-4HSCN5TZ.js +86 -0
- package/dist/chunk-4HSCN5TZ.js.map +1 -0
- package/dist/chunk-5DDOOT33.js +258 -0
- package/dist/chunk-5DDOOT33.js.map +1 -0
- package/dist/chunk-5FVHWIMY.js +117 -0
- package/dist/chunk-5FVHWIMY.js.map +1 -0
- package/dist/chunk-5K6KRJGX.js +147 -0
- package/dist/chunk-5K6KRJGX.js.map +1 -0
- package/dist/chunk-5PQMQBQC.js +74 -0
- package/dist/chunk-5PQMQBQC.js.map +1 -0
- package/dist/chunk-7OCTVQ7C.js +95 -0
- package/dist/chunk-7OCTVQ7C.js.map +1 -0
- package/dist/chunk-7OPMOET7.js +39 -0
- package/dist/chunk-7OPMOET7.js.map +1 -0
- package/dist/chunk-BXXS7YRC.js +270 -0
- package/dist/chunk-BXXS7YRC.js.map +1 -0
- package/dist/chunk-CV2Q4YXX.js +272 -0
- package/dist/chunk-CV2Q4YXX.js.map +1 -0
- package/dist/chunk-EIMMDWIW.js +282 -0
- package/dist/chunk-EIMMDWIW.js.map +1 -0
- package/dist/chunk-EZ2CWTBE.js +230 -0
- package/dist/chunk-EZ2CWTBE.js.map +1 -0
- package/dist/chunk-FGHDG3Y4.js +89 -0
- package/dist/chunk-FGHDG3Y4.js.map +1 -0
- package/dist/chunk-FPP2XLKX.js +127 -0
- package/dist/chunk-FPP2XLKX.js.map +1 -0
- package/dist/chunk-G6OY35DI.js +295 -0
- package/dist/chunk-G6OY35DI.js.map +1 -0
- package/dist/chunk-H6KWJNOE.js +65 -0
- package/dist/chunk-H6KWJNOE.js.map +1 -0
- package/dist/chunk-HGILYGY3.js +45 -0
- package/dist/chunk-HGILYGY3.js.map +1 -0
- package/dist/chunk-I3BCB4Z5.js +88 -0
- package/dist/chunk-I3BCB4Z5.js.map +1 -0
- package/dist/chunk-KBWNUUWM.js +582 -0
- package/dist/chunk-KBWNUUWM.js.map +1 -0
- package/dist/chunk-KN7JFAZ6.js +113 -0
- package/dist/chunk-KN7JFAZ6.js.map +1 -0
- package/dist/chunk-MEF7PI6U.js +16 -0
- package/dist/chunk-MEF7PI6U.js.map +1 -0
- package/dist/chunk-NKGMQL6I.js +310 -0
- package/dist/chunk-NKGMQL6I.js.map +1 -0
- package/dist/chunk-NMFQRGLL.js +127 -0
- package/dist/chunk-NMFQRGLL.js.map +1 -0
- package/dist/chunk-OUBWD6CX.js +433 -0
- package/dist/chunk-OUBWD6CX.js.map +1 -0
- package/dist/chunk-PFNXVBLU.js +96 -0
- package/dist/chunk-PFNXVBLU.js.map +1 -0
- package/dist/chunk-PUPZ4HME.js +165 -0
- package/dist/chunk-PUPZ4HME.js.map +1 -0
- package/dist/chunk-QFS52OK5.js +690 -0
- package/dist/chunk-QFS52OK5.js.map +1 -0
- package/dist/chunk-QNC6O3PG.js +45 -0
- package/dist/chunk-QNC6O3PG.js.map +1 -0
- package/dist/chunk-QUHOXWBK.js +82 -0
- package/dist/chunk-QUHOXWBK.js.map +1 -0
- package/dist/chunk-UIQGSTBJ.js +106 -0
- package/dist/chunk-UIQGSTBJ.js.map +1 -0
- package/dist/chunk-UJQKVP6V.js +193 -0
- package/dist/chunk-UJQKVP6V.js.map +1 -0
- package/dist/chunk-VVPGEAC6.js +11 -0
- package/dist/chunk-VVPGEAC6.js.map +1 -0
- package/dist/chunk-XA3T5KWA.js +58 -0
- package/dist/chunk-XA3T5KWA.js.map +1 -0
- package/dist/chunk-YSHJHSJM.js +19 -0
- package/dist/chunk-YSHJHSJM.js.map +1 -0
- package/dist/chunk-YVHOAVSM.js +182 -0
- package/dist/chunk-YVHOAVSM.js.map +1 -0
- package/dist/collapse.d.ts +16 -0
- package/dist/collapse.js +3 -0
- package/dist/collapse.js.map +1 -0
- package/dist/count-badge.d.ts +11 -0
- package/dist/count-badge.js +4 -0
- package/dist/count-badge.js.map +1 -0
- package/dist/date-field.d.ts +39 -0
- package/dist/date-field.js +8 -0
- package/dist/date-field.js.map +1 -0
- package/dist/date-range-field.d.ts +30 -0
- package/dist/date-range-field.js +8 -0
- package/dist/date-range-field.js.map +1 -0
- package/dist/datetime-field.d.ts +28 -0
- package/dist/datetime-field.js +10 -0
- package/dist/datetime-field.js.map +1 -0
- package/dist/dialog.d.ts +26 -0
- package/dist/dialog.js +7 -0
- package/dist/dialog.js.map +1 -0
- package/dist/index.d.ts +35 -0
- package/dist/index.js +40 -0
- package/dist/index.js.map +1 -0
- package/dist/motion-tokens.d.ts +29 -0
- package/dist/motion-tokens.js +3 -0
- package/dist/motion-tokens.js.map +1 -0
- package/dist/multi-select.d.ts +25 -0
- package/dist/multi-select.js +7 -0
- package/dist/multi-select.js.map +1 -0
- package/dist/number-field.d.ts +24 -0
- package/dist/number-field.js +4 -0
- package/dist/number-field.js.map +1 -0
- package/dist/otp-field.d.ts +20 -0
- package/dist/otp-field.js +3 -0
- package/dist/otp-field.js.map +1 -0
- package/dist/overlay.d.ts +31 -0
- package/dist/overlay.js +4 -0
- package/dist/overlay.js.map +1 -0
- package/dist/pagination.d.ts +24 -0
- package/dist/pagination.js +5 -0
- package/dist/pagination.js.map +1 -0
- package/dist/radio-group.d.ts +46 -0
- package/dist/radio-group.js +6 -0
- package/dist/radio-group.js.map +1 -0
- package/dist/select-core-SAyS-8w0.d.ts +16 -0
- package/dist/select.d.ts +27 -0
- package/dist/select.js +7 -0
- package/dist/select.js.map +1 -0
- package/dist/status-badge.d.ts +17 -0
- package/dist/status-badge.js +5 -0
- package/dist/status-badge.js.map +1 -0
- package/dist/table.d.ts +65 -0
- package/dist/table.js +5 -0
- package/dist/table.js.map +1 -0
- package/dist/tabs.d.ts +44 -0
- package/dist/tabs.js +5 -0
- package/dist/tabs.js.map +1 -0
- package/dist/tag.d.ts +28 -0
- package/dist/tag.js +5 -0
- package/dist/tag.js.map +1 -0
- package/dist/text-field.d.ts +30 -0
- package/dist/text-field.js +6 -0
- package/dist/text-field.js.map +1 -0
- package/dist/textarea.d.ts +33 -0
- package/dist/textarea.js +5 -0
- package/dist/textarea.js.map +1 -0
- package/dist/time-field.d.ts +27 -0
- package/dist/time-field.js +6 -0
- package/dist/time-field.js.map +1 -0
- package/dist/toast-store.d.ts +75 -0
- package/dist/toast-store.js +3 -0
- package/dist/toast-store.js.map +1 -0
- package/dist/toast.d.ts +3 -0
- package/dist/toast.js +6 -0
- package/dist/toast.js.map +1 -0
- package/dist/toggle-tag.d.ts +24 -0
- package/dist/toggle-tag.js +4 -0
- package/dist/toggle-tag.js.map +1 -0
- package/dist/toggle.d.ts +21 -0
- package/dist/toggle.js +3 -0
- package/dist/toggle.js.map +1 -0
- package/dist/tooltip.d.ts +27 -0
- package/dist/tooltip.js +4 -0
- package/dist/tooltip.js.map +1 -0
- package/llms.txt +165 -0
- package/package.json +205 -0
- package/src/components/alert/Alert.tsx +118 -0
- package/src/components/alert/alert.css +136 -0
- package/src/components/avatar/Avatar.tsx +128 -0
- package/src/components/avatar/AvatarGroup.tsx +50 -0
- package/src/components/avatar/avatar.css +200 -0
- package/src/components/badge/Badge.tsx +66 -0
- package/src/components/badge/CountBadge.tsx +46 -0
- package/src/components/badge/StatusBadge.tsx +132 -0
- package/src/components/badge/badge.css +243 -0
- package/src/components/button/Button.tsx +68 -0
- package/src/components/button/button.css +222 -0
- package/src/components/checkbox/Checkbox.tsx +90 -0
- package/src/components/checkbox/checkbox.css +179 -0
- package/src/components/date-picker/DateField.tsx +362 -0
- package/src/components/date-picker/DateRangeField.tsx +533 -0
- package/src/components/date-picker/DateTimeField.tsx +177 -0
- package/src/components/date-picker/TimeField.tsx +100 -0
- package/src/components/date-picker/date-picker.css +591 -0
- package/src/components/date-picker/date-utils.ts +55 -0
- package/src/components/date-picker/field-shell.tsx +78 -0
- package/src/components/date-picker/glide-pill.tsx +81 -0
- package/src/components/date-picker/time-core.tsx +305 -0
- package/src/components/dialog/Dialog.tsx +181 -0
- package/src/components/dialog/dialog.css +170 -0
- package/src/components/glass/glass.css +100 -0
- package/src/components/icon/Icon.tsx +76 -0
- package/src/components/icon/IconSlot.tsx +11 -0
- package/src/components/icon/icon.css +33 -0
- package/src/components/input/NumberField.tsx +117 -0
- package/src/components/input/OtpField.tsx +118 -0
- package/src/components/input/TextField.tsx +123 -0
- package/src/components/input/input.css +335 -0
- package/src/components/motion/Collapse.tsx +33 -0
- package/src/components/motion/collapse.css +41 -0
- package/src/components/overlay/Overlay.tsx +239 -0
- package/src/components/overlay/overlay-core.tsx +565 -0
- package/src/components/overlay/overlay.css +119 -0
- package/src/components/overlay/sheet-drag.tsx +146 -0
- package/src/components/pagination/Pagination.tsx +140 -0
- package/src/components/pagination/pagination.css +48 -0
- package/src/components/radio-group/RadioGroup.tsx +182 -0
- package/src/components/radio-group/radio-group.css +277 -0
- package/src/components/select/MultiSelect.tsx +251 -0
- package/src/components/select/Select.tsx +235 -0
- package/src/components/select/select-core.tsx +417 -0
- package/src/components/select/select.css +386 -0
- package/src/components/table/Table.tsx +433 -0
- package/src/components/table/table.css +348 -0
- package/src/components/tabs/Tabs.tsx +371 -0
- package/src/components/tabs/tabs.css +228 -0
- package/src/components/tag/Tag.tsx +145 -0
- package/src/components/tag/ToggleTag.tsx +125 -0
- package/src/components/tag/tag.css +248 -0
- package/src/components/textarea/Textarea.tsx +197 -0
- package/src/components/textarea/textarea.css +219 -0
- package/src/components/toast/Toast.tsx +349 -0
- package/src/components/toast/toast-store.ts +266 -0
- package/src/components/toast/toast.css +233 -0
- package/src/components/toggle/Toggle.tsx +94 -0
- package/src/components/toggle/toggle.css +152 -0
- package/src/components/tooltip/Tooltip.tsx +365 -0
- package/src/components/tooltip/tooltip.css +86 -0
- package/src/index.ts +42 -0
- package/src/styles.css +39 -0
- package/src/tokens/avatar.css +20 -0
- package/src/tokens/color.css +56 -0
- package/src/tokens/elevation.css +20 -0
- package/src/tokens/fonts.css +3 -0
- package/src/tokens/glass.css +21 -0
- package/src/tokens/icons.css +7 -0
- package/src/tokens/layers.css +6 -0
- package/src/tokens/motion-tokens.ts +72 -0
- package/src/tokens/motion.css +49 -0
- package/src/tokens/radius.css +11 -0
- package/src/tokens/semantic.css +75 -0
- package/src/tokens/spacing.css +26 -0
- package/src/tokens/typography.css +54 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/select/MultiSelect.tsx"],"names":[],"mappings":"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","file":"chunk-UJQKVP6V.js","sourcesContent":["'use client';\n\n/* MultiSelect - many-of custom listbox; committing toggles a row, the menu stays open. */\nimport * as React from 'react';\nimport {\n useControllable as useMsControllable,\n normalize as msNormalize,\n matches as msMatches,\n useSelectMenu as useMsMenu,\n SelectTrigger as MsTrigger,\n SelectMenu as MsMenu,\n SearchField as MsSearchField,\n FilterRow as MsFilterRow,\n EmptyRow as MsEmptyRow,\n LoadingRows as MsLoadingRows,\n type SelectOption,\n type SelectGroup,\n} from './select-core';\nimport { IconSlot } from '../icon/IconSlot';\n\nexport interface MultiSelectProps {\n options: SelectOption[] | SelectGroup[];\n /** Controlled value. */\n value?: string[];\n defaultValue?: string[];\n /** Fires with the NEXT array and the option that was toggled. */\n onChange?: (value: string[], toggled: SelectOption) => void;\n placeholder?: string;\n size?: 'sm' | 'default' | 'lg';\n disabled?: boolean;\n invalid?: boolean;\n loading?: boolean;\n searchable?: boolean;\n searchPlaceholder?: string;\n /** Your own icon node pinned before the trigger label. */\n leadingIcon?: React.ReactNode;\n id?: string;\n ariaLabel?: string;\n}\n\nfunction CheckboxTick({ checked }: { checked: boolean }) {\n return (\n <span className=\"cbx\" aria-hidden=\"true\">\n <input type=\"checkbox\" className=\"cbx__input\" tabIndex={-1} checked={checked} readOnly />\n <span className=\"cbx__box\">\n <svg className=\"cbx__mark\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path className=\"cbx__tick\" d=\"M3.5 8.5 L6.75 11.5 L12.5 4.75\" />\n </svg>\n <span className=\"cbx__dash\"></span>\n </span>\n </span>\n );\n}\n\nexport function MultiSelect({\n options = [],\n value: controlledValue,\n defaultValue = [],\n onChange,\n placeholder = 'Select options',\n size = 'default',\n disabled = false,\n invalid = false,\n loading = false,\n searchable = false,\n searchPlaceholder = 'Filter options',\n leadingIcon = null,\n id,\n ariaLabel,\n}: MultiSelectProps) {\n const { useState, useRef, useEffect, useId } = React;\n const [value, setValue] = useMsControllable<string[]>(\n controlledValue,\n defaultValue,\n onChange as ((next: string[], opt?: SelectOption) => void) | undefined,\n );\n const [open, setOpen] = useState(false);\n const [query, setQuery] = useState('');\n\n const triggerRef = useRef<HTMLButtonElement>(null),\n listRef = useRef<HTMLDivElement>(null),\n searchRef = useRef<HTMLInputElement>(null);\n const baseId = id || 'mselect-' + useId();\n const menuId = baseId + '-menu';\n const listId = baseId + '-list';\n\n const { groups, flat } = msNormalize(options);\n const values = Array.isArray(value) ? value : [];\n const isSelected = (v: string) => values.indexOf(v) !== -1;\n const selectedOptions = flat.filter((o) => isSelected(o.value));\n const navItems: SelectOption[] = [];\n groups.forEach((g) =>\n g.options.forEach((o) => {\n if (msMatches(o, query)) navItems.push(o);\n }),\n );\n\n const show = () => {\n if (!disabled && !loading) setOpen(true);\n };\n const hide = () => setOpen(false);\n const returnFocus = () => triggerRef.current && triggerRef.current.focus();\n\n function commit(opt: SelectOption) {\n if (!opt || opt.disabled) return;\n const next = isSelected(opt.value)\n ? values.filter((v) => v !== opt.value)\n : [...values, opt.value];\n setValue(next, opt);\n }\n\n useEffect(() => {\n if (!open) setQuery('');\n }, [open]);\n\n const { activeIdx, setActiveIdx, onMenuKeyDown } = useMsMenu({\n open,\n close: hide,\n returnFocus,\n triggerRef,\n listRef,\n searchRef,\n menuId,\n navItems,\n isSelected,\n commit,\n searchable,\n });\n\n const isPlaceholder = !loading && selectedOptions.length === 0;\n const adId = open && activeIdx >= 0 ? baseId + '-opt-' + activeIdx : undefined;\n let vIdx = -1;\n\n return (\n <div\n className=\"select\"\n data-multiple=\"true\"\n data-size={size === 'default' ? undefined : size}\n data-open={open ? 'true' : undefined}\n data-disabled={disabled ? 'true' : undefined}\n data-invalid={invalid ? 'true' : undefined}\n data-loading={loading ? 'true' : undefined}\n >\n <MsTrigger\n triggerRef={triggerRef}\n baseId={baseId}\n open={open}\n disabled={disabled}\n invalid={invalid}\n ariaLabel={ariaLabel}\n adId={adId}\n show={show}\n hide={hide}\n leading={leadingIcon || (selectedOptions.length === 1 && selectedOptions[0].icon) || null}\n text={loading ? 'Loading...' : isPlaceholder ? placeholder : selectedOptions[0].label}\n isPlaceholder={isPlaceholder}\n count={selectedOptions.length - 1}\n />\n\n <MsMenu open={open} menuId={menuId}>\n {searchable && !loading && (\n <MsSearchField\n searchRef={searchRef}\n query={query}\n onQuery={setQuery}\n onKeyDown={onMenuKeyDown}\n placeholder={searchPlaceholder}\n listId={listId}\n adId={adId}\n />\n )}\n\n <div\n className=\"select__list\"\n ref={listRef}\n id={listId}\n role=\"listbox\"\n aria-multiselectable=\"true\"\n tabIndex={-1}\n aria-label={ariaLabel}\n onKeyDown={searchable ? undefined : onMenuKeyDown}\n >\n {loading ? (\n <MsLoadingRows />\n ) : (\n <React.Fragment>\n {groups.map((g, gi) => (\n <div\n className=\"select__group\"\n role=\"group\"\n aria-label={g.label || undefined}\n key={gi}\n >\n {g.label && g.options.some((o) => msMatches(o, query)) && (\n <div className=\"select__group-label\">{g.label}</div>\n )}\n {g.options.map((opt) => {\n const visible = msMatches(opt, query);\n const i = visible ? ((vIdx += 1), vIdx) : -1;\n const isSel = isSelected(opt.value);\n const row = (\n <div\n key={opt.value}\n id={visible ? baseId + '-opt-' + i : undefined}\n data-idx={visible ? i : undefined}\n className=\"select__option\"\n role=\"option\"\n aria-selected={isSel}\n aria-hidden={!visible || undefined}\n aria-disabled={opt.disabled || undefined}\n data-selected={isSel ? 'true' : undefined}\n data-active={visible && i === activeIdx ? 'true' : undefined}\n data-disabled={opt.disabled ? 'true' : undefined}\n onMouseEnter={() => visible && !opt.disabled && setActiveIdx(i)}\n onMouseDown={(e) => e.preventDefault() /* keep focus on list */}\n onClick={() => visible && commit(opt)}\n >\n {opt.icon && (\n <span className=\"select__option-icon\">\n <IconSlot size=\"sm\">{opt.icon}</IconSlot>\n </span>\n )}\n <span className=\"select__option-text\">\n <span className=\"select__option-label\">{opt.label}</span>\n {opt.description && (\n <span className=\"select__option-desc\">{opt.description}</span>\n )}\n </span>\n <span className=\"select__option-check\">\n <CheckboxTick checked={isSel} />\n </span>\n </div>\n );\n return searchable ? (\n <MsFilterRow key={opt.value} visible={visible}>\n {row}\n </MsFilterRow>\n ) : (\n row\n );\n })}\n </div>\n ))}\n {navItems.length === 0 && <MsEmptyRow query={query} />}\n </React.Fragment>\n )}\n </div>\n </MsMenu>\n </div>\n );\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use client';import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
// src/components/icon/IconSlot.tsx
|
|
4
|
+
function IconSlot({ size = "md", children }) {
|
|
5
|
+
if (!children) return null;
|
|
6
|
+
return /* @__PURE__ */ jsx("span", { className: `icon-slot icon-slot--${size}`, children });
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export { IconSlot };
|
|
10
|
+
//# sourceMappingURL=chunk-VVPGEAC6.js.map
|
|
11
|
+
//# sourceMappingURL=chunk-VVPGEAC6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/icon/IconSlot.tsx"],"names":[],"mappings":";;;AAOO,SAAS,QAAA,CAAS,EAAE,IAAA,GAAO,IAAA,EAAM,UAAS,EAA8C;AAC7F,EAAA,IAAI,CAAC,UAAU,OAAO,IAAA;AACtB,EAAA,2BAAQ,MAAA,EAAA,EAAK,SAAA,EAAW,CAAA,qBAAA,EAAwB,IAAI,IAAK,QAAA,EAAS,CAAA;AACpE","file":"chunk-VVPGEAC6.js","sourcesContent":["'use client';\n\n// IconSlot - sizes a consumer-supplied icon node to the --icon-* tokens and currentColor.\n\nimport type { ReactNode } from 'react';\nimport type { IconSize } from './Icon';\n\nexport function IconSlot({ size = 'md', children }: { size?: IconSize; children?: ReactNode }) {\n if (!children) return null;\n return <span className={`icon-slot icon-slot--${size}`}>{children}</span>;\n}\n"]}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
'use client';import * as React from 'react';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
|
|
4
|
+
// src/components/checkbox/Checkbox.tsx
|
|
5
|
+
function Checkbox({
|
|
6
|
+
checked,
|
|
7
|
+
defaultChecked,
|
|
8
|
+
indeterminate = false,
|
|
9
|
+
invalid = false,
|
|
10
|
+
disabled = false,
|
|
11
|
+
size = "md",
|
|
12
|
+
label,
|
|
13
|
+
description,
|
|
14
|
+
className = "",
|
|
15
|
+
onChange,
|
|
16
|
+
...rest
|
|
17
|
+
}) {
|
|
18
|
+
const ref = React.useRef(null);
|
|
19
|
+
React.useEffect(() => {
|
|
20
|
+
if (ref.current) ref.current.indeterminate = indeterminate;
|
|
21
|
+
}, [indeterminate, checked]);
|
|
22
|
+
const classes = [
|
|
23
|
+
"cbx",
|
|
24
|
+
size === "sm" ? "cbx--sm" : "",
|
|
25
|
+
invalid ? "cbx--invalid" : "",
|
|
26
|
+
disabled ? "cbx--disabled" : "",
|
|
27
|
+
className
|
|
28
|
+
].filter(Boolean).join(" ");
|
|
29
|
+
const controlled = checked !== void 0;
|
|
30
|
+
const checkedProps = controlled ? { checked } : { defaultChecked };
|
|
31
|
+
return /* @__PURE__ */ jsxs("label", { className: classes, children: [
|
|
32
|
+
/* @__PURE__ */ jsx(
|
|
33
|
+
"input",
|
|
34
|
+
{
|
|
35
|
+
ref,
|
|
36
|
+
type: "checkbox",
|
|
37
|
+
className: "cbx__input",
|
|
38
|
+
disabled,
|
|
39
|
+
"aria-invalid": invalid || void 0,
|
|
40
|
+
onChange,
|
|
41
|
+
...checkedProps,
|
|
42
|
+
...rest
|
|
43
|
+
}
|
|
44
|
+
),
|
|
45
|
+
/* @__PURE__ */ jsxs("span", { className: "cbx__box", "aria-hidden": "true", children: [
|
|
46
|
+
/* @__PURE__ */ jsx("svg", { className: "cbx__mark", viewBox: "0 0 16 16", fill: "none", children: /* @__PURE__ */ jsx("path", { className: "cbx__tick", d: "M3.5 8.5 L6.75 11.5 L12.5 4.75" }) }),
|
|
47
|
+
/* @__PURE__ */ jsx("span", { className: "cbx__dash" })
|
|
48
|
+
] }),
|
|
49
|
+
label || description ? /* @__PURE__ */ jsxs("span", { className: "cbx__text", children: [
|
|
50
|
+
label ? /* @__PURE__ */ jsx("span", { className: "cbx__label", children: label }) : null,
|
|
51
|
+
description ? /* @__PURE__ */ jsx("span", { className: "cbx__desc", children: description }) : null
|
|
52
|
+
] }) : null
|
|
53
|
+
] });
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export { Checkbox };
|
|
57
|
+
//# sourceMappingURL=chunk-XA3T5KWA.js.map
|
|
58
|
+
//# sourceMappingURL=chunk-XA3T5KWA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/checkbox/Checkbox.tsx"],"names":[],"mappings":";;;;AA8BO,SAAS,QAAA,CAAS;AAAA,EACvB,OAAA;AAAA,EACA,cAAA;AAAA,EACA,aAAA,GAAgB,KAAA;AAAA,EAChB,OAAA,GAAU,KAAA;AAAA,EACV,QAAA,GAAW,KAAA;AAAA,EACX,IAAA,GAAO,IAAA;AAAA,EACP,KAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAkB;AAChB,EAAA,MAAM,GAAA,GAAY,aAAyB,IAAI,CAAA;AAG/C,EAAM,gBAAU,MAAM;AACpB,IAAA,IAAI,GAAA,CAAI,OAAA,EAAS,GAAA,CAAI,OAAA,CAAQ,aAAA,GAAgB,aAAA;AAAA,EAC/C,CAAA,EAAG,CAAC,aAAA,EAAe,OAAO,CAAC,CAAA;AAE3B,EAAA,MAAM,OAAA,GAAU;AAAA,IACd,KAAA;AAAA,IACA,IAAA,KAAS,OAAO,SAAA,GAAY,EAAA;AAAA,IAC5B,UAAU,cAAA,GAAiB,EAAA;AAAA,IAC3B,WAAW,eAAA,GAAkB,EAAA;AAAA,IAC7B;AAAA,GACF,CACG,MAAA,CAAO,OAAO,CAAA,CACd,KAAK,GAAG,CAAA;AAEX,EAAA,MAAM,aAAa,OAAA,KAAY,MAAA;AAC/B,EAAA,MAAM,eAAe,UAAA,GAAa,EAAE,OAAA,EAAQ,GAAI,EAAE,cAAA,EAAe;AAEjE,EAAA,uBACE,IAAA,CAAC,OAAA,EAAA,EAAM,SAAA,EAAW,OAAA,EAChB,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,IAAA,EAAK,UAAA;AAAA,QACL,SAAA,EAAU,YAAA;AAAA,QACV,QAAA;AAAA,QACA,gBAAc,OAAA,IAAW,MAAA;AAAA,QACzB,QAAA;AAAA,QACC,GAAG,YAAA;AAAA,QACH,GAAG;AAAA;AAAA,KACN;AAAA,oBACA,IAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,UAAA,EAAW,eAAY,MAAA,EACrC,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,WAAA,EAAY,OAAA,EAAQ,WAAA,EAAY,IAAA,EAAK,MAAA,EAClD,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,WAAA,EAAY,CAAA,EAAE,kCAAiC,CAAA,EACjE,CAAA;AAAA,sBACA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,WAAA,EAAY;AAAA,KAAA,EAC9B,CAAA;AAAA,IACC,KAAA,IAAS,WAAA,mBACR,IAAA,CAAC,MAAA,EAAA,EAAK,WAAU,WAAA,EACb,QAAA,EAAA;AAAA,MAAA,KAAA,mBAAQ,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,YAAA,EAAc,iBAAM,CAAA,GAAU,IAAA;AAAA,MACtD,8BAAc,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,WAAA,EAAa,uBAAY,CAAA,GAAU;AAAA,KAAA,EACpE,CAAA,GACE;AAAA,GAAA,EACN,CAAA;AAEJ","file":"chunk-XA3T5KWA.js","sourcesContent":["'use client';\n\n// Checkbox - checkbox primitive; on/off + indeterminate select-all.\n\nimport * as React from 'react';\n\nexport interface CheckboxProps extends Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n 'size' | 'type'\n> {\n /** Controlled checked state. Omit for uncontrolled (use `defaultChecked`). */\n checked?: boolean;\n /** Uncontrolled initial state. */\n defaultChecked?: boolean;\n /** Indeterminate - the \"some, not all\" select-all state; visually wins over `checked`. @default false */\n indeterminate?: boolean;\n /** Single error state for consent gates (\"you must agree\"); also sets `aria-invalid`. @default false */\n invalid?: boolean;\n /** Disabled - inert and de-emphasized (distinct fill when checked). */\n disabled?: boolean;\n /** Box size: `md` 18px - `sm` 16px for dense table rows. @default 'md' */\n size?: 'sm' | 'md';\n /** Label text beside the box. */\n label?: React.ReactNode;\n /** Optional secondary line under the label (settings rows). */\n description?: React.ReactNode;\n /** Fires on toggle - read `e.target.checked`. */\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n}\n\nexport function Checkbox({\n checked,\n defaultChecked,\n indeterminate = false,\n invalid = false,\n disabled = false,\n size = 'md',\n label,\n description,\n className = '',\n onChange,\n ...rest\n}: CheckboxProps) {\n const ref = React.useRef<HTMLInputElement>(null);\n\n // `indeterminate` is not an HTML attribute - push it onto the node directly.\n React.useEffect(() => {\n if (ref.current) ref.current.indeterminate = indeterminate;\n }, [indeterminate, checked]);\n\n const classes = [\n 'cbx',\n size === 'sm' ? 'cbx--sm' : '',\n invalid ? 'cbx--invalid' : '',\n disabled ? 'cbx--disabled' : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n const controlled = checked !== undefined;\n const checkedProps = controlled ? { checked } : { defaultChecked };\n\n return (\n <label className={classes}>\n <input\n ref={ref}\n type=\"checkbox\"\n className=\"cbx__input\"\n disabled={disabled}\n aria-invalid={invalid || undefined}\n onChange={onChange}\n {...checkedProps}\n {...rest}\n />\n <span className=\"cbx__box\" aria-hidden=\"true\">\n <svg className=\"cbx__mark\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path className=\"cbx__tick\" d=\"M3.5 8.5 L6.75 11.5 L12.5 4.75\" />\n </svg>\n <span className=\"cbx__dash\" />\n </span>\n {label || description ? (\n <span className=\"cbx__text\">\n {label ? <span className=\"cbx__label\">{label}</span> : null}\n {description ? <span className=\"cbx__desc\">{description}</span> : null}\n </span>\n ) : null}\n </label>\n );\n}\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use client';import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
// src/components/motion/Collapse.tsx
|
|
4
|
+
function Collapse({
|
|
5
|
+
open = false,
|
|
6
|
+
axis = "height",
|
|
7
|
+
fade = false,
|
|
8
|
+
className = "",
|
|
9
|
+
innerClassName = "",
|
|
10
|
+
children,
|
|
11
|
+
...rest
|
|
12
|
+
}) {
|
|
13
|
+
const classes = ["collapse", fade ? "collapse--fade" : "", className].filter(Boolean).join(" ");
|
|
14
|
+
return /* @__PURE__ */ jsx("div", { className: classes, "data-open": open ? "true" : "false", "data-axis": axis, ...rest, children: /* @__PURE__ */ jsx("div", { className: "collapse__inner " + innerClassName, children }) });
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export { Collapse };
|
|
18
|
+
//# sourceMappingURL=chunk-YSHJHSJM.js.map
|
|
19
|
+
//# sourceMappingURL=chunk-YSHJHSJM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/motion/Collapse.tsx"],"names":[],"mappings":";;;AAiBO,SAAS,QAAA,CAAS;AAAA,EACvB,IAAA,GAAO,KAAA;AAAA,EACP,IAAA,GAAO,QAAA;AAAA,EACP,IAAA,GAAO,KAAA;AAAA,EACP,SAAA,GAAY,EAAA;AAAA,EACZ,cAAA,GAAiB,EAAA;AAAA,EACjB,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAkB;AAChB,EAAA,MAAM,OAAA,GAAU,CAAC,UAAA,EAAY,IAAA,GAAO,gBAAA,GAAmB,EAAA,EAAI,SAAS,CAAA,CAAE,MAAA,CAAO,OAAO,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA;AAC9F,EAAA,2BACG,KAAA,EAAA,EAAI,SAAA,EAAW,SAAS,WAAA,EAAW,IAAA,GAAO,SAAS,OAAA,EAAS,WAAA,EAAW,IAAA,EAAO,GAAG,MAChF,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,WAAW,kBAAA,GAAqB,cAAA,EAAiB,UAAS,CAAA,EACjE,CAAA;AAEJ","file":"chunk-YSHJHSJM.js","sourcesContent":["'use client';\n\n// Collapse - open/closed layout transition via grid-fr; toggles data-attrs, styling in collapse.css.\n\nimport type { HTMLAttributes } from 'react';\n\nexport interface CollapseProps extends HTMLAttributes<HTMLDivElement> {\n /** Open/closed state. */\n open?: boolean;\n /** Axis to animate. @default 'height' */\n axis?: 'height' | 'width';\n /** Also cross-fade contents while resizing. */\n fade?: boolean;\n /** Class applied to the inner measured wrapper. */\n innerClassName?: string;\n}\n\nexport function Collapse({\n open = false,\n axis = 'height',\n fade = false,\n className = '',\n innerClassName = '',\n children,\n ...rest\n}: CollapseProps) {\n const classes = ['collapse', fade ? 'collapse--fade' : '', className].filter(Boolean).join(' ');\n return (\n <div className={classes} data-open={open ? 'true' : 'false'} data-axis={axis} {...rest}>\n <div className={'collapse__inner ' + innerClassName}>{children}</div>\n </div>\n );\n}\n"]}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
'use client';import { useControllable, normalize, matches, useSelectMenu, SelectTrigger, SelectMenu, SearchField, LoadingRows, FilterRow, EmptyRow } from './chunk-G6OY35DI.js';
|
|
2
|
+
import { IconSlot } from './chunk-VVPGEAC6.js';
|
|
3
|
+
import { Icon } from './chunk-KBWNUUWM.js';
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
6
|
+
|
|
7
|
+
function Select({
|
|
8
|
+
options = [],
|
|
9
|
+
value: controlledValue,
|
|
10
|
+
defaultValue = null,
|
|
11
|
+
onChange,
|
|
12
|
+
placeholder = "Select an option",
|
|
13
|
+
size = "default",
|
|
14
|
+
disabled = false,
|
|
15
|
+
invalid = false,
|
|
16
|
+
loading = false,
|
|
17
|
+
searchable = false,
|
|
18
|
+
searchPlaceholder = "Filter options",
|
|
19
|
+
leadingIcon = null,
|
|
20
|
+
id,
|
|
21
|
+
ariaLabel
|
|
22
|
+
}) {
|
|
23
|
+
const { useState, useRef, useEffect, useId } = React;
|
|
24
|
+
const [value, setValue] = useControllable(
|
|
25
|
+
controlledValue,
|
|
26
|
+
defaultValue,
|
|
27
|
+
onChange
|
|
28
|
+
);
|
|
29
|
+
const [open, setOpen] = useState(false);
|
|
30
|
+
const [query, setQuery] = useState("");
|
|
31
|
+
const triggerRef = useRef(null), listRef = useRef(null), searchRef = useRef(null);
|
|
32
|
+
const baseId = id || "select-" + useId();
|
|
33
|
+
const menuId = baseId + "-menu";
|
|
34
|
+
const listId = baseId + "-list";
|
|
35
|
+
const { groups, flat } = normalize(options);
|
|
36
|
+
const selected = flat.find((o) => o.value === value) || null;
|
|
37
|
+
const isSelected = (v) => v === value && value != null;
|
|
38
|
+
const navItems = [];
|
|
39
|
+
groups.forEach(
|
|
40
|
+
(g) => g.options.forEach((o) => {
|
|
41
|
+
if (matches(o, query)) navItems.push(o);
|
|
42
|
+
})
|
|
43
|
+
);
|
|
44
|
+
const show = () => {
|
|
45
|
+
if (!disabled && !loading) setOpen(true);
|
|
46
|
+
};
|
|
47
|
+
const hide = () => setOpen(false);
|
|
48
|
+
const returnFocus = () => triggerRef.current && triggerRef.current.focus();
|
|
49
|
+
function commit(opt) {
|
|
50
|
+
if (!opt || opt.disabled) return;
|
|
51
|
+
setValue(opt.value, opt);
|
|
52
|
+
hide();
|
|
53
|
+
returnFocus();
|
|
54
|
+
}
|
|
55
|
+
useEffect(() => {
|
|
56
|
+
if (!open) setQuery("");
|
|
57
|
+
}, [open]);
|
|
58
|
+
const { activeIdx, setActiveIdx, onMenuKeyDown } = useSelectMenu({
|
|
59
|
+
open,
|
|
60
|
+
close: hide,
|
|
61
|
+
returnFocus,
|
|
62
|
+
triggerRef,
|
|
63
|
+
listRef,
|
|
64
|
+
searchRef,
|
|
65
|
+
menuId,
|
|
66
|
+
navItems,
|
|
67
|
+
isSelected,
|
|
68
|
+
commit,
|
|
69
|
+
searchable
|
|
70
|
+
});
|
|
71
|
+
const isPlaceholder = !loading && !selected;
|
|
72
|
+
const adId = open && activeIdx >= 0 ? baseId + "-opt-" + activeIdx : void 0;
|
|
73
|
+
let vIdx = -1;
|
|
74
|
+
return /* @__PURE__ */ jsxs(
|
|
75
|
+
"div",
|
|
76
|
+
{
|
|
77
|
+
className: "select",
|
|
78
|
+
"data-size": size === "default" ? void 0 : size,
|
|
79
|
+
"data-open": open ? "true" : void 0,
|
|
80
|
+
"data-disabled": disabled ? "true" : void 0,
|
|
81
|
+
"data-invalid": invalid ? "true" : void 0,
|
|
82
|
+
"data-loading": loading ? "true" : void 0,
|
|
83
|
+
children: [
|
|
84
|
+
/* @__PURE__ */ jsx(
|
|
85
|
+
SelectTrigger,
|
|
86
|
+
{
|
|
87
|
+
triggerRef,
|
|
88
|
+
baseId,
|
|
89
|
+
open,
|
|
90
|
+
disabled,
|
|
91
|
+
invalid,
|
|
92
|
+
ariaLabel,
|
|
93
|
+
adId,
|
|
94
|
+
show,
|
|
95
|
+
hide,
|
|
96
|
+
leading: leadingIcon || selected && selected.icon || null,
|
|
97
|
+
text: loading ? "Loading..." : isPlaceholder ? placeholder : selected.label,
|
|
98
|
+
isPlaceholder
|
|
99
|
+
}
|
|
100
|
+
),
|
|
101
|
+
/* @__PURE__ */ jsxs(SelectMenu, { open, menuId, children: [
|
|
102
|
+
searchable && !loading && /* @__PURE__ */ jsx(
|
|
103
|
+
SearchField,
|
|
104
|
+
{
|
|
105
|
+
searchRef,
|
|
106
|
+
query,
|
|
107
|
+
onQuery: setQuery,
|
|
108
|
+
onKeyDown: onMenuKeyDown,
|
|
109
|
+
placeholder: searchPlaceholder,
|
|
110
|
+
listId,
|
|
111
|
+
adId
|
|
112
|
+
}
|
|
113
|
+
),
|
|
114
|
+
/* @__PURE__ */ jsx(
|
|
115
|
+
"div",
|
|
116
|
+
{
|
|
117
|
+
className: "select__list",
|
|
118
|
+
ref: listRef,
|
|
119
|
+
id: listId,
|
|
120
|
+
role: "listbox",
|
|
121
|
+
tabIndex: -1,
|
|
122
|
+
"aria-label": ariaLabel,
|
|
123
|
+
onKeyDown: searchable ? void 0 : onMenuKeyDown,
|
|
124
|
+
children: loading ? /* @__PURE__ */ jsx(LoadingRows, {}) : /* @__PURE__ */ jsxs(React.Fragment, { children: [
|
|
125
|
+
groups.map((g, gi) => /* @__PURE__ */ jsxs(
|
|
126
|
+
"div",
|
|
127
|
+
{
|
|
128
|
+
className: "select__group",
|
|
129
|
+
role: "group",
|
|
130
|
+
"aria-label": g.label || void 0,
|
|
131
|
+
children: [
|
|
132
|
+
g.label && g.options.some((o) => matches(o, query)) && /* @__PURE__ */ jsx("div", { className: "select__group-label", children: g.label }),
|
|
133
|
+
g.options.map((opt) => {
|
|
134
|
+
const visible = matches(opt, query);
|
|
135
|
+
const i = visible ? (vIdx += 1, vIdx) : -1;
|
|
136
|
+
const isSel = isSelected(opt.value);
|
|
137
|
+
const row = /* @__PURE__ */ jsxs(
|
|
138
|
+
"div",
|
|
139
|
+
{
|
|
140
|
+
id: visible ? baseId + "-opt-" + i : void 0,
|
|
141
|
+
"data-idx": visible ? i : void 0,
|
|
142
|
+
className: "select__option",
|
|
143
|
+
role: "option",
|
|
144
|
+
"aria-selected": isSel,
|
|
145
|
+
"aria-hidden": !visible || void 0,
|
|
146
|
+
"aria-disabled": opt.disabled || void 0,
|
|
147
|
+
"data-selected": isSel ? "true" : void 0,
|
|
148
|
+
"data-active": visible && i === activeIdx ? "true" : void 0,
|
|
149
|
+
"data-disabled": opt.disabled ? "true" : void 0,
|
|
150
|
+
onMouseEnter: () => visible && !opt.disabled && setActiveIdx(i),
|
|
151
|
+
onMouseDown: (e) => e.preventDefault(),
|
|
152
|
+
onClick: () => visible && commit(opt),
|
|
153
|
+
children: [
|
|
154
|
+
opt.icon && /* @__PURE__ */ jsx("span", { className: "select__option-icon", children: /* @__PURE__ */ jsx(IconSlot, { size: "sm", children: opt.icon }) }),
|
|
155
|
+
/* @__PURE__ */ jsxs("span", { className: "select__option-text", children: [
|
|
156
|
+
/* @__PURE__ */ jsx("span", { className: "select__option-label", children: opt.label }),
|
|
157
|
+
opt.description && /* @__PURE__ */ jsx("span", { className: "select__option-desc", children: opt.description })
|
|
158
|
+
] }),
|
|
159
|
+
/* @__PURE__ */ jsx("span", { className: "select__option-check", children: isSel && /* @__PURE__ */ jsx(Icon, { name: "check", size: "sm", weight: "bold" }, "on") })
|
|
160
|
+
]
|
|
161
|
+
},
|
|
162
|
+
opt.value
|
|
163
|
+
);
|
|
164
|
+
return searchable ? /* @__PURE__ */ jsx(FilterRow, { visible, children: row }, opt.value) : row;
|
|
165
|
+
})
|
|
166
|
+
]
|
|
167
|
+
},
|
|
168
|
+
gi
|
|
169
|
+
)),
|
|
170
|
+
navItems.length === 0 && /* @__PURE__ */ jsx(EmptyRow, { query })
|
|
171
|
+
] })
|
|
172
|
+
}
|
|
173
|
+
)
|
|
174
|
+
] })
|
|
175
|
+
]
|
|
176
|
+
}
|
|
177
|
+
);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
export { Select };
|
|
181
|
+
//# sourceMappingURL=chunk-YVHOAVSM.js.map
|
|
182
|
+
//# sourceMappingURL=chunk-YVHOAVSM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/select/Select.tsx"],"names":[],"mappings":"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","file":"chunk-YVHOAVSM.js","sourcesContent":["'use client';\n\n/* Select - single-select custom listbox; committing closes the menu and returns focus. */\nimport * as React from 'react';\nimport {\n useControllable,\n normalize,\n matches,\n useSelectMenu,\n SelectTrigger,\n SelectMenu,\n SearchField,\n FilterRow,\n EmptyRow,\n LoadingRows,\n type SelectOption,\n type SelectGroup,\n} from './select-core';\nimport { Icon } from '../icon/Icon';\nimport { IconSlot } from '../icon/IconSlot';\n\nexport interface SelectProps {\n options: SelectOption[] | SelectGroup[];\n /** Controlled value. */\n value?: string | null;\n defaultValue?: string | null;\n onChange?: (value: string, option: SelectOption) => void;\n placeholder?: string;\n size?: 'sm' | 'default' | 'lg';\n disabled?: boolean;\n /** Danger ring + border. */\n invalid?: boolean;\n /** Skeleton rows in the menu; trigger reads \"Loading...\". */\n loading?: boolean;\n /** Type-to-filter field pinned above the list. */\n searchable?: boolean;\n searchPlaceholder?: string;\n /** Your own icon node pinned before the trigger label; else the selected option's icon. */\n leadingIcon?: React.ReactNode;\n id?: string;\n ariaLabel?: string;\n}\n\nexport function Select({\n options = [],\n value: controlledValue,\n defaultValue = null,\n onChange,\n placeholder = 'Select an option',\n size = 'default',\n disabled = false,\n invalid = false,\n loading = false,\n searchable = false,\n searchPlaceholder = 'Filter options',\n leadingIcon = null,\n id,\n ariaLabel,\n}: SelectProps) {\n const { useState, useRef, useEffect, useId } = React;\n const [value, setValue] = useControllable<string | null>(\n controlledValue,\n defaultValue,\n onChange as ((next: string | null, opt?: SelectOption) => void) | undefined,\n );\n const [open, setOpen] = useState(false);\n const [query, setQuery] = useState('');\n\n const triggerRef = useRef<HTMLButtonElement>(null),\n listRef = useRef<HTMLDivElement>(null),\n searchRef = useRef<HTMLInputElement>(null);\n const baseId = id || 'select-' + useId();\n const menuId = baseId + '-menu';\n const listId = baseId + '-list';\n\n const { groups, flat } = normalize(options);\n const selected = flat.find((o) => o.value === value) || null;\n const isSelected = (v: string) => v === value && value != null;\n const navItems: SelectOption[] = [];\n groups.forEach((g) =>\n g.options.forEach((o) => {\n if (matches(o, query)) navItems.push(o);\n }),\n );\n\n const show = () => {\n if (!disabled && !loading) setOpen(true);\n };\n const hide = () => setOpen(false);\n const returnFocus = () => triggerRef.current && triggerRef.current.focus();\n\n function commit(opt: SelectOption) {\n if (!opt || opt.disabled) return;\n setValue(opt.value, opt);\n hide();\n returnFocus();\n }\n\n useEffect(() => {\n if (!open) setQuery('');\n }, [open]);\n\n const { activeIdx, setActiveIdx, onMenuKeyDown } = useSelectMenu({\n open,\n close: hide,\n returnFocus,\n triggerRef,\n listRef,\n searchRef,\n menuId,\n navItems,\n isSelected,\n commit,\n searchable,\n });\n\n const isPlaceholder = !loading && !selected;\n const adId = open && activeIdx >= 0 ? baseId + '-opt-' + activeIdx : undefined;\n let vIdx = -1;\n\n return (\n <div\n className=\"select\"\n data-size={size === 'default' ? undefined : size}\n data-open={open ? 'true' : undefined}\n data-disabled={disabled ? 'true' : undefined}\n data-invalid={invalid ? 'true' : undefined}\n data-loading={loading ? 'true' : undefined}\n >\n <SelectTrigger\n triggerRef={triggerRef}\n baseId={baseId}\n open={open}\n disabled={disabled}\n invalid={invalid}\n ariaLabel={ariaLabel}\n adId={adId}\n show={show}\n hide={hide}\n leading={leadingIcon || (selected && selected.icon) || null}\n text={loading ? 'Loading...' : isPlaceholder ? placeholder : selected.label}\n isPlaceholder={isPlaceholder}\n />\n\n <SelectMenu open={open} menuId={menuId}>\n {searchable && !loading && (\n <SearchField\n searchRef={searchRef}\n query={query}\n onQuery={setQuery}\n onKeyDown={onMenuKeyDown}\n placeholder={searchPlaceholder}\n listId={listId}\n adId={adId}\n />\n )}\n\n <div\n className=\"select__list\"\n ref={listRef}\n id={listId}\n role=\"listbox\"\n tabIndex={-1}\n aria-label={ariaLabel}\n onKeyDown={searchable ? undefined : onMenuKeyDown}\n >\n {loading ? (\n <LoadingRows />\n ) : (\n <React.Fragment>\n {groups.map((g, gi) => (\n <div\n className=\"select__group\"\n role=\"group\"\n aria-label={g.label || undefined}\n key={gi}\n >\n {g.label && g.options.some((o) => matches(o, query)) && (\n <div className=\"select__group-label\">{g.label}</div>\n )}\n {g.options.map((opt) => {\n const visible = matches(opt, query);\n const i = visible ? ((vIdx += 1), vIdx) : -1;\n const isSel = isSelected(opt.value);\n const row = (\n <div\n key={opt.value}\n id={visible ? baseId + '-opt-' + i : undefined}\n data-idx={visible ? i : undefined}\n className=\"select__option\"\n role=\"option\"\n aria-selected={isSel}\n aria-hidden={!visible || undefined}\n aria-disabled={opt.disabled || undefined}\n data-selected={isSel ? 'true' : undefined}\n data-active={visible && i === activeIdx ? 'true' : undefined}\n data-disabled={opt.disabled ? 'true' : undefined}\n onMouseEnter={() => visible && !opt.disabled && setActiveIdx(i)}\n onMouseDown={(e) => e.preventDefault() /* keep focus on list */}\n onClick={() => visible && commit(opt)}\n >\n {opt.icon && (\n <span className=\"select__option-icon\">\n <IconSlot size=\"sm\">{opt.icon}</IconSlot>\n </span>\n )}\n <span className=\"select__option-text\">\n <span className=\"select__option-label\">{opt.label}</span>\n {opt.description && (\n <span className=\"select__option-desc\">{opt.description}</span>\n )}\n </span>\n <span className=\"select__option-check\">\n {isSel && <Icon key=\"on\" name=\"check\" size=\"sm\" weight=\"bold\" />}\n </span>\n </div>\n );\n return searchable ? (\n <FilterRow key={opt.value} visible={visible}>\n {row}\n </FilterRow>\n ) : (\n row\n );\n })}\n </div>\n ))}\n {navItems.length === 0 && <EmptyRow query={query} />}\n </React.Fragment>\n )}\n </div>\n </SelectMenu>\n </div>\n );\n}\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { HTMLAttributes } from 'react';
|
|
3
|
+
|
|
4
|
+
interface CollapseProps extends HTMLAttributes<HTMLDivElement> {
|
|
5
|
+
/** Open/closed state. */
|
|
6
|
+
open?: boolean;
|
|
7
|
+
/** Axis to animate. @default 'height' */
|
|
8
|
+
axis?: 'height' | 'width';
|
|
9
|
+
/** Also cross-fade contents while resizing. */
|
|
10
|
+
fade?: boolean;
|
|
11
|
+
/** Class applied to the inner measured wrapper. */
|
|
12
|
+
innerClassName?: string;
|
|
13
|
+
}
|
|
14
|
+
declare function Collapse({ open, axis, fade, className, innerClassName, children, ...rest }: CollapseProps): React.JSX.Element;
|
|
15
|
+
|
|
16
|
+
export { Collapse, type CollapseProps };
|
package/dist/collapse.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"collapse.js"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { BadgeProps } from './badge.js';
|
|
3
|
+
|
|
4
|
+
interface CountBadgeProps extends Omit<BadgeProps, 'children'> {
|
|
5
|
+
value: string | number;
|
|
6
|
+
/** Odometer: digits roll vertically on change. */
|
|
7
|
+
roll?: boolean;
|
|
8
|
+
}
|
|
9
|
+
declare function CountBadge({ value, tone, roll, ...rest }: CountBadgeProps): React.JSX.Element;
|
|
10
|
+
|
|
11
|
+
export { CountBadge, type CountBadgeProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"count-badge.js"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
interface DtpPanelProps {
|
|
5
|
+
val: string | null;
|
|
6
|
+
commit: (key: string) => void;
|
|
7
|
+
min?: string;
|
|
8
|
+
max?: string;
|
|
9
|
+
timezone?: string;
|
|
10
|
+
label?: string;
|
|
11
|
+
close: () => void;
|
|
12
|
+
slot?: ReactNode;
|
|
13
|
+
}
|
|
14
|
+
declare function DtpPanel({ val, commit, min, max, timezone, label, close, slot }: DtpPanelProps): React.JSX.Element;
|
|
15
|
+
interface DateFieldProps {
|
|
16
|
+
/** Controlled value, 'YYYY-MM-DD'. */
|
|
17
|
+
value?: string | null;
|
|
18
|
+
defaultValue?: string | null;
|
|
19
|
+
onChange?: (value: string) => void;
|
|
20
|
+
label?: string;
|
|
21
|
+
placeholder?: string;
|
|
22
|
+
/** IANA timezone name (e.g. 'Europe/Riga') - display context only, shown with its GMT offset in the footer. */
|
|
23
|
+
timezone?: string;
|
|
24
|
+
/** Earliest pickable date, 'YYYY-MM-DD', inclusive. */
|
|
25
|
+
min?: string;
|
|
26
|
+
/** Latest pickable date, 'YYYY-MM-DD', inclusive. */
|
|
27
|
+
max?: string;
|
|
28
|
+
/** Asterisk on the label. */
|
|
29
|
+
required?: boolean;
|
|
30
|
+
/** Danger border + message color (.fld is-error). */
|
|
31
|
+
invalid?: boolean;
|
|
32
|
+
/** Helper / error text under the field. */
|
|
33
|
+
message?: string;
|
|
34
|
+
disabled?: boolean;
|
|
35
|
+
className?: string;
|
|
36
|
+
}
|
|
37
|
+
declare function DateField({ value, defaultValue, onChange, label, placeholder, timezone, min, max, required, invalid, message, disabled, className, }: DateFieldProps): React.JSX.Element;
|
|
38
|
+
|
|
39
|
+
export { DateField, type DateFieldProps, DtpPanel, type DtpPanelProps };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use client';export { DateField, DtpPanel } from './chunk-CV2Q4YXX.js';
|
|
2
|
+
import './chunk-UIQGSTBJ.js';
|
|
3
|
+
import './chunk-QNC6O3PG.js';
|
|
4
|
+
import './chunk-QFS52OK5.js';
|
|
5
|
+
import './chunk-KBWNUUWM.js';
|
|
6
|
+
import './chunk-37O2ZXD6.js';
|
|
7
|
+
//# sourceMappingURL=date-field.js.map
|
|
8
|
+
//# sourceMappingURL=date-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"date-field.js"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
/** A date range as wall-clock 'YYYY-MM-DD' endpoints, inclusive. */
|
|
4
|
+
interface DateRange {
|
|
5
|
+
start: string;
|
|
6
|
+
end: string;
|
|
7
|
+
}
|
|
8
|
+
interface DateRangeFieldProps {
|
|
9
|
+
/** Controlled value - both endpoints, or null when empty. */
|
|
10
|
+
value?: DateRange | null;
|
|
11
|
+
defaultValue?: DateRange | null;
|
|
12
|
+
/** Fires only on a COMPLETE range (a lone anchor never commits). */
|
|
13
|
+
onChange?: (value: DateRange) => void;
|
|
14
|
+
label?: string;
|
|
15
|
+
placeholder?: string;
|
|
16
|
+
/** IANA timezone (e.g. 'Europe/Riga') - display context, shown in the footer. */
|
|
17
|
+
timezone?: string;
|
|
18
|
+
/** Earliest pickable date, 'YYYY-MM-DD', inclusive. */
|
|
19
|
+
min?: string;
|
|
20
|
+
/** Latest pickable date, 'YYYY-MM-DD', inclusive. */
|
|
21
|
+
max?: string;
|
|
22
|
+
required?: boolean;
|
|
23
|
+
invalid?: boolean;
|
|
24
|
+
message?: string;
|
|
25
|
+
disabled?: boolean;
|
|
26
|
+
className?: string;
|
|
27
|
+
}
|
|
28
|
+
declare function DateRangeField({ value, defaultValue, onChange, label, placeholder, timezone, min, max, required, invalid, message, disabled, className, }: DateRangeFieldProps): React.JSX.Element;
|
|
29
|
+
|
|
30
|
+
export { type DateRange, DateRangeField, type DateRangeFieldProps };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use client';export { DateRangeField } from './chunk-OUBWD6CX.js';
|
|
2
|
+
import './chunk-UIQGSTBJ.js';
|
|
3
|
+
import './chunk-QNC6O3PG.js';
|
|
4
|
+
import './chunk-QFS52OK5.js';
|
|
5
|
+
import './chunk-KBWNUUWM.js';
|
|
6
|
+
import './chunk-37O2ZXD6.js';
|
|
7
|
+
//# sourceMappingURL=date-range-field.js.map
|
|
8
|
+
//# sourceMappingURL=date-range-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"date-range-field.js"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
interface DateTimeFieldProps {
|
|
4
|
+
/** Controlled value, 'YYYY-MM-DDTHH:mm'. */
|
|
5
|
+
value?: string | null;
|
|
6
|
+
defaultValue?: string | null;
|
|
7
|
+
onChange?: (value: string) => void;
|
|
8
|
+
label?: string;
|
|
9
|
+
placeholder?: string;
|
|
10
|
+
/** IANA timezone (e.g. 'Europe/Riga') - display context, shown in the footer. */
|
|
11
|
+
timezone?: string;
|
|
12
|
+
/** Lower bound - 'YYYY-MM-DD' or 'YYYY-MM-DDTHH:mm', inclusive. */
|
|
13
|
+
min?: string;
|
|
14
|
+
/** Upper bound - 'YYYY-MM-DD' or 'YYYY-MM-DDTHH:mm', inclusive. */
|
|
15
|
+
max?: string;
|
|
16
|
+
/** Time display only; storage stays 24h. Default '24h'. */
|
|
17
|
+
format?: '24h' | '12h';
|
|
18
|
+
/** ↑/↓ step granularity in minutes (typing is exact). Default 5. */
|
|
19
|
+
minuteStep?: number;
|
|
20
|
+
required?: boolean;
|
|
21
|
+
invalid?: boolean;
|
|
22
|
+
message?: string;
|
|
23
|
+
disabled?: boolean;
|
|
24
|
+
className?: string;
|
|
25
|
+
}
|
|
26
|
+
declare function DateTimeField({ value, defaultValue, onChange, label, placeholder, timezone, min, max, format, minuteStep, required, invalid, message, disabled, className, }: DateTimeFieldProps): React.JSX.Element;
|
|
27
|
+
|
|
28
|
+
export { DateTimeField, type DateTimeFieldProps };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use client';export { DateTimeField } from './chunk-NMFQRGLL.js';
|
|
2
|
+
import './chunk-5DDOOT33.js';
|
|
3
|
+
import './chunk-CV2Q4YXX.js';
|
|
4
|
+
import './chunk-UIQGSTBJ.js';
|
|
5
|
+
import './chunk-QNC6O3PG.js';
|
|
6
|
+
import './chunk-QFS52OK5.js';
|
|
7
|
+
import './chunk-KBWNUUWM.js';
|
|
8
|
+
import './chunk-37O2ZXD6.js';
|
|
9
|
+
//# sourceMappingURL=datetime-field.js.map
|
|
10
|
+
//# sourceMappingURL=datetime-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"datetime-field.js"}
|
package/dist/dialog.d.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
interface DialogProps {
|
|
4
|
+
/** Controlled open state. Omit for uncontrolled (use defaultOpen + trigger). */
|
|
5
|
+
open?: boolean;
|
|
6
|
+
defaultOpen?: boolean;
|
|
7
|
+
onOpenChange?: (open: boolean) => void;
|
|
8
|
+
/** Optional element cloned to open the dialog on click (uncontrolled ergonomics). */
|
|
9
|
+
trigger?: React.ReactElement | null;
|
|
10
|
+
title?: React.ReactNode;
|
|
11
|
+
description?: React.ReactNode;
|
|
12
|
+
size?: 'sm' | 'md' | 'lg';
|
|
13
|
+
/** 'danger' tints the header icon badge + is the convention for destructive confirms. */
|
|
14
|
+
tone?: 'default' | 'danger';
|
|
15
|
+
/** Your own icon node for the header badge (alert dialogs). */
|
|
16
|
+
icon?: React.ReactNode;
|
|
17
|
+
/** Close button + backdrop/Esc dismissal. Default true. */
|
|
18
|
+
dismissible?: boolean;
|
|
19
|
+
/** Action row - a node, or a render fn `(close) => node` so uncontrolled dialogs can dismiss. */
|
|
20
|
+
footer?: React.ReactNode | ((close: () => void) => React.ReactNode);
|
|
21
|
+
children?: React.ReactNode;
|
|
22
|
+
id?: string;
|
|
23
|
+
}
|
|
24
|
+
declare function Dialog({ open, defaultOpen, onOpenChange, trigger, title, description, size, tone, icon, dismissible, footer, children, id, }: DialogProps): React.JSX.Element;
|
|
25
|
+
|
|
26
|
+
export { Dialog, type DialogProps };
|
package/dist/dialog.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"dialog.js"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export { Button, ButtonProps } from './button.js';
|
|
2
|
+
export { Collapse, CollapseProps } from './collapse.js';
|
|
3
|
+
export { Badge, BadgeProps, BadgeTone } from './badge.js';
|
|
4
|
+
export { POST_STATUS, PostStatus, StatusBadge, StatusBadgeProps } from './status-badge.js';
|
|
5
|
+
export { CountBadge, CountBadgeProps } from './count-badge.js';
|
|
6
|
+
export { Avatar, AvatarPaletteIndex, AvatarProps, AvatarShape, AvatarSize, AvatarStatus } from './avatar.js';
|
|
7
|
+
export { AvatarGroup, AvatarGroupProps } from './avatar-group.js';
|
|
8
|
+
export { Tag, TagGroup, TagGroupProps, TagProps } from './tag.js';
|
|
9
|
+
export { ToggleTag, ToggleTagProps } from './toggle-tag.js';
|
|
10
|
+
export { Table, TableAlign, TableColumn, TableHideBelow, TableProps, TableSort } from './table.js';
|
|
11
|
+
export { Pagination, PaginationProps } from './pagination.js';
|
|
12
|
+
export { TextField, TextFieldProps } from './text-field.js';
|
|
13
|
+
export { NumberField, NumberFieldProps } from './number-field.js';
|
|
14
|
+
export { OtpField, OtpFieldProps } from './otp-field.js';
|
|
15
|
+
export { Textarea, TextareaProps } from './textarea.js';
|
|
16
|
+
export { Checkbox, CheckboxProps } from './checkbox.js';
|
|
17
|
+
export { Toggle, ToggleProps } from './toggle.js';
|
|
18
|
+
export { RadioGroup, RadioGroupProps, RadioOption } from './radio-group.js';
|
|
19
|
+
export { Select, SelectProps } from './select.js';
|
|
20
|
+
export { MultiSelect, MultiSelectProps } from './multi-select.js';
|
|
21
|
+
export { S as SelectGroup, a as SelectOption } from './select-core-SAyS-8w0.js';
|
|
22
|
+
export { DateField, DateFieldProps, DtpPanel, DtpPanelProps } from './date-field.js';
|
|
23
|
+
export { DateTimeField, DateTimeFieldProps } from './datetime-field.js';
|
|
24
|
+
export { DateRange, DateRangeField, DateRangeFieldProps } from './date-range-field.js';
|
|
25
|
+
export { TimeField, TimeFieldProps } from './time-field.js';
|
|
26
|
+
export { TabItem, TabPanel, TabPanelProps, Tabs, TabsProps } from './tabs.js';
|
|
27
|
+
export { Overlay, OverlayProps } from './overlay.js';
|
|
28
|
+
export { Dialog, DialogProps } from './dialog.js';
|
|
29
|
+
export { Tooltip, TooltipHost, TooltipProps } from './tooltip.js';
|
|
30
|
+
export { Alert, AlertAction, AlertProps, AlertTone } from './alert.js';
|
|
31
|
+
export { Toaster } from './toast.js';
|
|
32
|
+
export { ToastAction, ToastApi, ToastOptions, ToastPromiseMsgs, ToastRecord, ToastSnapshot, ToastTone, UIToast, toast } from './toast-store.js';
|
|
33
|
+
export { Bezier, MotionTokens, UIMotion } from './motion-tokens.js';
|
|
34
|
+
import 'react';
|
|
35
|
+
import 'motion/react';
|