UNPKG

react-aria-components

Version:

A library of styleable components built using React Aria

892 lines (882 loc) • 359 kB
var $7e3b9f6c0d3f98a7$exports = require("./ar-AE.main.js"); var $7c11c8bafabff514$exports = require("./bg-BG.main.js"); var $d55d6a46d896aa4e$exports = require("./cs-CZ.main.js"); var $0bf85a6224525466$exports = require("./da-DK.main.js"); var $3cffc1bd30a143a7$exports = require("./de-DE.main.js"); var $af25cfd8212114c4$exports = require("./el-GR.main.js"); var $4f0d6cca330ebbae$exports = require("./en-US.main.js"); var $1e942d208b3f081e$exports = require("./es-ES.main.js"); var $7ecf22cba6524ed5$exports = require("./et-EE.main.js"); var $4c3e2c694f8954f2$exports = require("./fi-FI.main.js"); var $5c093d840945be34$exports = require("./fr-FR.main.js"); var $54ebe5cc44e081ca$exports = require("./he-IL.main.js"); var $c87f289edc3c8208$exports = require("./hr-HR.main.js"); var $6752ef148a3dc43f$exports = require("./hu-HU.main.js"); var $58fa24283081b65c$exports = require("./it-IT.main.js"); var $770533c19d7b553a$exports = require("./ja-JP.main.js"); var $de8f7b8ad7f54d6d$exports = require("./ko-KR.main.js"); var $de235b5235305f02$exports = require("./lt-LT.main.js"); var $1badb5b4b4fa9042$exports = require("./lv-LV.main.js"); var $e0e47ca0931d41e2$exports = require("./nb-NO.main.js"); var $adb96033a361a81b$exports = require("./nl-NL.main.js"); var $96ebda5b7b663ef6$exports = require("./pl-PL.main.js"); var $010ef53c23794e08$exports = require("./pt-BR.main.js"); var $a0d0918dbe8cd238$exports = require("./pt-PT.main.js"); var $b73baeec3a0b138d$exports = require("./ro-RO.main.js"); var $aed1f56161d4731e$exports = require("./ru-RU.main.js"); var $3ff95b3a8291cbd7$exports = require("./sk-SK.main.js"); var $c7459bccfcc668d8$exports = require("./sl-SI.main.js"); var $d4deb497858acd42$exports = require("./sr-SP.main.js"); var $f07511ec9106f700$exports = require("./sv-SE.main.js"); var $8ecd910775d75b2a$exports = require("./tr-TR.main.js"); var $db0c53fb82554560$exports = require("./uk-UA.main.js"); var $c6fb62cc552205b8$exports = require("./zh-CN.main.js"); var $1830911445b53dbf$exports = require("./zh-TW.main.js"); require("client-only"); var $bzgmy$reactaria = require("react-aria"); var $bzgmy$reactstately = require("react-stately"); var $bzgmy$reactariautils = require("@react-aria/utils"); var $bzgmy$react = require("react"); var $bzgmy$reactdom = require("react-dom"); var $bzgmy$usesyncexternalstoreshimindexjs = require("use-sync-external-store/shim/index.js"); var $bzgmy$internationalizeddate = require("@internationalized/date"); var $bzgmy$reactariainteractions = require("@react-aria/interactions"); var $bzgmy$reactstatelymenu = require("@react-stately/menu"); var $bzgmy$reactariamenu = require("@react-aria/menu"); var $bzgmy$reactstatelyutils = require("@react-stately/utils"); var $bzgmy$reactstatelytable = require("@react-stately/table"); var $bzgmy$reactariatoolbar = require("@react-aria/toolbar"); var $bzgmy$reactariafocus = require("@react-aria/focus"); function $parcel$export(e, n, v, s) { Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true}); } function $parcel$interopDefault(a) { return a && a.__esModule ? a.default : a; } $parcel$export(module.exports, "Breadcrumbs", () => $afa44b644f65ed30$export$2dc68d50d56fbbd); $parcel$export(module.exports, "BreadcrumbsContext", () => $afa44b644f65ed30$export$65596d3621b0a4a0); $parcel$export(module.exports, "Breadcrumb", () => $afa44b644f65ed30$export$dabcc1ec9dd9d1cc); $parcel$export(module.exports, "Button", () => $b856e6788a7ea5bf$export$353f5b6fc5456de1); $parcel$export(module.exports, "ButtonContext", () => $b856e6788a7ea5bf$export$24d547caef80ccd1); $parcel$export(module.exports, "Calendar", () => $3f539f26b167ddde$export$e1aef45b828286de); $parcel$export(module.exports, "CalendarGrid", () => $3f539f26b167ddde$export$5bd780d491cfc46c); $parcel$export(module.exports, "CalendarGridHeader", () => $3f539f26b167ddde$export$22e2d15eaa4d2377); $parcel$export(module.exports, "CalendarGridBody", () => $3f539f26b167ddde$export$e11f8ba65d857bff); $parcel$export(module.exports, "CalendarHeaderCell", () => $3f539f26b167ddde$export$ad2135cac3a11b3d); $parcel$export(module.exports, "CalendarCell", () => $3f539f26b167ddde$export$5d847498420df57b); $parcel$export(module.exports, "RangeCalendar", () => $3f539f26b167ddde$export$a4f5c8b89d277a8d); $parcel$export(module.exports, "CalendarContext", () => $3f539f26b167ddde$export$3b805cea1f178355); $parcel$export(module.exports, "RangeCalendarContext", () => $3f539f26b167ddde$export$233dd9682e1ad64b); $parcel$export(module.exports, "CalendarStateContext", () => $3f539f26b167ddde$export$9e31dcedda1dadc7); $parcel$export(module.exports, "RangeCalendarStateContext", () => $3f539f26b167ddde$export$5e0fc348c00f87a0); $parcel$export(module.exports, "Checkbox", () => $e733553516d848a9$export$48513f6b9f8ce62d); $parcel$export(module.exports, "CheckboxGroup", () => $e733553516d848a9$export$4aa08d5625cb8ead); $parcel$export(module.exports, "CheckboxGroupContext", () => $e733553516d848a9$export$baf37c4be89255b8); $parcel$export(module.exports, "CheckboxContext", () => $e733553516d848a9$export$b085522c77523c51); $parcel$export(module.exports, "CheckboxGroupStateContext", () => $e733553516d848a9$export$139c5b8563afc1fc); $parcel$export(module.exports, "ComboBox", () => $1d716ce69f118fad$export$72b9695b8216309a); $parcel$export(module.exports, "ComboBoxContext", () => $1d716ce69f118fad$export$d414ccceff7063c3); $parcel$export(module.exports, "ComboBoxStateContext", () => $1d716ce69f118fad$export$c02625b26074192c); $parcel$export(module.exports, "composeRenderProps", () => $c5ccf687772c0422$export$c245e6201fed2f75); $parcel$export(module.exports, "Provider", () => $c5ccf687772c0422$export$2881499e37b75b9a); $parcel$export(module.exports, "useContextProps", () => $c5ccf687772c0422$export$29f1550f4b0d4415); $parcel$export(module.exports, "useSlottedContext", () => $c5ccf687772c0422$export$fabf2dc03a41866e); $parcel$export(module.exports, "DateField", () => $9eb4e1c2268ca198$export$d9781c7894a82487); $parcel$export(module.exports, "DateInput", () => $9eb4e1c2268ca198$export$7edc06cf1783b30f); $parcel$export(module.exports, "DateSegment", () => $9eb4e1c2268ca198$export$336ab7fa954c4b5f); $parcel$export(module.exports, "TimeField", () => $9eb4e1c2268ca198$export$5eaee2322dd727eb); $parcel$export(module.exports, "DateFieldContext", () => $9eb4e1c2268ca198$export$7b3e670c86da5fe8); $parcel$export(module.exports, "TimeFieldContext", () => $9eb4e1c2268ca198$export$8e17ddc448e87c1e); $parcel$export(module.exports, "DateFieldStateContext", () => $9eb4e1c2268ca198$export$3b08bebcf796eea0); $parcel$export(module.exports, "TimeFieldStateContext", () => $9eb4e1c2268ca198$export$5d8dc44abd10a920); $parcel$export(module.exports, "DatePicker", () => $adfe8d3f75d5162e$export$5109c6dd95d8fb00); $parcel$export(module.exports, "DateRangePicker", () => $adfe8d3f75d5162e$export$17334619f3ac2224); $parcel$export(module.exports, "DatePickerContext", () => $adfe8d3f75d5162e$export$cf316c7f3b44c11e); $parcel$export(module.exports, "DateRangePickerContext", () => $adfe8d3f75d5162e$export$8282edba42ee28a); $parcel$export(module.exports, "DatePickerStateContext", () => $adfe8d3f75d5162e$export$50a10c048fdcdee9); $parcel$export(module.exports, "DateRangePickerStateContext", () => $adfe8d3f75d5162e$export$80d7ae1f804790be); $parcel$export(module.exports, "DialogTrigger", () => $2979ab89b336194b$export$2e1e1122cf0cba88); $parcel$export(module.exports, "Dialog", () => $2979ab89b336194b$export$3ddf2d174ce01153); $parcel$export(module.exports, "DialogContext", () => $2979ab89b336194b$export$8b93a07348a7730c); $parcel$export(module.exports, "OverlayTriggerStateContext", () => $2979ab89b336194b$export$d2f961adcb0afbe); $parcel$export(module.exports, "DropZone", () => $80a65baccb138f12$export$3c6489d84dc98b6); $parcel$export(module.exports, "DropZoneContext", () => $80a65baccb138f12$export$14a72053295ff9a6); $parcel$export(module.exports, "FieldError", () => $846a838139f2ac6b$export$f551688fc98f2e09); $parcel$export(module.exports, "FieldErrorContext", () => $846a838139f2ac6b$export$ff05c3ac10437e03); $parcel$export(module.exports, "FileTrigger", () => $8e055a19745f522c$export$6fb4a10d2c950550); $parcel$export(module.exports, "Form", () => $35157657e549736b$export$a7fed597f4b8afd8); $parcel$export(module.exports, "GridList", () => $132cbde493282f82$export$a7bfbda1311ca015); $parcel$export(module.exports, "GridListItem", () => $132cbde493282f82$export$e96fc9a8407faa6b); $parcel$export(module.exports, "GridListContext", () => $132cbde493282f82$export$54fe942636b6416d); $parcel$export(module.exports, "Group", () => $dcae72abc18c0045$export$eb2fcfdbd7ba97d4); $parcel$export(module.exports, "GroupContext", () => $dcae72abc18c0045$export$f9c6924e160136d1); $parcel$export(module.exports, "Header", () => $c7efb75a1a3fe2d2$export$8b251419efc915eb); $parcel$export(module.exports, "HeaderContext", () => $c7efb75a1a3fe2d2$export$e0e4026c12a8bdbb); $parcel$export(module.exports, "Heading", () => $1063ac64677bb13f$export$a8a3e93435678ff9); $parcel$export(module.exports, "HeadingContext", () => $1063ac64677bb13f$export$d688439359537581); $parcel$export(module.exports, "Input", () => $1bcfcef5af644e13$export$f5b8910cec6cf069); $parcel$export(module.exports, "InputContext", () => $1bcfcef5af644e13$export$37fb8590cf2c088c); $parcel$export(module.exports, "Section", () => $3114c2382242bdc0$export$6e2c8f0811a474ce); $parcel$export(module.exports, "Collection", () => $3114c2382242bdc0$export$fb8073518f34e6ec); $parcel$export(module.exports, "Keyboard", () => $70c886ca98ebdc2b$export$16e4d70cc375e707); $parcel$export(module.exports, "KeyboardContext", () => $70c886ca98ebdc2b$export$744d98a3b8a94e1c); $parcel$export(module.exports, "Label", () => $84ae0bf5bd8e2a5f$export$b04be29aa201d4f5); $parcel$export(module.exports, "LabelContext", () => $84ae0bf5bd8e2a5f$export$75b6ee27786ba447); $parcel$export(module.exports, "Link", () => $c87397ee936d2bda$export$a6c7ac8248d6e38a); $parcel$export(module.exports, "LinkContext", () => $c87397ee936d2bda$export$e2509388b49734e7); $parcel$export(module.exports, "ListBox", () => $a03b42240404b420$export$41f133550aa26f48); $parcel$export(module.exports, "ListBoxItem", () => $a03b42240404b420$export$a11e76429ed99b4); $parcel$export(module.exports, "ListBoxContext", () => $a03b42240404b420$export$7ff8f37d2d81a48d); $parcel$export(module.exports, "ListStateContext", () => $a03b42240404b420$export$7c5906fe4f1f2af2); $parcel$export(module.exports, "Menu", () => $a8f6e7d095d1cc86$export$d9b273488cd8ce6f); $parcel$export(module.exports, "MenuItem", () => $a8f6e7d095d1cc86$export$2ce376c2cc3355c8); $parcel$export(module.exports, "MenuTrigger", () => $a8f6e7d095d1cc86$export$27d2ad3c5815583e); $parcel$export(module.exports, "MenuContext", () => $a8f6e7d095d1cc86$export$c7e742effb1c51e2); $parcel$export(module.exports, "MenuStateContext", () => $a8f6e7d095d1cc86$export$24aad8519b95b41b); $parcel$export(module.exports, "RootMenuTriggerStateContext", () => $a8f6e7d095d1cc86$export$795aec4671cbae19); $parcel$export(module.exports, "SubmenuTrigger", () => $a8f6e7d095d1cc86$export$ecabc99eeffab7ca); $parcel$export(module.exports, "Meter", () => $e85da53562ca5320$export$62e3ae2a4090b879); $parcel$export(module.exports, "MeterContext", () => $e85da53562ca5320$export$8b645da15a96b44f); $parcel$export(module.exports, "Modal", () => $71899cff63e14b82$export$2b77a92f1a5ad772); $parcel$export(module.exports, "ModalOverlay", () => $71899cff63e14b82$export$8948f78d83984c69); $parcel$export(module.exports, "ModalContext", () => $71899cff63e14b82$export$ab57792b9b6974a6); $parcel$export(module.exports, "NumberField", () => $177b28eee7968d58$export$63c5fa0b2fdccd2e); $parcel$export(module.exports, "NumberFieldContext", () => $177b28eee7968d58$export$b414a48cf5dcbc11); $parcel$export(module.exports, "NumberFieldStateContext", () => $177b28eee7968d58$export$6cc906c6cff9bec5); $parcel$export(module.exports, "OverlayArrow", () => $ee5958cbdc6becc1$export$746d02f47f4d381); $parcel$export(module.exports, "Popover", () => $61e2b7078adb18bc$export$5b6b19405a83ff9d); $parcel$export(module.exports, "PopoverContext", () => $61e2b7078adb18bc$export$9b9a0cd73afb7ca4); $parcel$export(module.exports, "ProgressBar", () => $0d6436f6a1b0b001$export$c17561cb55d4db30); $parcel$export(module.exports, "ProgressBarContext", () => $0d6436f6a1b0b001$export$e9f3bf65a26ce129); $parcel$export(module.exports, "RadioGroup", () => $1456b76f687bd4ed$export$a98f0dcb43a68a25); $parcel$export(module.exports, "Radio", () => $1456b76f687bd4ed$export$d7b12c4107be0d61); $parcel$export(module.exports, "RadioGroupContext", () => $1456b76f687bd4ed$export$a79eda4ff50e30b6); $parcel$export(module.exports, "RadioContext", () => $1456b76f687bd4ed$export$b118023277d4a5c3); $parcel$export(module.exports, "RadioGroupStateContext", () => $1456b76f687bd4ed$export$29d84393af70866c); $parcel$export(module.exports, "SearchField", () => $a83c69b310385d53$export$b94867ecbd698f21); $parcel$export(module.exports, "SearchFieldContext", () => $a83c69b310385d53$export$d1c4e4c63cb03a11); $parcel$export(module.exports, "Select", () => $17f0ecdc17674b23$export$ef9b1a59e592288f); $parcel$export(module.exports, "SelectValue", () => $17f0ecdc17674b23$export$e288731fd71264f0); $parcel$export(module.exports, "SelectContext", () => $17f0ecdc17674b23$export$7540cee5be7dc19b); $parcel$export(module.exports, "SelectValueContext", () => $17f0ecdc17674b23$export$f8f745c04421623f); $parcel$export(module.exports, "SelectStateContext", () => $17f0ecdc17674b23$export$ef445b55be0601bd); $parcel$export(module.exports, "Separator", () => $54b202ace195eaa4$export$1ff3c3f08ae963c0); $parcel$export(module.exports, "SeparatorContext", () => $54b202ace195eaa4$export$6615d83f6de245ce); $parcel$export(module.exports, "Slider", () => $b7152ce4839d0838$export$472062a354075cee); $parcel$export(module.exports, "SliderOutput", () => $b7152ce4839d0838$export$a590f758a961cb5b); $parcel$export(module.exports, "SliderTrack", () => $b7152ce4839d0838$export$105594979f116971); $parcel$export(module.exports, "SliderThumb", () => $b7152ce4839d0838$export$2c1b491743890dec); $parcel$export(module.exports, "SliderContext", () => $b7152ce4839d0838$export$e99164f0030f3bff); $parcel$export(module.exports, "SliderOutputContext", () => $b7152ce4839d0838$export$6189c2744041d8f8); $parcel$export(module.exports, "SliderTrackContext", () => $b7152ce4839d0838$export$f1fce0420cc6d8ee); $parcel$export(module.exports, "SliderStateContext", () => $b7152ce4839d0838$export$1e7083018727fa60); $parcel$export(module.exports, "Switch", () => $8d81efc5c2ff8011$export$b5d5cf8927ab7262); $parcel$export(module.exports, "SwitchContext", () => $8d81efc5c2ff8011$export$8699e3b644d5a28a); $parcel$export(module.exports, "Table", () => $37b9a5d4bd0d4ded$export$54ec01a60f47d33d); $parcel$export(module.exports, "Row", () => $37b9a5d4bd0d4ded$export$b59bdbef9ce70de2); $parcel$export(module.exports, "Cell", () => $37b9a5d4bd0d4ded$export$f6f0c3fe4ec306ea); $parcel$export(module.exports, "Column", () => $37b9a5d4bd0d4ded$export$816b5d811295e6bc); $parcel$export(module.exports, "ColumnResizer", () => $37b9a5d4bd0d4ded$export$ee689e97a7664bfd); $parcel$export(module.exports, "TableHeader", () => $37b9a5d4bd0d4ded$export$f850895b287ef28e); $parcel$export(module.exports, "TableBody", () => $37b9a5d4bd0d4ded$export$76ccd210b9029917); $parcel$export(module.exports, "TableContext", () => $37b9a5d4bd0d4ded$export$93e4b0b2cc49b648); $parcel$export(module.exports, "ResizableTableContainer", () => $37b9a5d4bd0d4ded$export$7063e69b8a954175); $parcel$export(module.exports, "useTableOptions", () => $37b9a5d4bd0d4ded$export$fddc468cd8cb4db9); $parcel$export(module.exports, "TableStateContext", () => $37b9a5d4bd0d4ded$export$38de1cb0526c21fb); $parcel$export(module.exports, "TableColumnResizeStateContext", () => $37b9a5d4bd0d4ded$export$a2680a798823803c); $parcel$export(module.exports, "Tabs", () => $f982e6cd1aac14a3$export$b2539bed5023c21c); $parcel$export(module.exports, "TabList", () => $f982e6cd1aac14a3$export$e51a686c67fdaa2d); $parcel$export(module.exports, "TabPanel", () => $f982e6cd1aac14a3$export$3d96ec278d3efce4); $parcel$export(module.exports, "Tab", () => $f982e6cd1aac14a3$export$3e41faf802a29e71); $parcel$export(module.exports, "TabsContext", () => $f982e6cd1aac14a3$export$cfa7aa87c26e7d1f); $parcel$export(module.exports, "TabListStateContext", () => $f982e6cd1aac14a3$export$364712098d2aa57c); $parcel$export(module.exports, "TagGroup", () => $ecf55d0c218a575e$export$67ea30858aaf75e3); $parcel$export(module.exports, "TagGroupContext", () => $ecf55d0c218a575e$export$5b07b5dd2cbd96e3); $parcel$export(module.exports, "TagList", () => $ecf55d0c218a575e$export$f9fef0f55402315b); $parcel$export(module.exports, "TagListContext", () => $ecf55d0c218a575e$export$e755ce3685dd0ca9); $parcel$export(module.exports, "Tag", () => $ecf55d0c218a575e$export$3288d34c523a1192); $parcel$export(module.exports, "Text", () => $a8a589c28affdc40$export$5f1af8db9871e1d6); $parcel$export(module.exports, "TextContext", () => $a8a589c28affdc40$export$9afb8bc826b033ea); $parcel$export(module.exports, "TextArea", () => $a5d2423f42834231$export$f5c9f3c2c4054eec); $parcel$export(module.exports, "TextAreaContext", () => $a5d2423f42834231$export$2dc6166a7e65358c); $parcel$export(module.exports, "TextField", () => $3f2c5af9d7d8905b$export$2c73285ae9390cec); $parcel$export(module.exports, "TextFieldContext", () => $3f2c5af9d7d8905b$export$2129e27b3ef0d483); $parcel$export(module.exports, "ToggleButton", () => $3def510c5b419a98$export$d2b052e7b4be1756); $parcel$export(module.exports, "ToggleButtonContext", () => $3def510c5b419a98$export$43506d75ebd2e218); $parcel$export(module.exports, "Toolbar", () => $a36bb7fee39de77a$export$4c260019440d418f); $parcel$export(module.exports, "ToolbarContext", () => $a36bb7fee39de77a$export$6311e7ab80ef752f); $parcel$export(module.exports, "TooltipTrigger", () => $f9dd4061eb43ac38$export$8c610744efcf8a1d); $parcel$export(module.exports, "Tooltip", () => $f9dd4061eb43ac38$export$28c660c63b792dea); $parcel$export(module.exports, "TooltipTriggerStateContext", () => $f9dd4061eb43ac38$export$7a7623236eec67fa); $parcel$export(module.exports, "TooltipContext", () => $f9dd4061eb43ac38$export$39ae08fa83328b12); $parcel$export(module.exports, "useDragAndDrop", () => $368d79437ab76c11$export$2cfc5be7a55829f6); $parcel$export(module.exports, "DropIndicator", () => $368d79437ab76c11$export$62ed72bc21f6b8a6); $parcel$export(module.exports, "DropIndicatorContext", () => $368d79437ab76c11$export$f55761759794cf55); $parcel$export(module.exports, "DragAndDropContext", () => $368d79437ab76c11$export$d188a835a7bc5783); $parcel$export(module.exports, "DIRECTORY_DRAG_TYPE", () => $bzgmy$reactaria.DIRECTORY_DRAG_TYPE); $parcel$export(module.exports, "isDirectoryDropItem", () => $bzgmy$reactaria.isDirectoryDropItem); $parcel$export(module.exports, "isFileDropItem", () => $bzgmy$reactaria.isFileDropItem); $parcel$export(module.exports, "isTextDropItem", () => $bzgmy$reactaria.isTextDropItem); $parcel$export(module.exports, "SSRProvider", () => $bzgmy$reactaria.SSRProvider); $parcel$export(module.exports, "RouterProvider", () => $bzgmy$reactaria.RouterProvider); $parcel$export(module.exports, "I18nProvider", () => $bzgmy$reactaria.I18nProvider); $parcel$export(module.exports, "useLocale", () => $bzgmy$reactaria.useLocale); $parcel$export(module.exports, "FormValidationContext", () => $bzgmy$reactstately.FormValidationContext); /* * Copyright 2022 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS * OF ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ // Mark as a client only package. This will cause a build time error if you try // to import it from a React Server Component in a framework like Next.js. /* * Copyright 2022 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS * OF ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ /* * Copyright 2022 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS * OF ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ class $3114c2382242bdc0$export$f5d856d854e74713 { get childNodes() { throw new Error("childNodes is not supported"); } clone() { let node = new $3114c2382242bdc0$export$f5d856d854e74713(this.type, this.key); node.value = this.value; node.level = this.level; node.hasChildNodes = this.hasChildNodes; node.rendered = this.rendered; node.textValue = this.textValue; node["aria-label"] = this["aria-label"]; node.index = this.index; node.parentKey = this.parentKey; node.prevKey = this.prevKey; node.nextKey = this.nextKey; node.firstChildKey = this.firstChildKey; node.lastChildKey = this.lastChildKey; node.props = this.props; return node; } constructor(type, key){ this.value = null; this.level = 0; this.hasChildNodes = false; this.rendered = null; this.textValue = ""; this["aria-label"] = undefined; this.index = 0; this.parentKey = null; this.prevKey = null; this.nextKey = null; this.firstChildKey = null; this.lastChildKey = null; this.props = {}; this.type = type; this.key = key; } } /** * A mutable node in the fake DOM tree. When mutated, it marks itself as dirty * and queues an update with the owner document. */ class $3114c2382242bdc0$var$BaseNode { *[Symbol.iterator]() { let node = this.firstChild; while(node){ yield node; node = node.nextSibling; } } get firstChild() { return this._firstChild; } set firstChild(firstChild) { this._firstChild = firstChild; this.ownerDocument.markDirty(this); } get lastChild() { return this._lastChild; } set lastChild(lastChild) { this._lastChild = lastChild; this.ownerDocument.markDirty(this); } get previousSibling() { return this._previousSibling; } set previousSibling(previousSibling) { this._previousSibling = previousSibling; this.ownerDocument.markDirty(this); } get nextSibling() { return this._nextSibling; } set nextSibling(nextSibling) { this._nextSibling = nextSibling; this.ownerDocument.markDirty(this); } get parentNode() { return this._parentNode; } set parentNode(parentNode) { this._parentNode = parentNode; this.ownerDocument.markDirty(this); } get isConnected() { var _this_parentNode; return ((_this_parentNode = this.parentNode) === null || _this_parentNode === void 0 ? void 0 : _this_parentNode.isConnected) || false; } appendChild(child) { this.ownerDocument.startTransaction(); if (child.parentNode) child.parentNode.removeChild(child); if (this.firstChild == null) this.firstChild = child; if (this.lastChild) { this.lastChild.nextSibling = child; child.index = this.lastChild.index + 1; child.previousSibling = this.lastChild; } else { child.previousSibling = null; child.index = 0; } child.parentNode = this; child.nextSibling = null; this.lastChild = child; this.ownerDocument.markDirty(this); if (child.hasSetProps) // Only add the node to the collection if we already received props for it. // Otherwise wait until then so we have the correct id for the node. this.ownerDocument.addNode(child); this.ownerDocument.endTransaction(); this.ownerDocument.queueUpdate(); } insertBefore(newNode, referenceNode) { if (referenceNode == null) return this.appendChild(newNode); this.ownerDocument.startTransaction(); if (newNode.parentNode) newNode.parentNode.removeChild(newNode); newNode.nextSibling = referenceNode; newNode.previousSibling = referenceNode.previousSibling; newNode.index = referenceNode.index; if (this.firstChild === referenceNode) this.firstChild = newNode; else if (referenceNode.previousSibling) referenceNode.previousSibling.nextSibling = newNode; referenceNode.previousSibling = newNode; newNode.parentNode = referenceNode.parentNode; let node = referenceNode; while(node){ node.index++; node = node.nextSibling; } if (newNode.hasSetProps) this.ownerDocument.addNode(newNode); this.ownerDocument.endTransaction(); this.ownerDocument.queueUpdate(); } removeChild(child) { if (child.parentNode !== this) return; this.ownerDocument.startTransaction(); let node = child.nextSibling; while(node){ node.index--; node = node.nextSibling; } if (child.nextSibling) child.nextSibling.previousSibling = child.previousSibling; if (child.previousSibling) child.previousSibling.nextSibling = child.nextSibling; if (this.firstChild === child) this.firstChild = child.nextSibling; if (this.lastChild === child) this.lastChild = child.previousSibling; child.parentNode = null; child.nextSibling = null; child.previousSibling = null; child.index = 0; this.ownerDocument.removeNode(child); this.ownerDocument.endTransaction(); this.ownerDocument.queueUpdate(); } addEventListener() {} removeEventListener() {} constructor(ownerDocument){ this._firstChild = null; this._lastChild = null; this._previousSibling = null; this._nextSibling = null; this._parentNode = null; this.ownerDocument = ownerDocument; } } class $3114c2382242bdc0$export$dc064fe9e59310fd extends $3114c2382242bdc0$var$BaseNode { get index() { return this._index; } set index(index) { this._index = index; this.ownerDocument.markDirty(this); } get level() { if (this.parentNode instanceof $3114c2382242bdc0$export$dc064fe9e59310fd) return this.parentNode.level + (this.node.type === "item" ? 1 : 0); return 0; } updateNode() { var _this_previousSibling, _this_nextSibling, _this_firstChild, _this_lastChild; let node = this.ownerDocument.getMutableNode(this); node.index = this.index; node.level = this.level; node.parentKey = this.parentNode instanceof $3114c2382242bdc0$export$dc064fe9e59310fd ? this.parentNode.node.key : null; var _this_previousSibling_node_key; node.prevKey = (_this_previousSibling_node_key = (_this_previousSibling = this.previousSibling) === null || _this_previousSibling === void 0 ? void 0 : _this_previousSibling.node.key) !== null && _this_previousSibling_node_key !== void 0 ? _this_previousSibling_node_key : null; var _this_nextSibling_node_key; node.nextKey = (_this_nextSibling_node_key = (_this_nextSibling = this.nextSibling) === null || _this_nextSibling === void 0 ? void 0 : _this_nextSibling.node.key) !== null && _this_nextSibling_node_key !== void 0 ? _this_nextSibling_node_key : null; node.hasChildNodes = !!this.firstChild; var _this_firstChild_node_key; node.firstChildKey = (_this_firstChild_node_key = (_this_firstChild = this.firstChild) === null || _this_firstChild === void 0 ? void 0 : _this_firstChild.node.key) !== null && _this_firstChild_node_key !== void 0 ? _this_firstChild_node_key : null; var _this_lastChild_node_key; node.lastChildKey = (_this_lastChild_node_key = (_this_lastChild = this.lastChild) === null || _this_lastChild === void 0 ? void 0 : _this_lastChild.node.key) !== null && _this_lastChild_node_key !== void 0 ? _this_lastChild_node_key : null; } setProps(obj, ref, rendered) { let node = this.ownerDocument.getMutableNode(this); let { value: value, textValue: textValue, id: id, ...props } = obj; props.ref = ref; node.props = props; node.rendered = rendered; node.value = value; node.textValue = textValue || (typeof rendered === "string" ? rendered : "") || obj["aria-label"] || ""; if (id != null && id !== node.key) { if (this.hasSetProps) throw new Error("Cannot change the id of an item"); node.key = id; } // If this is the first time props have been set, end the transaction started in the constructor // so this node can be emitted. if (!this.hasSetProps) { this.ownerDocument.addNode(this); this.ownerDocument.endTransaction(); this.hasSetProps = true; } this.ownerDocument.queueUpdate(); } get style() { return {}; } hasAttribute() {} setAttribute() {} setAttributeNS() {} removeAttribute() {} constructor(type, ownerDocument){ super(ownerDocument); this.nodeType = 8 // COMMENT_NODE (we'd use ELEMENT_NODE but React DevTools will fail to get its dimensions) ; this._index = 0; this.hasSetProps = false; this.node = new $3114c2382242bdc0$export$f5d856d854e74713(type, `react-aria-${++ownerDocument.nodeId}`); // Start a transaction so that no updates are emitted from the collection // until the props for this node are set. We don't know the real id for the // node until then, so we need to avoid emitting collections in an inconsistent state. this.ownerDocument.startTransaction(); } } class $3114c2382242bdc0$export$408d25a4e12db025 { get size() { return this.keyMap.size; } getKeys() { return this.keyMap.keys(); } *[Symbol.iterator]() { let node = this.firstKey != null ? this.keyMap.get(this.firstKey) : undefined; while(node){ yield node; node = node.nextKey != null ? this.keyMap.get(node.nextKey) : undefined; } } getChildren(key) { let keyMap = this.keyMap; return { *[Symbol.iterator] () { let parent = keyMap.get(key); let node = (parent === null || parent === void 0 ? void 0 : parent.firstChildKey) != null ? keyMap.get(parent.firstChildKey) : null; while(node){ yield node; node = node.nextKey != null ? keyMap.get(node.nextKey) : undefined; } } }; } getKeyBefore(key) { let node = this.keyMap.get(key); if (!node) return null; if (node.prevKey != null) { node = this.keyMap.get(node.prevKey); while(node && node.type !== "item" && node.lastChildKey != null)node = this.keyMap.get(node.lastChildKey); var _node_key; return (_node_key = node === null || node === void 0 ? void 0 : node.key) !== null && _node_key !== void 0 ? _node_key : null; } return node.parentKey; } getKeyAfter(key) { let node = this.keyMap.get(key); if (!node) return null; if (node.type !== "item" && node.firstChildKey != null) return node.firstChildKey; while(node){ if (node.nextKey != null) return node.nextKey; if (node.parentKey != null) node = this.keyMap.get(node.parentKey); else return null; } return null; } getFirstKey() { return this.firstKey; } getLastKey() { let node = this.lastKey != null ? this.keyMap.get(this.lastKey) : null; while((node === null || node === void 0 ? void 0 : node.lastChildKey) != null)node = this.keyMap.get(node.lastChildKey); var _node_key; return (_node_key = node === null || node === void 0 ? void 0 : node.key) !== null && _node_key !== void 0 ? _node_key : null; } getItem(key) { var _this_keyMap_get; return (_this_keyMap_get = this.keyMap.get(key)) !== null && _this_keyMap_get !== void 0 ? _this_keyMap_get : null; } at() { throw new Error("Not implemented"); } clone() { // We need to clone using this.constructor so that subclasses have the right prototype. // TypeScript isn't happy about this yet. // https://github.com/microsoft/TypeScript/issues/3841 let Constructor = this.constructor; let collection = new Constructor(); collection.keyMap = new Map(this.keyMap); collection.firstKey = this.firstKey; collection.lastKey = this.lastKey; return collection; } addNode(node) { if (this.frozen) throw new Error("Cannot add a node to a frozen collection"); this.keyMap.set(node.key, node); } removeNode(key) { if (this.frozen) throw new Error("Cannot remove a node to a frozen collection"); this.keyMap.delete(key); } commit(firstKey, lastKey, isSSR = false) { if (this.frozen) throw new Error("Cannot commit a frozen collection"); this.firstKey = firstKey; this.lastKey = lastKey; this.frozen = !isSSR; } constructor(){ this.keyMap = new Map(); this.firstKey = null; this.lastKey = null; this.frozen = false; } } class $3114c2382242bdc0$export$b34a105447964f9f extends $3114c2382242bdc0$var$BaseNode { get isConnected() { return true; } createElement(type) { return new $3114c2382242bdc0$export$dc064fe9e59310fd(type, this); } /** * Lazily gets a mutable instance of a Node. If the node has already * been cloned during this update cycle, it just returns the existing one. */ getMutableNode(element) { let node = element.node; if (!this.mutatedNodes.has(element)) { node = element.node.clone(); this.mutatedNodes.add(element); element.node = node; } this.markDirty(element); return node; } getMutableCollection() { if (!this.isSSR && !this.collectionMutated) { this.collection = this.collection.clone(); this.collectionMutated = true; } return this.collection; } markDirty(node) { this.dirtyNodes.add(node); } startTransaction() { this.transactionCount++; } endTransaction() { this.transactionCount--; } addNode(element) { let collection = this.getMutableCollection(); if (!collection.getItem(element.node.key)) { collection.addNode(element.node); for (let child of element)this.addNode(child); } this.markDirty(element); } removeNode(node) { for (let child of node)this.removeNode(child); let collection = this.getMutableCollection(); collection.removeNode(node.node.key); this.markDirty(node); } /** Finalizes the collection update, updating all nodes and freezing the collection. */ getCollection() { if (this.transactionCount > 0) return this.collection; this.updateCollection(); return this.collection; } updateCollection() { for (let element of this.dirtyNodes)if (element instanceof $3114c2382242bdc0$export$dc064fe9e59310fd && element.isConnected) element.updateNode(); this.dirtyNodes.clear(); if (this.mutatedNodes.size || this.collectionMutated) { var _this_firstChild, _this_lastChild; let collection = this.getMutableCollection(); for (let element of this.mutatedNodes)if (element.isConnected) collection.addNode(element.node); var _this_firstChild_node_key, _this_lastChild_node_key; collection.commit((_this_firstChild_node_key = (_this_firstChild = this.firstChild) === null || _this_firstChild === void 0 ? void 0 : _this_firstChild.node.key) !== null && _this_firstChild_node_key !== void 0 ? _this_firstChild_node_key : null, (_this_lastChild_node_key = (_this_lastChild = this.lastChild) === null || _this_lastChild === void 0 ? void 0 : _this_lastChild.node.key) !== null && _this_lastChild_node_key !== void 0 ? _this_lastChild_node_key : null, this.isSSR); this.mutatedNodes.clear(); } this.collectionMutated = false; } queueUpdate() { // Don't emit any updates if there is a transaction in progress. // queueUpdate should be called again after the transaction. if (this.dirtyNodes.size === 0 || this.transactionCount > 0) return; for (let fn of this.subscriptions)fn(); } subscribe(fn) { this.subscriptions.add(fn); return ()=>this.subscriptions.delete(fn); } resetAfterSSR() { if (this.isSSR) { this.isSSR = false; this.firstChild = null; this.lastChild = null; this.nodeId = 0; } } constructor(collection){ // @ts-ignore super(null); this.nodeType = 11 // DOCUMENT_FRAGMENT_NODE ; this.ownerDocument = this; this.dirtyNodes = new Set(); this.isSSR = false; this.nodeId = 0; this.nodesByProps = new WeakMap(); this.mutatedNodes = new Set(); this.subscriptions = new Set(); this.transactionCount = 0; this.collection = collection; this.collectionMutated = true; } } function $3114c2382242bdc0$export$727c8fc270210f13(props) { let { children: children, items: items, idScope: idScope, addIdAndValue: addIdAndValue, dependencies: dependencies = [] } = props; // Invalidate the cache whenever the parent value changes. // eslint-disable-next-line react-hooks/exhaustive-deps let cache = (0, $bzgmy$react.useMemo)(()=>new WeakMap(), dependencies); return (0, $bzgmy$react.useMemo)(()=>{ if (items && typeof children === "function") { let res = []; for (let item of items){ let rendered = cache.get(item); if (!rendered) { rendered = children(item); var _rendered_props_id, _ref; // @ts-ignore let key = (_ref = (_rendered_props_id = rendered.props.id) !== null && _rendered_props_id !== void 0 ? _rendered_props_id : item.key) !== null && _ref !== void 0 ? _ref : item.id; // eslint-disable-next-line max-depth if (key == null) throw new Error("Could not determine key for item"); // eslint-disable-next-line max-depth if (idScope) key = idScope + ":" + key; // Note: only works if wrapped Item passes through id... rendered = /*#__PURE__*/ (0, $bzgmy$react.cloneElement)(rendered, addIdAndValue ? { key: key, id: key, value: item } : { key: key }); cache.set(item, rendered); } res.push(rendered); } return res; } else if (typeof children !== "function") return children; }, [ children, items, cache, idScope, addIdAndValue ]); } function $3114c2382242bdc0$export$901dbff4e54a6dd0(props) { return $3114c2382242bdc0$export$727c8fc270210f13({ ...props, addIdAndValue: true }); } const $3114c2382242bdc0$var$ShallowRenderContext = /*#__PURE__*/ (0, $bzgmy$react.createContext)(false); function $3114c2382242bdc0$export$6cd28814d92fa9c9(props, initialCollection) { let { collection: collection, document: document } = $3114c2382242bdc0$export$7cd71aa5ddd6dc4e(initialCollection); let portal = $3114c2382242bdc0$export$ad42d5efb4461b31(props, document); return { portal: portal, collection: collection }; } // React 16 and 17 don't support useSyncExternalStore natively, and the shim provided by React does not support getServerSnapshot. // This wrapper uses the shim, but additionally calls getServerSnapshot during SSR (according to SSRProvider). function $3114c2382242bdc0$var$useSyncExternalStoreFallback(subscribe, getSnapshot, getServerSnapshot) { let isSSR = (0, $bzgmy$reactaria.useIsSSR)(); let isSSRRef = (0, $bzgmy$react.useRef)(isSSR); // This is read immediately inside the wrapper, which also runs during render. // We just need a ref to avoid invalidating the callback itself, which // would cause React to re-run the callback more than necessary. // eslint-disable-next-line rulesdir/pure-render isSSRRef.current = isSSR; let getSnapshotWrapper = (0, $bzgmy$react.useCallback)(()=>{ return isSSRRef.current ? getServerSnapshot() : getSnapshot(); }, [ getSnapshot, getServerSnapshot ]); return (0, $bzgmy$usesyncexternalstoreshimindexjs.useSyncExternalStore)(subscribe, getSnapshotWrapper); } const $3114c2382242bdc0$var$useSyncExternalStore = typeof (0, ($parcel$interopDefault($bzgmy$react)))["useSyncExternalStore"] === "function" ? (0, ($parcel$interopDefault($bzgmy$react)))["useSyncExternalStore"] : $3114c2382242bdc0$var$useSyncExternalStoreFallback; function $3114c2382242bdc0$export$7cd71aa5ddd6dc4e(initialCollection) { // The document instance is mutable, and should never change between renders. // useSyncExternalStore is used to subscribe to updates, which vends immutable Collection objects. let document = (0, $bzgmy$react.useMemo)(()=>new $3114c2382242bdc0$export$b34a105447964f9f(initialCollection || new $3114c2382242bdc0$export$408d25a4e12db025()), [ initialCollection ]); let subscribe = (0, $bzgmy$react.useCallback)((fn)=>document.subscribe(fn), [ document ]); let getSnapshot = (0, $bzgmy$react.useCallback)(()=>{ let collection = document.getCollection(); if (document.isSSR) // After SSR is complete, reset the document to empty so it is ready for React to render the portal into. // We do this _after_ getting the collection above so that the collection still has content in it from SSR // during the current render, before React has finished the client render. document.resetAfterSSR(); return collection; }, [ document ]); let getServerSnapshot = (0, $bzgmy$react.useCallback)(()=>{ document.isSSR = true; return document.getCollection(); }, [ document ]); let collection = $3114c2382242bdc0$var$useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot); return { collection: collection, document: document }; } const $3114c2382242bdc0$var$SSRContext = /*#__PURE__*/ (0, $bzgmy$react.createContext)(null); const $3114c2382242bdc0$export$8c25dea96356a8b6 = /*#__PURE__*/ (0, $bzgmy$react.createContext)(null); function $3114c2382242bdc0$export$ad42d5efb4461b31(props, document) { let ctx = (0, $bzgmy$react.useContext)($3114c2382242bdc0$export$8c25dea96356a8b6); let doc = document !== null && document !== void 0 ? document : ctx; let children = $3114c2382242bdc0$export$901dbff4e54a6dd0(props); let wrappedChildren = (0, $bzgmy$react.useMemo)(()=>/*#__PURE__*/ (0, ($parcel$interopDefault($bzgmy$react))).createElement($3114c2382242bdc0$var$ShallowRenderContext.Provider, { value: true }, children), [ children ]); // During SSR, we render the content directly, and append nodes to the document during render. // The collection children return null so that nothing is actually rendered into the HTML. return (0, $bzgmy$reactaria.useIsSSR)() ? /*#__PURE__*/ (0, ($parcel$interopDefault($bzgmy$react))).createElement($3114c2382242bdc0$var$SSRContext.Provider, { value: doc }, wrappedChildren) : /*#__PURE__*/ (0, $bzgmy$reactdom.createPortal)(wrappedChildren, doc); } function $3114c2382242bdc0$export$813b5978dd974d8(props) { return /*#__PURE__*/ (0, ($parcel$interopDefault($bzgmy$react))).createElement((0, ($parcel$interopDefault($bzgmy$react))).Fragment, null, $3114c2382242bdc0$export$ad42d5efb4461b31(props)); } function $3114c2382242bdc0$export$aeba0b1fb3dcd8b8(type, props, ref) { let isShallow = (0, $bzgmy$react.useContext)($3114c2382242bdc0$var$ShallowRenderContext); var _useSSRCollectionNode; if (isShallow) // Elements cannot be re-parented, so the context will always be there. // eslint-disable-next-line react-hooks/rules-of-hooks return (_useSSRCollectionNode = $3114c2382242bdc0$export$e7c29ae2353b16ea(type, props, ref, "children" in props ? props.children : null)) !== null && _useSSRCollectionNode !== void 0 ? _useSSRCollectionNode : /*#__PURE__*/ (0, ($parcel$interopDefault($bzgmy$react))).createElement((0, ($parcel$interopDefault($bzgmy$react))).Fragment, null); return null; } function $3114c2382242bdc0$export$636783d3732b5559(props, ref, rendered) { // Return a callback ref that sets the props object on the fake DOM node. return (0, $bzgmy$react.useCallback)((element)=>{ element === null || element === void 0 ? void 0 : element.setProps(props, ref, rendered); }, [ props, ref, rendered ]); } function $3114c2382242bdc0$export$e7c29ae2353b16ea(Type, props, ref, rendered, children) { // During SSR, portals are not supported, so the collection children will be wrapped in an SSRContext. // Since SSR occurs only once, we assume that the elements are rendered in order and never re-render. // Therefore we can create elements in our collection document during render so that they are in the // collection by the time we need to use the collection to render to the real DOM. // After hydration, we switch to client rendering using the portal. let itemRef = $3114c2382242bdc0$export$636783d3732b5559(props, ref, rendered); let parentNode = (0, $bzgmy$react.useContext)($3114c2382242bdc0$var$SSRContext); if (parentNode) { // Guard against double rendering in strict mode. let element = parentNode.ownerDocument.nodesByProps.get(props); if (!element) { element = parentNode.ownerDocument.createElement(Type); element.setProps(props, ref, rendered); parentNode.appendChild(element); parentNode.ownerDocument.updateCollection(); parentNode.ownerDocument.nodesByProps.set(props, element); } return children ? /*#__PURE__*/ (0, ($parcel$interopDefault($bzgmy$react))).createElement($3114c2382242bdc0$var$SSRContext.Provider, { value: element }, children) : null; } // @ts-ignore return /*#__PURE__*/ (0, ($parcel$interopDefault($bzgmy$react))).createElement(Type, { ref: itemRef }, children); } function $3114c2382242bdc0$var$Section(props, ref) { let children = $3114c2382242bdc0$export$901dbff4e54a6dd0(props); return $3114c2382242bdc0$export$e7c29ae2353b16ea("section", props, ref, null, children); } const $3114c2382242bdc0$export$6e2c8f0811a474ce = /*#__PURE__*/ (0, $bzgmy$react.forwardRef)($3114c2382242bdc0$var$Section); const $3114c2382242bdc0$export$db36075d98ba73d3 = /*#__PURE__*/ (0, $bzgmy$react.createContext)(null); const $3114c2382242bdc0$export$4feb769f8ddf26c5 = /*#__PURE__*/ (0, $bzgmy$react.createContext)(null); function $3114c2382242bdc0$export$fb8073518f34e6ec(props) { let ctx = (0, $bzgmy$react.useContext)($3114c2382242bdc0$export$db36075d98ba73d3); props = (0, $bzgmy$reactaria.mergeProps)(ctx, props); props.dependencies = ((ctx === null || ctx === void 0 ? void 0 : ctx.dependencies) || []).concat(props.dependencies); let renderer = typeof props.children === "function" ? props.children : null; return /*#__PURE__*/ (0, ($parcel$interopDefault($bzgmy$react))).createElement($3114c2382242bdc0$export$4feb769f8ddf26c5.Provider, { value: renderer }, $3114c2382242bdc0$export$901dbff4e54a6dd0(props)); } /* * Copyright 2022 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 * *